throbber

`
`
`
`
`
`
`
`
`
`
`US 6,766,373 B1
`(10) Patent No.:
`a2) United States Patent
`
`
`
`
`
`
`
`
`
` Beadleet al. (45) Date of Patent: Jul. 20, 2004
`
`
`US006766373B1
`
`
`
`
`
`(54) DYNAMIC, SEAMLESS SWITCHING OF A
`
`
`
`NETWORK SESSION FROM ONE
`
`
`CONNECTION ROUTE TO ANOTHER
`
`
`
`
`
`
`
`
`
`Primary Examiner—Moustafa M. Meky
`
`
`
`
`
`
`
`(74) Altorney, Agent, or Firm—Marilyn Smith Dawkins;
`
`
`
`Dillon & Yudell LLP
`
`
`
`(75)
`
`
`
`
`
`
`
`
`Inventors: Bruce A. Beadle, Round Rock, TX
`
`
`
`
`(US); Michael Wayne Brown,
`
`
`
`Georgetown, TX (US); Randolph
`
`
`
`
`Michael Forlenza, Austin, TX (US);
`
`
`
`
`Douglas Scott Rothert, Austin, TX
`
`
`
`
`
`(US); Miguel Sang, Austin, TX (US)
`
`
`(73) Assignee:
`
`
`
`
`
`
`
`
`ABSTRACT
`(57)
`
`.
`.
`
`
`
`
`
`
`
`Asystem for providing continuous connection between a
`
`
`
`
`
`
`
`
`client and a network during a session. The system comprises
`
`
`
`
`
`
`
`
`of a connection utility, which monitors a network session for
`
`
`
`
`
`
`
`an occurrence of a pre-defined event and/or condition. The
`
`
`
`
`
`system is particularly advantageous in scenarios where a
`
`
`
`
`
`
`
`
`
`
`session’s connection is lost and the session has to be
`International Business Machines
`
`
`
`
`
`
`
`
`
`
`
`reconnected to the network. The system also finds applica-
`Corporation, Armonk, NY (US)
`
`
`
`
`
`
`
`
`.
`.
`bility with several other types of events/conditions, includ-
`oo.
`.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`(*) Notice:—Subject to any disclaimer, the term ofthis ing a connection break, a slow or congested connection or a
`
`
`
`
`
`
`
`
`
`
`
`
`patent is extended or adjusted under 35
`changein the type of data being transmitted. When any one
`
`
`
`
`
`
`
`
`
`
`
`US.C, 154(b) by 629 days.
`of the pre-defined events/conditions occur, the session is
`
`
`
`
`
`
`
`automatically routed from the present connection route to
`
`
`
`
`
`
`
`
`
`
`
`
`another connection route, and is completed on the other
`(21) Appl. No.: 09/584,068
`
`
`
`
`
`
`
`connection route. In order to complete the re-routing of the
`
`
`
`
`
`
`
`
`
`Filed:
`May 31, 2000
`sessions, session information is cached on the client and the
`(22)
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`(51) Unt, CL.ccecccccccececcccsseesssteeseeesneeses GO06F 13/00_server. The session data is tagged with the original session
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`(52) US. CMe
`ceecssecccccssssssssseesesssssssseneeees 709/227; 709/203
`ID. Onthe server, a special Client Key is storedfor later
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`(58) Field of Search o......c00cccccccccseecen 709/200, 201,
`‘tetrieval, and onthe client a special Server Keyis stored.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`709/203, 217, 218, 219, 227, 228, 229
`During the reconnect, the server uses its previously stored
`
`
`
`
`
`
`
`
`
`session data associated with the client key and previous
`
`
`
`
`
`
`
`
`
`
`session ID to regain a new session connection. The client
`References Cited
`
`
`
`
`
`
`
`
`uses its previously stored session data to regain its side of the
`
`
`
`
`
`
`
`
`
`
`
`
`U.S. PATENT DOCUMENTS
`connection and to pass the proper request over the wire to
`
`
`
`
`
`
`
`
`5,347,539 A *
`9/1994 Sridhar et al. wees 375/3
`the server. This special “handshake” occurs at session recon-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`5,835,724 A * 11/1998 Smith ceecccecceceeeeee 707/501
`nect time and allows the special session re-connection to
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`5,859,959 A *
`1/1999 Kimball et al... 370/216
`occur. The re-routing of the session is completed with no
`
`
`
`
`
`
`
`
`
`
`
`
`
`6,145,089 A * 11/2000 Le et al. veces 714/4
`noticeable loss in connection or session information. Thus,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`6,286,058 B1 *
`9/2001 Hrastar et al... 709/239
`a substantially seamless switching of the session from the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`6,324,161 BL * 11/2001 Kirch oe eee 370/217
`first connection route to the second connection route is
`
`
`
`
`
`
`
`
`
`6,490,610 Bl * 12/2002 Rizvietal. we. 709/101
`implemented.
`
`
`
`
`
`
`
`6,519,224 B2 *
`2/2003 Hrastar et al... 370/227
`
`
`* cited by examiner
`
`
`
`(56)
`
`
`
`
`
`
`27 Claims, 10 Drawing Sheets
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Connection
`
`
`
`
`
`
`
`change
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`condition ?
`
` to optimal route
`
`Switch connection
`
`
`
`
`
`
`
`
`
`Page | of 19
`
`SAMSUNG EXHIBIT 1008
`
`SAMSUNG EXHIBIT 1008
`
`Page 1 of 19
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Jul. 20, 2004
`
`
`
`
`
`Sheet 1 of 10
`
`
`
`US 6,766,373 B1
`
`
`
`
`
`NETWORK
`
`
`
`
`
`
`
`
`ADAPTER
`
`
`
`SSSSSPESSo
`
`
`
`oeoeEZ
`
`aS
` 3
`SY
`SI
`
`<>we:Se
`
`
`
`A
`
`
`Tat
`tan]iovont
`tN
`sf we
`Gi
`SAR?
`&,
`NY
`@\N
`PPL.
`RY
`Y
`
`Sav
`
`
`
`wn
`Ws
`fez
`H—
`=<
`re
`On
`na
`<
`
`
`
`<
`~
`
`=
`Lu
`Q

`=
`
`~N
`o>
`
`Page 2 of 19
`
`=
`OQ]
`min
`a
`oO
`
`oO
`~~
`
`Page 2 of 19
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Jul. 20, 2004
`
`
`
`
`Sheet 2 of 10
`
`
`
`US 6,766,373 B1
`
`
`G2M1Uel|D
`
`|
`
`
`
`LANVYLNI XAxOld
`
`00
`
`SLe
`
`
`
`yO,MAN
`
`yIOAMON|AXxOld
`
`JOAMONZAXOld
`
`XAXxOldg
`
`|Bulyudyo]
`
`CPup
`
`a3[a1eS
`
`JaSMO1g
`
`
`
`yausayiy
`
`obeo1y)
`
`|AxOld
`
`obeoy)
`
`Z@AXOlq
`
`obea1yy)
`
`XAXOld
`
`BIUIOFIED
`
`BIUIOJED|Axold
`
`
`
`
`
`BIWOH|EDZAXOJd
`
`GL?
`
`Page 3 of 19
`
`Page 3 of 19
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Jul. 20, 2004
`
`
`
`
`Sheet 3 of 10
`
`
`
`US 6,766,373 B1
`
`
`303A
`
`
`
`: pC
`
`215
`
`
`
`
`
`
`
`
`
`
`3014
`
`Web “|
`
`
`Browser
`
`
`
`Wireless
`
`
`
`
`307
`
`311
`
`
`Phone
`
`
`Satellite
`
`
`
`
`303B
`
`303C
`
`
`
`Server
`
`
`
`Server
`
`
`
`
`
`
`
`
`Cable Modem
`
`
`
`
`303D
`
`309
`
`
`
`Server
`
`
`
`
`Fig. 3
`
`Page 4 of 19
`
`Page 4 of 19
`
`

`

