`Case 8:20-cv-00529 Document 1-3 Filed 03/13/20 Page 1 of 15 Page ID #: 139
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`EXHIBIT C
`
`EXHIBIT C
`
`
`
`Case 8:20-cv-00529 Document 1-3 Filed 03/13/20 Page 2 of 15 Page ID #:140
`Case8=20-CV-°°529 ”0°“mem 1'3 Fillllllllfllllllllllllllll’lllllllllIlflllllllllllilllliillllfilll‘llllllll
`
`USOO8959245B2
`
`(12) Unlted States Patent
`(10) Patent No.:
`US 8,959,245 B2
`
`Karaoguz et al.
`(45) Date of Patent:
`Feb. 17, 2015
`
`(54) MULTIPLE PATHWAY SESSION SETUP T0
`SUPPORT QOS SERVICES
`
`(75)
`
`.
`anentors: Jeyhan Karaoguz, lrvme, CA (US);
`James Bennett, Hroznetln (CZ)
`
`(73) Assignee: Broadcom Corporation, Irvine, CA
`(US)
`.
`.
`.
`.
`Subjectto any dlsclalmer, the term of this
`patent 1s extended or adjusted under 35
`USC. 154(b) by 1371 days.
`
`.
`( * ) Notlce:
`
`8,005,095 B2 *
`8,171,162 B2*
`2001/0032263 A1 *
`2002/0101821 A1 *
`2002/0103631 A1*
`2004/0030705 A1*
`2004/0087304 A1 *
`
`. 370/395.53
`8/2011 Emmendorfer et a1.
`5/2012 Sheth ............................ 709/242
`10/2001 Gopal et a1.
`709/227
`..
`8/2002 Feldmann et a1.
`370/232
`
`........... 703/22
`8/2002 Feldmann et 31.
`
`2/2004 Bowman-Amuah ....... 707/100
`455/4262
`5/2004 Buddhikot et a1.
`.
`
`
`2005/0270970 A1* 12/2005 Patrick et a1.
`............. 370/216
`
`2005/0273497 A1 * 12/2005 Patrick et a1.
`709/206
`6/2006 Mayer .............
`2006/0129670 A1 *
`709/223
`2008/0008210 A1 *
`1/2008 Godlewski
`370/463
`
`2008/0256553 A1 :1 10/2008 Cullen .......................... 719/313
`
`FOREIGN PATENT DOCUMENTS
`
`(21) Appl. No.: 12/323,402
`
`EP
`
`1148691 A1 * 10/2001
`
`.............. H04L 29/06
`
`(22)
`
`Filed:
`
`Nov. 25, 2008
`
`* Cited by examiner
`
`(65)
`
`Prior Publication Data
`
`US 2010/0131672 A1
`
`May 27, 2010
`
`Primary Examiner 7 Kostas Katsikis
`(74) Attorney, Agent, or Firm 7 Brinks Gilson & Lione
`
`(2006.01)
`(2013.01)
`(2013.01)
`(2013.01)
`
`(51)
`
`(56)
`
`Int. Cl.
`G06F 15/16
`H04L 12/701
`H04L 12/707
`H04L 12/725
`(52) US. Cl.
`CPC ................ H04L 45/00 (2013.01); H04L 45/22
`(2013.01); H04L 45/24 (2013.01); H04L
`45/302 (201301); H04L 45/306 (2013-01);
`H04L 45/308 (201301)
`USPC ........................................... 709/238; 709/239
`(58) Fleld 0f Class1ficatlon Search
`USPC
`.......................................... 709/238, 239
`See appl1cat1on file for complete search h1story.
`_
`References Clted
`U.S. PATENT DOCUMENTS
`
`6,983,330 B1 *
`7,275,103 B1 *
`
`l/2006 Oliveira et a1.
`9/2007
`Thrasher et a1.
`
`............... 709/239
`.............. 709/224
`
`57
`
`ABSTRACT
`
`)
`(
`A request from a user device is received for a service by a
`network management server Via a communication network.
`The network management server determines multiple routes
`for delivering content associated with the requested service
`based on a provisioning profile for the user device. Content
`associated with the requested service is then delivered Via the
`determined multiple routes. The provisioning profile is
`updated and includes preferred service types, desired QoS for
`one or more services, client account information, and/or cli-
`ent credit verification information. The network management
`server manages the delivery ofthe content associated with the
`requested service Via the determined multiple routes. The
`content includes packets that are the same, which are com-
`municated or delivered simultaneously Via the determined
`multiple routes. The network management server allocates
`one or more of the determined multiple routes for delivering
`the content based on priorities associated with the routes.
`
`20 Claims, 6 Drawing Sheets
`
`
`
`
`&k 1403
`
`Celll Phone
`
`Smart Phone
`
`1:
`
`
`
`n
`e
`aD.
`f03w
`Case 8:20-cv-00529 Document 1-3 Filed 03/13/20 Page 3 of 15 Page ID #:141
`4
`925m
`H6
`0
`
`
`
` mm30MIto%dhms
`
`9%a.1P8SBU
`
`w#4m2,9
`
`12
`
`8Pw.as.
`CU
`
`twnmm23
`
` mm.owDF
`
`
`e2,
`
`int0
`
`95:1:25 wcosa
`
`mo:I/
`
`___w0
`
`_‘.9".
`
`
`
`fO4e
`Case 8:20-cv-00529 Document 1-3 Filed 03/13/20 Page 4 of 15 Page ID #:142
`925O
`._H6
`O
`w
`
`%.aS.CU
`
`Ot2a
`
`O.tvn
`
`my653mm.22
`
`00PooSmQEmzo
`
`mm30fl2madmbS
`
`53¢20Pxuzo
`
`22M.B#.anm2,
`
`a99P00SmU
`
`9.mg5N6.”.
`
`
`52mm2e0/mnCo1H2252EoEmmmcmEvam0858mm900Lommmuoi
`
`
`0wm:ocmEmmmcmDF_us:_>_minoEEoEmmmcmS.
`
`
`
`
`
`3:505.53mm5:09:50Baum
`
`
`
`NON
`
`wow
`
`
`
`
`Case 8:20-cv-00529 Document 1-3 Filed 03/13/20 Page 5 of 15 Page ID #:143
`Case 8:20-cv-00529 Document 1-3 Filed 03/13/20 Page 5 of 15 Page ID #:143
`
`US. Patent
`
`Feb. 17, 2015
`
`Sheet 3 of6
`
`US 8,959,245 B2
`
`
`
`ToServerProcessor
`
`[.—
`
`FIG.3
`
`
`
`TrafficDatabase
`
`DQh
`
`:m._
`
`202
`
`U)
`go:
`cm
`93
`9m
`>13
`90
`D.
`
`0)
`.E
`a)
`C
`L”
`0)
`.5
`‘5'
`o
`0:
`
`0)
`Em:
`LL!
`
`2’
`.5
`x.
`O
`8
`n:
`(n
`=
`52
`cu
`
`
`
`Case 8:20-cv-00529 Document 1-3 Filed 03/13/20 Page 6 of 15 Page ID #:144
`Case 8:20-cv-00529 Document 1-3 Filed 03/13/20 Page 6 of 15 Page ID #:144
`
`US. Patent
`
`Feb. 17, 2015
`
`Sheet 4 of6
`
`US 8,959,245 B2
`
`Module
`
`Microphone
`
`(MIC)
`
`FIG.4
`
`ClientMemory (CM)
`
`._
`o(I)
`)o
`o._
`D....
`c
`.Q
`0
`
`ma
`
`
`
`NetworkInterface
`
`(NIM)
`
`
`Client
`
`ApplicationManagementModule
`
`(CAMM)
`
`
`
`ClientConnection
`
`
`
`ManagementModule
`
`
`
`f07e
`aPO
`Case 8:20-cv-00529 Document 1-3 Filed 03/13/20 Page 7 of 15 Page ID #:145
`925O
`._H6
`d
`g
`
`mmmm2a8P%.aS.CU
`
`15tmn2e0/mnowDF
`
`mmm
`
`mm30fl53t0w
`
`52M.B..5#4m2,9ma5a99P00SmU
`
`
`
`
`
`
`
`“mmzcmmazumw55me5:02:00mm>_mumm
`
`
`
`
`
`amt/INLEEEumoEEmFonmnv\\s\oz
`
`mo_>mn_5m:mEat
`
`
`
`95%:o_mmwm5:03:002:E560
`
`
`
`83mmEm:awn.m5:5$3qu
`
`mm>
`
`mm1
`
`
`
` \/”“\Emma—cum9:E891[VIBE—mmW/\\02
`
`
`
`
`
` «um—mIgflMmmmx5352wfilmflmvv“(\woflomomE0362oiwzav.omfimVmf\‘5‘”’\\0202ll<om\\\\/liwE\§\\oa3mw
`
`:o_6w:coo//l
`
`
`
`
`
`
`
`
`
`
`mouzom23:3262mm23¢23%mSgwm
`
`n::o_wmomm£59.50
`
`
`
`mcoumvcmmEEn.:o_mmmmmmumflo
`
`
`
`
`
`26n::o_mmow3220502.:EmoEzEEoo
`
`Nm
`
`9382a“fluawwcozowccoo
`
`
`m.0.“—\$66250
`
`
`
`30:60.6»:5:5
`
`
`
`
`
`:oszBE550mmmmuu<mEucoamwtoo
`
`
`
`
`
`
`f08e
`aPO
`Case 8:20-cv-00529 Document 1-3 Filed 03/13/20 Page 8 of 15 Page ID #:146
`t
`925O
`._H
`3
`d
`g
`
`mmmy6Ot2a8Pw.aS.CU
`
`n0e2,m7w1owDF
`
`1.u
`
`bmay
`
`mm30fl6mae
`
`9ma5a99P8SmU
`
`62M.B#.5mm,
`
`
`
`
`
`
`
`“mmacmmmoEmwm.62$20”.22:22afimw
`
`\
`
`
`
`
`
`>/
`
`
`
`\.553.22:22mzomcmza
`
`
`
`mmSom22:229:.m>oflmxomn.9:23¢
`
`>_m=ow:fi_=E_m
`
`w.©
`
`
`
`mousom222229:92:30
`
`230m
`
`
`
`\Emhmmomoo230m>5?7/\\I/
`
`922B20Emfixomn.m5:8chtom
`
`mmm023.222036922Lo95meD88201
`Emucoomm
`
`
`
`
`
`930m292$0528asxomm
`
`
`
`
`
`metn.9:.m>o335w9.:mo38.81230m
`
`
`
`
`
`mEEmme62qu9.2200
`
`o.07.
`
`
`
`
`
`
`
`
`
`Case 8:20-cv-00529 Document 1-3 Filed 03/13/20 Page 9 of 15 Page ID #:147
`Case 8:20-cv-00529 Document 1-3 Filed 03/13/20 Page 9 of 15 Page ID #:147
`
`US 8,959,245 B2
`
`1
`MULTIPLE PATHWAY SESSION SETUP TO
`SUPPORT QOS SERVICES
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS/INCORPORATION BY
`REFERENCE
`
`NOT APPLICABLE.
`
`FIELD OF THE INVENTION
`
`Certain embodiments of the invention relate to communi-
`
`cation systems. More specifically, certain embodiments ofthe
`invention relate to a method and system for multiple pathway
`session setup to support QOS services.
`
`BACKGROUND OF THE INVENTION
`
`10
`
`15
`
`With the increasing importance of the Internet as a com-
`mercial infrastructure and the increasing need for massive
`Internet based services such as Voice over Internet Protocol
`
`20
`
`(VoIP), the operation of the IP network is becoming more
`important and complex than ever. Current Internet architec-
`ture is mostly based on the best effort (BE) model, where
`packets can be dropped indiscriminately in the event of con-
`gestion. Such an architecture attempts to deliver all traffic as
`soon as possible within the limits of its abilities. The BE
`model works well for some applications such as FTP and
`email. To attract more users, Internet service providers (ISPs)
`provides not only best-efforts services such as email but also
`various newly emerged real-time multimedia applications
`such as VoIP, Video-Conferencing and Video on-Demand
`(VoD). To this end, various technologies such as stream cat-
`egorizing and traffic monitoring are utilized to meet QOS
`requirements associated with various IP based services.
`Further limitations and disadvantages of conventional and
`traditional approaches will become apparent to one of skill in
`the art,
`through comparison of such systems with some
`aspects ofthe present invention as set forth in the remainder of
`the present application with reference to the drawings.
`
`BRIEF SUMMARY OF THE INVENTION
`
`A method and/or system for multiple pathway session
`setup to support QOS services, substantially as shown in and/
`or described in connection with at least one of the figures, as
`set forth more completely in the claims.
`These and other advantages, aspects and novel features of
`the present invention, as well as details of an illustrated
`embodiment thereof, will be more fully understood from the
`following description and drawings.
`
`BRIEF DESCRIPTION OF SEVERAL VIEWS OF
`THE DRAWINGS
`
`FIG. 1 is a system diagram illustrating an exemplary com-
`munication system that enables multiple pathway session
`setup to support QOS services, in accordance with an embodi-
`ment of the invention.
`
`FIG. 2 is a block diagram illustrating an exemplary server
`device that is operable to enable multiple pathway session
`setup to support QOS services, in accordance with an embodi-
`ment of the invention.
`
`FIG. 3 is a block diagram illustrating an exemplary con-
`nection management module that enables multiple pathway
`session setup to support QOS services, in accordance with an
`embodiment of the invention.
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`
`FIG. 4 is a block diagram illustrating an exemplary user
`device that is operable to support a multipath connection call,
`in accordance with an embodiment of the invention.
`
`FIG. 5 is a flow chart illustrating an exemplary multipath
`connection session setup procedure, in accordance with an
`embodiment of the invention.
`
`FIG. 6 is a flow chart illustrating exemplary multipath
`connection packet routing, in accordance with an embodi-
`ment of the invention.
`
`DETAILED DESCRIPTION OF THE INVENTION
`
`Certain embodiments of the invention may be found in a
`method and system for multiple pathway session setup to
`support QOS services. In accordance with various embodi-
`ments of the invention, a user device transmits a request to a
`network management (NM) server for a service such as a
`VoIP call with an intended user device. The NM server is
`
`connected to an IP core network. Upon receiving the request,
`the NM server determines multiple routes for providing the
`requested service based on a provisioning profile associated
`with the user device. The determined multiple routes are used
`to communicate or deliver content for the requested service
`over the IP core network. The user device then utilizes the
`
`requested service via the determined multiple routes. The
`client provisioning information, which is accessible by the
`NM server, may be updated by communicating with the user
`of the user device through an access network and/or the IP
`core network. The provisioning profile comprises informa-
`tion such as, for example, preferred service types, desired
`QOS for particular services, client account information, and/
`or client credit verification information. A load for the
`
`requested service is distributed over the determined multiple
`routes in various ways. For example, the NM server is con-
`figured to manage various components in the IP core network
`to communicate or deliver content for the service served over
`
`the determined multiple routes simultaneously. In this regard,
`the NM server is operable to enable communication or deliv-
`ery of content for the associated service over the determined
`multiple routes simultaneously.
`In one embodiment of the invention, in order to increase
`reliability, different sets of packets associated with content
`for the service are routed over different routes among the
`determined multiple routes to take advantage of diversity
`combining different paths. Moreover, the NM server may be
`configured to allocate the determined multiple route based on,
`for example, the route costs and/or route reliability levels. In
`this regard, the determined multiple routes are prioritized, for
`example, as one primary route and one or more secondary
`routes. The NM server is operable to communicate or deliver
`content for the requested service via the primary route alone,
`and/or via one or more of the secondary routes. In instances
`where the primary route QOS degrades, the NM server is
`configured to enable a soft handoff of the service to one or
`more secondary routes from the primary route. The soft hand-
`off feature ensures a seamless user experience by delivering
`content for the service over the determined alternate route
`
`prior to stopping delivering content for the service over the
`primary route. In addition, the NM server is operable to
`deliver content for the service over the primary route along
`with one or more secondary routes as a backup.
`FIG. 1 is a system diagram illustrating an exemplary com-
`munication system that enables multiple pathway session
`setup to support QOS services, in accordance with an embodi-
`ment of the invention. Referring to FIG. 1, there is shown the
`system of FIG. 1 comprises a plurality of network manage-
`ment (NM) servers 110a-110e, that are collectively refer-
`
`
`
`Case 8:20-cv-00529 Document 1-3 Filed 03/13/20 Page 10 of 15 Page ID #:148
`Case 8:20-cv-00529 Document 1-3 Filed 03/13/20 Page 10 of 15 Page ID #:148
`
`US 8,959,245 B2
`
`3
`enced as network management servers 110, a core network
`120 comprising a plurality ofrouters 120a-120i, a plurality of
`access networks 13011-1300, a plurality of user devices, of
`which a cell phone 14011, a smartphone 140b, and a laptop
`1400 are presented.
`Each of the NM servers 110 such as the NM server 110a
`
`comprises suitable logic, circuitry and/or code that are oper-
`able to manage various aspects of network communications
`such as, for example, selecting access network that a client
`such as the cell phone 140a uses to access the core network
`120 and determining core network routes for forwarding vari-
`ous client packet streams toward intended recipients. The NM
`server 11011 is configured to manage client registration and
`client provisioning. In this regard, the client provisioning may
`be performed automatically and/or manually via user inputs.
`The client provisioning information comprises, for example,
`preferred Internet Service Provider (ISP), preferred services,
`a usemame tied to the account, and associated billing infor-
`mation. In this regard, the client provisioning information
`such as the preferred services is used to enable a multipath
`connection call. The NM server 11011 is also operable to
`handle associated client locations. For example, in a mobile
`IP environment, the NM server 110a manage clients’ avail-
`able IP addresses and forwards client packet streams for each
`connection session using appropriate IP address notified by
`corresponding clients.
`Various client-server signaling messages such as a service
`setup request are processed at the NM server 11011. For
`example, upon receiving a service setup request message
`from a user device such as the cell phone 14011, the NM server
`11011 is operable to select a route to form a connection
`between the cell phone 14011 and an intended peer user device
`such as the smartphone 14019. In this regard, the NM server
`11011 is configured to select multiple pathways (routes) to set
`up or establish the connection or connections for the
`requested service. Packets for the requested service are com-
`municated or delivered via the selected multiple routes to
`enhance QoS for the service. To enable communications over
`the connection, a communication session, which indicates a
`sequence of client-server interactions within a timeframe, is
`created by the NM server 11011.
`The NM server 11011 is operable to generate a unique
`session ID for the created session and communicates with the
`
`cell phone 14011 and the smartphone 140b, respectively. An
`associated session profile of the created session comprises
`various session parameters such as, for example, session ID,
`time stamp, type of service (ToS), user ID, and/or addresses
`and ports. The session profile is stored at the NM server 110a
`for later use. Session parameters are primarily used to influ-
`ence server operations. For example, the NM server 11011 is
`operable to establish, maintain, update, and/or terminate the
`session per defined communication session parameters. In
`this regard, the NM server 11011 is configured to establish the
`communication session over one or multiple pathways at the
`service requests of associated user devices such as the cell
`phone 14011 and/or the smartphone 14019. In the event that
`users of the cell phone 14011 and/or the smartphone 14019 are
`willing to gain a QoS enhanced service such as aVoIP call, the
`NM server 11011 is operable to select multiple routes and
`establish the session over the selected multiple routes.
`The core network 120 comprises suitable logic, circuitry
`and/or code that are operable to interface various access net-
`works such as the access network 130a-1300 with external
`data networks such as PDNs and the intemet. There are a
`
`number of routers connected through links in the core net-
`work 120. Each router such as the router 120a comprises
`suitable logic, circuitry and/or code that are operable to for-
`
`4
`
`wardpacket streams to intended recipients. The router 12011 is
`configured to exchange information such as link resource
`information for each link with one another. The link resource
`
`information comprises information ofthe resources available
`and information of the resources which have boon reserved.
`
`Routers within the core network 120 are managed by the NM
`servers 110 in a unified way to allow easy and efficient main-
`tenance thereof.
`
`Various user devices such as the cell phone 14011 comprise
`suitable logic, circuitry and/or code that enable various data
`communications via the access network 130a and/or the core
`
`network 120. The cell phone 14011 is enabled to access various
`services via the NM server 11011, for example. The cell phone
`14011 is operable to to gain QoS enhancement for some pre-
`ferred services. For example, in the event that the user of the
`cell phone 140a wishes to pay more for a QoS guaranteed
`VoIP call, the cell phone 14011 is then provisioned for a mul-
`tipath connection call at the NM server 11011.
`In an exemplary operation, it is desirable for the cell phone
`14011 to perform a VoIP call with the smartphone 14019 with
`desired QoS requirements. The cell phone 140a issues a ser-
`vice request to the NM server 11011 with the required QoS.
`The NM server 11011 is operable to select multiple routes for
`the requested service based on client provisioning informa-
`tion. The NM server 110a creates a communication session
`
`and generates associated session ID for implementing the
`requested service over the selected multiple routes. The NM
`server 110a then informs or notifies the cell phone 14011 and
`the smartphone 14019 of the generated session ID and corre-
`sponding access router addresses. The session is established
`over the selected multiple routes. The packets for the VoIP
`call are forwarded over the selected multiple routes towards
`intended recipients, accordingly. In the event that the multiple
`routes are prioritized, the NM server 110 is enabled to arrange
`the delivery ofthe VoIP packets over one or more routes ofthe
`prioritized multiple routes. The selection of the one or more
`routes is determined based on corresponding priority levels.
`For example, the primary route is considered first for deliv-
`ering the VoIP packets to users of the cell phone 14011 and/or
`the smartphone 1401).
`FIG. 2 is a block diagram illustrating an exemplary server
`device that is operable to enable multiple pathway session
`setup to support QoS services, in accordance with an embodi-
`ment of the invention. Referring to FIG. 2, there is shown a
`NM server 200 comprising a server connection management
`module (SCMM) 202, a server mobility management module
`(SMMM) 204,
`a core resource management module
`(CRMM) 206, a server processor (SP) 208, and a server
`memory (SM) 210.
`The SCMM 202 comprises suitable logic, circuitry and/or
`code that are operable to monitor network connectivity and
`handle various connection session signaling messages with
`clients such as the cell phone 14011 and the smartphone 14019.
`The connection session signaling messages comprises vari-
`ous service or QoS request messages. For example, upon the
`receipt of a QoS message from a user device such as the cell
`phone 140a via the server processor (SP) 208, the SCMM 202
`is configured to execute various operations related to admis-
`sion control and route control. In this regard, the SCMM 202
`is enabled to access the client provisioning information and
`set up a multipath connection to support the requested ser-
`vice. To set up the multipath connection, the SCMM 202
`evaluates network resource status from the CRMM 206 and
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`selects multiple routes and/or access networks for requested
`service. The information associated with the selected mul-
`
`tiple routes and/or access networks are forwarded back to the
`SP 208 for further processing. The SCMM 202 is enabled to
`
`
`
`Case 8:20-cv-00529 Document 1-3 Filed 03/13/20 Page 11 of 15 Page ID #:149
`Case 8:20-cv-00529 Document 1-3 Filed 03/13/20 Page 11 of 15 Page ID #:149
`
`US 8,959,245 B2
`
`5
`select the routes by using various algorithms stored in the SM
`210. For example, each of the multiple routes is selected by
`maximizing available bandwidth over the route, or by mini-
`mizing the number ofrouters or hops across the route. Routes
`may also be selected based on cost of the route. Since higher
`cost routes may guarantee higher QOS, the higher cost routes
`may be chosen over lower cost routes to ensure higher quality
`QOS. The SCMM 202 is operable to maintain and release
`various routes within the core network 120.
`
`The SMMM 204 comprises suitable logic, circuitry and/or
`code that is operable to manage mobility information such as,
`for example, client addresses and client locations for the
`system of FIG. 1. The SMMM 204 is configured to handle
`mobility information Via various client address mappings to
`ensure a seamless user experience. The mobility information
`is provided to the SCMM 202, the CRMM 206, and the SP
`208 such that packet streams for each active session are trans-
`mitted to intended recipients notified by respective clients.
`The CRMM 206 comprises suitable logic, circuitry and/or
`code that is operable to handle route resource information
`according to various QoS requirements and system capabili-
`ties. In the event that a resource request from the SCMM 202
`is received by the CRMM 206, the CRMM 206 evaluates
`resource status of the core network 120. The CRMM 202
`
`provides core resource information such as status of routes
`with available resources in the core network 120, to the
`SCMM 202 to be used for various route selections.
`
`The SP 208 comprises various types of processors or cir-
`cuitry such as a microprocessor, a digital signal processor, an
`Application Specific Integrated Circuit (ASIC), or a combi-
`nation of processing type devices. The SP 208 is operable to
`execute a plurality of software instructions, which are stored
`in the server memory (SM) 210 and downloaded for execu-
`tion. In this regard, the SP 208 is configured to calculate
`session IDs for various connection sessions using various
`algorithms stored in the SM 210. The SP 208 is operable to
`communicate various information such as, for example, the
`route selection information from the SCMM 202, with clients
`via the core network 120 and various access networks such as
`the access network 13011.
`
`The SM 210 comprises suitable logic, circuitry, and/or
`code that are operable to enable storage of data and/or other
`information utilized by the NM server 200. For example, the
`server memory 206 is utilized to store processed data gener-
`ated by the SP 208. The SM 210 is also utilized to store
`information such as session profiles that are utilized to control
`various operations of the NM server 200. The SM 210 is
`operable to store information necessary to enable or disable a
`particular service for a given user device. The server memory
`206 is also operable to store some executable instructions for,
`for example, a connection session set-up, session profile
`update, and/or connection session re-establishment via re-
`using updated session profiles. The SM 210 comprises RAM,
`ROM, low latency nonvolatile memory such as flash memory
`and/or other suitable electronic data storage capable of stor-
`ing data and instructions.
`In operation, the NM server 200 receives a service request
`message from a user device such as the cell phone 14011. The
`service request message comprises information such as the
`associated QoS requirements of the requested service, candi-
`dates of access networks that the cell phone 14011 uses, and an
`identity of an intended peer user device such as the smart-
`phone 14019. The SP 208 forwards the received service
`request information to the SCMM 202. The server connection
`management module 202 is enabled to communicate with the
`peer user device such as the smartphone 14019 to confirm the
`received service request. If the smartphone 140b agrees to
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`communicate with the cell phone 14011 for the requested
`service, then, the SCMM 202 coordinates with the SMMM
`204 to gain mobility information of the related clients. In
`instances where a multipath connection is requested by the
`cell phone 14011, the SCMM 202 communicates with the
`CRMM 206 to determine whether there are enough routes
`with available resources in the core network 120 for the
`
`requested service. The CRMM 206 then provides the core
`resource information to the SCMM 202. The core network
`
`resource information may comprise information regarding
`network nodes (routers), network node memory, and/or the
`links.
`
`The SCMM 202 is operable to determine multiple routes
`and/or access networks based on the core resource informa-
`
`tion, accordingly. The SP 206 generates a session ID for
`communicating packet streams of requested service over the
`selected multiple routes between the two the smartphone 140
`and the notebook computer 150. The generated session ID
`together with the selected access network information are
`communicated with related clients. In addition, an associated
`session profile comprising various session parameters such as
`session ID and type of service is created and stored in the SM
`210 to be used for later communication. In the event that the
`
`SP 208 receives packets, which indicate that the received
`packets are associated with the generated session ID stored in
`the SM 210, the SP 208 is operable to communicate or deliver
`the packets over the selected multiple routes to corresponding
`recipient, accordingly.
`FIG. 3 is a block diagram illustrating an exemplary con-
`nection management module that enables multiple pathway
`session setup to support QoS services, in accordance with an
`embodiment of the invention. Referring to FIG. 3, there is
`shown a connection management module 202 comprising a
`provisioning database 302, a routing engine 304, a traffic
`recording engine 306, and a traffic database 308.
`The provisioning database 302 comprises suitable logic,
`circuitry and/or code that enable storage of information nec-
`essary to route particular calls over the Internet. For example,
`the information regarding client ID, client preferred services,
`client account, enhancing QoS for particular calls, client
`credit verification, and carrier trunk groups. The provisioning
`database 302 is stored in RAM, ROM, low latency nonvolatile
`memory such as flash memory and/or other suitable elec-
`tronic data storage capable of storing data and instructions.
`The routing engine 304 comprises suitable logic, circuitry
`and/or code that is operable to select various routes for the
`received service requests based upon one or more attributes
`such as, for example, the preferred carrier service provider, a
`desired Quality of Service (QoS), cost, or other factors. The
`routing information generated by the routing engine 304
`comprises a destination router address, and/or a preferred
`Internet Service Provider, which are used for communicating
`the traffic or contend for the service to the Internet. In one
`
`embodiment of the invention, one or more exclusionary rules
`are applied to candidate routes based on known bad routes,
`provisioning information from the provisioning database
`302, and/or other data. In this regard, the routing engine 304
`utilizes provisioned client information stored in the provi-
`sioning database 302, for example, client preferred service,
`client account and billing information, to select multiple
`routes to forward packets of the requested service. In one
`embodiment of the invention, packets for the service are
`communicated through the selected multiple routes simulta-
`neously. Traffic load are shared among the selected multiple
`routes. In this regard, the content or packets for selected
`multiple routes are queued based on, for example, corre-
`sponding route reliabilities. The corresponding traffic load is
`
`
`
`Case 8:20-cv-00529 Document 1-3 Filed 03/13/20 Page 12 of 15 Page ID #:150
`Case 8:20-cv-00529 Document 1-3 Filed 03/13/20 Page 12 of 15 Page ID #:150
`
`US 8,959,245 B2
`
`7
`initially serviced by the primary route. In the event that ser-
`vice quality degrades over the primary route, the traffic load
`then is shared by some secondary selected routes or appor-
`tioned among the primary and second route so as to eliminate
`or mitigate the effects of the degradation.
`The traffic recording engine 306 comprises suitable logic,
`circuitry and/or code that is operable to format trafiic infor-
`mation about, for example, a VoIP call, such as the originator,
`recipient, date, time, duration, incoming trunk group, outgo-
`ing trunk group, call states, or other information, into a Call
`Detail Record (CDR). The CDR is stored in the traffic data-
`base 308, and is used to generate billing information for
`network services.
`
`The traffic database 308 comprises suitable logic, circuitry
`and/or code that enable storage of CDR data from the traffic
`recording engine 306. The CDR data are stored in a preferred
`format to facilitate storage of the CDR data. The CDR data is
`utilized to support customer billing for network services. The
`traffic database 308 is stored in RAM, ROM, low latency
`nonvolatile memory such as flash memory and/or other suit-
`able electronic data storage capable of storing data and/or
`instructions.
`
`In operation, the routing engine 304 of the SCMM 202
`receives a service request for a VOIP call between the cell
`phone 14011 and the smartphone 14019 The cell phone 140a
`initiated the request. Up receiving the request, the routing
`engine 304 then evaluates the client provisioning information
`of the cell phone. In the event that the provisioning informa-
`tion stored in the provisioning database 302 of the cell phone
`14011 indicates that a desired QoS required for this call
`request. The routing engine 304 selects multiple routes to
`support the requested VoIP call. The traffic information is
`recorded in the traffic details recording engine 305 as CDR
`data. The CDR data are saved in the traffic database 308 for
`
`supporting customer billing of the network service.
`FIG. 4 is a block diagram illustrating an exemplary user
`device that is operable to support a multipath connection call,
`in accordance with an embodiment of the invention. Refer-
`
`ring to FIG. 4, there is shown a user device 400 comprising a
`client application management module (CAMM) 402, a cli-
`ent connection management module (CCMM) 404, a net-
`work interface module (NIM) 406, a client processor (CP)
`408, a client memory (CM) 410, and a user interface (UI) 412
`comprising a keypad 41211, a microphone (Mic) 412b, a dis-
`play 4120, and a speaker 412d, respectively.
`The CAMM 402 comprises suitable logic, circuitry, and/or
`code that are operable to manage various application require-
`ments and status. The various application requirements may
`comprise information regarding best user quality and QoS
`attributes. The application status may indicate that,
`for
`example,
`the corresponding service is
`reserved and/or
`resumed. The CAMM 402 is configured to monitor the fixed
`and variable port numbers used for identifying and monitor-
`ing application data.
`The CCMM 404 comprises suitable logic, circuitry, and/or
`code that are operable to monitor network connectivity as
`well as the available bandwidth, transmission delay, and error
`rate of the connected access networks such as the access
`
`networks 13011-1300. The CCMM 404 is configured to handle
`various connection session signaling messages with the NM
`server 11011, for example, to access services with desired
`QoS, via the CP