throbber
Europadisches Patentamt
`
`European Patent Office
`
`Office européen des brevets
`
`ITT
`0 637 149 A2
`
`@) Publication number:
`
`Appl. No. 09/407,371
`Doc. Ref. AL1
`
`@)
`
`EUROPEAN PATENT APPLICATION
`
`@) Application number: 94110296.4
`
`&) Int. ci8: HO4L 12/18, HO4L 12/56
`
`@) Dateoffiling: 01.07.94
`
`®) Priority: 01.07.93 US 86593
`
`Date of publication of application:
`01.02.95 Bulletin 95/05
`
`Designated Contracting States:
`DE FR GB IT
`
`®) Applicant: DIGITAL EQUIPMENT
`CORPORATION
`146 Main Street
`Maynard, MA 01754 (US)
`
`
`
`@)
`
`inventor: Perlman, Radia J.
`10 Huckleberry Lane
`Acton, MA 01720 (US)
`Inventor: Hawe, William R.
`16 Independence Road
`Pepperell, MA 01463 (US)
`
`Representative: Betten & Resch
`Reichenbachstrasse 19
`
`D-80469 Miinchen (DE)
`
`® Method and apparatusfor providing multicast virtual circuits.
`
`®) A multicast connection arrangement is provided
`by which a source node may establish multicast
`virtual circuits to a group of destination nodes of an
`arbitrary-topology network using a single procedure,
`and may subsequently modify those circuits,
`ie.,
`add or delete destination nodes, with a single, re-
`lated procedure. The arrangement includes a mul-
`ticast setup packet for opening the multicast virtual
`circuits, the packet containing a multicast identifier
`
`field, a virtual circuit field and a destination field
`identifying a list of desired destination node ad-
`dresses. The multicast setup packet may be also
`used to add destination nodesto the circuits, while a
`multicast delete packet is used to delete nodes from
`the circuits. When adding nodes to the multicast
`virtual circuits, a topology analysis process is pro-
`vided to prevent the formation of an unstable net-
`work topology.
`
`60,
`
`MC_SETUP(U1DAT,
`
`
`
`
`MC_SETUP(U1DRT,
`VC7, G3)
`
`
`
`
`MC_SETUP(U1DRAT, VC30, G3)
`
`FIG. 6
`
`Rank Xerox (UK) Business Services
`
`VC30(L1)
`
`vC17(L6)
`
`
`
`
`
`EP0637149A2
`
`

`

