throbber

`
`
`
`
`
`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
`
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket