`
`
`
`
`
`EXHIBIT
`
`EXHIBIT
`1021
`
`1021
`
`
`
`Ulllted States Patent [19]
`Pearce et al.
`
`US005910951A
`[11] Patent Number:
`[45] Date of Patent:
`
`5 910 951
`9
`9
`*Jun. 8, 1999
`
`[54] TRANSMITTING DEVICE WITH MOBILITY
`MANAGER AND METHOD ()1?
`COMMUNICATING
`
`9/1997 Gupta et a1. .......................... .. 370/432
`5,673,265
`5,682,460 10/1997 HyZiak et a1. .
`5,721,762
`2/1998 Sood ..................................... .. 455/466
`5,752,193
`5/1998 Schole?eld et a1.
`.
`
`
`
`Inventors: Michael David Pearce, Barrington; Rodd Bryan Zurcher, Schaumburg;
`
`
`
`Samton ................................. .. OTHER PUBLICATIONS
`
`Lewis B. Oberlander, Buffalo Grove,
`an of I11_
`
`[73] Assignee; Motorola, Inc,’ Schaumburg, I11_
`
`[*] Notice:
`
`This patent issued on a continued pros-
`ecution application ?led under 37 CFR
`1.53(d), and is subject to the twenty year
`patent term provisions of 35 U'SC
`154(a)(2)-
`
`[21] APPL NO; 08/720,984
`_
`[22] Flledi
`
`Oct- 15, 1996
`
`6
`
`................................................... ..
`. ............................................................ ..
`.
`I.
`Fleld Of Search ................................... ..
`370/401’ 465’ 471’ 464’ 351’ 414’ 455/445’
`446’ 557’ 452’ 453’ 375/200'76
`References Cited
`
`[2;]
`[
`]
`
`[56]
`
`U_S_ PATENT DOCUMENTS
`
`5,301,359
`5,388,089
`5,425,023
`5,544,222
`5,657,314
`
`4/1994 Van den Heuvel et a1"
`2/1995 Odaka 6181..
`6/1995 Haraguchi et a1. .
`8/1996 Robinson et a1. .................... .. 455/557
`8/1997 McClure et a1. .
`
`BHA Mobile Data Group; “Mobile Data Communications—
`Easy ACCESS Wireless Enabling Service”; May 27, 1996.
`BHA Computer Pty Ltd; “Easy ACCESS Wireless Enabling
`Service—Features Overview”; May 27, 1996.
`_
`_
`__
`Primary ExamWer—A]1t_Pate1
`Assistant Examiner —_Ch1hO Andrew Lee
`Attorney, Agent, or Fzrm—Terr1 S. Hughes
`[57]
`ABSTRACT
`
`for communication over a mul
`transmitting device
`t1pl1c1ty of networks having a communication manager (22)
`and a mobility manager (20). The mobility manager (20)
`includes a database (40) having a net table (42) of potential
`networks and a ?lter (38)‘ The ?lter (38) generates a
`prioritized list of qualifying networks Over which a data
`Object is to be transferred‘ Also described is a method for
`sifting through and ?ltering the net table (42) of potential
`networks and their characteristics. AprioritiZed list of quali
`fying networks is generated wherein each qualifying net
`work has a priority. A transmission request is generated
`based on a combination of the data object and the prioritized
`list of qualifying networks and is transmitted over the
`selected qualifying network (26), (28), or (30) having a
`highest priority‘
`
`12 Claims, 3 Drawing Sheets
`
`, ___________________________ _ _ 215 _________ _ _ 1.
`
`/ 15
`
`31
`
`:
`
`l I
`|
`|
`'
`|
`|
`I
`l
`:
`8a. 1:
`1016'
`|
`|
`I
`,
`:
`|
`l
`|
`\.
`
`l
`
`|
`
`"_
`
`17 \
`
`TRANSCEIVER
`8
`
`26
`/
`NETWORK A
`
`\
`
`28
`
`/ / 24
`a» <
`1
`a” L021 a
`3
`MOBILITY
`8
`MANAGER
`COMMUNICATION
`MANAGER
`
`l
`l
`TRANSCEIVER |
`l
`(\
`l
`:36
`5”
`2 :
`n
`|
`g
`'
`|
`USER
`. DESTINATION
`:
`I
`l
`l
`
`»
`[30/ 2
`NETWORK c
`
`2
`COMMUNICATION
`MANAGER
`
`Viptela, Inc. - Exhibit 1021
`Page 1
`
`
`
`U.S. Patent
`
`Jun. 8, 1999
`
`Sheet 1 of3
`
`5,910,951
`
`F111:1111111 1111111111111
`
`Em:
`
`zo:<z:$o
`
`zo:§z=§oo
`
`zo:§z=§8
`
`%o<z§
`
`mm
`
`‘mV2252“<éogmz
`
`E>momz<E
`
`Viptela, Inc. - Exhibit 1021
`
`Page 2
`
`Viptela, Inc. - Exhibit 1021
`Page 2
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Jun. 8, 1999
`
`Sheet 2 of3
`
`5,910,951
`
`20 \
`
`DATABASE
`
`42
`\NET TABLE
`
`\ 40
`
`3a
`
`19
`\ I
`'
`
`_
`' FILTER
`
`,44
`
`MESSAGE
`ASSEMBLER
`
`M
`
`21
`r
`
`DESTINATION ENDPOINT
`IDENTIFIER
`"~48
`
`4 f 6
`
`SOURCE ENDPOINT
`IDENTIFIER
`
`"~50
`
`PRIORITY 1 NETWORK
`
`PRIORITY 2 NETWORK
`
`52
`
`PRIORITY n NETWORK
`
`DATA OBJECT
`
`~54
`
`COMMUNICATION MANAGER
`
`22
`
`OBJECT TRANSMISSION
`PROTOCOL
`56
`
`NETWORK AVAILABILITY
`MONITOR
`58
`
`NETWORK INTERFACE NETWORK INTERFACE NETWORK INTERFACE
`A
`5_9
`B
`50
`C
`Q
`
`FIG. 4
`
`Viptela, Inc. - Exhibit 1021
`Page 3
`
`
`
`U.S. Patent
`
`n.HJ
`
`9
`
`m
`
`5
`
`1
`
`,S
`
`S.M,M»QNBNM$>Eomz<E
`
`smV2252
`
`
`
`m525:wimam‘QéosmzVEo%_,_<E
`
`3,:2mz<E
`
`m$5828
`
`HHzmz<mH
`
`E0252
`
`CH._Hm<._H<><
`
`moHHzoz
`
`m>Hmomm
`
`mm<m<»<o
`
`HH2mz<mH
`
`mm<m<H<o
`
`soak
`
`>pH4Hmo2
`
`mmc<z<2
`
`Viptela, Inc. - Exhibit 1021
`
`Page 4
`
`Viptela, Inc. - Exhibit 1021
`Page 4
`
`
`
`1
`TRANSMITTING DEVICE WITH MOBILITY
`MANAGER AND METHOD OF
`COMMUNICATING
`
`FIELD OF THE INVENTION
`
`This invention relates to a communication device for
`communication over a number of networks and a method of
`communication signals over such networks.
`
`BACKGROUND OF THE INVENTION
`
`Currently, users of mobile and portable communication
`devices are forced to choose only one communication
`method from the many wide-area wireless mediums avail
`able. This is true of most devices even when they are in an
`of?ce setting and might have an accessible and less expen
`sive local-area wired or even wireless system available. This
`lack of choice locks the user into one, possibly expensive,
`communication service based on what the user is currently
`doing. At best, the user is forced to manually recon?gure the
`communication device to attach it to the network via another
`communication method.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`Other advantages and features of the invention are
`described with reference to preferred embodiments which
`are intended to illustrate and not to limit the invention and
`in which:
`FIG. 1 is a context diagram illustrating a user source, a
`communication system and a user destination, each in accor
`dance with a preferred embodiment of the invention;
`FIG. 2 is a block diagram of a mobility manager, in
`accordance with the preferred embodiment of the invention;
`FIG. 3 is an illustration of the structure of a transmission
`request in accordance with the preferred embodiment of the
`invention;
`FIG. 4 is an illustration of a communication protocol
`software organiZed as a single communication manager
`process residing on a transmitting device of FIG. 1; and
`FIG. 5 is a data How diagram of the communication
`manager residing on the transmitting device and the com
`munication manager residing on a receiving device, in
`accordance with the preferred embodiment of the invention.
`
`15
`
`25
`
`35
`
`DETAILED DESCRIPTION OF THE DRAWINGS
`
`45
`
`FIG. 1 is a context diagram illustrating a user source 10,
`a communication system 12, and a user destination 14, each
`in accordance with a preferred embodiment of the invention.
`Atransmitting device 15 comprises a ?rst transceiver 18 and
`a processor 17 having a mobility manager 20 and a ?rst
`communication manager 22, which are software modules
`running on the processor 17. A receiving device 31 com
`prises a second communications manager 32 and a second
`transceiver 34. The transmitting device 15 and the receiving
`device 31 are connected via some multiplicity of qualifying
`networks 26, 28, and 30 labeled as network A, network B
`and network C, respectively. Common examples of the type
`of networks available are the following: Cellular Digital
`Packet Data (CDPD), circuit-switched cellular, paging, etc.
`Of these networks, some subset is available for communi
`cation at any given time.
`FIG. 2 is a block diagram of the mobility manager 20. The
`mobility manager 20 comprises a ?lter 38, a database 40,
`and a message assembler 44. It further has a ?rst interface
`19 to which the ?lter 38 is coupled and a second interface 21
`coupled to the message assembler 44.
`
`55
`
`65
`
`5,910,951
`
`2
`In operation, the user source 10 sends a data object, along
`with its attributes (e.g., siZe, priority, sender, etc.), across an
`input interface 16 to the ?rst transceiver 18. The ?rst
`transceiver 18 passes the data object across the ?rst interface
`19 and into the ?lter 38 of the mobility manager 20. The data
`object is also passed to the message assembler 44. The ?lter
`38 sifts through the database 40 which stores a net table 42
`of potential networks and their characteristics which the
`transmitting device 15 is capable of connecting with in order
`to transmit the data object from the transmitting device 15 to
`the receiving device 31. Once the ?lter 38 sifts through the
`net table 42 of potential networks and their characteristics,
`the ?lter 38 performs a ?ltration function. The ?ltration
`function is based on a combination of the attributes of the
`data object (i.e., siZe, priority, sender, etc.) and the charac
`teristics of the potential networks, such as cost (whether it is
`cost per byte, whether it is cost per minute, and whether the
`cost changes during the day or week), speed, and whether
`the potential network is a circuit-switched (e.g., analog
`cellular, Plain Old Telephone System (POTS) modem, Inte
`grated Services Digital Network (ISDN), etc.) or a packet
`switched (e.g., Ethernet, paging, etc.) network which can
`in?uence priority ordering based on, for example, the siZe of
`the data object. Once the ?lter 38 completes the ?ltration
`function, the ?lter 38 generates a prioritiZed list of qualify
`ing networks with varying priorities over which this par
`ticular data object may be transferred (this list may be
`smaller than the list of all potential networks if the data
`object does not qualify for transmission over one or more of
`the potential networks for cost or priority reasons).
`As soon as the prioritiZed list of qualifying networks is
`generated, the ?lter 38 transmits the prioritiZed list of
`qualifying networks to the message assembler 44 to enable
`the message assembler 44 to append the prioritiZed list of
`qualifying networks to the data object. Once appended, a
`transmission request 46, as shown in FIG. 3, is created
`comprising a destination endpoint identi?er 48, a source
`endpoint identi?er 50, the prioritiZed list of qualifying
`networks 52 (e.g., priority 1 network, priority 2 network,
`etc.), and the data object 54. The message assembler 44
`passes the transmission request across the second interface
`21 to the ?rst communication manager 22.
`The actual process of transmitting the data object from the
`transmitting device 15 to the receiving device 31 via any one
`of the connecting networks 26, 28, or 30 is well known in the
`art as a standard method of fragmentation, transmission, and
`collection of per-block checkpoint/acknowledgments. Note
`that this does not imply a stop-and-wait reliability protocol,
`as collection of checkpoint/acknowledgments is decoupled
`from transmission of blocks.
`FIG. 4 is an illustration of a communication protocol
`software organiZed as the ?rst communication manager 22
`process residing on the transmitting device 15 of FIG. 1. The
`?rst communication manager 22 comprises the following
`components: an object transmission protocol 56, a network
`availability monitor 58, a network interface A59, a network
`interface B 60, and a network interface C 61. Each of the
`object transmission protocol 56 and the network availability
`monitor 58 interfaces with all of the network interfaces 59,
`60, and 61.
`In operation, the ?rst communication manager 22 accepts
`transmission requests from the mobility manager 20. Upon
`successfully receiving the transmission request with the
`prioritiZed list of qualifying networks, the ?rst communica
`tion manager 22 transmits the transmission request to the
`receiving device 31 over the highest-priority qualifying
`network via a transport layer connection 68 and a listener
`
`Viptela, Inc. - Exhibit 1021
`Page 5
`
`
`
`3
`module 72 (refer to FIG. 5). Procedures for transmitting and
`receiving transmission requests While automatically sWitch
`ing among qualifying netWorks result in the transmission
`request being transferred reliably over the highest-priority
`qualifying netWork available for that transmission request.
`The ?rst communication manager 22 Will resort to a loWer
`priority qualifying netWork only When all higher-priority
`qualifying netWorks have been deemed unavailable. If the
`?rst communication manager 22 resorts to a loWer-priority
`qualifying network, it Will re-attempt to transmit the trans
`mission request over a higher-priority qualifying netWork
`When it becomes available.
`FIG. 5 is a block diagram of the ?rst communication
`manager 22 and the second communication manager 32, in
`accordance With the preferred embodiment of the invention.
`The ?rst communication manager 22 further comprises a
`netWork availability monitor 58, a transmit scheduler 62,
`and a transmit database 64. A transmit module 66 is created
`by the transmit scheduler 62, as needed, for each transmis
`sion session. Network availability is determined on demand
`by the netWork availability monitor 58. The implementation
`of this netWork availability monitor 58 may take several
`forms so long as the transmit scheduler 62 is provided With
`sufficient netWork availability information. One possible
`implementation involves sending an echo request over the
`netWork in question When queried for the availability of that
`netWork. The resulting “extra” traf?c can be reduced by
`caching netWork availability information, and sending echo
`requests only When cached information is “stale” or When a
`suspected netWork availability change has taken place. Due
`to its simple nature, this method is particularly preferred.
`Another possible implementation of the netWork avail
`ability monitor 58 involves closer integration With each
`netWork’s built-in management functions, such as receive
`signal strength and/or bit error rate indications. By having
`the netWork availability monitor 58 keep track of all or part
`of a netWork’s availability, the communication endpoint is
`relieved of maintaining this information. The added bene?t
`of reduced traf?c through reduced duplication of effort may
`not justify the complexity of this solution. A third
`implementation, for eXample, utiliZes a bulletin board as
`described in US. Pat. No. 5,301,359.
`In operation, the transmit database 64 receives a trans
`mission request from the mobility manager 20. A ?ag 71 is
`associated With every transmission request to indicate a ?rst
`portion of the transmission request that has been success
`fully transmitted to the receiving device 31 and a second
`portion of the transmission request that has not been suc
`cessfully transmitted to the receiving device 31. The ?ag 71
`for each transmission request is initially set at a beginning of
`the transmission request. A feed-back mechanism in the
`object transmission protocol 56 alloWs the ?ag 71 to move
`to a neW position in the transmission request every time a
`block of the transmission request is successfully received by
`the receiving device 31. The feed-back mechanism is imple
`mented as a result of the object transmission protocol 56 on
`the receiving device 31 informing the object transmission
`protocol 56 on the transmitting device 15 hoW much data
`Was successfully received. Thus, as the receiving device 31
`successfully receives data from the transmitting device 15,
`the object transmission protocol 56 on the receiving device
`continually updates the object transmission protocol 56 on
`the transmitting device 15 as to hoW much data Was suc
`cessfully received by the receiving device 31. Upon suc
`cessfully receiving the transmission request in its entirety,
`the receiving device 31 transmits the transmission request to
`the user destination 14.
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`5,910,951
`
`4
`Upon the transmit database 64 receiving a transmission
`request, the transmit scheduler 62 attempts to immediately
`transmit the transmission request on the highest-priority
`qualifying netWork for the transmission request. A transmis
`sion request can be in one of tWo states: a shelved trans
`mission request (not being transmitted) or an unshelved
`transmission request (being transmitted on one of its quali
`fying netWorks). The invariant maintained is that each
`transmission request is alWays being transmitted on the
`highest-priority qualifying netWork (in the conteXt of each
`transmission request), or shelved if there are no qualifying
`netWorks available.
`The netWork availability monitor 58 continually updates
`the transmit scheduler 62 regarding availability of the quali
`fying netWorks. When the netWork availability monitor 58
`detects a neWly available netWork, the transmit scheduler 62
`scans the transmit database 64 for transmission requests
`Which qualify for transmission on the neWly available net
`Work and processes them in the folloWing manner. For each
`shelved transmission request Which quali?es for transmis
`sion on the neWly available netWork, the transmit scheduler
`62 unshelves the transmission request and creates a transmit
`module 66 for it over the neWly available qualifying net
`Work. Since the transmission request Was shelved, none of
`its qualifying netWorks Were previously available.
`Therefore, When any one of its qualifying netWorks became
`available, that netWork is by de?nition the highest-priority
`qualifying netWork available for that particular transmission
`request.
`For each unshelved transmission request Which quali?es
`for transmission on the neWly available netWork, the trans
`mit scheduler 62 compares the priorities of the neWly
`available netWork and the qualifying netWork currently
`being used by the transmission request. If the neWly avail
`able qualifying netWork has a higher priority than the
`qualifying netWork currently being used, the transmit sched
`uler 62 destroys the transmit module 66 currently being
`used, and creates a neW transmit module over the neWly
`available qualifying netWork. If the neWly available quali
`fying netWork has a loWer priority than the qualifying
`netWork currently being used, the transmit scheduler 62
`alloWs the transmit module 66 currently being used to
`continue transmitting the transmission request. Thus, the
`transmit module 66 currently being used is only preempted
`for higher-priority qualifying netWorks so that the transmis
`sion request is alWays transmitted to the receiving device 31
`on the highest-priority qualifying netWork.
`When the netWork availability monitor 58 detects a loss of
`netWork availability, the transmit scheduler 62 scans the
`transmit database 64 for transmission requests that are
`affected and processes them as folloWs. The transmit sched
`uler 62 ignores all of the shelved transmission requests. A
`neWly unavailable qualifying netWork is of no importance to
`the shelved transmission requests.
`For each unshelved transmission request Which is cur
`rently being transmitted on the neWly unavailable qualifying
`netWork, the transmit scheduler 62 destroys the transmit
`module 66 currently being used. Then, for each qualifying
`netWork Which is of loWer-priority than the neWly unavail
`able qualifying netWork, the transmit scheduler 62 queries
`the netWork availability monitor 58 for netWork availability
`information. If a loWer-priority qualifying netWork is found
`to be available, the transmit scheduler 62 creates a neW
`transmit module over the highest-priority qualifying net
`Work that is of loWer-priority than the neWly unavailable
`qualifying netWork (i.e., the ?rst loWer-priority qualifying
`netWork found during the process of querying the netWork
`
`Viptela, Inc. - Exhibit 1021
`Page 6
`
`
`
`5,910,951
`
`10
`
`15
`
`20
`
`25
`
`5
`availability monitor 58). Otherwise, the transmit scheduler
`62 shelves the transmission request. Thus, the transmit
`scheduler stops transmitting those transmission requests
`Which Were using the neWly unavailable netWork and begins
`transmitting them on the highest-priority qualifying netWork
`available. Given the invariant above, the transmit scheduler
`62 only has to check qualifying netWorks Which have a
`loWer-priority than the neWly unavailable qualifying net
`Work. Only loWer-priority qualifying netWorks are checked
`When there is a loss of netWork availability because the
`transmission request Would have been upgraded to a higher
`priority qualifying netWork already, had one been available.
`When the transmit module 66 receives the data object, the
`transmit module 66 connects to a transport layer connection
`68 in order to communicate With the second communication
`manager 32. The second communication manager 32 com
`prises a listener module 72, a receive module 74, and a
`receive database 76. The transport layer connection 68 is
`?rst coupled to the listener module 72 on the receiving
`device 31 via a selected netWork 26, 28, or 30. Once the
`connection is made, the listener module 72 creates a receive
`module 74, as needed, in the receiving device 31, to Which
`the transport layer connection 68 is then coupled. The
`receive module 74 accepts the transmission request in blocks
`from the transmit module 66 and stores the partially
`received transmission request in the receive database 76.
`The transmit module 66 on the transmitting device 15
`connects to the receive module 74 on the receiving device 31
`via the transport layer connection 68, the selected netWork
`26, 28 or 30, and the listener module 72. Upon successfully
`receiving the entire transmission request, the receive module
`74 sends it to the user destination 14.
`There are various optimiZations in the object transmission
`protocol 56 betWeen the user source and the user destination,
`such as check-pointing/restart from point of failure and
`having the user destination 14 transmit netWork availability
`change events to the user source 10, in case the user
`destination 14 has a better vieW of this information. When
`data How is interrupted due to the qualifying netWork
`currently being used becoming unavailable and there are no
`other qualifying netWorks available over Which the trans
`mission request can be transferred, the transmit scheduler 62
`shelves the transmission request in the transmit database 64.
`The ?rst portion of the transmission request that Was
`received successfully by the receiving device 31 is shelved
`in the receive database 76 until a qualifying netWork
`becomes available to transmit the second portion of the
`transmission request.
`When the netWork availability monitor 58 informs the
`transmit scheduler 62 that a qualifying netWork is available
`over Which the second portion of the transmission request
`can be transmitted, the transmit scheduler 62 retrieves the
`transmission request from the transmit database 68, creates
`a neW transmit module over the neWly available netWork,
`and transmits the second portion of the transmission request
`to the receiving device 31 starting at the beginning of the
`?ag 71. The ?ag 71 indicates exactly Where the transmission
`request Was interrupted, thus preventing the transmit sched
`uler 62 from re-transmitting the transmission request in its
`entirety. If none of the qualifying netWorks are available
`long enough for the entire transmission request to be suc
`cessfully transferred before some maXimum allotted time
`passes, the transmission request is destroyed.
`Thus, a versatile communication system and method has
`been described above in Which a mobility manager generates
`a prioritiZed list of qualifying netWorks dependent upon
`attributes of the data object and characteristics of the poten
`
`6
`tial netWorks. The transmit scheduler then transmits the
`transmission request over the highest-priority netWork avail
`able. The modular nature of the softWare elements described
`above is particularly advantageous in system design and in
`5 smooth reliable operation.
`The above description has been given by Way of eXample
`only and modi?cations of detail can be made Within the
`scope and spirit of the invention.
`We claim:
`1. A transmitting device for communication over a mul
`tiplicity of netWorks comprising:
`a mobility manager, having a database that stores a net
`table of potential netWorks Which the transmitting
`device is capable of connecting With, for generating a
`prioritiZed list of qualifying netWorks With varying
`priorities over Which a data object may be transmitted
`to a receiving device; and
`a communication manager, coupled to the mobility
`manager, for determining a highest-priority qualifying
`netWork that is deemed available from the prioritiZed
`list of qualifying netWorks over Which to transmit the
`data object from the transmitting device to the receiv
`ing device, Wherein a loWer-priority qualifying netWork
`from the prioritiZed list of qualifying netWorks is only
`used to transmit the data object if all higher-priority
`qualifying netWorks have been deemed unavailable.
`2. The transmitting device according to claim 1, further
`comprising:
`a transmit scheduler, coupled to a transmit database, for
`attempting to scheduling data objects on the highest
`priority qualifying netWork deemed available;
`a netWork availability monitor, coupled to the transmit
`scheduler, for determining and monitoring netWork
`availability for the net table of potential networks; and
`a transmit module, coupled to the transmit scheduler, for
`connecting to a transport layer connection in order to
`communicate With the receiving device.
`3. Amethod of communicating signals over a multiplicity
`of qualifying netWorks, comprising the steps of:
`receiving a data object having attributes;
`sifting through a net table of potential netWorks and
`characteristics of the potential netWorks;
`?ltering the net table based on a combination of attributes
`of the data object and characteristics of the potential
`netWorks;
`generating a prioritiZed list of qualifying netWorks With
`varying priorities over Which a data object may be
`transmitted to a receiving device; and
`transmitting the the data object to the receiving device
`over a highest-priority qualifying netWork deemed
`available from the prioritiZed list of qualifying
`netWorks, Wherein a loWer-priority qualifying netWork
`from the prioritiZed list of qualifying netWorks is only
`used to transmit the data object if all higher-priority
`qualifying netWorks have been deemed unavailable.
`4. A method according to claim 3, further comprising the
`steps of:
`monitoring the qualifying netWorks through a netWork
`availability monitor;
`updating a transmit scheduler regarding availability of the
`qualifying netWorks;
`detecting that a qualifying netWork currently being used is
`unavailable; and
`transmitting the data object over a loWer-priority quali
`fying network.
`
`35
`
`45
`
`55
`
`Viptela, Inc. - Exhibit 1021
`Page 7
`
`
`
`5,910,951
`
`7
`5. Amethod of communicating signals over a multiplicity
`of qualifying networks, comprising the steps of:
`receiving a data object having attributes;
`sifting through a net table of potential networks and
`characteristics of the potential networks;
`?ltering the net table based on a combination of attributes
`of the data object and characteristics of the potential
`networks;
`generating a prioritiZed list of qualifying networks,
`wherein each qualifying network has a priority;
`transmitting the data object over a highest-priority quali
`fying network; and
`shelving the data object if a lower-priority qualifying
`network is unavailable.
`6. The method of claim 3, further comprising the steps of:
`monitoring the qualifying networks through a network
`availability monitor;
`updating a transmit scheduler regarding availability of the
`qualifying networks;
`detecting that a newly available qualifying network is
`available;
`comparing a priority of the newly available qualifying
`network with a priority of the qualifying network
`currently being used; and
`destroying a transmit module currently being used if the
`priority of the newly available qualifying network is
`higher than the priority of the qualifying network
`currently being used.
`7. The method of claim 6, further comprising the steps of:
`creating a new transmit module over the newly available
`qualifying network if the priority of the newly available
`qualifying network is higher than the priority of the
`qualifying network currently being used;
`transmitting the data object over the newly available
`qualifying network if the priority of the newly available
`qualifying network is higher than the priority of the
`qualifying network currently being used; and
`transmitting the data object over the qualifying network
`currently being used if the priority of the newly avail
`able qualifying network is lower than the priority of the
`qualifying network currently being used.
`8. Amethod of communicating signals over a multiplicity
`of qualifying networks, comprising the steps of:
`receiving a data object having attributes;
`sifting through a net table of potential networks and
`characteristics of the potential networks;
`?ltering the net table based on a combination of attributes
`of the data object and characteristics of the potential
`networks;
`
`10
`
`15
`
`25
`
`35
`
`45
`
`8
`generating a prioritiZed list of qualifying networks,
`wherein each qualifying network has a priority;
`transmitting the data object over a highest-priority quali
`fying network; and
`shelving the data object if there are no qualifying net
`works available.
`9. The method of claim 3, further comprising the steps of:
`?agging the data object with a ?ag at a beginning of the
`data object; and
`moving the ?ag to a new position every time a block of
`data is transferred successfully.
`10. A method of communicating signals over a multiplic
`ity of qualifying networks, comprising the steps of:
`receiving a data object having attributes;
`sifting through a net table of potential networks and
`characteristics of the potential networks;
`?ltering the net table based on a combination of attributes
`of the data object and characteristics of the potential
`networks;
`generating a prioritiZed list of qualifying networks,
`wherein each qualifying network has a priority;
`transmitting the data object over a highest-priority quali
`fying network;
`?agging the data object with a ?ag at a beginning of the
`data object;
`moving the ?ag to a new position every time a block of
`data is transferred successfully;
`detecting that the highest-priority qualifying network cur
`rently being used is unavailable;
`detecting that there are no lower-priority networks over
`which the data object can be transferred;
`shelving the data object in the transmit database;
`detecting that a qualifying network is available;
`unshelving the data object;
`creating a new transmit module; and
`starting transmission of the data object at the ?ag.
`11. The method according to claim 1 further comprising,
`if the data object is transmitted over the lower-priority
`qualifying network, switching to a higher-priority qualifying
`network when the higher-priority qualifying network
`becomes available.
`12. The method according to claim 3 further comprising,
`if the data object is transmitted over the lower-priority
`qualifying network, switching to a higher-priority qualifying
`network when the higher-priority qualifying network
`becomes available.
`
`Viptela, Inc. - Exhibit 1021
`Page 8
`
`