`1
`
`EP 0 637 149 A2
`
`2
`
`oo
`
`FIELD OF THE INVENTION
`
`This invention relates generally to network sys-
`tems and, more specifically,
`to multicast virtual
`circuits in arbitrary-topology networks.
`
`BACKGROUND OF THE INVENTION
`
`A computer network typically comprises a col-
`lection of interconnected nodes, such as computer
`systems and switches, which may, in turn, be con-
`nected through an irregular configuration of trans-
`mission lines,
`i.e.,
`links. The switches are special-
`ized computers used to connect two or morelinks.
`Data is exchanged among nodes of such an "ar-
`bitrary-topology" network by passing packets from
`switch to switch over the links. Specifically, when a
`packet arrives on an incoming link, the switch de-
`cides onto which of the outgoing links that packet
`will be forwarded.
`
`In a connection—oriented network, a virtual
`circuit is commonly established when exchanging
`packets between nodes of the network. The virtual
`circuit is a temporary logical path connection that
`requires a set up procedure to “open” the virtual
`circuit prior to transferring the data packets and a
`release procedure to "close" the circuit once the
`data transfer is complete. This obviates the need
`for effecting routing decisions for each data packet
`that
`is transferred between the nodes once the
`circuit is opened.
`the set up
`For point-to-point communication,
`procedure creates a virtual circuit by allocating
`certain switches and links in the network to estab-
`lish the “best” route, according to conventional
`route configuration techniques, between a source
`node and a destination node. Toillustrate, refer to
`Fig. 1A. Here, node A of network 10 performsa set
`up procedure to open a virtual circuit route that
`encompasses the switches Sa-p. This
`route is
`identified by a virtual circuit (VC) number, VC2, that
`is associated with node A's local switch S,.
`In
`order to ensure that data packets subsequently
`transferred from node A alwaysfollow this virtual
`circuit route to node D, each switch along VC2
`maintains a forwarding table with entries indicating
`where to forward the data packets in accordance
`with the routing configuration results.
`Fig. 1B illustrates the forwarding tables 20a-d
`contained within the switches S~-p of the network
`10. Each entry of the tables includes an incoming
`portion and an outgoing portion, with each portion
`including a port name and a VC numberassociated
`with that port. Each data packet transferred over
`the network contains a VC field identifying the open
`VC number on which it has arrived. Thus, when a
`packet is received at an incoming port of switch Sc,
`that switch searches the left (incoming) portion 22:
`
`-
`
`of its table 20c, using the incoming port, e.g., Z.
`and VC numberfound in the packet, e.g., VC7, as
`the key. When a match is found,
`the outgoing
`portion 220 of the entry identifies the VC number,
`e.g., VC4, to insert into the VC field of the packet
`and the port, e.g., Q,
`to which it should pass the
`packet.
`It
`is therefore apparent that the VC num-
`bers and forwarding tables provide enough infor-
`mation to guide the data packets through the al-
`located switches and links to the destination.
`single
`Multicasting involves
`transmitting a_
`multicast packet from a source node and having It
`received by a group of destination nodes. A prob-
`lem associated with this type of point-to-multipoint
`communication technique concerns forming an effi-
`cient "delivery tree", i.e., a collection of nodes and
`links,
`that
`the multicast packet must
`traverse to
`reach the destination nodes. One approach, known
`as Core Based Trees (CBT), addresses this prob-
`lem by establishing a core, point-to-point virtual
`circuit "tree" and then executing a set up proce-
`dure for each additional destination node of the
`group. However, the CBT approach is "static",
`in
`the sense that if a more efficient path exists, the
`delivery tree cannot easily be adapted to the "bet-
`ter" topology.
`Another problem involves adding and deleting
`nodes from the multicast group of destinations.
`In
`CBT networks, each destination node initiates a
`procedure to add or delete itself; accordingly, the
`source node is unaware of the tree configuration
`and its constituent destination nodes.
`An alternative to the CBT technique involves
`creating subsequent "branch" links for the addi-
`tional destination nodes without destroying the ex-
`isting tree connections. Such an approachisillus-
`trated in Fig. 2. Here, a tree is formed that consists
`of virtual circuits from source node N to a multicast
`
`group of destination nodes D1 and D2; specifically,
`the virtual circuit to node D1 encompasses switch-
`es Sa, and Sr, and the virtual circuit to node D2
`encompasses switches Sa-p.
`A branch link represented by VC8 is subse-
`quently formed with the tree to add node D3 to the
`group of destination nodes. However, the addition
`of VC8,in turn, forms a “loop” among the switches
`Sa, Sp, Sc and Sr and the intervening links, there-
`by creating an unstable topology. Specifically,
`if
`the tree connections are bidirectional,
`i.e, packets
`may flow through the ports of switches Sq and S,
`in both directions as indicated by the double-head-
`ed arrows 22, a packet that is propagating within
`the loop may revolve endlessly around that loop,
`thereby adversely affecting the bandwidth of the
`network.
`If
`the connections are unidirectional as
`
`indicated by the single-headed arrows 21 flowing
`into switch Se, duplicate copies of the packets may
`be delivered to the destination node D3 which,
`
`16
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`

`

