throbber
Ulllted States Patent [19]
`Garmire et al.
`
`US006122277A
`[11] Patent Number:
`[45] Date of Patent:
`
`6,122,277
`Sep. 19, 2000
`
`[54] PARALLEL COMPUTER NETWORK
`BROADCASTING AND
`ACKNOWLEDGEMENT
`
`5,245,609
`5,379,295
`5,404,565
`5,410,300
`
`9/1993 Ofek et al. ............................ .. 370/235
`1/1995 Yonehara
`.. 370/400
`4/1995 Gould et al. .
`709/237
`4/1995 Gould et al. ..................... .. 340/82579
`
`
`
`Inventors: Derrick Garmire; Donald GI Grice, both of Kingston NY_ Tim Zhang
`
`
`
`McAuley .............................. .. 5,478,662 12/1995 Strasser ..... ..
`
`429/13
`
`,
`SPnng> TeX-
`
`’
`
`' "
`
`’
`
`5,673,252
`5,764,895
`
`9/1997 Johnson et al
`6/1998 Chung ....... ..
`
`370/449
`709/250
`
`_
`_
`_
`_
`[73] Asslgneei Internatlollal Busllless Machllles
`Corporation, Armonk, NY.
`
`[21] Appl. No.: 08/920,348
`.
`_
`Filed.
`
`Aug. 19, 1997
`
`[22]
`
`.
`
`7
`
`Int. Cl. ........................... .. H04L 12/28, H04L 12/56
`[51]
`[52] US. Cl. ........................................... .. 370/390; 709/223
`[58] Field of Search ................................... .. 370/235, 389,
`370/223, 390, 400, 401, 402, 403, 404,
`474, 406, 328, 449; 709/223, 250; 345/502;
`714/748
`
`[56]
`
`References Cited
`
`US‘ PATENT DOCUMENTS
`4,707,827 11/1987 Bione et al. .......................... .. 370/405
`4,908,828
`3/1990 Tikalsky
`714/822
`370/400
`5,056,085 10/1991 V11 --------------- -
`5JOSSJO91
`2/1992 Schroeder et a1
`370/406
`571097384
`4/1992 Tsf’eng """" "
`714/748
`5,117,420
`5/1992 HllllS et al.
`370/400
`5,181,017
`1/1993 Frey, Jr. et al. .... ..
`709/239
`5,216,675
`6/1993 Melliar-Smith et al.
`714/748
`5,241,625
`8/1993 Epard et al. .......................... .. 345/502
`
`5,857,075
`6,049,533
`
`1/1999 Chung
`.. 709/223
`4/2000 Norman et al. ....................... .. 370/328
`
`Primary Examiner—Hassan KiZou
`Assistant Examiner—John PeZZlo
`Attorney, Agent, or Firm—Floyd A. Gonzalez, Esq.; Heslin
`& Rothenberg, RC‘
`
`[57]
`
`ABSTRACT
`
`Received portion of message is stored persistently and
`transmitted without awaiting receipt of another portion of
`the message and without generating a new message. The
`storing and transmitting can occur substantially simulta
`neously and be performed by one or more hardware ele
`ments. Originator of the message can choose whether to
`indicate indication of broadcasting of the message. First
`hardware element can determine local acknowledgement for
`message and second hardware element can determine deter
`minative signal of the local acknowledgement and at least
`one of: one or more collected intended recipient acknowl
`edgements for the message; and one or more collected
`determinative signals of intended recipient acknowledge
`ments for the messa 6
`g '
`
`13 Claims, 5 Drawing Sheets
`
`100
`
`101A'-\~
`
`NUDE
`
`12OA'-\_
`
`114A
`
`102A'_-— ROUTING MECHANISM
`
`116A\
`
`116B\_-
`
`1
`l
`l
`102B—~ 1201mm; MECHANISM
`
`114B——>
`
`120B
`
`101B~~
`
`NUDE
`
`IPR2016-00726
`ACTIVISION, EA, TAKE-TWO,
`2K, ROCKSTAR
`Ex. 1029, p. 1 of 14
`
`

`
`U.S. Patent
`
`Sep. 19,2000
`
`Sheet 1 015
`
`6,122,277
`
`NODE
`
`108
`)
`
`106
`
`H,”
`FIG. 1A
`F _________________________ __/____
`H
`a
`|
`|
`:
`l
`l
`:
`I
`f
`:
`:
`MEMORY
`i
`|
`:
`g
`EUNTRULLER
`
`i i
`
`‘ l
`4-114 I
`
`179
`
`104
`
`PROCESSOR
`
`120»
`
`L ____________________ __ ____ _____ __|
`
`/
`
`100
`
`TING
`1528M
`\
`
`i
`
`nnossm swncu
`
`110
`/ / _/112
`
`commune
`‘
`f
`?
`Q
`i
`
`i
`
`1
`
`<-——116
`
`1
`
`+
`
`MESSAGE
`
`12\2\
`
`124
`
`‘
`HEADER
`
`1126
`
`ENDI-DF-
`R TE
`AL
`
`128
`
`‘
`um
`
`130
`
`132
`
`‘
`cum
`VALUE
`
`END'-0F
`ES AGE
`AL
`
`FIG. 2
`
`IPR2016-00726
`ACTIVISION, EA, TAKE-TWO,
`2K, ROCKSTAR
`Ex. 1029, p. 2 of 14
`
`

