`
`US006681259Bl
`
`(12) United States Patent
`Lemilainen et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 6,681,259 Bl
`Jan.20,2004
`
`(54) METHOD FOR COUPLING A WIRELESS
`TERMINAL TO A DATA TRANSMISSION
`NETWORK AND A WIRELESS TERMINAL
`
`(75)
`
`Inventors: Jussi Lemiliiinen, Tampere (FI); Henry
`Haverinen, Tampere (FI)
`
`(73) Assignee: Nokia Mobile Phones Ltd, Espoo (FI)
`
`( *) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(21) Appl. No.: 09/307,894
`
`(22) Filed:
`
`May 10, 1999
`
`6,131,163 A * 10/2000 Wiegel ....................... 713/201
`6,134,587 A * 10/2000 Okanoue .................... 709/222
`6,151,297 A * 11/2000 Congdon et al.
`........... 370/216
`6,289,377 Bl * 9/2001 Lalwaney et al.
`.......... 709/222
`6,330,597 B2 * 12/2001 Collin et al. ................ 709/220
`6,484,210 Bl * 11/2002 Adriano et al. ............. 709/239
`
`OTHER PUBLICATIONS
`
`Tripunitara et al, A Middleware Approach to Asynchronous
`& Backward Compatible Detction & Prevention of ARP
`Cache Poisoning, IEEE 1999.*
`
`* cited by examiner
`
`Primary Examiner-Mark R. Powell
`Assistant Examiner-Thong Vu
`(74) Attorney, Agent, or Firm-Perman & Green, LLP
`
`(30)
`
`Foreign Application Priority Data
`
`(57)
`
`ABSTRACT
`
`May 12, 1998
`
`(FI) ................................................. 981052
`
`Int. Cl.7 ................................................ G06F 15/16
`(51)
`(52) U.S. Cl. ........................................ 709/250; 709/227
`(58) Field of Search ................................. 709/250, 225,
`709/227, 220, 238, 222, 239, 317; 710/8;
`370/216; 340/7.1; 455/403; 713/201
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`11/1993 Liukkonen ................... 455/76
`5,263,178 A
`10/1994 Jokimies ...................... 379/58
`5,353,328 A
`2/1995 Kiema ......................... 370/77
`5,392,282 A
`2/1996 Von Holten et al. ....... 395/2.79
`5,490,235 A
`5,557,748 A * 9/1996 Norris ........................ 709/220
`5,630,061 A * 5/1997 Richter et al. .............. 709/227
`5,714,943 A * 2/1998 Rasor ......................... 340/7.l
`5,802,351 A
`9/1998 Frampton ................... 395/500
`5,852,721 A * 12/1998 Dillon et al.
`............... 709/227
`5,862,344 A * 1/1999 Hart ........................... 709/238
`5,890,005 A
`3/1999 Lindholm .............. 3951750.03
`5,918,018 A * 6/1999 Gooderum et al.
`......... 709/225
`5,983,090 A * 11/1999 Aoki .......................... 455/403
`6,003,097 A * 12/1999 Richman et al. ............... 710/8
`
`The invention relates to a terminal (A), which comprises at
`least one network interface card (NICl, NIC2, NIC3) for
`setting up a data transmission connection to a communica(cid:173)
`tion network (NWl, NW2, NW3, MNW) for packet
`switched data transmission, and means (PD) for forming
`packets of the information to be transmitted and for unpack(cid:173)
`ing information from the received packets. The terminal (A)
`is allocated at least one first address identifying the terminal
`(A), and at least one data network-specific second address.
`The means (PD) for forming packets comprise means for
`connecting the first address to the packets, and the terminal
`(A) also comprises a network interface selection driver
`(NISD), which contains means for selecting the communi(cid:173)
`cation network (NWl, NW2, NW3, MNW) used in data
`transmission at a given time, means for transmitting packets
`between the means (PD) for forming packets and the net(cid:173)
`work interface card (NICl, NIC2, NIC3) corresponding to
`the data transmission network (NWl, NW2, NW3, MNW)
`used at a given time, and means for modifying the first
`address to the second address according to the data trans(cid:173)
`mission network used in the packets at a given time.
`
`12 Claims, 10 Drawing Sheets
`
`PayPal Ex. 1040, p. 1
`PayPal v. IOENGINE
`
`
`
`U.S. Patent
`
`Jan.20,2004
`
`Sheet 1 of 10
`
`US 6,681,259 Bl
`
`PayPal Ex. 1040, p. 2
`PayPal v. IOENGINE
`
`
`
`U.S. Patent
`
`Jan.20,2004
`
`Sheet 2of10
`
`US 6,681,259 Bl
`
`I
`
`N ~ ,.,,
`~ 0
`(.) ~ (.)
`z
`z
`z
`I
`I
`"- 5
`\_ ~
`\_ ::E
`en
`(.!)
`3:
`
`0
`.........
`I
`
`(.)
`
`~
`0
`-------
`\._ ~
`w
`:E
`
`0
`
`~
`\._ ~
`
`~
`
`0
`
`~
`'- a. en c
`
`0
`.........
`\._
`
`~
`
`I
`
`I
`
`-
`-
`
`Q.
`::>
`
`(
`
`Q.
`::>
`
`\ <
`
`PayPal Ex. 1040, p. 3
`PayPal v. IOENGINE
`
`
`
`SERVICES
`
`SECURITY
`SUBSYSTEM
`
`USER MODE
`~~~~~~~~~~~~~.~~~t-~~~~~~~~~~KERNELMODE
`
`EXECUTIVE
`
`KERNEL
`
`1/0 MANAG~R
`ALE SYSTEMS
`CACHE MANAGER
`
`I
`
`I
`
`I DEVICE DRIVERS
`
`NETWORK
`DRIVERS
`
`NIC1,
`NIC2,
`NIC3
`
`HARDWARE ABSTRACTION LAYER (HAL)
`
`HARDWARE
`
`uP, K, 0, ME, 1/0
`FIG.3a
`
`d •
`\JJ.
`•
`~
`~ ......
`~ = ......
`
`~
`~
`?
`N
`~=
`N c c
`
`.i;;..
`
`'Jl =(cid:173)~
`~ .....
`
`~
`0 .....,
`'"""' c
`
`e
`rJ'J.
`-..a-..
`a-..
`~
`lo-"
`'N
`(It
`\0
`~
`lo-"
`
`PayPal Ex. 1040, p. 4
`PayPal v. IOENGINE
`
`
`
`U.S. Patent
`
`Jan.20,2004
`
`Sheet 4of10
`
`US 6,681,259 Bl
`
`NETWORK APPLICATION
`
`WINSOCK
`
`SOCKETS EMULATOR(cid:173)
`USER-MODE DLL
`----------------------------------
`USER MODE
`KERNEL MOOE
`SOCKETS EMULATOR-
`KERNEL-MODE DRIVER
`
`TRANSPORT DRIVER
`INTERFACE (TOI)
`V--PD
`I
`V-- NICO
`I
`NIC DRIVER
`-----------------~
`
`. PROTOCOL DRIVER
`----~~--~----~
`
`NElWORK ADAPTER J NIC1, NIC2, NIC3
`
`-----------------------TOI
`
`_ ____, I NDIS PROTOCOL DRIVER ~ PD
`I
`I NDIS INTERMEDIATE DRIVER I
`I
`V--NICD
`I
`NDIS NIC DRIVER
`~--------------~
`
`NDIS
`
`----~~--~--~---.1
`
`FIG.3b
`
`PayPal Ex. 1040, p. 5
`PayPal v. IOENGINE
`
`
`
`.&PPUCATION lA)'ER
`
`TRANSPORT LAYER
`
`NElWORK lAYER
`
`WEB
`BROWSER
`
`TCP
`
`IP
`
`LINK LAYER
`
`IEEE 802.11
`
`PHYSICAL lAYER
`
`IEEE 802.11
`
`-
`
`-
`
`IP PACKETS
`
`802.11 AW.ES
`
`BITSTRfAM
`
`I
`
`A
`
`R
`
`HITP UESSAGES
`
`TCP PACKETS
`
`IP
`
`802.11
`
`802.11
`
`ETH
`
`ETH
`
`FIG.4
`
`IP PACKETS
`
`-
`ETHERNET FRAMES
`
`BITSTRfAM
`
`WEB
`BROWSER
`TCP
`
`IP
`
`ETHERNET
`
`ETHERNET
`
`8
`
`2 L.
`
`2 L
`
`I
`
`1 I
`
`2 L
`
`HARD SIZE
`
`PROT SIZE
`
`HARO SIZE
`
`PROT SIZE
`
`-
`
`HARD
`lYPE
`
`PROT
`1YPE
`
`OP
`
`SENDER
`LINK-LAYER ADDR
`
`SENDER
`NEJWORK ADDR
`
`TARGET
`LINK-LAYER ADDR
`
`TARGET
`NETWORK ADDR
`
`D~r\T ~17f:'
`HARD SIZE
`
`FIG.5
`
`d •
`\JJ.
`•
`~
`~ ......
`~ = ......
`
`~
`~
`?
`N
`~=
`
`N c c
`
`.i;;..
`
`'Jl =(cid:173)~
`~ .....
`Ul
`0
`"""
`"'"" c
`
`e
`rJ'J.
`-..a-..
`a-..
`~
`lo-"
`'N
`(It
`\0
`~
`lo-"
`
`PayPal Ex. 1040, p. 6
`PayPal v. IOENGINE
`
`
`
`U.S. Patent
`
`Jan.20,2004
`
`Sheet 6of10
`
`US 6,681,259 Bl
`
`/~\
`I
`\
`I
`\
`I
`\
`I
`I
`I
`I
`I
`I
`I
`\
`I
`I
`,....
`~ I
`I
`Z
`I
`I
`I
`
`"1
`
`t"1
`~
`
`t"1
`
`\r-G --- ~
`
`I
`
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`
`,,_,..,
`
`~
`
`a::
`
`I
`
`f5
`~
`J w
`:z:
`I
`I
`I
`~
`I
`en
`I
`a:::
`\
`w
`\
`:c
`\
`~~
`\
`\
`\
`\
`
`-...{,
`'
`
`I -
`~:C
`
`a:::
`tti
`C..
`
`\
`\
`\
`\
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`
`I
`
`'
`
`/
`...-/
`'..._
`--""
`
`---.
`......... ,,
`
`~/,.....-
`
`\
`\
`\
`\
`I
`I
`I
`I
`I
`I
`I
`f
`I
`I
`
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`\
`\
`\
`\
`
`-I
`cj
`(.)
`
`~
`<.:>
`Q
`:z:
`::::J
`CL.
`8: /
`..... -~
`!< Q
`
`',
`.....
`
`::E.___-f
`~
`
`s
`
`/
`
`~
`~
`...---- ......
`~
`31::
`~
`' \
`~/
`cs
`I
`a:::
`I
`0
`I
`I
`I
`ii:!
`I
`I u
`I
`\ ~
`\
`'
`
`a::::
`
`\
`
`\
`
`'
`'
`~~ I
`
`!z
`
`0
`S;i
`
`\
`I
`
`I
`I
`I
`I
`I
`
`\
`\
`\
`
`\
`
`'
`
`.....
`
`/
`
`/
`
`/
`
`/
`
`f
`I
`I
`I
`I
`I
`I
`
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`1
`I
`
`I
`
`N
`
`\ :Lfu,--~-,,J
`
`I
`I
`I
`I
`I
`I
`I
`I
`I
`\
`\
`\
`\
`\
`
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`f
`I
`I
`
`,_,
`
`::i.i:::;
`a:::
`~
`
`:z:
`W
`::E
`~
`
`I
`
`I
`1
`I
`I
`I
`I
`\
`\
`\\
`\
`
`'
`
`\
`~ \
`\
`I
`I
`I
`I
`I
`J
`I
`I
`I
`/
`//
`
`' ..... __ ..., ......
`
`PayPal Ex. 1040, p. 7
`PayPal v. IOENGINE
`
`
`
`MANAGEMENT APPLICATION I/ MA
`
`DEVICE 10 CONTROL ---
`
`---
`
`EVEN1
`--- ---
`
`(PD
`
`TCP/fP
`
`NISD
`
`PROTOCOLXXX
`------------------------
`MINIPORTXXX
`
`NISD
`
`NISD
`
`NISO
`
`PROTOCOLXXX
`
`MINIPORlXXX
`ETHERNEf
`DRIVER
`
`"-01
`
`MINIPORTXXX
`WI.AN
`DRIVER
`
`\02
`
`I
`
`SUP
`NT's STANDARD
`----------
`- - - - - . . IRP INTERFACE
`SERIAL PORT
`GSM DATA
`DRIVER
`
`\03
`
`FIG.7
`
`d •
`\JJ.
`•
`~
`~ ......
`~ = ......
`
`~
`~
`?
`N
`~=
`N c c
`
`.i;;..
`
`'Jl =(cid:173)~
`~ .....
`-..J
`0 .....,
`'"""' c
`
`e
`rJ'J.
`-..a-..
`a-..
`~
`lo-"
`'N
`(It
`\0
`~
`lo-"
`
`PayPal Ex. 1040, p. 8
`PayPal v. IOENGINE
`
`
`
`d •
`\JJ.
`F
`•
`KS
`~
`~ ......
`pa)
`~ = ......
`
`3=
`
`cS
`
`PD
`
`~
`~
`?
`N
`wy
`~=
`s
`N c c
`
`.i;;..
`
`= |
`
`'Jl =(cid:173)~
`=
`~ .....
`&
`00
`0 .....,
`=
`'"""' c
`
`e
`rJ'J.
`-..a-..
`a-..
`~
`lo-"
`'N
`(It
`\0
`o
`~
`esb—_.
`lo-"
`
`c sN
`
`A2
`
`b\
`
`Di, 02, D3
`706
`NISD
`702
`2 wel
`NdisSend
`MiniportSend
`
`|
`MiniportSend
`
`Status_Pending
`
`709
`NdisMSendComplete(
`1
`
` 701
`Status_Pending
`
`Status_Pending
`NdisSend
`704
`
`907
`
`
`Status_Pending
`
`710
`ProtocolSendComplete
`
`NdisMSendComplete(
`419
`713
`ProtocolSendComplete
`714.
`
`FIG.Ba
`FIG.8a
`
`PayPal Ex. 1040, p. 9
`PayPal Ex. 1040,p. 9
`PayPal v. IOENGINE
`PayPalv. IOENGINE
`
`
`
`01, 02, 03
`
`/ 706
`
`NISD
`
`702
`
`NISD
`
`NOIS
`
`PD
`
`TCP/IP
`
`N~ DRIVER I ~
`NdisEthlndicateReceive
`
`Protocol Receive()
`
`715
`MinioortTransf erDoto
`
`718
`Status_Pendin
`
`719
`Ndis TronsferOotaComplete
`
`721
`
`716
`Nd is T ronsf erData
`
`717
`Stotus_Pendin
`
`\ 720
`ProtocolT ronsf erDataCom~lete()
`· 1 NdisMindicate-
`\
`ReceivePocket()
`
`722
`
`723
`
`724
`
`ProtocolReceivePacket
`I TCP/IP CLIENT
`CONSUMES THE DATA
`NdisRetumPackets() I \\ 725
`
`MiniportRetumPacket
`
`726
`
`FIG.Sb
`
`727
`
`d •
`\JJ.
`•
`~
`~ ......
`~ = ......
`
`~
`~
`?
`N
`~=
`N c c
`
`.i;;..
`
`'Jl =(cid:173)~
`~ .....
`\C
`0 .....,
`'"""' c
`
`e
`rJ'J.
`-..a-..
`a-..
`~
`lo-"
`'N
`(It
`\0
`~
`lo-"
`
`PayPal Ex. 1040, p. 10
`PayPal v. IOENGINE
`
`
`
`A
`
`I TERMINAL I
`
`WLAN
`
`I WLAN SUBNET I
`
`728
`
`HA
`
`B
`
`I DIAL-UP SERVER SUBNET I
`
`I HOME AGENT I
`
`I PEER COMPUTER I
`
`IP DATAGRAMS
`
`(733
`
`A HANDOVER TO v-734
`THE WlAN IS
`INITIATED
`
`\729
`
`(730
`
`(732
`
`(731
`
`REGISTRATION REQUEST
`
`( 736
`
`\737
`
`(738
`
`REGISTRATION REPLY
`
`IP DATAGRAMS
`
`\737
`
`FIG.Be
`
`d •
`\JJ.
`•
`~
`~ ......
`~ = ......
`
`~
`~
`?
`N
`~=
`N c c
`
`.i;;..
`
`'Jl =(cid:173)~
`~ .....
`'"""' c
`0 .....,
`'"""' c
`
`e
`rJ'J.
`-..a-..
`a-..
`~
`lo-"
`'N
`(It
`\0
`~
`lo-"
`
`PayPal Ex. 1040, p. 11
`PayPal v. IOENGINE
`
`
`
`US 6,681,259 Bl
`
`1
`METHOD FOR COUPLING A WIRELESS
`TERMINAL TO A DATA TRANSMISSION
`NETWORK AND A WIRELESS TERMINAL
`
`BACKGROUND OF THE INVENTION
`
`15
`
`2
`the relatively low data transmission rate of 9600 bits/s, but
`solutions capable of faster data transmission are under
`development, such as HSCSD (High Speed Circuit Switched
`Data) and GPRS (General Packet Radio Service). The
`5 appended FIG. 1 presents in a reduced skeleton diagram the
`aforementioned different network types.
`As portable computers are becoming smaller in size and
`their features are increasing, it has become more and more
`popular to use them also in offices. A portable computer,
`10 provided with a network interface card intended for use in a
`wireless local area network, can be used as a wireless
`terminal in connection with the wireless local area network
`WLAN. The local area network of an office can consist of
`both a landline local area network LAN and a wireless local
`area network WLAN. For example, upon enlargement of the
`office, a fixed interconnection is not necessarily made for the
`local area network, but the extension of the local area
`network is implemented with such a wireless local area
`network solution in the office. In the office, the terminal
`could thus primarily use the landline local area network,
`20 wherein a network interface card for the landline local area
`network is connected to the portable computer. To make
`better mobility possible, a network interface card for the
`wireless local area network is changed in the portable
`computer. At this stage, however, the user of the terminal has
`25 to terminate the network connections in use at that moment
`and change the network interface card, after which the
`connection to the local area network can be set up again. In
`some situations, it might be necessary to use the terminal
`outside the office and be connected to the local area network
`of the office. Thus, when using methods and local area
`networks currently known, it is possible to change the
`network interface card in the portable computer whereby the
`connection can be set up via a mobile communication
`network. Also in this situation it is not possible to change the
`connection by using methods and terminals of prior art
`35 without terminating the active connections.
`Furthermore, a problem in the different communication
`networks presented above is, for instance, that in each
`communication network, a different terminal identification
`is used. Differences in the terminal identification used by
`40 different data transmission networks do not necessarily
`cause inconveniences for the user of the terminal, because
`s/he is always aware of which network s/he is using.
`Nevertheless, when an attempt is made to set up a connec(cid:173)
`tion to this terminal, the person who sets up the connection
`45 to the terminal has to know the location in the communica-
`tion network to which the terminal in question is connected
`at a given time. One such connection set-up situation is
`when an attempt is made to set up a call via the Internet data
`network. Another drawback is that the user of such different
`data transmission networks has to monitor the quality of the
`connection. For example, when the user moves inside the
`office and uses the wireless local area network WLAN, in
`some parts of the office the quality of the connection may
`become so poor that data transmission is disturbed or
`delayed significantly. Thus, the user should try to shift to
`such a data transmission network, in which a better connec(cid:173)
`tion quality is achieved, for example to a landline local area
`network LAN, if such is in the vicinity, or to the GSM
`mobile communication network, if the user is in its coverage
`60 area. This change of the data transmission network causes
`the problems described above: termination of the existing
`connections, setting up new connections and, if necessary,
`also cutting off or setting up a telephone connection.
`
`30
`
`The present invention relates to a wireless terminal
`according to the preamble of the appended claim 1, and to
`a method according to the appended claim 8, for coupling a
`wireless terminal to a data transmission network.
`Considerable growth in the use of computers has
`increased the need for establishing data transmission
`networks, to which these computers are coupled. Especially
`in office use, a local area network, such as the so-called
`Ethernet data network, is used as a data transmission
`network, to which office computers, printers and other
`corresponding devices are connected. Thus, it is possible to
`use other resources connected to the local area network from
`the computer, for example for printing, wherein it is not
`necessary to provide each computer with such peripheral
`devices. The computer connected to the local area network
`contains a network interface card, or the like, which com(cid:173)
`prises means necessary for establishing a data transmission
`connection between the computer and the local area net(cid:173)
`work. Inter-office local area networks are typically imple(cid:173)
`mented by means of a landline, for example by using a
`so-called thin Ethernet cabling. With the thin Ethernet
`cabling it is possible to achieve a speed of 10 Mb/s, but for
`example with twin cabling, it is possible to use transmission
`speeds of even 100 Mb/s.
`It is also possible to implement the local area network as
`a wireless local area network WLAN. These wireless local
`area networks are typically based on the use of radio
`modems, wherein the office can be included in the range of
`the local area network with one or more such radio modems.
`The computer is equipped with a network interface card,
`which comprises, for instance, a radio transceiver for setting
`up a connection to a radio modem in the local area network.
`In such a wireless local area network, the placement of the
`computers is consirerably freer compared to a fixed landline
`local area network. Such landline local area networks
`intended for office use use in a relatively large bandwidth,
`wherein it is possible to achieve data transmission rates as
`high as 2 Mb/s. In particular, it is easy to connect portable
`computers to such a wireless local area network.
`In addition to the above presented local area network
`solutions, the global Internet data network is known, which
`has recently grown very rapidly in popularity. The afore(cid:173)
`mentioned local area networks can constitute a part of such 50
`Internet data network, wherein a data transmission connec(cid:173)
`tion to the Internet data network is set up from the local area
`network LAN, WLAN. Such a data transmission connection
`can be, for example, a modem connection from the server
`computer of the local area network to the server computer of 55
`Internet operator, or the server computer of the local area
`network can be coupled to form a part of the Internet data
`network.
`In connection with portable computers, so-called PCM(cid:173)
`CIA cards have been developed, which contain built-in
`mobile station features, such as a GSM mobile station and
`peripheral circuits required for data transmission. Thus, it is
`possible to set up a data call from such a wireless data
`processor via the GSM mobile communication network to
`another data processor or even to a local area network of an 65
`office. Previously, a restriction in such data transmission
`utilizing the GSM mobile communication network has been
`
`SUMMARY OF THE INVENTION
`It is a purpose of the present invention to provide a
`method for coupling a portable terminal in a flexible manner
`
`PayPal Ex. 1040, p. 12
`PayPal v. IOENGINE
`
`
`
`US 6,681,259 Bl
`
`4
`FIG. Sa is an arrow diagram showing data transmission in
`a terminal according to an advantageous embodiment of the
`invention,
`FIG. Sb is an arrrow diagram showing data reception in a
`terminal according to an advantageous embodiment of the
`invention, and
`FIG. Sc is an arrow diagram showing the change of a data
`transmission network in a terminal according to an advan(cid:173)
`tageous embodiment of the invention.
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`10
`
`3
`to a data transmission network, and for changing the data
`transmission connection used at a given time to another data
`transmission network when necessary, as well as to a por(cid:173)
`table terminal according to the method. A wireless terminal
`according to the present invention is characterized in what 5
`will be presented in the characterizing part of the appended
`claim 1. A method according to the present invention is
`characterized in what will be presented in the characterizing
`part of the appended claim 8. The invention is based on the
`idea that the network layer address (IP address) of the
`terminal and the link layer addresses used by the different
`network interface solutions available in the terminal are
`combined in the terminal.
`With the present invention, significant advantages are
`achieved, compared to methods and terminals of prior art.
`The embodiment according to the invention makes it pos- 15
`sible to supplement the operating system used in the termi(cid:173)
`nal with the functionality of a mobile terminal, without a
`need to make changes in the operational modules of the
`operating system or in the network interface software. Thus,
`such a multi-mode terminal can be used in several local area 20
`networks of different types and in other communication
`networks, and even in such a way that the communication
`network used at a given time can be changed without
`terminating active connections. This transition can be
`arranged to be conducted in such a way that the user does not 25
`even notice the transition. Thus, it is possible to use one
`network layer address in the terminal, wherein it is not
`necessary for the applications used in the terminal to know
`which physical data transmission network is used at a given
`time. This invention also makes it possible to use of all the 30
`data transmission networks available at a time, the data
`transmission network, in which the best possible connection
`quality is achieved. In addition, when the quality of the
`connection possibly becomes poor, the data transmission
`network can be changed to another data transmission 35
`network, in which a better connection quality is possibly
`achieved at that moment. Also, the user of the terminal
`according to the invention can always be communicated
`without the initiator of the communication having to know
`to which data transmission network the terminal is coupled 40
`at a given time.
`
`In the following, the invention will be described by using
`as an example of the mobile terminal a portable computer,
`which is presented in a reduced block diagram in FIG. 2. The
`operating system in the computer is the Windows® NT
`operating system developed by Microsoft Corporation, but it
`is obvious that the invention can be applied also in connec-
`tion with other operating systems. Furthermore, in a terminal
`A there are several network interface adapters NICI, NIC2,
`NIC3 available for coupling to data transmission networks
`of different types, of which an Ethernet type landline local
`area network, a wireless local area network WLAN accord-
`ing to the IEEE standard 802.11, and a GSM mobile
`communication network are mentioned as examples, but
`also other data transmission solutions, such as the packet
`switched data transmission system GPRS (General Packet
`Radio Service) of the GSM system and LPRF (Low Power
`RF) based on a low power radio signalling, can be applied
`in connection with the present invention. Such terminal A is
`also called a multi-mode terminal.
`The appended FIG. 3a presents in a reduced manner the
`structure of the Windows NT operating system. The lower(cid:173)
`most level contains the actual hardware part, which is
`controlled by means of operating system functions and
`drivers connected to the operating system. The hardware
`part includes, for instance, a microprocessor µP, memory
`means MEM, a connection logic 1/0, a display device D, and
`a keyboard K. For controlling the drivers, the operating
`system contains an 1/0 manager, which conducts, for
`instance, the start-up of the drivers and attends to the
`communication between the drivers and the rest of the
`operating system or other applications. Particular operating
`45 system functions, and a large part of the driver functions are
`conducted in a so-called kernel mode. Part of the operating
`system functions and the application programs started by the
`user are set to operate in a so-called user mode. The
`applications operating in this user mode have more restricted
`50 operating possibilities; for example, part of the memory
`space and processor instructions are available solely in the
`kernel mode, which is art known as such by anyone skilled
`in the art. Hereinbelow, for the purpose of understanding the
`present invention, this description focuses primarily on the
`55 network interface architecture, i.e. the function of the net(cid:173)
`work interface card, network interface drivers, operating
`system network interface functions and application pro(cid:173)
`grams. FIG. 3b presents as an example the network interface
`architecture of the Windows NT operating system in a
`60 reduced manner.
`The network interface architecture comprises a network
`interface card NIC, by means of which the actual physical
`data transmission connection is established. The network
`interface card is, for example, an Ethernet network interface
`card or a PCM CIA type WLAN network interface card. The
`practical implementation of this network interface card
`depends for instance, on the type of network interface in
`
`BRIEF DESCRIPTION OF IBE DRAWING
`In the following, the invention will be described in more
`detail with reference to the appended figures, in which
`FIG. 1 shows in a reduced skeleton diagram some net(cid:173)
`work types, in which the invention can be advantageously
`applied,
`FIG. 2 shows a terminal according to an advantageous
`embodiment of the invention in a reduced block diagram,
`FIG. 3a shows the structure of an operating system in a
`reduced manner,
`FIG. 3b shows the network architecture of an operating
`system in a reduced manner,
`FIG. 3c shows the network controller interface of the
`network architecture according to FIG. 3b in a reduced
`manner,
`FIG. 4 shows the coupling of and data transmission
`between two terminals in different functional layers,
`FIG. 5 shows an advantageous example of the message
`structure of the address resolution protocol ARP,
`FIG. 6 shows the network architecture of a system, in
`which it is advantageous to apply the invention,
`FIG. 7 shows the functionality of a terminal according to 65
`an advantageous embodiment of the invention in a reduced
`manner,
`
`PayPal Ex. 1040, p. 13
`PayPal v. IOENGINE
`
`
`
`US 6,681,259 Bl
`
`5
`question. For example, a network interface card intended for
`a wireless local area network comprises a radio modem, or
`the like, whereby it is possible to set up a wireless data
`transmission connection to the radio modem of the local area
`network. Correspondingly, when connecting to the GSM
`mobile communication network, the network interface card
`comprises either a data interface to the mobile station (e.g.
`Nokia Cellular Data Suite), through which the data trans(cid:173)
`mission connection is set up, or the network interface card
`can also comprise a mobile station transceiver for setting up
`a connection to the mobile communication network (e.g.
`Nokia Cellular Card Phone). Thus, the network interface
`card constitutes said physical layer and can also contain
`features of the link layer.
`The network interface card driver NICD attends, for 15
`instance, to controlling the network interface card NICI,
`NIC2, NIC3 and transmitting data between the network
`interface card NICI, NIC2, NIC3 and the protocol driver
`PD. The network interface card NICI, NIC2, NIC3, and the
`network interface driver NICD constitute the layers of the 20
`lowermost level in the protocol stack.
`The network interface card driver NICD communicates
`with the protocol driver PD. The protocol driver PD
`implements, in this advantageous embodiment, the network
`layer and the transport layer of the protocol stack. The
`protocol driver PD uses services of the network interface
`card driver NICD in data transmission. The protocol driver
`PD, for instance, forms the information to be transmitted
`into packets which correspond to the link layer used at a
`given time, and are transmitted by the protocol driver PD to 30
`the network interface card driver NICD.
`The upper level interface of the protocol driver PD forms
`a so-called transport driver interface TDI. This is provided
`with emulator applications (e.g. sockets emulator), or the
`like, whereby for instance a telecommunication application,
`such as a Windows browser program (WEB browser), can
`communicate with the protocol driver PD.
`For applying different data networks, network driver
`interface specifications NDIS are implemented in the Win(cid:173)
`dows NT operating system, for the purpose providing the
`functional features common to the drivers of the data
`communication networks of different types. Thus, the
`hardware-specific and protocol-specific parts are imple(cid:173)
`mented in the lower level network drivers. FIG. 3c presents
`an architecture according to such a network driver interface
`specification, which is located between the driver interface
`of the transport layer and the network interface card, and
`which is marked with NDIS in this description. This NDIS
`network interface architecture is advantageously composed 50
`of three kinds of drivers: NDIS protocol drivers, NDIS
`intermediate drivers and NDIS network interface card (NIC)
`drivers. The terminal contains typically a separate network
`interface card driver NICD for each network interface card,
`which communicates with the network interface card driver
`and the upper level drivers, wherein it is not necessary for
`the upper level drivers to know which data transmission
`network the terminal A is connected to at a given time.
`Hereinbelow, a shorter term NIC driver will be used for
`these network interface card drivers DI, D2, D3 and they 60
`will be marked with the references DI, D2, D3.
`In the Internet data network, a TCP/IP protocol stack is
`generally used, which can be divided into five functional
`layers. These five layers are, listed from bottom to top: the
`physical layer (Layer I), the link layer (Layer 2), the
`network layer (Layer 3), the transport layer (Layer 4), and
`the application layer (Layer 5). All the nodes of the Internet
`
`6
`data network contain at least the first three layers. Of these
`nodes, routers, which are primarily responsible for the
`couplings of the data network, do not need the transport and
`application layers. However, hosts, between which the
`5 actual data transmission connection is set up, contain all the
`said five layers. The appended FIG. 4 presents by means of
`the TCP/IP protocol stack the coupling of and communica(cid:173)
`tion between two such hosts A, B via a router R. Even
`though all the upper level layers use the services of the
`10 underlying layer for data transmission, logically the corre(cid:173)
`sponding layers of the hosts A, B communicate with each
`other by using the protocol typical for the layer. The arrows
`in the appended FIG. 4 illustrate this communication at the
`layer level.
`The TCP /IP protocols can be used in a variety of network
`solutions, such as the packet switched Ethernet and in the
`Token ring network, or in a switched network, such as ATM
`and ISDN. In a connection according to FIG. 4, the data
`transmission between the first host A and the router R is
`conducted in a wireless manner. Data transmission between
`the router R and the second host B is conducted by means
`of a landline Ethernet network, but it is obvious that these
`network solutions only act as examples here. The Institute of
`Electrical and Electronics Engineers IEEE has developed a
`25 standard 802.11 for wireless local area networks. In the
`connection of FIG. 4, data transmission according to this
`standard 802.11 is used between the host device A and the
`router R.
`In the following, the meaning of these different protocol
`stack layers will be described briefly. The actual data trans(cid:173)
`mission is conducted in the physical layer by using a data
`transmission means, such as a wireless radio network or
`landline cabling.
`The link layer attends to solutions required by different
`network technologies, wherein the upper level layers do not
`have to know how the data transmission network used at a
`given time is constructed. The link layer processes different
`addressing and frame modes and is responsible for the data
`transmission between two terminals in the same communi(cid:173)
`cation network.
`The task of the network layer is to route packets between
`terminals in the communication network. The network layer
`provides the coupling between different data networks,
`45 wherein the upper level layers do not have to know about the
`structure of the data network. On this network layer level,
`for instance protocols IP (Internet Protocol), I CMP (Internet
`Control Message Protocol) and IGMP (Internet Group Man-
`agement Protocol) are used.
`The transport layer provides a generic end-to-end data
`transmission connection for the application layer. The appli(cid:173)
`cation layer uses for instance a TCP protocol (Transmission
`Control Protocol) and a UDP protocol (User Datagram
`Protocol). In the example of FIG. 4, the terminals A, B
`55 communicate with each other in the transport layer by using
`packets according to the TCP protocol.
`The application layer protocols operate above the trans-
`port layer and provide application-specific services, such as
`file transfer services or local area network remote login
`services. In the example of FIG. 4, the hosts A, B use a
`so-called HTTP protocol (HyperText Transfer Protocol)
`which is generally used in the Internet data network for
`loading and presenting the data contained in so-called home
`pages in the display device of a computer. For this purpose,
`65 in the example of FIG. 4, the first host A is running a
`so-called web browser program, which transmits a request to
`the Internet web server of the second host B. This Internet
`
`35
`
`40
`
`PayPal Ex. 1040, p. 14
`PayPal v. IOENGINE
`
`
`
`US 6,681,259 Bl
`
`7
`web server replies to the request by sending the c