`3
`
`EP 0 637 149 A2
`
`r
`
`o.
`
`4
`
`again, negatively affect bandwidth.
`Another known point-to-multipoint communica-
`tion technique requires each destination node to
`“register” with its local switch to receive packets
`addressed to a particular multicast address. Spe-
`cifically, the destination node sends a requesttoits
`local switch, which then forwards the requestto all
`the switches in the network. Each switch in the
`
`network updatesits forwarding table to store rout-
`ing information,
`i.e., state, pertaining to all of the
`destination nodes for each multicast address. A
`disadvantage of this technique is that a significant
`amount of processing and storage overhead is
`needed for each switch to maintain state for each
`destination nede.
`Point-to-multipoint communication in a con-
`nectionless network involves transmitting a single
`multicast packet that is received by multiple des-
`tinations. For this type of network, however, each
`multicast packet contains a list of destination
`nodes. When the packetarrives at an incominglink
`of a first switch, that switch checks the list to select
`a set of outgoing links that will provide the best
`route to at least one of the destinations. The switch
`generates a new copy of the multicast packet for
`each selected outgoing link and includes,
`in each
`packet,
`those destinations that use the link. Ulti-
`mately, each multicast packet will identify only one
`destination and is treated as a normal data packet.
`The present invention provides a method and
`apparatus for creating multicast virtual circuits in an
`arbitrary-topology network without disrupting the
`operation of the network.
`Also taught herein are a method and apparatus
`for adding nodes to established multicast virtual
`circuits without affecting the performance of the
`network, a method and apparatus for easily modify-
`ing established multicast virtual circuits to reflect a
`more efficient topology.
`Also explained hereinafter is a mechanism for
`establishing multicast virtual circuits incorporating
`features of a connection-oriented and a connection-
`less network.
`
`SUMMARYOF THE INVENTION
`
`The present invention resides in a novel mul—
`ticast connection arrangement by which a source
`node may establish virtual circuits to a group of
`destination nodes by executing a single procedure,
`and may subsequently modify those circuits,
`i.e.,
`add or delete destination nodes, with a related
`procedure. The switches and links allocated to the
`multiple-destination virtual circuits of an arbitrary-
`topology network are elements of multicast virtual
`circuits. In accordance with the arrangement, only
`switches of the multicast virtual circuits need main-
`tain routing information relating to the destination
`
`the invention, enables the source
`nodes. Thus,
`node to maintain control of the virtual circuit con-
`figurations, while
`optimizing
`the
`bandwidth,
`throughput and efficiency of the arbitrary-topology
`network.
`The invention in its broad form resides in a
`method for establishing a multicast virtual circuit as
`recited in claim 1. The invention also resides in an
`
`arrangement for establishing multicast virtual cir-
`cuits as recited in claim 9.
`.
`
`the invention, a multicast
`In one aspect of
`setup packet
`is used to open multicast virtual
`circuits. The multicast setup packet contains a mul-
`ticast
`identifier field, a virtual circuit field and a
`destination field identifying a list of desired destina-
`tion node addresses. Prior to issuing the multicast
`setup packet, a source node enters appropriate
`information into each of the fields, with the VC field
`containing a virtual circuit value associated with the
`port connecting the sourceto its local switch.
`Upon receiving the packet at its incoming port,
`the local switch checksthe list of destination nodes
`and selects a set of outgoing links that provide the
`best route to at least one of the destination nodes.
`
`Selection is based upon the results of route con-
`figuration, e.g., availability and loading, analysis.
`This group of incoming and outgoing ports is called
`a multicast port group.
`The switch then generates entries of an internal
`forwarding table for
`the newly-formed multicast
`group. The entries contain routing information, i-e.,
`state, such as (i) a unique multicast identifier (Ml)
`value that is acquired from the identifier field,
`(ii)
`the name of the incoming port and its associated
`VC value acquired from the VC field and (iii) the
`names of
`the selected outgoing ports and their
`associated VC values. In addition, the switch marks
`the incoming VC value entry as originating from the
`source node.
`
`Prior to forwarding each packet onto its respec-
`tive outgoing link, the switch generates a copy of
`the multicast setup packet for each of the selected
`outgoing ports. The switch then updates both the
`VCfield to contain a VC value associated with each
`
`selected outgoing port and the destination field to
`contain only those destination nodes receiving the
`copy of the packet. Finally, the packets are trans-
`ferred over the network.
`
`After traversing a number of successive switch-
`es, each multicast setup packet identifies only one
`destination, thereby effectively "opening" a virtual
`circuit. Data packets subsequently issued by the
`source need only include the initial local VC value
`in order propagate along the multicast virtual cir-
`cuits and arrive at the respective destination nodes.
`The multicast setup packet is also used to add
`destination nodes to the multicast virtual circuits.
`
`The fields of the packet contain the same informa-
`
`10
`
`18
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`

`