`U.S. Patent
`
`Jul. 20, 2004
`
`Sheet 4 of 10
`
`US 6,766,373 B1
`
`JJOSOIDIPY-MMM[e
`
`V y
`
`p
`
`00”
`
`<<
`
`S
`
`quf}09.2[fa]
`
`suol}99uU7)(suoy0auU09} Alo\SIHSa]UOAe4YyoIeas&Ww®&||(suonseuuo9)
`
`
`
`
`ysaljey=—s-pJeMJo4@“¢&dos
`
`SjOO]SOJOAR4MaIApy
`
`4910|dxyJOUL9}U]
`WO00'J8AJ8S*MMM\\:d)1y
`
`WOH
`
`djeH
`
`V7?
`
`Page 5 of 19
`
`Page 5 of 19
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Jul. 20, 2004
`
`
`
`
`Sheet 5 of 10
`
`
`
`US 6,766,373 B1
`
`
`
`
`
`
`
`
`
`
`Select Default
`
`Connection
`
`505A
`
`
`
`
`Server Selections
`
`
`
`507
`
`
`
`
`
`
`
`Server 1
`: California
`
`
`Server 2 : Texas
`
`
`Server 3 : New York
`
`
`Server 4 : Chicago
`
`
`
`
`
`
`
`
`
`
`
`Server
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`515
`
`
`
`
`
`
`
`Update Settings
`
`
`
`511
`
`
`513
`
`
`517
`
`
`
`
`
`
`CONDITION MESSAGE
`
`
`
`
`
`CLICK BELOW TO
`
`
`SWITCH TO MORE
`
`
`
`OPTIMAL ROUTE
`
`
`
`
`
`Page 6 of 19
`
`Page 6 of 19
`
`

`