`
`6,122,277
`100
`
`/
`
`114A
`
`U.S. Patent
`
`Sep. 19, 2000
`
`Sheet 2 0f 5
`
`101A-\ _
`
`NUDE
`
`102A—_ —
`
`ROUTING MECHANISM
`
`116A‘
`
`N
`
`l
`116B\__.
`
`k
`
`I
`
`l
`
`k
`
`102B—~ noumm MECHANISM
`
`114B—-»
`
`120B
`
`1 01B‘ —-
`
`NUDE
`
`FIG. 1B
`
`IPR2016-00726
`ACTIVISION, EA, TAKE-TWO,
`2K, ROCKSTAR
`Ex. 1029, p. 3 of 14
`
`

`
`U.S. Patent
`
`Sep. 19, 2000
`
`Sheet 3 0f 5
`
`6,122,277
`
`@
`I
`
`300‘
`
`CONTROLLER I12 RECEIVES HEADER 124 AND ALLOCATES ONE
`OR MORE COMMUNICATION LINKS I16
`
`I
`
`301
`
`IS END-OF-ROUTE
`SICNAL T26 AN END OF BROADCAST CHARACTER
`
`II
`
`302
`
`CONTROLLER IIZ ALLOCATES
`~ ONEMEMORY LINKTI4
`
`I
`PORTION OF DATA 128 IS TRANSMITTED OVER
`ANY AND ALL OF THE LINKS T14, T16 THAT _
`HAVE BEEN ALLOCATED ABOVE
`
`END-OF-MESSAOE SIGNAL I32
`
`306
`
`Y!
`EMPLOY CHECK VALUE 130 TO EVALUATE
`CORRECTNESS OF RECEIVED DATA I28
`
`--- 308
`
`@
`
`FIG. 3
`
`IPR2016-00726
`ACTIVISION, EA, TAKE-TWO,
`2K, ROCKSTAR
`Ex. 1029, p. 4 of 14
`
`

`
`U.S. Patent
`
`Sep. 19, 2000
`
`Sheet 4 0f5
`
`6,122,277
`
`@
`
`400—--
`
`CONTROLLER IOO KNOWS MESSAGE I22 HAS BEEN
`OORRECTLY RECEIVED INTO MEMORY 106
`
`I V
`IS
`END 0r ROUTE
`30000122 AN END-OF-BROADBASI
`
`_
`
`_
`
`402
`
`406
`
`N
`
`)
`CUNTROLLER ‘"8 RETURNS
`000K0P 00000000
`
`\
`
`Y i
`Y
`000020050 100 RETURNS
`404*“ 050000-0000 00000000
`
`"
`
`FIG. 4
`
`IPR2016-00726
`ACTIVISION, EA, TAKE-TWO,
`2K, ROCKSTAR
`Ex. 1029, p. 5 of 14
`
`

`
`U.S. Patent
`
`Sep. 19,2000
`
`Sheet 5 0f5
`
`6,122,277
`
`@ T
`
`CONTROLLER H2 KNUWS MESSAGE T22 HAS BEEN
`CCRRECTLY RECEIVED INTO MEMORY TUB
`
`T
`
`502
`
`IS
`END-UF-RCUTE
`SIGNAL T22 AN END-UF-BRUADCAST
`CHARACTER
`
`506
`i
`CDNTRULLER‘TTZ RETURNS
`LUCKUP CHARACTER
`
`N
`
`commune 112 RETURNS
`504*‘ BCLOSEO CHARACTER —"
`
`FIG. 5
`
`IPR2016-00726
`ACTIVISION, EA, TAKE-TWO,
`2K, ROCKSTAR
`Ex. 1029, p. 6 of 14
`
`