`5
`
`EP 0 637 149 A2
`
`6
`
`tion used when opening the virtual circuits, except
`that the destination field now contains only the new
`destination node addresses. Upon receiving the
`"additional" multicast setup packet, each switch of
`the multicast virtual circuits again performs a con-
`figuration analysis to determine the best routes.
`As described herein, each switch also executes
`a topology analysis process to detect whether the
`added nodeswill create loops in the network orwill
`result in the creation of duplicate packets. Thefirst
`step of the process involves each switch checking
`the entries of [ts forwarding table to determineif
`the incoming port,
`through which the multicast
`setup packet is entering the switch, is allocated to
`an open multicast virtual circuit having an MI value
`that matches the MI value of the packet. If not, the
`next step involves an inquiry of whether there are
`any existing entries in the table associated with that
`particular MI value.
`If the answer to the latter ques-
`tion is yes, two options are available: (i) the switch
`maintains a separate virtual circuit for each of the
`existing and added destinations, or (ii) the switch
`deletes the port marked as being from the source
`and establishes a "new" virtual circuit connection
`using the added incoming port. The switch then
`updates the entries of the forwarding table to re-
`flect the changed topology.
`In a modification, a multicast delete packetis
`used to delete an existing node (and link) from the
`list of destinations associated with the multicast
`
`virtual circuits. Here, the multicast delete packetis
`issued by the destination node seeking removal
`from the virtual circuit. Specifically,
`the packet
`need only contain the unique multicast
`identifier
`value and the VC value of the port to be deleted.
`Advantageously, as described herein, a source
`node can initiate virtual circuit connections to des-
`tination nodes with a single setup procedure, there-
`by allowing the source to efficiently control
`the
`configuration of nodes and implement manage-
`ment, i.e., auditing, functions.
`By using the method and arrangement taught
`herein, changes to multicast virtual circuits can be
`performed quicky and efficiently without degrading
`the network because of loop creation and duplicate
`packet generation.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`A more detailed understanding of the invention
`may be had from the following description of a
`preferred embodiment, given by way of example
`and to be understood in conjunction with the ac-
`companying drawing wherein:
`Fig. 1A is a diagram of a conventionally-estab-
`lished, virtual circuit connecting a source node
`and a destination node of a network;
`
`Fig. 1B is a block diagram of conventional for-
`warding tables and the information contained
`therein relating to the virtual circuit of Fig. 1A;
`Fig.
`1
`is a diagram of a conventional delivery
`tree circuit with branch links for adding nodes to
`a group of destination nodes;
`Fig. 2 is a diagram of a connection-oriented,
`arbitrary-topology network in which the multicast
`connection arrangement of this invention may
`be advantageously used;
`Fig. 3 illustrates the format of a multicast setup
`packet used to open multicast virtual circuits in
`accordance with the invention;
`Fig. 4 illustrates the format of a multicast setup
`packet used to add nodes to open multicast
`virtual circuits in accordance with a preferred
`embodiment of the invention;
`Fig. 5 illustrates the format of a multicast setup
`packet used to add nodes to open multicast
`virtual circuits in accordance with a preferred
`embodiment of the invention;
`Fig. 6 is a diagram of a connection-oriented,
`arbitrary-topology network in which the multicast
`setup packet of Fig. 5 may be advantageously
`used to add a destination node to the network;
`and
`
`Fig. 7 illustrates the format of a multicast delete
`packet used to delete nodes from open mul-
`ticast virtual circuits in accordance with a pre-
`ferred embodiment of the invention.
`
`DETAILED DESCRIPTION OF ILLUSTRATIVE EM-
`BODIMENTS
`
`Fig. 3 depicts a connection-oriented, arbitrary-
`topology network 30 of interconnected
`nodes in which the multicast connection arrange-
`ment of
`this
`invention may be advantageously
`used. The nodes are typically general-purpose
`computers comprising a source node N and a
`group of destination nodes G1-3. Each node is
`coupled to a respective "local" switch S,
`i.e. a
`specialized computer. Each switch S is configured
`to facilitate the flow of information in the network 30
`
`by providing, along with its incoming and outgoing
`links L, connections between the source and des-
`tination nodes.
`Each node and switch typically comprises a
`central processing unit (CPU) 35, a memory unit 34
`and at least one network adapter 32 interconnected
`by a system bus 36. The main memory 34 may
`comprise storage locations typically composed of
`random access memory (RAM) devices, which are
`addressable by the CPU and network adapter. An-
`operating system, portions of which are typically
`resident in main memory 34 and executed by CPU
`35, functionally organizes the nodes. and switches.
`The operating system invokes network operations
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`4
`
`50
`
`55
`
`

`

`7
`
`EP 0 637 149 A2
`
`8
`
`in support of programs executing in the CPU 25.
`As previously noted,
`in conventional, connec-
`tion-oriented networks, a point-to-point virtual cir-
`cuit
`is established between a source node and a
`
`destination node prior to "adding" nodes to the
`circuit. In accordance with the invention, a multicast
`connection procedure provides a meansfor effi-
`ciently "opening" multicast virtual circuit routes us-
`ing a single procedure. Specifically, the procedure
`allocates appropriate switches and their connecting
`links
`to establish the best
`routes between the
`source node and destination nodes prior to trans-
`ferring information from the source to those des-
`tinations. Selection is effected by conventional
`adaptive-type routing algorithms used in route con-
`figuration analysis. The information is encapsulated
`as a packet and the packetis forwarded from the
`source node's local switch to each of the destina-
`tion nodes" local switches via one or more inter-
`mediate switches.
`In general, when the packet is received at an
`incoming port of an intermediate switch, it is stored
`there until the routing determination is made as to
`which of
`the outgoing ports the packet will be
`forwarded. This group of ports is called a multicast
`port group. A feature of the invention is that only
`those switches of the multicast virtual circuits need
`maintain routing information relating to the destina-
`tion nodes. Thus, the invention enables the source
`node to maintain control of the virtual circuit con-
`figurations, while
`optimizing
`the
`bandwidth,
`throughput and efficiency of the arbitrary-topology
`network.
`In order to open the multicast virtual circuits,
`the source node N creates a multicast setup pack-
`et, MC_SETUP, the format of which is shown in
`Fig. 4. The MC_SETUP packet 40 contains a
`multicast
`identifier (MI)
`field 42, a virtual circuit
`(VC) field 44 and a destination nodes field 46, the
`latter field identifying a list of desired destination
`node addresses, e.g., G1-3. An example of
`the
`contents of the MI field may be a useridentification
`number, e.g., UID, concatenated to an instanta-
`neous value of a real-time clock, e.g., RT, to pro-
`vide a unique multicast identifier, e.g., UIDRT. The
`source node N enters the appropriate information
`into each of the fields, with the VC field 44 contain-
`ing a virtual circuit value, e.g., VC30, associated
`with the port X1 connecting the source N to its
`local switch Sy. Accordingly, for the exampleillus-
`trated herein,
`the resulting completed multicast
`setup packet generated by source N maybe repre-
`sented as MC_SETUP (UIDRT, VC30, G1-3).
`Refer again to Fig. 3. The source N forwards
`the packet 40 to its local switch Sy, which checks
`the list of nodes G1-3 in the D field 46 and selects
`a set of outgoing ports, each of which provides the
`best
`route to at
`least one of
`these destination
`
`the ports X2 and X6 are selected,
`nodes. Here,
`with X2 providing the best virtual circuit route, VC7,
`to nodes G1 and G2, and X6 providing the best
`route VC17 to G3. Because there are two distinct
`routes to the destination nodes,
`the MC_SETUP
`packet is "spawned" at the switch Sy and a copy
`of the packet is generated for each port X2 and X6
`of the multicast group.
`The switch Sy also generates entries in its
`internal forwarding table 300 for the MC_SETUP
`packet 40, with each entry 320 containing routing
`State such as the UIDRT value acquired from the
`MI field 42, the incoming port X1 and its associated
`VC30 value acquired from the VC field 44 and
`outgoing VC7 and VC17 values selected for the
`outgoing ports X2 and X6, respectively. In addition,
`the switch marks the incoming VC30 value with the
`letter "N", indicating that this entry originated from
`the source node.
`
`Prior to forwarding each packet to its respec-
`tive port, the switch Sy updates the VC field 44 of
`each packet 40 to contain the VC value associated
`with each selected outgoing port and modifies the
`destination field 46 to contain only those destina-
`tions
`using
`that
`particular
`port. Accordingly,
`MC_SETUP (UIDRT, VC7, G1-2)
`is
`forwarded
`through
`port X2
`and
`onto
`link
`L2, while
`MC_SETUP (UIDRT, VC17, G3)
`forwarded
`through port X6 and onto link L6.
`The procedure described above is repeated at
`each intermediate switch along the multicast virtual
`circuits until each MC_SETUP packet 40 identifies
`only one destination. Thus,
`as
`an
`example,
`MC_SETUP (UIDRT, VC9, G1,2) is forwarded onto
`link L3 by switch Se and is thereafter spawned into
`two multicast setup packets at switch S3. One of
`the resulting packets, MC_SETUP (UIDRT, VC14,
`G1) is passed to node G1, while the other packet,
`MC__SETUP (UIDRT, VC22, G2) is passed to node
`Ge.
`
`is
`
`the multicast virtual circuts are
`this point,
`At
`effectively "opened". Since each switch along the
`multicast virtual circuits maintains routing state re-
`lating to the best routes to the destination nodes,
`data packets subsequently issued by the source
`node N need only contain the initial local VC value
`in order propagate along each virtual circuit and
`arrive at the respective destination nodes. Further-
`more, if a packet issued by destination node G1 or
`G2 arrives at port X2 of switch Sy having a VC
`value VC7, the switch Sy forwards the packet out
`the remaining ports of the multicast group, e.g., out
`port X1 with a VC value VC30 and out port X6 with
`a VC value VC17.
`
`A multicast setup packet may also be used by
`a source node to add destination nodes to pre-
`viously-opened multicast virtual circuits. Fig. 5 illus-
`trates the format of a this type of packet 50. For
`
`10
`
`18
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`

`

`9
`
`EP 0 637 149 A2
`
`10
`
`this application, the multicast identifier (Ml) field 52
`and virtual circuit (VC) field 54 of the packet 50
`contain the same information that is contained in
`the MI field 42 and VC field 44 of the packet 40
`(Fig. 4); however, the new destination node(s) field
`56 now contains only the new destination node
`address(es). Upon receiving the "additional" mul-
`ticast setup packet 50, each switch S of the mul-
`ticast virtual circuits (Fig. 3) performs a configura-
`tion analysis to determine the best route(s) to new
`destination node(s) and stores the results of the
`analysis in its forwarding table.
`The multicast connection arrangement also
`provides a meansfor preventing the creation of an
`unstable network topology when adding destination
`nodes to the multicast virtual circuits. Specifically,
`each switch S of the multicast virtual circuits ex-
`
`ecutes a two-step topology analysis process to
`detect whether the added node(s) will create loop-
`(s) in the network or will result in the creation of
`duplicate packets. In accordance with the invention,
`the first step of the process involves each switch S
`checking the entries of its forwarding table to deter-
`mine if the incoming port, through which the mul-
`ticast setup packet 50 is entering the switch,
`is
`allocated to a multicast virtual circuit having an MI
`value that matches the MI value of the packet 50. If
`not, the next step involves an inquiry of whether
`there are any existing entries in the table asso-
`ciated with that particular MI value.
`If the response to latter inquiry is affirmative,
`the switch may maintain a separate virtual circuit
`for each of
`the existing and added destination
`nodes, or it may delete the port marked as being
`from the source and establish a “new” virtual cir-
`cuit connection using the added incoming port.
`Either alternative obviates the formation of a loop
`(Fig. 2) and is thus contemplated within the teach-
`ings of the invention. The switch then updates the
`entries of its forwarding table to reflect the changed
`topology.
`An example of the topology analysis process is
`provided in connection with Fig. 6, which depicts a
`connection-oriented, arbitrary-topology network 60
`in which the multicast setup packet may be ad-
`vantageously used to add a destination node to the
`network. The open multicast virtual circuits be-
`tween the source node N and destination nodes
`G1-2 are shown as darken fines. The source node
`
`N creates a multicast setup packet 50 to add
`destination node G3 (see dotted line) and the re-
`sulting completed packet 50 MC_SETUP (UIDRT,
`VC30, G3),
`is forwarded to the switch Sy, where
`the results of a routing analysis indicates that the
`packet should be passed on to switch S;. There-
`fore, switch Sy modifies the contents of the VC
`field to reflect the multicast virtual circuit VC7 and
`
`passes the packet to switch S:. There, the results
`
`of another routing analysis indicate that the packet
`should be forwarded to node G3 via switch Sz.
`Switch S2 then checks the entries of its for-
`warding table 600 to determine if the incoming port
`X3, through which the multicast setup packet 50 is
`entering the switch,
`is allocated to a multicast vir-
`tual circuit having an MI value that matches the MI
`value, e.g., UIDRT, of the packet 50. An examina-
`tion of
`the forwarding table reveals no match.
`Therefore, the switch S2 determines whether there
`are any existing entries in the table associated with
`the MI value UIDRT.
`In this example, there is an
`existing entry having the MI value UIDRT,indicat-
`ing that packet may be looping. The switch Sz thus
`either maintains a separate virtual circuit for each
`of the existing and added destination nodes (sepa-
`rate dotted lines in switch S2 at 65a,b), or it de-
`letes,
`in its forwarding table, the port marked as
`being from the source N (see forwarding table
`entry X:75 "delete" at 66). Further to this latter
`option, the switch establishes a new virtual circuit
`connection comprising the latter incoming port X3
`and virtual circuit VC9 (see forwarding table 600 at
`68).
`In either case,
`the switch S2 updates the
`entries of
`its forwarding table 600 to reflect the
`changed circuit topology.
`In another aspect of the invention, a multicast
`delete packet is used to delete an existing node
`(and port) from the list of destinations associated
`with the multicast virtual circuits. Fig. 7 illustrates
`the format of a multicast delete packet 70 which
`need only contain a unique MI value in a multicast
`identifier field 72 and a VC value, pertaining to a
`port to be deleted,
`in a virtual circuit field 74. The
`multicast delete packet is formed by the destina-
`tion node seeking removal from the virtual circuit
`and is forwarded to the remaining elements of the
`multicast virtual circuit.
`
`It should be noted that selection, by the switch-
`es, of the "best" virtual circuit routes is based upon
`topology and traffic conditions existing when the
`set up procedure or
`related modification proce-
`dures described herein are performed. For exam-
`ple, it is possible that a particular route was chosen
`as the best route because a certain link was non-
`operational or congested. Therefore, to ensure that
`the selected multicast virtual circuit routes are op-
`timized, the set up (and modification) procedure its
`preferably executed at periodic intervals.
`The foregoing description has beenlimited to a
`specific embodiment of
`this invention.
`It will be
`apparent, however,
`that variations and modifica-
`tions may be made to the invention, with the attain-
`ment of some orall of its advantages.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`36
`
`40
`
`45
`
`50
`
`55
`
`