`
`U.S. Patent
`
`
`
`Jul
`
`
`
`. 20, 2004
`
`
`
`
`Sheet 6 of 10
`
`
`
`766,373 BI
`US 6
`9
`
`
`
`
`
`ulewopwoo'awebuqigUOl}99UUOD
`
`JaAJaS
`
`ulewopwoo'awebwa!
`
`YWUOI]D9UUODJ38AJ8S
`
`S91}
`
`Souja
`
`
`
`
`
`
`
`BAIJE[9Y
`
`Burney
`
`BLO)
`
`
`J9AJAS|YUOI}DUUODJBAJaS|}WooawebUi|404IINeEJaqsojaabesaaesoujawabelaneulewopSUIRWOP||eGUOIJOBULOD
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 7 of 19
`
`Page 7 of 19
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Jul. 20, 2004
`
`
`
`
`Sheet 7 of 10
`
`
`
`US 6,766,373 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Is there
`
`
`
`
`historical
`
`
`data ?
`
`
`
`
`
`Does
`
`
`
`
`user wish to
`
`
`
`utilize historical
`
`
`
`
`
`data ?
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Retrieve best guess
`
`
`
`
`
`
`results from database
`
`
`Weigh user's
`
`
`
`
`
`
`
`that matches user
`preference against
`
`
`
`
`
`preferences for
`reported metrics and
`
`
`
`
`
`this domain and
`determine optimal
`
`
`historical data
`
`connection
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Wait for attributes
`
`
`of server/connection
`
`
`
`or user preferences
`
`
`to change
`Terminator
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 8 of 19
`
`Page 8 of 19
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Jul. 20, 2004
`
`
`
`
`Sheet 8 of 10
`
`
`
`US 6,766,373 B1
`
`
`
`703
`
`
`User request
`
`Internet connection
`
`
`
`
`705
` Set
`
`
`connection
`
`
`
`
`defaults ?
`
`
`No
`
`
`
`
`
`
`
`
`
`
`711
`
`
`
`
`
`_cefaultwi ,
`
`
`
`
`99
`‘
`
`
`No
`
`
`§721
`
`
`
`Check connections
`
`
`
`table for most
`
`
`optimal route
`723
`
`
`
`
`
`
`
`
`
`Connect via most
`
`
`optimal route
`725
`
`
`
`
`Update table
`
`
`
`
`
`
`709
`
`
`settings
`
`
`(Set optimal route
`
`
`as default)
`
`
`
`
`Fig. 7
`
`Page 9 of 19
`
`707
`
`
`
`wes
`
`
`
`Connect via defaults
`
`
`
`
`
`
`709
`
`End
`
`
`
`
`713
`
`Yes
`
`
`
`
`
`Makeinitial
`connectionvia
`
`
`default
`
`
`
`
`715
`
`
`Check alternate
`routes
`
`
`
`
`
`717
`
`
`
`
`
`
`
`
`More
`
`optimal routes
`
`found ?
`
`
`
`No
`
`
`
`709
`
`
`
`End
`
`
`
`
`
`Page 9 of 19
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Jul. 20, 2004
`
`
`
`
`Sheet 9 of 10
`
`
`
`US 6,766,373 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Connection
`
`change
`
`condition ?
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Switch connection
`
`
`
`to optimal route
`
`
`
`
`
`
`
`ADDR
`
`
`DEST (NIC)}
`
`ADDR
`
`
`
`
`SRC IP
`
`ADDR
`
`
`DEST IP
`
`
`|PROTOCOL
`
`
`
`
`
`
`
`
`
`
`Fig. 9
`
`Page 10 of 19
`
`Page 10 of 19
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Jul. 20, 2004
`
`
`
`
`Sheet 10 of 10
`
`
`
`US 6,766,373 B1
`
`
`
`Internet
`
`
`
`
`
`
`
`
`
`
`Satellite
`transmission
`
`
`
`
`
`
`Modem
`transmission
`
`
`
`
`
`
`
`1011
`1009
` 1007
`
`
`1003S bmn1
`
`
`
`1005
`
`
`
`
`Client Browser
`
`
`
`Fig. 10
`
`1107
`
`
`
`
`1105
`
`
`
`Cell Phone and
`Modem
`
`
`
`Wireless LAN
`(Bluetooth)
`
`
`
`
`1109
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`1101 Network
`
`
`Application
`
`
`(Client Browser)
`
`
`Fig. 11
`
`
`
`Page 11 of 19
`
`Page 11 of 19
`
`