`
`1
`PARALLEL COMPUTER NETWORK
`BROADCASTING AND
`ACKNOWLEDGEMENT
`
`TECHNICAL FIELD
`This invention relates, in general, to parallel computer
`network communication and, in particular, to broadcasting
`and acknowledgement of a message in a parallel computer
`netWork.
`
`BACKGROUND ART
`
`Aparallel computer netWork often encompasses commu
`nication among a number of nodes. One eXample of a
`parallel computer netWork is a multiple instruction streams,
`multiple data streams (“MIMD”) computer. Each node usu
`ally has a processor coupled to a memory. Typically, the
`nodes operate independently and interact With each other by
`sending and receiving messages or blocks of data.
`Practicability dictates every node cannot have a dedicated
`link to the thousands of other nodes in a large parallel
`computer netWork or system. Rather, the system usually
`interconnects the nodes in a regular topology or structure,
`such as a ring, tree, or multi-dimensional mesh or torus.
`Generally, each node has a direct link to only a feW of its
`neighboring nodes. Data communication betWeen nodes
`Without direct links utiliZes intermediate nodes.
`Anode that originates a message can address the message
`to a single recipient or to multiple recipients. Namely, an
`individual-addressee message has a single intended recipi
`ent. Further, When the originating node intends to send
`particular data to a number of other nodes, the originator can
`send a broadcast message, rather than send separate
`individual-addressee messages to each of the nodes.
`Moreover, a broadcast message can be selective (so it has
`speci?c, multiple intended recipients) or be netWork-Wide.
`In one knoWn individual-addressee communication
`design, a routing mechanism associated With each node
`interfaces that node With the computer netWork.
`Furthermore, a routing mechanism (associated With an inter
`mediate node) both receives data from a preceding routing
`mechanism and also transmits the data to another routing
`mechanism in a byte-by-byte fashion. Moreover, an inter
`mediate routing mechanism relays an acknoWledgement
`from a subsequent routing mechanism to a preceding routing
`mechanism Without taking any action. Such a design is
`disclosed in US. Pat. No. 5,181,017 to Frey, Jr. et al.
`(entitled “Adaptive Routing in a Parallel Computing
`System,” issued Jan. 19, 1993, and assigned to International
`Business Machines Corporation), Which is hereby incorpo
`rated herein by reference in its entirety. A shortcoming of
`this design, hoWever, is the inability of any routing mecha
`nism to transmit a portion of, for instance, a broadcast
`message to another node before storing the entire message in
`memory of a local node. A further shortcoming is the
`inability of an intermediate routing mechanism to take any
`action concerning acknoWledgement of a message, for
`instance, during broadcasting.
`During one common type of broadcasting, the originator
`serially sends its broadcast message to its linked set of
`nodes. NeXt, after receiving the entire message, each node of
`the set runs softWare to process and store the broadcast data.
`Then, each of these nodes serially sends out to its linked
`nodes in the netWork a neW message containing the broad
`cast data. Eventually, all the nodes contain a copy of the
`serially processed-stored-forWarded data. A shortcoming of
`this arrangement is the inability of an intermediate node to
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`6,122,277
`
`2
`transmit any of the data to another node before receipt of the
`entire message. A further shortcoming is the inability of the
`intermediate node to communicate received data Without
`generating a neW message. Another shortcoming is the
`inability of the intermediate node to store any portion of the
`data in its local node memory and transmit the portion to
`another node on a portion-by-portion basis.
`In another knoWn con?guration, a routing mechanism (in
`a netWork in Which nodes and routing mechanisms are
`associated one-for-one) collects subsequent intended recipi
`ent acknoWledgement information for an individual
`addressee node message and returns the status to a preceding
`routing mechanism (toWard the originator). Such a design is
`disclosed in US. Pat. No. 5,404,565 to Gould et al. (entitled
`“Message Tracking in a Parallel NetWork Employing a
`Status Word at Each Node Which Re?ects a Message’s
`Progress,” issued Apr. 4, 1995, and assigned to International
`Business Machines Corporation), Which is hereby incorpo
`rated herein by reference in its entirety. A shortcoming of
`this con?guration is the inability of the routing mechanism
`to return to a preceding routing mechanism a status of
`Whether a broadcast message has been received by its local
`associated node in addition to a number of other nodes.
`Another shortcoming is the inability of an intermediate
`routing mechanism to transmit any of the data to another
`routing mechanism before receipt of the entire message. An
`additional shortcoming is the inability of any routing mecha
`nism to substantially simultaneously store in its local node
`and transmit to another routing mechanism a received por
`tion of a broadcast message.
`Thus, a need exists for a capability that provides storing
`of data of a message in memory of a local node and
`transmitting of the data toWard another node before receipt
`of the entire message. An additional need eXists for a
`technique that alloWs transmission of received broadcast
`data toWard another node Without generating a neW mes
`sage. A further need eXists for a capability that provides
`transmission of a portion of a broadcast message to another
`node before storing the entire message in memory of a local
`node. Another need exists for a technique that alloWs inter
`mediate routing mechanism action concerning acknoWl
`edgement of a broadcast message. A still further need eXists
`for a capability that provides return by one routing mecha
`nism to its preceding routing mechanism of a status Whether
`a broadcast message has been received by its local associ
`ated node in addition to a number of other nodes.
`
`SUMMARY OF THE INVENTION
`The shortcomings of the prior art are overcome and
`additional advantages provided through the provision of a
`messaging capability in Which a received portion of a
`message is stored persistently and transmitted Without aWait
`ing receipt of another portion of the message. The storing
`and transmitting of the received portion of the message can
`occur substantially simultaneously. Also, one or more hard
`Ware elements can perform the storing and transmitting.
`Additionally, the storing of the received portion can occur
`in response to an indication of broadcasting of the message.
`An originator of the message can choose Whether to indicate
`the indication of broadcasting. For eXample, the originator
`can insert the indication into the message.
`The persistent storing of the received portion of the
`message can occur in local memory. Further, a routing
`mechanism can perform the transmitting of the received
`portion.
`The transmitting of the received portion can occur on one
`or more paths toWard one or more intended recipients. Also,
`
`IPR2016-00726
`ACTIVISION, EA, TAKE-TWO,
`2K, ROCKSTAR
`Ex. 1029, p. 7 of 14
`
`

`
`3
`the transmitting can occur in response to routing information
`for the message.
`In another embodiment of the present invention, a
`received portion of the message is stored and transmitted
`without generating a new message.
`In another aspect of the invention, a ?rst hardware ele
`ment determines a local acknowledgement for a message.
`Also, a second hardware element determines a determinative
`signal of the local acknowledgement and at least one of: one
`or more collected intended recipient acknowledgements for
`the message; and one or more collected determinative sig
`nals of intended recipient acknowledgements for the mes
`sage.
`The determining of the local acknowledgement can occur
`according to whether an indication of broadcasting appears
`for the message. Further, the determining of the determina
`tive signal can occur according to whether the indication
`appears for the message.
`The second hardware element can transmit the determined
`determinative signal on a path toward an originator of the
`message. Moreover, the ?rst hardware element can be a
`controller of local memory. Further, the second hardware
`element can be a controller of a routing mechanism.
`Alternatively, the ?rst hardware element and the second
`hardware element can be the same hardware element.
`In yet another aspect of the present invention, a hardware
`element determines a determinative acknowledgement sig
`nal for a subset of a plurality of intended recipients for a
`message broadcast from an originator. Further, the hardware
`element transmits the determinative acknowledgement sig
`nal on a path toward the originator.
`The present invention advantageously provides a message
`broadcast capability where data of a message can be stored
`in memory of a local node and transmitted toward another
`node before receipt of the entire message. Additionally, the
`technique of the present invention allows transmission of a
`portion of a broadcast message toward another node before
`storage of the entire message in memory of a local node.
`Furthermore, the present invention provides storage in local
`node memory of a portion of a broadcast message and
`transmission of the same toward another node without
`generating a new message. Also, the technique of the present
`invention allows a received portion of a broadcast message
`to be substantially simultaneously stored in the memory of
`the local node and transmitted toward another node.
`Moreover, the present invention provides an acknowledge
`ment determination capability where an intermediate routing
`mechanism can act concerning acknowledgement for a
`broadcast message. Moreover, the technique of the present
`invention allows a given routing mechanism to return a
`status to a preceding routing mechanism whether a broadcast
`message has been received by its local associated node in
`addition to a number of other nodes.
`Additional features and advantages are realiZed through
`the techniques of the present invention. Other embodiments
`and aspects of the invention are described in detail herein
`and are considered a part of the claimed invention.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`The subject matter which is regarded as the invention is
`particularly pointed out and distinctly claimed in the claims
`at the conclusion of the speci?cation. The foregoing and
`other objects, features, and advantages of the invention will
`be apparent from the following detailed description taken in
`conjunction with the accompanying drawings in which:
`FIG. 1A depicts one eXample of a node and its associated
`routing mechanism suited for use in numerous embodiments
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`6,122,277
`
`4
`of, for instance, four-dimensional mesh or torus topologies
`for various computer systems or networks incorporating and
`using the broadcast and acknowledgement capabilities of the
`present invention;
`FIG. 1B depicts one eXample of multiple occurrences of
`the node and its associated routing mechanism of FIG. 1A
`and interconnections between the same, in accordance with
`the principles of the present invention;
`FIG. 2 represents one eXample of a message arranged in
`accordance with an exemplary protocol used by the node
`and its associated routing mechanism of FIG. 1A;
`FIG. 3 depicts one embodiment of the logic used by a
`controller of the routing mechanism of FIG. 1A to achieve
`progression and appropriate propagation of a message, in
`accordance with the principles of the present invention;
`FIG. 4 depicts one embodiment of the logic used by a
`memory controller of a local node to accomplish acknowl
`edgement for a broadcast message to the routing mechanism
`of FIG. 1A, in accordance with the principles of the present
`invention; and
`FIG. 5 depicts one embodiment of the logic used by the
`controller of the routing mechanism of FIG. 1A to accom
`plish acknowledgement for a broadcast message along a
`path toward an originator, in accordance with the principles
`of the present invention.
`
`BEST MODE FOR CARRYING OUT THE
`INVENTION
`In accordance with the principles of the present invention,
`a message broadcast capability is provided in which data of
`a message can be stored in memory of a local node and
`transmitted toward another node before receipt of the entire
`message. Also, a portion of a broadcast message can be
`transmitted toward another node before storing the entire
`message in memory of a local node. Additionally, a portion
`of a broadcast message can be stored in local node memory
`and transmitted toward another node without generating a
`new message. Furthermore, a received portion of a broadcast
`message can be substantially simultaneously stored in the
`memory of the local node and transmitted toward another
`node. Also, an acknowledgement determination capability
`provides action by an intermediate routing mechanism con
`cerning acknowledgement for a broadcast message.
`Moreover, a given routing mechanism can return a status to
`a preceding routing mechanism whether a broadcast mes
`sage has been received by its local associated node in
`addition to a number of other nodes, as described herein.
`One eXample of a node and its associated routing mecha
`nism suited for use in numerous embodiments of a computer
`system or network incorporating and using the broadcast and
`acknowledgement capabilities of the present invention is
`depicted in FIG. 1A and described in detail herein.
`In one embodiment, a computer system 100 includes a
`node 101 coupled to a routing mechanism 102. The node has
`a processor 104 coupled to a memory 106. The memory
`interfaces with the processor and the routing mechanism
`through its memory controller 108. The routing mechanism
`has a crossbar switch 110 coupled to a routing mechanism
`controller 112, which individually interfaces the routing
`mechanism with both the processor and also the memory
`controller.
`In one eXample, each of controllers 108 and 112 is
`implemented using ?nite-state machines, by techniques
`which are well-known in the art. Preferably the controllers
`108 and 112 are hardware elements. For instance, controllers
`108 and 112 could be embodied as the same hardware
`element.
`
`IPR2016-00726
`ACTIVISION, EA, TAKE-TWO,
`2K, ROCKSTAR
`Ex. 1029, p. 8 of 14
`
`

`
`6,122,277
`
`5
`Further, routing mechanism 102 can be, for instance, a
`switch chip hardware element. In one preferred
`embodiment, crossbar sWitch 110 of the routing mechanism
`includes a distributed crossbar sWitching array, as disclosed
`in US. Pat. No. 5,410,300 to Gould et al. (entitled “Dis
`tributed Crossbar SWitch Architecture,” issued Apr. 25,
`1995, and assigned to International Business Machines
`Corporation), Which is hereby incorporated herein by refer
`ence in its entirety.
`As depicted in FIG. 1A, one or more bidirectional
`memory links 114 interconnect memory controller 108 and
`routing mechanism 102. In particular, each memory link
`could service a separate message communication request to
`an individual node 101. Further, one or more bidirectional
`communication links 116 interface the routing mechanism
`With the remainder of the computer netWork. These concepts
`are further described in the above-referenced and incorpo
`rated U.S. Pat. No. 5,181,017.
`A bus 118 (e.g., any selected number of Wires) can
`interconnect processor 104 and memory controller 108.
`Additionally, a bus 120 can interconnect the node processor
`and its associated controller 112 of routing mechanism 102.
`Buses 118, 120 are each siZed appropriately for communi
`cation of electrical signal information. As is Well-knoWn in
`the art, an implementation of a given computer system can
`use multiple parts of a given bus as though the parts
`constituted separate buses.
`For multi-dimensional torus topologies, a given netWork
`node 101 is associated With tWo communication links 116
`for each dimension of the torus, as is Well-knoWn in the art
`and further described in the above-referenced and incorpo
`rated U.S. Pat. No. 5,181,017. For exemplary purposes, FIG.
`1A illustrates eight communication links 116 associated With
`the node for use in one preferred embodiment of a four
`dimensional torus topology. of course, one could easily
`employ the node in the interior of a four-dimensional mesh
`topology (Which has just as many connections as any
`arbitrary node in the four-dimensional torus topology).
`Those skilled in the art commonly distinguish mesh and
`torus topologies on the basis of the torus topology having,
`and the mesh topology lacking, Wraparound connections
`betWeen the nodes at its “ends.” Naturally, one could easily
`employ in any position in the netWork a node having an
`overabundance of communication links for that position
`simply by leaving the excess communication links uncon
`nected in the netWork. Furthermore, one can practice the
`present invention With netWork topologies exhibiting sym
`metry or appropriate degrees of asymmetry, as desired.
`FIG. 1B depicts one example of multiple nodes 101A,
`101B coupled to one another by their respective routing
`mechanisms 102A, 102B. In particular, each communication
`link 116A of a given routing mechanism 102A can be
`connected to another communication link 116B of different
`routing mechanism 102B. As Will be comprehended by
`those skilled in the art, the remaining seven links 116A and
`remaining seven links 116B (depicted in FIG. 1B for exem
`plary connectability in four-dimensional mesh or torus
`topologies) are each individually connected to one commu
`nication link on a unique routing mechanism associated With
`a distinct node, in one preferred embodiment.
`Preferably, each communication link (e.g., 116A or 116B)
`includes a “receiver-transmitter” pair. Also, each memory
`link (e.g., 114A or 114B) includes an “injector-extractor”
`pair. The “injector” is a special receiver that receives a
`portion of message 122 from local node 101. In contrast, the
`“receiver” receives a portion of the message from another
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`55
`
`60
`
`65
`
`6
`routing mechanism 102. Furthermore, the “extractor” is a
`special transmitter that sends a portion of the message to the
`local node. Moreover, the “transmitter” sends a portion of
`the message to another routing mechanism.
`Returning to FIG. 1A, crossbar sWitch 110 alloWs one
`to-many connections, in accordance With their availability.
`For instance, the crossbar sWitch permits connections from
`a “receiver” or “injector” to a number of the “transmitters”
`and/or the “extractor.” These concepts are further described
`in the above-referenced and incorporated US. Pat. No.
`5,181,017 and US. Pat. No. 5,410,300.
`FIG. 2 represents an exemplary illustration of a commu
`nication vehicle for one example of a netWork protocol for
`information transfer. The nodes 101 (FIG. 1A) communicate
`among each other in the netWork by sending and receiving
`packets or messages 122. In one embodiment, the message
`includes a header 124, an end-of-route signal 126, data 128,
`a check value 130, and an end-of-message signal 132, each
`of Which is described herein. Typically, header 124 contains
`routing information, as described herein. In one broadcast
`example of the present invention, end-of-route signal 126 is
`a broadcast signal, descriptively named an “end-of
`broadcast” signal because it assumes the position of the
`end-of-route signal at the end of the header. Data 128
`constitute information the originator Wishes to communicate
`to one or more other nodes. Check value 130 can represent,
`for example, a cyclic redundancy check or any other error
`detection and/or correction scheme Well-knoWn to those
`skilled in the art. End-of-message signal 132 indicates the
`conclusion of the message. Further details of many of the
`components of the message (plus implementation of the
`end-of-message signal as a separate control Wire command)
`are described in the above-referenced and incorporated US.
`Pat. No. 5,181,017.
`In one preferred embodiment, components 124, 126, 128,
`130, and 132 of each message 122 are siZed to have easily
`manageable lengths, such as integral numbers of eight bit
`bytes. Furthermore, transmission of the message preferably
`proceeds in byte-siZe portions from the left-hand side to the
`right-hand side of FIG. 2. In one alternative embodiment, the
`transmitted portions could easily be of any desired siZe.
`In one example, each of links 114, 116 (FIG. 1A) include
`an eight Wire bus for parallel communication of succeeding
`eight bit bytes of message 122. Alternatively, the links could
`easily include a bus of integer times eight Width, or multiple
`eight bit byte buses, for parallel transmission of succeeding
`blocks of multiple bytes (e.g., Words) of the message.
`As represented in FIGS. 1A—2, nodes 101 With associated
`routing mechanisms 102 of the present invention can advan
`tageously choose to send a ?ooding broadcast message, a
`selective broadcast message, or an individual-addressee
`message, as described herein. For instance, When processor
`104 of a given originator node 101 Wishes to send message
`122 to multiple connected nodes, it inserts an end-of
`broadcast character in the position of end-of-route signal
`126, in accordance With the present invention. In particular,
`the end-of-broadcast character inserted in the position of
`end-of-route signal 126 directs each routing mechanism 102
`to allocate one memory link 114, as described in the dis
`cussion of FIG. 3 herein.
`In one preferred embodiment of a ?ooding broadcast,
`processor 104 of originator 101 further inserts in header 124
`of message 122 routing information that causes controller
`112 of routing mechanism 102 to attempt allocating all of its
`communication links 116. The details of insertion and use of
`routing information in the header are described in the
`
`IPR2016-00726
`ACTIVISION, EA, TAKE-TWO,
`2K, ROCKSTAR
`Ex. 1029, p. 9 of 14
`
`

`
`6,122,277
`
`7
`above-referenced and incorporated US. Pat. No. 5,181,017.
`Thereafter, each received portion of the message can be
`stored in local memory 106 and transmitted toWard the
`routing mechanisms of the other intended recipient nodes, as
`described herein.
`In accordance With the present invention, each routing
`mechanism 102 can persistently store a portion of broadcast
`message 122 in its local node 101 and transmit the same
`toWard other nodes Without aWaiting receipt of another
`portion of the message, as described herein. In one eXample,
`each of multiple desired portions of the message is Written
`to its oWn assigned address space upon receipt. So, a
`previously received portion is not overWritten by a subse
`quently received portion (even though broadcasting of the
`message occurs on a portion-by-portion basis). Upon
`completion of a successful broadcast netWork-Wide, a copy
`of all of the desired portions of the message advantageously
`eXists in memory 106 of each local node. In accordance With
`the present invention, all desired portions of the message
`remain in local memory for use by its local node. In
`particular, the local node has use of a “persistent” copy (e.g.,
`in its local memory) of each and every portion of, for
`instance, data 128 (e.g., after memory controller 108 has
`checked and discarded check value 130). Of course, the
`local node can thereafter do With the stored portions as it
`sees ?t, including delete all those portions from its local
`memory. The key is the local node has at its disposal all of
`the desired portions. “Persistent” storing indicates no
`desired portion of the message is overWritten or otherWise
`deleted from the local memory in order to receive any other
`such portion. That is, no deletion takes place independent
`from the Wishes of the local node.
`Further in accordance With the present invention, each
`routing mechanism 102 can advantageously store informa
`tion from broadcast message 122 in its local node 101 and
`transmit the same toWard other nodes before receiving the
`entire message and Without generating a neW message. For
`eXample, once the broadcast paths are opened, no interme
`diate node assembles a neW header 124 for continued
`storage and propagation of each received portion of the
`broadcast message. Further, no intermediate node accumu
`lates portions of the original broadcast message in order to
`assemble a neW message for continuation of the broadcast.
`Therefore, each node processor 104 need only concern itself
`With its oWn delivered portions of the broadcast message.
`After the originator presents the broadcast message to the
`netWork, the routing mechanisms desirably handle progres
`sion and propagation of the broadcast information Without
`requiring attention from other node processors, as described
`herein. This advantageously yields decreased processor
`resource use cost and increased broadcast message netWork
`transmission speed.
`In another aspect of the present invention, originator 101
`achieves selective broadcasting of message 122 by including
`routing information in header 124 that corresponds to only
`selected destination nodes. The end-of-broadcast character
`inserted in the position of end-of-route signal 126 still
`directs each routing mechanism 102 to allocate one memory
`link 114 in addition to communication links 116 allocated
`according to the routing information in the header.
`In one alternative embodiment of the present invention,
`the end-of-broadcast character easily could direct controller
`112 of routing mechanism 102 to allocate not only the one
`memory link 114 (as above), but also each and every one of
`communication links 116. Namely, the end-of-broadcast
`character in the position of end-of-route signal 126 easily
`could further direct allocation of any and all communication
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`links that had not yet been allocated by any routing infor
`mation that may appear in header 124. In fact, this ?ooding
`broadcast could then omit the header. So, originator 101
`Would not need to insert routing information in the form of
`the header in order to send a ?ooding broadcast message
`because the interpretation of the end-of-broadcast character
`in this implementation Would effect a request for allocation
`of all links 114, 116 on each routing mechanism it encoun
`ters. Then, the end-of-broadcast character could appear at
`the leading edge of message 122, or at least further
`theretoWard, in order to achieve incrementally faster broad
`casting netWork-Wide.
`FIGS. 3—5 represent reaction by each of controllers 108,
`112 to the end-of-broadcast character having been inserted
`for end-of-route signal 126 in order to accomplish a broad
`cast.
`As represented in FIG. 3 for progression of message 122
`along a forWard path (a path in the netWork from originator
`node 101 toWard one or more intended recipient nodes), at
`STEP 300 controller 112 of routing mechanism 102 receives
`message header 124 and consequently attempts to allocate
`one or more communication links 116, as described herein.
`In accordance With

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