`

`11
`
`EP 0 637 149 A2
`
`12
`
`Claims
`
`In an arbitrary-topology network having nodes,
`switches and interconnecting links, a method
`for establishing a multicast virtual circuit be-
`tween a source node and a group of destina-
`tion nodes, said method comprising the steps
`of:
`
`creating a multicast setup packet at the
`source node for transfer to the group destina-
`tion nodes, said multicast setup packet con-
`taining a multicast identifer fleld for storing a
`unique multicast identifier value, a virtual cir-
`cuit field and a destination field identifying the
`group of destination nodes receiving said mul-
`ticast setup packet; and
`allocating selected switches and intercon-
`necting links of said network as elements of
`said multicast virtual circuits for receiving said
`multicast setup packet, each of said elements
`providing a best route for said multicast setup
`packet to at least one of the group of destina-
`tion nodes.
`
`The method of Claim 1 wherein said step of
`allocating comprises the stepsof:
`forwarding said multicast setup packet to a
`first allocated switch of said multicast virtual
`circuits, said first allocated switch being asso-
`ciated with the source node and said packet
`being received at an incoming port of said first
`allocated switch;
`selecting at least one outgoing port of said
`first allocated switch for transfer of said mul-
`
`ticast packet, each of the selected outgoing
`ports providing a best route to at least one of
`the group of destination nodes;
`generating at least one copy of said mul-
`ticast packet for each of the selected outgoing
`ports; and
`transferring each copy of said multicast
`packet through each of the selected outgoing
`ports to one of a subsequent allocated switch
`and the at least one of the group of destination
`nodes.
`
`The method of Claim 2 wherein said step of
`allocating further comprises the step of:
`generating entries of a forwarding table
`located within said first allocated switch, said
`entries containing routing information pertain-
`ing to the incoming port associated with the
`source node and the selected outgoing ports
`associated with the group of destination nodes
`contained within said destination field of said
`
`multicast setup packet,
`whereby only said selected switches of
`said multicast virtual circuits need maintain
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`routing information relating to the destination
`nodesin said forwarding table.
`
`The method of Claim 3 wherein said step of
`generating at least one copy of said multicast
`packet further comprises the steps of:
`updating said virtual circuit field of each
`copy of said multicast setup packet to contain
`a virtual circuit value associated with each se-
`
`,
`lected outgoing port; and
`updating said destination field of each
`copy of sald multicast setup packet to contain
`only those destination nodes
`receiving the
`copy of said packet.
`
`The method of Claim 4 wherein said step of
`generating entries further comprises the step
`of marking said virtual circuit value as originat-
`ing from the source node.
`
`The method of Claim 5 wherein said step of
`selecting comprises the steps of:
`is allo-
`determining if the incoming port
`cated to an open multicast virtual circuit having
`a multicast
`identifier value that matches said
`
`unique multicast identifier value stored in said
`multicast setup packet.
`
`The method of Claim 6 wherein said step of
`selecting further comprises the steps of,
`if the
`incoming port is not allocated to an open mul-

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