`

`
`
`US 6,766,373 B1
`
`1
`
`
`
`
`
`DYNAMIC, SEAMLESS SWITCHING OF A
`
`
`
`NETWORK SESSION FROM ONE
`
`
`CONNECTION ROUTE TO ANOTHER
`
`RELATED APPLICATIONS
`
`
`
`
`
`
`
`
`The present invention is related to the subject matter of
`
`
`
`
`
`
`
`the following commonly assigned, co-pending US. patent
`
`
`
`
`
`
`application Ser. No. 09/584,808 entitled “Dynamically
`
`
`
`
`Affecting Browser Network Communications
`
`
`
`
`
`
`Performance”, still pending filed concurrently herewith.
`BACKGROUND OF THE INVENTION
`
`
`
`
`2
`
`
`
`
`
`
`
`configuration until the user manually changesthe settings to
`
`
`
`
`
`
`
`utilize another server. Thus,
`if the server connection is
`
`
`
`
`
`
`
`
`congested, the user may either remain on the connection or
`
`
`
`
`
`
`
`
`terminate the session and attempt to secure a faster connec-
`
`
`
`
`
`
`
`
`
`tion by re-connecting to the same server. Also,
`if the
`
`
`
`
`
`
`
`connection is lost during a session, and/or another connec-
`
`
`
`
`
`
`
`
`tion is made to complete the session, the session information
`
`
`
`
`
`
`
`
`
`is usually lost
`(or unrecoverable) and the user has to
`re-connect via the same server and start the session over.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Network input/output (I/O) performance is often a prob-
`
`
`
`
`
`
`
`
`lem when using a browserin an intranet to access the World
`
`
`
`
`
`
`
`
`
`Wide Webor Internet. In most intranet cases, the client is
`
`
`
`
`
`
`
`
`required to use a sock server or a proxy server before a
`1. Technical Field:
`
`
`
`
`
`
`
`
`
`connection can be madeto the Internet. In a typical intranet,
`15
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`to computer
`invention relates in general
`The present
`there are several sock or proxy severs that may be geo-
`
`
`
`
`
`
`
`
`
`
`
`
`
`networks and in particular to communications within com-
`graphically dispersed within the network. The performance
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`puter networks. Still more particularly, the present invention
`of the servers varies throughout the day due to factors such
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`relates to a method, system, and program for improving a
`as location,
`time of day,
`loading, etc. Thus,
`in most
`
`
`
`
`
`
`
`
`
`
`
`
`
`client’s communication performance within a network by
`networks, auto-proxy servers, whichfilter the local intranet
`20
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`traffic from the external Internet
`traffic, are utilized to
`dynamically switching a session connection fromafirst
`
`
`
`
`
`
`
`
`
`
`connection route to another route in response to an occur-
`improve performance of sock servers.
`
`
`
`
`
`
`
`
`
`
`
`rence of specific pre-defined events.
`To address such performance concerns, special tools or
`
`
`
`
`
`
`
`
`
`
`
`2. Description of the Related Art:
`components have been developed to improve communica-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`tion to servers connected to the Internet. For example,
`Computer networks, such as the Internet, are typically
`
`
`
`
`
`
`
`
`
`
`
`
`
`based on Client/Server software architectures. These archi-
`various load balancing solutions have been implemented,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`such as Local Director of Cisco Systems. Local Director
`tectures provide a versatile infrastructure that supports
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`performs load balancing and interfaces with the Internet-
`shared access to server resources. A client is typically a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`based client attempting to access the content servers. All
`requester of services, and a serveris the providerof services.
`traffic across the Internet to content servers is thus shielded
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Asingle machine can be both a client and a server depending
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`by Local Director. U.S. Pat. No. 5,774,660 discloses a load
`on the software configuration. A client machine is loaded
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`balancer having a virtual address connected to a multi-node
`with client software, while a server machine is loaded with
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`server. The load balancer receives all incoming Internet
`server software. Clients can be either stand-alone computer
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`requests for server access, and modifies the destination
`systems (like personal computers) or “dumber” systems
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`address to reflect the correct server node that ultimately
`adapted for limited use with a network.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`services the request. These solutionsare all server-based and
`A generalized client-server computing network has sev-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`implemented on the back end of the network,i.e., the server
`eral nodes or servers which are interconnected, either
`connection to the Internetitself.
`
`
`
`
`
`
`
`
`
`
`
`
`directly to each other or indirectly through one of the other
`
`
`
`
`
`
`
`
`
`
`
`
`The present invention recognizes that it would therefore
`servers. Based on network configuration, the connection by
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`be desirable to have a method, system, and program product
`the client to the network may be via an ethernet connection
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`for dynamically improving a client-to-network session con-
`or token ring, etc. Other direct and/or indirect connection
`
`
`
`
`
`
`
`
`
`
`
`
`
`nection and performance. A method, system, and program
`methods (e.g.
`telephone connection via remote access
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`product, which allows a client browser to switch from one
`protocol) are also possible whena client is connected from
`
`
`
`
`
`
`
`
`
`
`
`
`
`connection route to another route during a network session
`the user’s home, for example. In traditional networks, only
`
`
`
`
`
`
`
`
`
`
`
`
`
`without losing session information would be a welcomed
`a single connecting medium to the network is possible for
`
`
`
`
`
`
`
`each client.
`
`
`improvement. These and other benefits are provided in the
`
`
`
`
`
`
`
`
`present invention.
`The network can be a localized network or geographically
`
`
`
`
`
`
`
`dispersed network and can be further connected to other
`SUMMARYOF THE INVENTION
`
`
`
`
`
`
`
`
`networks. Each server is essentially a stand-alone data
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`processing (computer) system, having one or more
`A system is disclosed for providing continuous connec-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`processors, memory devices, and communications devices,
`tion between a client and a network during a session. The
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`that has been adapted (programmed) for providing informa-
`system comprises of a connection utility, which monitors a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`tion and/or services to individual users at another set of
`network session for an occurrence of a pre-defined event
`nodes or client workstations.
`
`
`
`
`
`
`
`
`
`such as a connection break, a slow or congested connection,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`In a Local Area Network (LAN), for example, clients are
`or a changein the type of data being transmitted. The system
`
`
`
`
`
`
`
`
`
`
`
`
`usually configured to communicate via a particular server.
`is particularly advantageous in scenarios where a session’s
`
`
`
`
`
`
`connection is lost and the session has to be reconnected to
`
`
`
`
`
`
`
`For geographically dispersed networks, as in an intranet or
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Internet, a client’s network communication may occur via a
`the network. When any one of the pre-defined conditions
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`localized server or a server in another geographic location.
`occur, the session is automatically routed from the present
`
`
`
`
`
`
`
`
`connection route to another connection route. The session is
`
`
`
`
`
`
`
`The use of auto-proxy servers in a LAN system helps to
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`improve network performance. However, only one connec-
`then completed on the other connection route. In order to
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`tion route may be configured within the client at a particular
`complete the re-routing of the sessions, session information
`
`
`
`
`
`
`
`
`
`is cached on the client and the server. The session data is
`
`
`
`
`
`
`
`
`
`
`time and these servers can become congested during heavy
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`usageor traffic. Also, current client browsers (i.e., software
`tagged with the original session ID. On the server, a special
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`applications for accessing and communication with the
`Client Key is stored for later retrieval, and on the client a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Internet) are typically configured to transmit network traffic
`special Server Key is stored. During the reconnect,
`the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`via a specific server and once configured, remain set in that
`server uses its previously stored session data associated with
`
`
`
`
`
`
`
`
`
`10
`
`
`
`25
`
`
`
`30
`
`35
`
`
`
`40
`
`
`
`45
`
`
`
`50
`
`
`
`55
`
`
`
`60
`
`
`
`65
`
`
`
`
`
`Page 12 of 19
`
`
`
`
`
`
`
`
`
`
`
`
`Page 12 of 19
`
`

`

`
`
`US 6,766,373 B1
`
`
`3
`
`
`
`
`
`
`
`
`
`the client key and previous session ID to regain a new
`
`
`
`
`
`
`
`
`session connection. The client uses its previously stored
`
`
`
`
`
`
`
`
`
`session data to regain its side of the connection and to pass
`
`
`
`
`
`
`
`
`
`
`the proper request over the wire to the server. This special
`“handshake” occurs at session reconnect time and allowsthe
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`special session re-connection to occur. The re-routing of the
`
`
`
`
`
`
`session is completed with no noticeable loss in connection or
`
`
`
`
`
`
`session information. Thus, a substantially seamless switch-
`
`
`
`
`
`
`
`
`
`
`ing of the session from the first connection route to the
`
`
`
`
`second connection route is implemented.
`
`
`
`
`
`
`
`The above as well as additional objectives, features, and
`
`
`
`
`
`
`advantages of the present invention will become apparentin
`
`
`
`
`
`the following detailed written description.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`
`
`
`The novelfeatures believed characteristic of the invention
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`are set forth in the appended claims. The invention itself,
`
`
`
`
`
`
`
`
`however, as well as a preferred mode of use,
`further
`
`
`
`
`
`
`
`objectives, and advantagesthereof, will best be understood
`
`
`
`
`
`
`
`
`
`by reference to the following detailed description of an
`
`
`
`
`
`
`
`illustrative embodiment when read in conjunction with the
`
`
`
`accompanying drawings, wherein:
`
`
`
`
`
`
`FIG. 1 depicts a data processing system,
`in which a
`
`
`
`
`
`
`preferred embodiment of the present
`invention may be
`
`implemented;
`
`
`
`
`
`
`FIG. 2 is a high-level block diagram of a client browser
`
`
`
`
`
`
`
`
`within an intranet configuration in accordance with one
`
`
`
`
`embodiment of the present invention;
`
`
`
`
`
`FIG. 3 illustrates a browser-network configuration with
`
`
`
`
`
`
`multiple selectable server-connecting media and/or routes in
`
`
`
`
`
`
`accordance with a preferred embodiment of the present
`
`invention;
`
`
`
`
`
`
`FIG. 4 is a block diagram of a modified browser appli-
`
`
`
`
`
`
`
`cation with a selectable connection button for opening a
`
`
`
`
`
`
`connection settings window in accordance with a preferred
`
`
`
`
`embodiment of the present invention;
`
`
`
`
`FIG. 5A is a block diagram of a server-connections GUI
`
`
`
`
`
`utilized in accordance with a preferred embodiment of the
`
`
`present invention;
`
`
`
`
`FIG. 5B is a block diagram of an in-session connection
`
`
`
`
`
`modification window utilized in accordance with a preferred
`
`
`
`
`embodiment of the present invention;
`
`
`
`
`
`
`
`
`FIG. 6A is a block diagram of a table of connection
`
`
`
`
`
`
`attributes utilized in accordance with a preferred embodi-
`
`
`
`
`ment of the present invention;
`
`
`
`
`
`
`
`FIG. 6B is a flow chart of the process of determining a
`
`
`
`
`
`
`
`best connection route in accordance with a preferred
`
`
`
`
`embodiment of the present invention;
`
`
`
`
`
`
`
`
`FIG. 7 is a flow chart of the process of completing a
`
`
`
`
`
`
`network connection in accordance with a preferred embodi-
`
`
`
`
`ment of the present invention;
`
`
`
`
`
`FIG. 8 is a flow chart of the process of switching a session
`from one connection route to another in accordance with
`
`
`
`
`
`
`
`
`
`
`
`
`
`another preferred embodiment of the present invention;
`
`
`
`
`
`
`
`FIG. 9 is a block diagram of the TCP/IP header with an
`
`
`
`
`
`
`encoded call-back componentfor directing client call-backs
`
`
`
`
`
`
`
`in accordance with a preferred embodiment of the present
`
`
`invention; and
`
`
`
`
`
`
`
`FIGS. 10 and 11 are block diagrams of specific examples
`
`
`
`
`
`
`
`
`of a client connected to a network via two possible routes to
`
`
`
`
`
`
`
`
`enable the switching of a session from one connection route
`
`
`
`
`
`
`
`to another in accordance with another preferred embodiment
`
`
`
`
`of the present invention.
`DESCRIPTION OF AN ILLUSTRATIVE
`
`EMBODIMENT
`
`
`
`
`
`
`
`The present invention is directed to a method, system, and
`
`
`
`
`
`
`program product implemented within a client system, which
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`4
`
`
`
`
`
`
`
`allows a browser application to automatically select an
`
`
`
`
`
`
`
`
`effective network route from the client system to a network
`
`
`
`
`
`
`
`during network communication. As utilized within the
`
`
`
`
`
`
`
`invention, the term “effective” refers to a better performing
`
`
`
`
`
`
`
`
`
`
`the best performing or optimal) route, based on
`(if not
`
`
`
`
`
`
`
`knownoravailable criteria and present network conditions.
`
`
`
`
`
`
`
`The preferred embodiment is described with reference to
`
`
`
`
`
`
`
`
`optimal routes, but is done so merely for illustrative pur-
`
`
`
`
`
`poses. In particular, a software implemented application of
`
`
`
`
`
`
`
`
`the present invention expands the functionality of a tradi-
`
`
`
`
`
`
`tional browser to permit a multiple-route connection setting
`
`
`
`
`
`
`
`(or configuration), by which the browseris not restricted to
`
`
`
`
`
`
`
`
`a connection via a single specific server and connection
`
`
`
`
`
`
`
`medium, but is permitted to select from among multiple
`
`
`
`
`
`
`
`
`servers and multiple connection media. The software imple-
`
`
`
`
`
`
`
`mented application is referred to herein as a connection
`
`
`
`
`
`
`
`utility. In a preferred embodiment, the invention reduces the
`
`
`
`
`
`
`need to manually change a network communication con-
`
`
`
`
`
`
`
`
`figuration from a particular server to another and enables the
`
`
`
`
`
`
`
`
`browserto haveflexibility to ensure the best or most efficient
`
`
`
`
`
`
`
`connection routes possible under current loading conditions.
`
`
`
`
`
`
`The invention is implemented in the data processing
`
`
`
`
`
`
`
`system and network environment as illustrated in FIGS. 1
`
`
`
`
`
`
`
`and 2 and 3, respectively. The invention may, however, be
`
`
`
`
`
`
`
`implemented in other types of data processing systems and
`
`
`
`
`
`
`
`
`networks, so, while the present invention may be described
`
`
`
`
`
`
`
`
`with references to these figures, these references should not
`
`
`
`
`be construed in a limiting sense.
`
`
`
`
`
`
`
`
`
`
`the term client is
`For the purposes of this invention,
`
`
`
`
`
`
`
`
`utilized to refer to both the hardware component which is
`
`
`
`
`
`
`
`connected to a network server and the software applications
`
`
`
`
`
`
`
`stored in memoryand being run on the hardware component.
`
`
`
`
`
`
`
`
`
`
`the term client is utilized to mean both a directly
`Also,
`
`
`
`
`
`
`
`connected network computer system and a stand-alone com-
`
`
`
`
`
`
`
`puter system, such as a user’s home-based computer system.
`
`
`
`
`
`
`
`
`In the preferred embodiment, a client
`is provided with
`
`
`
`
`
`
`
`
`browser application and connection utility for accessing the
`
`
`
`
`
`
`
`
`Internet via several possible connection routes. User refers
`
`
`
`
`
`
`
`
`primarily to an individual whoutilizes the client. Further, the
`
`
`
`
`
`
`
`
`
`invention applies to connections to servers of both an
`
`
`
`
`
`
`
`
`intranet and Internet via the browser application running on
`the client.
`
`
`
`
`
`
`
`
`
`
`The servers of the network are typically data processing
`
`
`
`
`
`
`
`systems having a database, operating system (OS), and
`
`
`
`
`
`
`
`server software. The server software operates within a
`
`
`
`
`
`
`
`
`
`network server and provides the support for Internet access
`
`
`by clients.
`
`
`
`
`
`
`
`
`With reference now to the figures and in particular with
`
`
`
`
`
`
`
`reference to FIG. 1, a computer system that may be utilized
`
`
`
`
`
`
`
`
`as a standalone computer system or one of the client or
`
`
`
`
`
`
`
`servers on a network is presented. Computer system 20
`
`
`
`
`
`
`comprises a Central Processing Unit (CPU) housed in a
`
`
`
`
`
`
`
`
`
`system unit 22. System unit 22 also provides connections for
`
`
`
`
`
`
`
`various hardware components including disk drives 40 and
`
`
`
`
`
`
`
`memory devices (not shown). Several Peripheral
`input/
`
`
`
`
`
`
`
`
`output devices are connected to the CPU. These input/output
`
`
`
`
`
`
`
`
`
`devices include keyboard 82, mouse 84, printer 94, CD
`
`
`
`
`
`ROM 78, and display monitor 30.
`
`
`
`
`
`
`Also coupled to CPUare various external devices, includ-
`
`
`
`
`
`
`
`
`ing modem 92, and network adapter 90, utilized for con-
`
`
`
`
`
`
`necting data processing system 20 to other systems and/or
`
`
`
`
`
`
`networks, as is illustrated in FIGS. 2 and 3. CD rom 78,
`
`
`
`
`
`modem 92, and network adapter 90 are depicted as external
`
`
`
`
`
`
`
`components; however those skilled in the arts are familiar
`
`
`
`
`
`
`
`with the various architectures of data processing systems
`
`
`
`
`
`
`
`and understand that these components may be housedinside
`
`
`
`
`of system unit 22.
`
`
`
`
`
`
`
`
`
`
`10
`
`15
`
`
`
`20
`
`25
`
`
`
`30
`
`35
`
`
`
`40
`
`
`
`45
`
`
`
`50
`
`
`
`55
`
`
`
`60
`
`
`
`65
`
`
`
`
`
`Page 13 of 19
`
`Page 13 of 19
`
`

`

`
`5
`Modem 92 is a communication device that enables com-
`
`
`
`
`
`
`
`
`
`
`
`
`
`puter system 20 to transmit information over standardtele-
`
`
`
`
`
`
`
`phonelines or wireless connections such as cellular. Modem
`
`
`
`
`
`
`
`
`92 converts digital computer signals to interlock signals
`
`
`
`
`
`
`
`suitable for communications over these telephone media.
`
`
`
`
`
`
`
`Modem 92 can be utilized to connect data processing system
`
`
`
`
`
`
`
`
`20 to a server via remote access protocols. Modem 92 may
`
`
`
`
`
`
`
`also provide a connection to other sources, such as an
`
`
`
`
`
`
`
`
`electronic bulletin board (BBS) or the World Wide Web
`
`
`
`
`
`
`
`(Internet). Network adapter 90 may be used to connect data
`
`
`
`
`
`
`processing system 20 to a network such as an intranet as
`
`
`depicted in FIG. 2.
`
`
`
`
`
`
`Computer system 20 also preferably includes an interface
`
`
`
`
`
`
`
`
`such as a graphical user interface (GUI) provided by an
`
`
`
`
`
`
`
`
`operating system (OS) 24 that resides within machine read-
`
`
`
`
`
`
`
`
`able media to direct the operation of computer system 20.
`
`
`
`
`
`
`
`
`Any suitable machine-readable media may retain the OS,
`
`
`
`
`
`
`
`
`
`
`such as RAM, ROM,SCSIdisk drive, and other disk and/or
`
`
`
`
`
`
`
`tape drive(e.g. magnetic diskette, magnetic tape, CD-ROM,
`
`
`
`
`
`
`
`
`
`optical disk, or other suitable storage media). Also, any
`
`
`
`
`
`
`
`
`suitable OS 24 may direct the CPU of the data processing
`
`
`system 20.
`
`
`
`
`
`
`Further, computer system 20 preferably includesat least
`
`
`
`
`
`
`
`one software application (program product) 26 that resides
`
`
`
`
`
`
`
`within machine readable media. The software application
`
`
`
`
`
`may be accessible by OS 24, or may be incorporated into an
`
`
`
`
`
`
`
`OS control program. Preferably, software application 26
`
`
`
`
`
`
`
`
`contains instructions that when executed on the CPU carry
`
`
`
`
`
`
`
`
`
`out the particular operations of the present invention as
`described herein.
`
`
`
`10
`
`15
`
`20
`
`25
`
`30
`
`
`
`
`
`
`
`US 6,766,373 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`6
`
`
`
`
`
`
`
`environment, but may also apply to basic LANs or other
`
`
`
`types of multiple-server networks.
`
`
`
`
`
`
`For the purposesof the invention,use of the term network
`is understood to refer to both Wide Area Netwroks such as
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`the Internet and to Local Area Networks (LAN)such as an
`
`
`
`
`
`
`
`
`intranet. The network types may provide different access
`
`
`
`
`
`
`
`methodsbut are essentially similar in their functionality, as
`
`
`
`
`
`
`
`
`
`those skilled in the art are aware. A network preferably
`
`
`
`
`
`
`
`consist of a numberof servers and provides network clients
`
`
`
`
`
`
`
`with a commonprotocol for communicating andtransferring
`
`
`
`
`
`
`
`software and information electronically within the network
`environment.
`
`
`
`
`
`
`
`
`Turning now to FIG. 3, there is illustrated another net-
`
`
`
`
`
`
`work configuration including a client browser coupled to
`
`
`
`
`
`
`
`multiple servers. The illustrated network may represent an
`
`
`
`
`
`
`
`intranet configuration as in FIG. 2 or a stand alone client
`
`
`
`
`
`
`configuration. The intranet configuration shows a client,
`connects to a server of the intranet. The intranet server is
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`then utilized to provide access to Internet servers. In the
`
`
`
`
`
`
`
`stand alone client configuration, a client connects directly to
`
`
`
`
`
`
`
`
`
`a serverof the Internet (i.e., without the intranet server). As
`
`
`
`
`
`
`
`
`an Intranet configuration, the elements of FIG. 3 are similar
`
`
`
`
`
`
`
`
`
`to the elements of FIG. 2, but client may be connected
`
`
`
`
`
`
`
`
`utilizing remote access (e.g., access from a user’s home).
`
`
`
`
`
`
`However, in a standaloneclient configuration, browser 301
`
`
`
`
`
`
`
`
`
`is not coupled to an Intranet. Servers 303A-303D may be
`
`
`
`
`
`
`
`servers of different Internet Service Providers (ISPs), which
`are connected to browser 301 via different connection
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`media. Thus, browser 301 is connected to server 303A via a
`
`
`
`
`
`
`
`DSL connection 305, to server 303B via a wireless phone
`
`
`
`
`
`
`
`connection 307, to server 303Cvia a satellite connection 311
`and to server 303D via a cable modem connection 309. ISP
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`servers 303A—303D connect to the Internet (not shown) via
`ISP-Internet connectors 215.
`
`
`
`
`
`
`
`
`
`The implementation of multiple connection media for a
`
`
`
`
`
`
`
`single client is further enhanced by permitting a user to
`
`
`
`
`
`
`
`optionally select to utilize a particular routing medium based
`
`
`
`
`
`
`
`on the desired speed of connection. Thusa satellite connec-
`
`
`
`
`
`
`
`
`
`tion maybe selected for huge data transfer, while a DSL or
`
`
`
`
`
`
`
`phone modem connection is utilized for email correspon-
`
`
`
`
`
`
`
`dence. The selection of a particular medium becomes even
`
`
`
`
`
`
`
`more important when each medium hasa corresponding cost
`
`
`
`
`
`
`
`
`factor, which directly affects the user’s determination of use.
`
`
`
`
`
`
`
`In another embodiment, a single server may be accessible to
`
`
`
`
`
`
`
`
`the client browser using one of multiple connecting media.
`
`
`
`
`
`
`
`Thus for example, servers 303A-3

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