`
`EXHIBIT
`1009
`
`1009
`
`
`
`(12)
`
`United States Patent
`Monachello et al.
`
`(10) Patent N0.:
`(45) Date of Patent:
`
`US 6,748,439 B1
`Jun. 8, 2004
`
`US006748439B1
`
`(54) SYSTEM AND METHOD FOR SELECTING
`INTERNET SERVICE PROVIDERS FROM A
`WORKSTATION THAT IS CONNECTED TO
`A LOCAL AREA NETWORK
`
`6,023,698 A * 2/2000 Lavey et a1. ................ .. 707/10
`6,108,330 A * 8/2000 Bhatia et a1. ............. .. 370/352
`6,115,755 A * 9/2000 Krishan .................... .. 370/351
`6,151,629 A * 11/2000 Trewitt ..................... .. 709/225
`
`
`
`(75) Inventors: David R. Monachello, Westlake v.11 CAUS_M kdL
`
`,
`
`,
`
`*
`
`*
`
`.
`
`
`
`2161:1112 2; a1’ " . ............ ..
`
`véesigg?ls C(A (){JS),ageaneFi:]I;gye,
`West Hills: CA(US)’
`’
`
`. . . .. 370/232
`6,351,453 B1 * 2/2002 Nolting et al. . . . . . .
`6,385,651 B2 * 5/2002 Dancs et a1. .............. .. 709/227
`2002/0002615 A1 * 1/2002 Bhagavath et al. ....... .. 709/227
`
`(73) Assignee: Accelerated Networks, Moorpark, CA
`(Us)
`
`* cited by examiner
`
`( * ) Notice:
`
`Subject to any disclaimer, the term of this
`gusenct 1i5?$;n§e%21;a:]mted under 35
`'
`'
`'
`y
`y '
`(21) Appl. NO.Z 09/370,105
`(22) Filed:
`Aug. 6, 1999
`
`Int. (:1-7 . . . . . .
`
`. . . . . . . . . . . . . . . . . . . . ..
`
`(52) US. Cl. ..................... .. 709/229, 709/227, 370/352,
`370/232; 340/825
`709/227_229
`(58) Field of Search
`725/1 30’
`709
`99; 713/201; 156; 155; 370/232_234; 352;
`455/432, 433; 340/810, 825; 379/230, 112.01,
`20103
`
`(56)
`
`_
`References Cited
`U.S. PATENT DOCUMENTS
`
`Primary Examiner—Wen-Tai Lin
`(74) Attorney, Agent, or Firm—Blakely, Sokoloff, Taylor &
`Zafman LLP
`(57)
`
`ABSTRACT
`
`A method for d namican Selectin
`
`8
`Y
`Y
`provider is disclosed‘ The method allows a user to Select a
`
`a network Service
`
`default route for an internet connection in a network con
`?guration having a local area network workstations coupled
`to the network, customer premises equipment and a central
`of?ce. Multiple network service providers may be selected
`for an individual workstation. The method may include
`simultaneously connecting the workstation to the network
`Service providers‘
`
`5,682,325 A * 10/1997 Lightfoot et a1. ......... .. 340/825
`
`20 Claims, 6 Drawing Sheets
`
`g!)
`
`Workstation W51
`
`I
`
`l
`
`PVC 1
`l
`
`ISP 1
`X.
`
`Ei
`Workstation W53
`L.1
`
`Customer
`Premises
`
`|
`|
`:
`|
`i
`
`Central
`Office
`
`l
`|
`|
`|
`|
`:
`|
`|
`
`Novell Server
`
`Cl
`
`Mainframe
`Z.2
`
`Network
`Service
`Provider
`
`Viptela, Inc. - Exhibit 1009
`Page 1
`
`
`
`U.S. Patent
`
`Jun. 8, 2004
`
`Sheet 1 of 6
`
`US 6,748,439 B1
`
`mE§:as_
`
`NN
`
`vzozsoz
`
`8_>._mm
`
`.mu_>o._a
`
`6:555mm
`
`III%
`
`n.-.:M
`
`_.o>N:8
`
`Entumnzm
`____.m____
`
`_B__aE=m”
`
`N2,_.tom
`
`_2.22%.._..m_
`
`FEu
`
`_.ton__§._bB:m__
`
`mm
`
`5>_.
`
`3
`
`§.:m_.E
`
`mm
`
`—.0:
`
`_EEmo
`
`850
`
`.mE2m:u
`
`8m_E2m
`
`
`
`mm;=o_§a.._§>
`
`m.~
`
`Viptela, Inc. - Exhibit 1009
`
`Page 2
`
`Viptela, Inc. - Exhibit 1009
`Page 2
`
`
`
`
`
`U.S. Patent
`
`Jun. 8,2004
`
`Sheet 2 0f 6
`
`US 6,748,439 B1
`
`Display a List of NSPs Using a _/ 2101211
`Web Browser
`
`L
`
`Select One or More NSPs
`
`’\ 212
`
`l
`
`CPE receives the Selection
`
`-/ 213
`
`V
`
`CPE Maintains the Selection
`
`FIG. 2
`
`Viptela, Inc. - Exhibit 1009
`Page 3
`
`
`
`U.S. Patent
`
`Jun. 8,2004
`
`Sheet 3 0f 6
`
`US 6,748,439 B1
`
`E2522
`
`i382
`
`85mm
`
`5285
`
`6:555
`
`wmQEwE
`
`
`
`mm; 5.59%;
`
`P.._
`
`Viptela, Inc. - Exhibit 1009
`Page 4
`
`
`
`U.S. Patent
`
`Jun. 8,2004
`
`Sheet 4 0f 6
`
`US 6,748,439 B1
`
`Program
`
`/'“_‘\~-/ 430
`
`CPU
`
`I /--~/ 440
`
`.319
`
`FIG. 4
`
`Viptela, Inc. - Exhibit 1009
`Page 5
`
`
`
`U.S. Patent
`
`Jun. 8,2004
`
`Sheet 5 of 6
`
`US 6,748,439 B1
`
`Subscriber
`
`Service
`
`Table \ Table
`
`Connection
`Usage
`Table
`
`.
`Connection
`.
`i
`Staustlcs
`
`Dynamic
`Connection
`Pro?le
`
`Subscriber
`Connection
`Table
`
`I
`
`Connections
`‘
`List
`
`FIG. 5
`
`Management
`Reachability
`Pro?le
`
`Traf?c
`Management
`Home
`
`Service
`Reachability
`Pro?le
`
`Viptela, Inc. - Exhibit 1009
`Page 6
`
`
`
`U.S. Patent
`
`4m2
`
`6W
`
`US 6,748,439 B1
`
`
`
`SxoE__8ma:qmmm35Ex
`
`
`
`Msass:cofiuccoo2:88mac
`
`om,mcozomccoomm8_aum
`Jm._B_bB:m
`
`
`
`o.0:
`
`Viptela, Inc. - Exhibit 1009
`
`Page 7
`
`Viptela, Inc. - Exhibit 1009
`Page 7
`
`
`
`
`US 6,748,439 B1
`
`1
`SYSTEM AND METHOD FOR SELECTING
`INTERNET SERVICE PROVIDERS FROM A
`WORKSTATION THAT IS CONNECTED TO
`A LOCAL AREA NETWORK
`
`BACKGROUND OF THE INVENTION
`
`1. Field of the Invention
`The invention relates generally to establishing a connec
`tion to a network service provider, and speci?cally to
`dynamically selecting a service.
`2. Discussion of Related Art
`In netWorking today, routers are used to route information
`throughout a netWork. These routers often use a router table
`Which provides speci?c instructions as to What path to take
`to arrive at certain locations. The router tables often specify
`a default route that is used When another route is not
`speci?ed. That is, When a message being transferred has an
`Internet Protocol (IP) address, the router takes the destina
`tion address from the header of the IP address and attempts
`to match the address to one stored in the router table. If a
`match exists, then the entry in the table having the matching
`address speci?es the path to take for that message. If a match
`doesn’t exist, then the default route is taken. The default
`route is usually the one taken When accessing an internet
`service provider or the internet at large.
`Today, individual access to a high-speed backbone may
`occur using a Multi-Service Access Platform (MSAP). The
`MSAP enables service providers to offer services over a
`single access facility. Customers, using customer premises
`equipment (CPE), gain access to the MSAP, Which is usually
`located at a central of?ce.
`If an individual Wants to access the internet through a
`Workstation (or other computer systems), Which is a part of
`a local area netWork, the person must establish a connection
`With an internet service provider through the CPE and the
`MSAP. HoWever, in a local area netWork, the service pro
`vider is the same for all users. An individual user cannot
`select a speci?c provider other than the previously desig
`nated provider for the local area netWork. Individual users
`may desire to select a speci?c provider for one or more of
`a variety of reasons, such as cost, speed, reliability and/or
`security. Thus, there is a need for alloWing a user to be able
`to select an internet service provider or any netWork service
`provider.
`
`10
`
`15
`
`25
`
`35
`
`45
`
`SUMMARY OF THE INVENTION
`
`A method for dynamically selecting a netWork service
`provider (NSP) is described. In one embodiment, the method
`includes presenting a list of at least one NSP and dynami
`cally selecting a netWork service provider from the list.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`55
`
`The present invention Will be understood more fully from
`the detailed description given beloW and from the accom
`panying draWings of various embodiments of the invention,
`Which, hoWever, should not be taken to limit the invention
`to the speci?c embodiments, but are for explanation and
`understanding only.
`FIG. 1 is a block diagram of one embodiment of a system
`in Which a Workstation or other computer system may select
`a netWork service provider.
`FIG. 2 is a How diagram of one embodiment of a process
`for selecting a netWork service provider.
`
`65
`
`2
`FIG. 3 is a block diagram of one embodiment of a system
`in Which one Workstation selects several netWork service
`providers.
`FIG. 4 illustrates a general purpose computer executing a
`softWare program stored in a memory.
`FIG. 5 illustrates an exemplary SSA data structure.
`FIG. 6 illustrates interactions betWeen various modules in
`a connection establishment phase.
`
`DETAILED DESCRIPTION
`The dynamic service selection (DSS) described herein
`alloWs the user or group to select and use one or more
`NetWork Service Providers (NSPs). In the folloWing
`description, numerous details are set forth. It Will be
`apparent, hoWever, to one skilled in the art, that the present
`invention may be practiced Without these speci?c details. In
`other instances, Well-knoWn structures and devices are
`shoWn in block diagram form, rather than in detail, in order
`to avoid obscuring the present invention.
`Some portions of the detailed descriptions that folloW are
`presented in terms of algorithms and symbolic representa
`tions of operations on data bits Within a computer memory.
`These algorithmic descriptions and representations are the
`means used by those skilled in the data processing arts to
`most effectively convey the substance of their Work to others
`skilled in the art. An algorithm is here, and generally,
`conceived to be a self-consistent sequence of steps leading
`to a desired result. The steps are those requiring physical
`manipulations of physical quantities. Usually, though not
`necessarily, these quantities take the form of electrical or
`magnetic signals capable of being stored, transferred,
`combined, compared, and otherWise manipulated. It has
`proven convenient at times, principally for reasons of com
`mon usage, to refer to these signals as bits, values, elements,
`symbols, characters, terms, numbers, or the like.
`It should be borne in mind, hoWever, that all of these and
`similar terms are to be associated With the appropriate
`physical quantities and are merely convenient labels applied
`to these quantities. Unless speci?cally stated otherWise as
`apparent from the folloWing discussion, it is appreciated that
`throughout the description, discussions utiliZing terms such
`as “processing” or “computing” or “calculating” or “deter
`mining” or “displaying” or the like, refer to the action and
`processes of a computer system, or similar electronic com
`puting device, that manipulates and transforms data repre
`sented as physical (electronic) quantities Within the com
`puter system’s registers and memories into other data
`similarly represented as physical quantities Within the com
`puter system memories or registers or other such informa
`tion storage, transmission or display devices.
`The present invention also relates to apparatus for per
`forming the operations herein. This apparatus may be spe
`cially constructed for the required purposes, or it may
`comprise a general purpose computer selectively activated
`or recon?gured by a computer program stored in the com
`puter. Such a computer program may be stored in a computer
`readable storage medium, such as, but is not limited to, any
`type of disk including ?oppy disks, optical disks,
`CD-ROMs, and magnetic-optical disks, read-only memories
`(ROMs), random access memories (RAMs), EPROMs,
`EEPROMs, magnetic or optical cards, or any type of media
`suitable for storing electronic instructions, and each coupled
`to a computer system bus.
`The algorithms and displays presented herein are not
`inherently related to any particular computer or other appa
`ratus. Various general purpose systems may be used With
`
`Viptela, Inc. - Exhibit 1009
`Page 8
`
`
`
`US 6,748,439 B1
`
`3
`programs in accordance With the teachings herein, or it may
`prove convenient to construct more specialized apparatus to
`perform the required method steps. The required structure
`for a variety of these systems Will appear from the descrip
`tion below. In addition, the present invention is not
`described With reference to any particular programming
`language. It Will be appreciated that a variety of program
`ming languages may be used to implement the teachings of
`the invention as described herein.
`
`OvervieW
`Dynamic service selection alloWs a user or group to select
`one or more netWork service providers (NSPs). In one
`embodiment, dynamic service selection comprises indi
`vidual service selection or group service selection. Indi
`vidual service selection alloWs each Workstation user to
`select one or more NSPs, While group service selection
`designates one or more NSPs for all users in the group (e.g.,
`all users of a customer premises equipment (CPE)). In one
`embodiment, dynamic service selection is advantageous in
`that the selection takes effect Without requiring a reboot of
`the user Workstation or the other netWork equipment. An
`NSP for purposes herein may be, for example, an Internet
`Service Provider (ISP), a company headquarters, or a con
`tent provider such as, for example, America Online or
`CompuServe.
`FIG. 1 is a block diagram of a system in Which dynamic
`service selection occurs. Referring to FIG. 1, customer
`premises equipment (CPE) 10 and 11 are coupled to one or
`more Workstations 21—23 via netWorks. In one embodiment,
`these netWorks comprise Ethernet netWorks. Each of the
`Workstations 21—23 may comprise a computer system or
`other processing device that may communicate With a CPE
`and an NSP through a local area netWork (LAN) to Which the
`Workstation is coupled. A user can gain access to one of
`NSPs 30—32 through one of Workstations 23 and 22 coupled
`to the CPE 11 or Workstation 21 coupled to CPE 10. The
`type of connection to the NSP depends on the con?guration
`of the CPE.
`CPEs 10 and 11 are con?gured by the central office (CO)
`40, Which maintains all the con?guration information. The
`CO 40 maintains the NSP selection. Thus, CPEs 10 and 11
`do not have to be con?gured With the NSP selection.
`Alternatively, multiple services may be available, and the
`CPEs 10 and 11 are able to select one NSP for all Worksta
`tions in the case of group service selection or one NSP per
`Workstation in the case of individual service selection. In
`one embodiment, the CPEs 10 and/or 11 may also alloW
`selection of multiple NSPs per Workstation.
`The connection betWeen a Workstation and an internet
`service provider occurs through a CPE, Which acts as a
`router. A multi-service access platform (MSAP) 40 may be
`located in the phone company central of?ce.
`In one embodiment, a Web-based application may provide
`a graphical user interface (GUI), such as, for example, a Web
`broWser, for the user perform the service selection. The Web
`broWser may be part of a Java application Which, When
`executed, displays a list of NSPs that the user is authoriZed
`to use. Using the Web broWser, the user selects an NSP. For
`example, if a particular end user decides he or she Wants to
`get to the internet through America Online and another
`decides to do it through PSI Net, the individual end users
`may select the NSPs and essentially con?gure the system. In
`one embodiment, users may bring up an a Java application
`in a Web broWser.
`In an alternative embodiment, the user selects more than
`one NSP or selects the NSP on an application by application
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`4
`basis. For Internet Protocol (IP), the application (netWork)
`layer examined to determine Where to route information. In
`this manner, email may be transferred through one NSP,
`While Telnet is routed through another NSP. In one
`embodiment, the TCP or UDP header at the netWork layer is
`examined to determine to Which NSP the particular traf?c is
`to be routed. In an alternative embodiment, the user may
`discriminate betWeen NSPs on a protocol by protocol basis
`(e.g., IP vs. IPX, IPX vs. Appletalk, etc.).
`In response to the user’s selection, the CPE obtains the list
`of services for that individual client is authoriZed to use. The
`list may be maintained by a directory service that is part of
`a central of?ce (e.g., Multiple Service Access Platform
`(MSAP)). In one embodiment, the MSAP maintains a Work
`station ID that may be used to request the list of authoriZed
`NSPs maintained by the central of?ce. In one embodiment,
`the Workstation ID comprises the Workstation MAC address.
`When selecting an NSP, the user makes the selection through
`an application and the CPE passes the information to the
`central of?ce, Which maintains a database of NSPs.
`Once the list of NSPs has been obtained, the CPE presents
`the list to the user. The user makes a selection and the CPE
`obtains the user’s choice. The CPE and CO make provi
`sioning changes based on the selection. In one embodiment,
`When a selection occurs, a netWork connection is established
`from the CPE to the CO and from the CO to the NSP.
`Second, remote authentication occurs With the NSP to
`determine Whether the user is alloWed to use that service
`(e.g., determines Whether the user is valid). Third, the global
`address parameters are acquired from the NSP or locally
`con?gured on the MSAP to be given to the CPE. This
`information is used for netWork address translation (NAT).
`In one embodiment, the CPE and CO performs all or some
`of these functions by executing softWare.
`After the user selects one or more NSPs, the CPE main
`tains a table for the particular end user (or Work station). One
`effect of the selection is a change in the default route for the
`user. For example, if the user of Work station 21 selects
`America Online, then the default route for Work station 21
`is America Online. Similarly, if the user at Work station 22
`selected the route to headquarters, the default route for
`Workstation 22 is headquarters. In one embodiment, the
`connection to headquarters may only be a more exact route
`to arrive at a more speci?c location (as opposed to the
`primary route to the NSP).
`Thus, the DSS described herein is advantageous over
`standard routers in that it alloWs the user to decide Which
`path Will be used to arrive at a particular destination.
`FIG. 2 illustrates one embodiment of a process for select
`ing a service dynamically. Referring to FIG. 2, initially a
`user displays a Web broWser (processing block 210). Then,
`a list of NSPs for Which the end user has authoriZation to use
`is displayed (processing block 211). The user selects one or
`more NSPs from the list (processing block 212). The CPE
`receives the end users selection (processing block 213) and
`maintains the selection for the end user (processing block
`214).
`When using DSS, netWork address translation is used
`When a netWork’s internal IP addresses cannot be used
`outside the netWork, either for privacy reasons or because
`they are invalid for use outside the netWork. In one
`embodiment, When using DSS, NAT mode or NAPT mode
`is used. NAT mode is a local to global address translation in
`Which there is a one-to-one mapping betWeen local
`addresses used on the LAN and global addresses used
`beyond the CPE. NAT is used to eliminate routing problems
`
`Viptela, Inc. - Exhibit 1009
`Page 9
`
`
`
`US 6,748,439 B1
`
`5
`that can arise When switching NSPs and allows local Work
`stations to ef?ciently communicate amongst themselves on
`their local LAN While also alloWing them to communicate
`beyond the CPE through their selected NSP. NAPT, on the
`other hand, alloWs multiple local addresses used on the LAN
`to be mapped to a single global address used beyond the
`CPE. The locally unique IP address is only used to commu
`nicate betWeen the user Workstation and the CPE or CO box,
`Whichever hosts the DSS mechanism.
`In one embodiment, DHCP is used on the CO box to
`obtain an IP address. Each Workstation can have a statically
`assigned locally signi?cant IP address that may be used
`When the Web application is run. After the service selection
`has been made, then a globally signi?cant IP address is
`requested by a DHCP client on the CO if needed. When a
`connection occurs, the CO gives the CPE the address. The
`globally signi?cant IP address may not be needed if the user
`has selected a bridged/private virtual LAN (VLAN) type of
`service. If a globally signi?cant IP is required then the CPE
`tracks it in an locally signi?cant to globally signi?cant IP
`address map.
`In an alternative embodiment, a DHCP server/proxy/relay
`on the CPE or CO box is used to obtain and distribute an IP
`address. The Workstations are con?gured to use DHCP to
`acquire their IP address. When the Workstation is booted, it
`sends a DHCP request for an address. The DHCP server
`running on the CPE Will assign the Workstation a temporary
`address. The user can noW run the Web based service
`selection application. When the user has made the service
`
`10
`
`15
`
`25
`
`6
`circuit connections 52 and 53 With central of?ce 40, While
`CPE 10 forms virtual circuit connection 51 With central
`of?ce 40. Thus, the link betWeen the CPE and the CO is
`capable of multiple virtual circuits connections and each
`Workstation has its oWn CPE to CO virtual circuit connec
`tion. Note the Workstation ID can be discerned by the CPE
`from the protocol headers of the packets used to carry the
`con?guration requests, Which Will be transparent to the end
`user.
`Note that in one embodiment, When there are multiple
`Workstations using the same CPE, if they select the same
`service, they are multiplexed onto the same virtual connec
`tion.
`Once a default route has been selected, the CPE maintains
`a list of the end user’s default NSP. The list is maintained in
`the CPE With an end station identi?er (e.g., a MAC address,
`layer 2 address, layer 3 address, etc.). When the CPE
`receives a communication from a Workstation, the CPE
`examines the end station identi?er and determines if the end
`user’s default NSP has been selected. If so, then the CPE
`retrieves stored information indicating hoW the virtual cir
`cuit connection is to be set up for that Workstation. In one
`embodiment, there are three distinct Ways in Which the
`virtual circuit connection is determined, Which are according
`to a speci?c non-default IP route, a protocol type, or a
`default.
`The folloWing tables describe the information kept in the
`CPEs for the netWork such as in FIG. 3 (described beloW).
`
`Workstation
`
`internal
`address
`
`subscriber
`VC
`
`service
`
`entry
`type
`
`table
`pointer
`
`IP route
`destination
`
`next
`hop
`
`external
`address
`
`Ws1
`
`Ws2
`
`Ws2
`
`L3
`
`L2
`
`L2
`
`1
`
`3
`
`2
`
`ISP1
`
`IP route / O
`
`X.1O
`
`HQ-IP
`
`IP route —> Z.O
`
`ISPZ
`
`IP route \ O
`
`Z.1O
`
`Y.1O
`
`X.2
`
`Z.1
`
`Y.1
`
`CPE 1 master table
`
`CPE 1 IP table
`
`Workstation
`
`internal
`address
`
`subscriber
`VC
`
`service
`
`entry
`type
`
`table
`pointer
`
`IP route
`destination
`
`next
`hop
`
`external
`address
`
`HQ-IP
`
`IP route / Z.O
`
`Z.1O
`
`ISPZ
`
`IP route / O
`
`Y.1O
`
`Z.2
`
`Y.2
`
`CPE 2 H, table
`
`protocol
`type
`
`Ox8137
`
`CPE 2 protocol
`table
`
`Ws3
`
`Ws3
`
`Ws3
`
`L1
`
`L1
`
`L1
`
`2
`
`1
`
`3
`
`HQ-IPX protocol
`type
`
`CPE 2 master table
`
`selection, the CPE forces the Workstation to change its IP
`addresses from the temporary IP address to a globally
`signi?cant IP address assigned by the selected NSP. Note
`that this removes the need for NAT.
`The capability of service selection per Workstation is
`mapped onto multiple virtual circuit connections betWeen
`the CPE and CO. That is, if each Workstation selects a
`service, then the CPE associates each Workstation With the
`selected virtual circuit connection to the central office 40.
`For example, referring back to FIG. 1, CPE 11 forms virtual
`
`65
`
`Packets are processed and forWarded based on the infor
`mation in the master forWarding table and its associated
`protocol speci?c tables. Aseries of comparisons betWeen the
`packet content and the table content Will be made to ?nd the
`best match. When the best match is attained, the virtual
`circuit (VC) that Will carry the packet is determined and the
`packet Will be forWarded on this VC.
`
`The master table is the ?rst table accessed When process
`ing an incoming packet. The master table is similar to a
`
`Viptela, Inc. - Exhibit 1009
`Page 10
`
`
`
`US 6,748,439 B1
`
`7
`bridge table since it is indexed by the Workstation identi?er.
`It is different from a bridge table in the following Ways:
`the source Workstation identi?er is used in the lookup
`multiple entries for the same Workstation exist in the table
`the entries are not learned. They are inserted into the table
`from the service selection application
`the table entries may point to further more speci?c
`protocol entries
`Some ?elds in this table (some other ?elds are shoWn for
`descriptive purposes only) are the Workstation ID, sub
`scriber VC, entry type and table pointer.
`The Workstation ID is the primary key in the master table
`and is used to identify the list of entries that may be used to
`forWard the packet. The order of the entries in the table is
`signi?cant for entries With the same Workstation ID. In one
`embodiment, the entries Will be processed in the order that
`they appear in the table (e.g., early entries have higher
`priority) and the ?rst entry Which is a complete match Will
`be chosen.
`The subscriber VC is the virtual circuit betWeen the CPE
`and CO Which Will be used to carry the traf?c classi?ed by
`this table entry. The entry type describes the table entry type
`that the table pointer points at and the code Which should be
`used to process the entry.
`The IP table contains information used to direct IP and
`ARP packets to their proper VC. This is essentially a IP route
`table that is speci?c to an end user. The IP table includes
`?elds for the IP route destination, next hop, and external
`address, Which are as folloWs:
`IP route destination—this ?eld is used to direct IP packets
`to their proper VC. The destination IP address in the
`packet is compared to this ?eld after the subnet mask is
`applied;
`next hop—this ?eld is used to direct ARP requests to their
`proper VC. The Workstation sends an ARP request for
`the next hop. This may be either the ?nal destination if
`in the same subnet, or the router the Workstation is
`using to reach the destination; and
`external address—this ?eld is used if NAT is required by
`the subscriber to communicate With the speci?ed ser
`vice.
`The protocol type table is used to handle protocol type
`entries and alloWs traf?c of a speci?c protocol to be directed
`to a speci?ed VC. In one embodiment, there is only one ?eld
`in the protocol type table—the protocol type.
`In one embodiment, the CPE makes bridging and IP
`routing decisions and the CO only sWitches the traf?c to the
`NSP. The NSP equipment may bridge or route the traf?c.
`In another embodiment, multiple simultaneous sessions.
`FIG. 3 illustrates multiple sessions occurring. In this
`manner, a user can actually choose to have some of his or her
`traf?c go in one direction and some of this traf?c to go in
`other directions. For example, suppose a user decides to
`have his or her email sent through a connection With a
`service provider that is inexpensive but sloW. The user Wants
`his or her email to go through this provider because the
`provider is really cheap. HoWever, for a video conference,
`the service connection may be very expensive, so the user
`Will access this service only on occasion. In one
`embodiment, the user can, on a per application basis, deter
`mine the route different types of traffic. The user can select
`that his or her general traf?c Will go through a sloW link,
`While determining that video conference traf?c uses an
`expensive path With very good performance. Thus, DSS
`described herein may be used, not only per Work station, but
`even on a per application basis, to alloW a user to decide
`Where the particular traffic path is for speci?c types of traf?c.
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`8
`FIG. 3 shoWs an embodiment Where each Workstation can
`have multiple simultaneous services. In one embodiment,
`the traf?c is handled via a combination of layer 2 and 3
`processing. The CO Will do standard layer 2 sWitching. The
`NSP equipment may bridge or route the traf?c.
`There are tWo modes in Which dynamic address assign
`ment Will Work With this mode of service selection. When
`local/private IP addresses are used on the Workstations, a
`DHCP server of the NSP assigns the dynamic IP address to
`the DHCP client on the CPE device. The local/private IP
`addresses may be either be static or handed out by a local
`DHCP server. When global IP addresses are used With
`DHCP, then the CPE and CO acts as relay agents to relay the
`real global address from the NSP to the Workstation. If it is
`necessary for the Workstation to communicate via IP before
`it gets a global address, such as When it runs the service
`selection mechanism, then the CPE gives the Workstation a
`local/temporary IP address.
`In one embodiment, the CPE uses NAT to translate the
`local/private IP addresses used in the CPE into global IP
`addresses. Referring to FIG. 3, Workstation WS1 is using a
`single service With a global IP address assigned to it,
`Workstation WS2 has tWo services, and Workstation WS3
`has three services. Workstations WS2 and WS3 are using
`local/private IP addresses. The CPE knoWs When to translate
`the addresses and Which global IP address to use based on
`information from the central of?ce. When user selects a
`service, all the connection information that is con?gured in
`the central of?ce corresponding to that user utiliZing that
`service is sent doWn from the central of?ce to the CPE and
`forms a record that is used at runtime. The information may
`include, for example, the type of address translation, types
`of operation modes. In one embodiment, the connection is
`facilitated by subscriber and service applications described
`in greater detail beloW. Note that the term subscriber has
`been used to refer to a user in the context of the present
`invention.
`
`Subscriber and Service Applications
`
`Subscriber and Service Applications (SSAs) alloW users
`to provision and con?gure both subscribers and services.
`This facilitates dynamic service selection because the SSA
`stores a list of services one can select and the subscriber
`pro?les. Speci?cally, in one embodiment, a process for
`selecting a service comprises de?ning a subscriber, de?ning
`a service, and creating a connect that unites the tWo together.
`The folloWing description discloses one embodiment of a
`technique for associating the users and services. In this
`manner, a connection may be provided from multiple sub
`scribers to multiple services over any given media.
`Services are typically connected to the uplink interfaces
`(e.g., ATM, Frame relay, Ethernet, etc.) on a CO. Users of a
`Workstations, or subscribers, are connected to the LAN side
`of a CPE, While the uplink side of the CPE is connected to
`a line card interface (e.g., xDSL, etc.) on a CPE or a CO.
`In one embodiment, there are tWo subscriber service
`applications: an internal application and an external appli
`cation. The internal application, SSA resides Within the CPE
`or CO. The external application(s) is any external
`application, PC based, HTML or JAVA, Which is used to
`provision, manage and connect a subscriber or service
`pro?le. Aset of CLI commands is also supported to alloW the
`user to con?gure the service and subscriber information
`directly into the CO.
`A subscriber can have a number of different connection
`pro?les. The pro?les can be any one of the folloWing (and
`
`Viptela, Inc. - Exhibit 1009
`Page 11
`
`
`
`US 6,748,439 B1
`
`others as they are de?ned): 1) direct Connection (nailed up)
`to NSP; 2) multiple NSP service option, subscriber makes all
`con?guration changes manually When changing service; 3)
`multiple services With dynamic service selection; 4) there
`can be multiple subscribers attached to a given CPE device,
`each With a different connection pro?le; and 5) multiple
`services With dynamic service selection and the ability to go
`to multiple destinations simultaneously, this is a future
`feature.
`As discussed above, a service is an end point on the uplink
`side of the netWork to Which a subscriber Wishes to connect.
`In one embodiment, the services include: 1) internet service
`providers; 2) transparent LAN service providers; 3) long
`distance carriers (both data and voice); 4) corporate head
`quarters (enterprise netWork); or 5) other data or voice
`service providers.
`Asubscriber connects to a service at an NSP. The service
`contains the Class of Service parameters Which are used for
`the connection betWeen the subscriber and the NSP. In effect
`the subscriber connects to a service and doesn’t really see
`the NSP.
`The CPE only contains information about active sub
`scriber sessions. This information is handled by the CPE’s
`Data (Voice) Connection Manager. In one embodiment, the
`con?guration information for both a subscriber and a service
`reside on the CO. The CO includes a database that is queried
`on an as needed bases as connections are established.
`Provisioning Subscribers and Services
`The provisioning activity can be executed using the
`netWork management tools or the CLI.
`A NSP de?nition contains speci?c information about a
`given netWork service provider. Anumber of services can be
`con?gured at any given NSP. Each service inherits some of
`the NSP’s characteristics and adds service parameters. Thus,
`if different classes of service are provided by an NSP, a
`different s