`US 6,681,259 B1
`(10) Patent N0.:
`Lemiliiinen et a1.
`
`(45) Date of Patent: Jan. 20, 2004
`
`USOO6681259B1
`
`(54) M E'I‘HOI) FOR COUPLING A WIRELESS
`TERMINAL TO A DATA TRANSMISSION
`NETWORK AND A WIRELESS TERMINAL
`
`(75)
`
`Inventors: Jussi Lemilainen, 'l‘ampere (Fl); Henry
`Haverinen, Tampere (Fl)
`
`(73) Assignee: Nokia Mobile Phones Ltd, Espoo (F1)
`
`( * ) Notice:
`
`Subject to any disclaimer, the term ofthis
`patent is extended or adjusted under 35
`use. 154(1)) by 0 days.
`
`(21) Appl. N0.: 09/307,894
`
`(22)
`
`Filed:
`
`May 10, 1999
`
`6,131,163 A * 10/2000 \Viegel
`....................... 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 B1 *
`9/2001 Lalwaney el al_ a
`,,,,, 709/222
`
`6,330,597 B2 * 12/2001 Collin el al. ............. 709/220
`............. 709/239
`6,484,210 B1 * 11/2002 Adriano el al.
`
`OTHER PUBLICATIONS
`
`Tripnnitara el 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 V11
`(74) Attorney, Agent, or Fir/714eririaii & Green, LLP
`
`(30)
`
`Foreign Application Priority Data
`
`(57)
`
`ABSTRACT
`
`May 12, 1998
`
`(F1) ................................................. 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/71; 455/403; 713/201
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`11/1993 Liukkonen iiiiiiiiiiiiiiiiiii 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/279
`5,490,235 A
`9/1996 Norris ........................ 709/220
`5,557,748 A *
`5/1997 Richter et al.
`.
`709/227
`5,630,061 A *
`2/1998 Rasor ...........
`340/71
`5,714,943 A *
`9/1998 Frampton .....
`395/500
`5,802,351 A
`5,852,721 A * 12/1998 Dillon et a].
`709/227
`5.862.344 A *
`1/1999 Hart
`........................... 709/238
`5,890,005 A
`3/1999 Lindholm
`395/750.03
`5,918,018 A *
`6/1999 Gooderum el al.
`709/225
`...................
`455/403
`5,983,090 A * 11/1999 Aoki
`
`. 710/8
`6,003,097 A * 12/1999 Richman et al,
`..
`
`
`
`The invention relates to a terminal (A), which comprises at
`least one network interface card (NlCl, NICZ, NIC3) for
`setting up a data transmission connection to a communica-
`tion network (NW1, NW2, NW3, MNW)
`for packet
`switched data transmission, and means (PD) for forming
`packets of the information to be transmitted and for unpack-
`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-
`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-
`work interface Card (NlCl, NICZ, NIC3) corresponding to
`the data transmission network (NW1, NW2, NW3, MNW)
`used at a given time, and means for modifying the first
`address to the second address according to the data trans-
`mission network used in the packets at a given time.
`
`12 Claims, 10 Drawing Sheets
`
`
`
`Microsoft Corporation
`Exhibit 1004-00001
`
`Microsoft Corporation
`
`
`
`US. Patent
`
`Jan. 20, 2004
`
`Sheet 1 of 10
`
`US 6,681,259 B1
`
`FIG.1
`
`Microsoft Corporation
`Exhibit 1004-00002
`
`Microsoft Corporation
`
`
`
`US. Patent
`
`Jan. 20, 2004
`
`Sheet 2 of 10
`
`US 6,681,259 B1
`
`GSM
`
`WLAN
`
`LAN
`
`._
`0
`2335351
`zzz'zT
`a
`3
`g
`
`0
`
`3
`
`N ‘
`
`2
`LI.
`
`o
`“x.
`‘o
`b
`
`a.
`3
`
`\<
`
`E 5
`2E
`
`m
`5
`
`g
`”‘25;
`
`I
`
`>—
`o2
`S9
`0
`
`Microsoft Corporation
`Exhibit 1004-00003
`
`Microsoft Corporation
`
`
`
`US. Patent
`
`Jan. 20, 2004
`
`Sheet 3 of 10
`
`US 6,681,259 B1
`
`
`
`mac:.E2.53.
`
`302«um:
`
`3.0....
`
`0\_.m:d.xx:
`
`__
`
`.5:
`
`.82
`
`8.2
`
`_.
`
`
`
` manage8.35Imuo<z<z
`
`u_.._0<o_5.04.72:0. _au__
`
`%
`
`
`
`
`
`20.28%:zoEoan<mwmooE
`
`
`
`NE;«\mo.88..
`
`m§§om<z .
`n34.5amt}20:05.5quwading
`
`
`mmuEmaI,
`___
`
`,
`
`l,-,_.
`
`Microsoft Corporation
`mm _-u \Wu, “m
`
`Exhibit 1004-00004
`
`Microsoft Corporation
`
`
`
`
`
`
`US. Patent
`
`Jan. 20, 2004
`
`Sheet 4 of 10
`
`US 6,681,259 B1
`
`NETWORK APPUCATION
`
`WINSOCK
`
`SOCKETS EMULATOR-
`
`USER-MODE DU.
`_._—__-_——..____...———-_—_—_____...__—_~—_._
`USER MODE
`
`SOCKETS EMULATOR-
`
`KERNEL—MODE DRIVER
`
`KERNEL MODE
`
`TRANSPORT DRIVER
`INTERFACE (TDI)
`
`- PROTOCOL DRIVER
`
`NIC DRIVER
`
`PD
`
`NICD
`
`NETWORK ADAPTER
`
`NIC1. NICZ. NIC3
`
`FIG.3b
`
`_______________________ TDI
`
`NDIS PROTOCOL DRIVER
`
`NDIS INTERMEDIATE DRIVER
`
`
`
`
`
`PD
`
`NICO
`
`F|G.30
`
`Microsoft Corporation
`
`Exhibit 1004-00005
`
`Microsoft Corporation
`
`
`
`US. Patent
`
`Jan. 20, 2004
`
`Sheet 5 of 10
`
`US 6,681,259 B1
`
`
`
`
`
`
`
`UNK—LAYERADDRNEEWORKmorenun-mmADDRNEIWORKADDR
`IEEE802.11
`
`
`
` HARDSIZE SENDERSENDERTARGETTARGET
`
`FIG.5
`
`PROTSIZE
`
`1
`
`Microsoft Corporation
`77" \""-—/ ‘_-"
`
`Exhibit 1004-00006
`
`“I
`
`Q I
`
`...
`
`TCPPACKETS
`
`IEEE80211
`
`UNKLAYER
`
`
`
`PHYSICALLAYER
`
`
`
`TRANSPORTLAYER
`
`
`
`NETWORKlAYER
`
`
`
`
`
`APPLICATIONLAYERBROWSER
`
`Microsoft Corporation
`
`
`
`US. Patent
`
`Jan. 20, 2004
`
`Sheet 6 of 10
`
`US 6,681,259 B1
`
`>¢§<on__
`
`:8mo...
`
`2.1g»
`
`III
`II,
`In!!!
`
`90.1..
`
`a
`
`Mug—um
`
`
`
`,_
`
`Microsoft Corporation
`
`Exhibit 1004-00007
`
`Microsoft Corporation
`
`
`
`
`
`US. Patent
`
`n.h
`
`m,
`
`4
`
`M7
`
`1
`
`g
`
`<2
`
`
`
`zopgzmnzEms-mag
`
`m3.2
`
`m........................8.2
`
`$582:
`
`EB.59
`
`.2{2mEaa58822“.
`8:55.am.
`..........
`
`
`B09Cx,fl.1o0whGE2m6rS.01».U52%M£5:8
`
`n0Inar0m
`Exhibit 1004-00008
`
`Microsoft Corporation
`
`
`
`
`
`US. Patent
`
`Jan. 20, 2004
`
`Sheet 8 of 10
`
`US 6,681,259 B1
`
`ucmmmfiz
`
`.2gages
`
`mom
`
`.Eccoalmssm
`
`323825828;
`
`.3n
`
`V
`
`soaeazmngnz
`
`n;
`
`non
`
`o_‘h.cacomlmssm
`
`3o_QEooccum_838m
`
`wI.
`
`ucmmto._=_2
`
`won
`
`.éédssm
`
`mos
`
`v
`
`smaeoousmzmfiz
`
`F;
`
`Dm_zmn—.NO.5
`
`ode
`
`Microsoft Corporation
`\' "7—1 -___'
`
`Exhibit 1004-00009
`
`Microsoft Corporation
`
`
`
`
`
`
`
`
`
`US. Patent
`
`Jan. 20, 2004
`
`Sheet 9 of“)
`
`US 6,681,259 B1
`
`«E.“E62328
`58“.58
`
`
`
`an.Avmfioamesémaz
`
`can
`
`E«onom_z2Kno.8.5
`
`.2ggaE;
`
`Imwcofifizmfiz
`
`
`
`A.380E822;m;
`
`.Eosmssgémaz
`
`Boeofimcehmaz
`
`mK
`
`.EucoatmsswnK
`
`283555;?E:
`
`.sggumasmw_N
`
`mK
`
`o2»_ananE£m=o._:ooseman_
`
`caJsnaggsoeamsfiuz
`
`Microsoft Corporation
`\
`/
`
`Exhi
`
`it 1004-00010
`
`Microsoft Corporation
`
`
`
`
`
`
`US. Patent
`
`Jan. 20, 2004
`
`Sheet 10 of 10
`
`US 6,681,259 B1
`
`
`
`PEERCOMPUTER
`
`IPDATAGRAMS
`
`REQUEST
`
`U)
`
`E<
`'5‘
`g
`
`)—
`E3
`c:
`z
`
`EE
`
`738
`
`'9
`"3
`N
`
`REGISTRATION
`
`Microsoft Corporation
`Exhibit 1004-00011
`
`Microsoft Corporation
`
`
`
`US 6,681,259 B1
`
`1
`METHOD FOR COUPLING A WIRELESS
`TERMINAL TO A DATA TRANSMISSION
`NE’I‘WORK ANI) A WIRELESS TERMINAL
`
`BACKGROUND OF THE INVENTION
`
`invention relates to a wireless terminal
`The present
`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.
`
`10
`
`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-
`prises means necessary for establishing a data transmission
`connection between the computer and the local area net-
`work. Inter-office local area networks are typically imple-
`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 landlinc
`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-
`mentioned local area networks can constitute a part of such
`Internet data network, wherein a data transmission connec-
`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
`Internet operator, or the server computer of the local area
`network can be coupled to form a part of the Internet data
`network.
`
`40
`
`In connection with portable computers, so-called PCM-
`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
`ollice. Previously, a restriction in such data transmission
`utilizing the GSM mobile communication network has been
`
`60
`
`om
`
`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
`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,
`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, bill
`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 Iandline local area network,
`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
`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 0 ice and be connected to the local area network
`of the ofiice. 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 rising methods and terminals of prior art
`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. Dilferences in the terminal identification used by
`diiferent 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-
`tion to this terminal, the person who sets up the connection
`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 ollice 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-
`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
`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.
`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
`
`Microsoft Corporation
`Exhibit 1004-00012
`
`Microsoft Corporation
`
`
`
`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-
`table terminal according to the method. A wireless terminal
`according to the present invention is characterized in what
`will be presented in the characterizing part of the appended
`claim 1. A method according to the present invention is
`characterized in wh at 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—
`sible to supplement the operating system used in the termi-
`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
`
`types and in other communication
`networks of different
`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
`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
`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
`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
`at a given time.
`BRIEF DESCRIPTION OF TIIE 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-
`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. 36' shows the network controller interface of the
`network architecture according to FIG. 3b in a reduced
`manner,
`
`40
`
`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
`an advantageous embodiment of the invention in a reduced
`manner,
`
`60
`
`0(1|
`
`US 6,681,259 B1
`
`4
`FIG. 83 is an arrow diagram showing data transmission in
`a terminal according to an advantageous embodiment of the
`invention,
`l-‘lG. 8b is an arrrow diagram showing data reception in a
`terminal according to an advantageous embodiment of the
`invention, and
`HG. 8c is an arrow diagram showing the change of a data
`transmission network in a terminal according to an advan-
`tageous embodiment of the invention.
`
`10
`
`DETAILED DESCRlPTlON Ol’ THE
`INVENTION
`
`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 NIC1, NICZ,
`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 lEEE 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. 30 presents in a reduced manner the
`structure of the Windows NT operating system. The lower-
`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 ‘uP, memory
`means MEM, a connection logic l/O, 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
`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
`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
`network interface architecture, i.e, the function of the net-
`work interface card, network interface drivers, operating
`system network interface functions and application pro-
`grams. FlG. 31‘) presents as an example the network interface
`architecture of the Windows NT operating system in a
`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 PCMCIA type WLAN network interface card. The
`practical
`implementation of this network interface card
`depends for instance, on the type of network interface in
`
`Microsoft Corporation
`Exhibit 1004-00013
`
`Microsoft Corporation
`
`
`
`US 6,681,259 B1
`
`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-
`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.
`for
`The network interface card driver NICD attends,
`instance,
`to controlling the network interface card NICI,
`NICZ, NIC3 and transmitting data between the network
`interface card NICl, NICZ, NIC3 and the protocol driver
`PD. The network interface card NIC], NICZ, NIC3, and the
`network interface driver NICD constitute the layers of the
`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
`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-
`dows N'l‘ 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-
`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
`of three kinds of drivers: NDIS protocol drivers, NDIS
`intermediate drivers and NDIS network interface card (N IC)
`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 D1, D2, D3 and they
`will be marked with the references D1, 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 1),
`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
`
`10
`
`40
`
`60
`
`om
`
`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
`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—
`tion between two such hosts A, B via a router R. Even
`though all the upper level layers use the services of the
`underlying layer for data transmission, logically the corre-
`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 TCPIIP 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
`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-
`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-
`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,
`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), ICMP (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-
`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
`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 (llyperText 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,
`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
`
`Microsoft Corporation
`Exhibit 1004-00014
`
`Microsoft Corporation
`
`
`
`US 6,681,259 B1
`
`7
`web server replies to the request by sending the contents of
`the requested home page in HTTP messages. This home
`page is composed, for example, by means of hypertext
`mark-up language HTML Other application layer protocols
`include Telnet, the file transfer protocol FTP and the simple
`mail transfer protocol SMTP.
`In the Internet data network, each terminal or host has its
`own identifying IP address. The IP address is in the Internet
`protocol version IPv4 a 32 bit, i.e. 4 byte number which is
`split into an organization-specific network address and a
`network-specific device address. In a newer Internet proto-
`col version IPvfi, the length of the address fields is inert: ased
`to 128 bits, which, in practice, means that it is possible to
`allocate an individual address for all the devices which are
`connected to the Internet data network. An Internet host
`connected to the Internet data network via a local area
`
`network LAN, WLAN has either a permanently specified
`Internet address or the address is a dynamic address estab-
`lished by the local area network server (for example by using
`dynamic host configuration protocol DIICP). If the Internet
`host is connected to a telecommunication network via a
`modem, the host has to request for an Internet address from
`the Internet service provider, to which the Internet host is
`registered. This is conducted, for example, according to a
`point-to-point protocol PPP. In both cases, the data is routed
`in the Internet to the Internet host from a remote terminal,
`possibly via several communication networks and route rs by
`rising the specified Internet address.
`The Internet protocol IP specifies the data transmission in
`packets (“Datagrams”). When a host or a router receives a
`packet on the IP level, either from the data network or from
`an upper level of the protocol stack,
`the first step is to
`examine whether the packet is intended precisely for the
`router or terminal
`in question. If the packet is intended
`precisely for this router or terminal, the packet is transferred
`from the network layer to the upper layer in this node. If the
`packet
`is intended to another node, a so-called routing
`algorithm is executed in the network layer for concluding
`how the packet should be processed. First, it is examined
`whether the packet is intended for another node in the same
`network. If this is the case, the node can transmit the packet
`to the destination address by using the mechanisms of the
`link layer. Thus, the IP address of the network layer level is
`connected to the corresponding link layer address by rising
`the so-called address resolution protocol ARP, which will be
`described below in this description. In this node, the packet
`is also framed into a packet corresponding to the link layer
`and transmitted further.
`
`If the packet is intended for another network, the routing
`algorithm runs through a rou ting table in order to find out to
`which address the packet should be transmitted. The routing
`table typically contains a so-called default address, to which
`all such packets are transmitted Whose routing address
`cannot be found in the routing table.
`The situation of FIG. 4 can be used as an example of the
`above described routing, in which the first host A and the
`second host B communicate with each other via the router R.
`In the situation where the first host A has a packet to transmit
`to the second host B, the routing algorithm detects that the
`destination address of the packet is not located in the same
`network as the first host A. Thus, the routing algorithm starts
`running through the routing table and finds the data of the
`correct router R. Thus, the first host A transmits the packet
`to the router by rising, for example, data transmission
`according to the IEEE 802.11 standard. The router R
`receives the frame, unpacks its content and examines from
`it
`the header according to the network layer packet. The
`
`10
`
`40
`
`60
`
`0(1|
`
`8
`router is located in the same network as the second