throbber
Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 1 of 351 PageID #: 40333
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 1 of 351 PagelD #: 40333
`
`(cid:40)(cid:59)(cid:43)(cid:44)(cid:37)(cid:44)(cid:55)(cid:3)(cid:20)(cid:19)(cid:21)
`A 2H S SSAC SSLARBE A IL
`
`
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 2 of 351 PageID #: 40334
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 2 of 351 PagelD #: 40334
`
`az United States Patent
`Holt et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 6,701,344 B1
`*Mar. 2, 2004
`
`US006701344B1
`
`(64) DISTRIBUTED GAME ENVIRONMENT
`
`(75)
`
`Inventors: Fred B. Holt, Seattle, WA (US); Virgil
`E. Bourassa, Bellevue, WA (US)
`(73) Assignee: us) Company, Seattle, WA
`(*) Notice:
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 417 days.
`
`This patent is subject to a terminal dis-
`elaimer.
`
`(21) Appl. No.: 09/629,042
`(22) Filed:
`Jul. 31, 2000
`
`
`(51)
`
`Int. Cl’...
`
`.
`sreeneeenees GO6F 15/16
`(82) ULS. Ch oe 709/204; 709/205; 709/203;
`709/243, 463/42
`
`5,734,865 A
`3/1998 Yu
`5,737,526 A
`4/1998 Periasamyet al.
`3,754,830 A
`5/1998 Butts ef al.
`5,761,425 A
`6/1998 Miller
`5,764,756 A
`6/1998 Onweller
`(List continued on next page.)
`OTHER PUBLICATIONS
`
`PR Newswire, “Microsoft Boosts Accessibility to Internet
`Gaming Zone with Latest Release,” Apr. 27, 1998, pp. LE.*
`PR Newswire, “Microsoft Announces Launch Date for
`UltraCorps, Tis Second Premium Title for the Internet Gam-
`ing Zone,” Ma 27, 1998, pp. LIE*
`Business Wire, “Boeing and Panthesis Complete SWAN
`Transaction,” Jul. 22, 2002, pp. HE.*
`(List continued on next page.)
`Primary Examiner—Dung C. Dinh
`Assistant Examiner—Bradley Edelman
`(7A) Attorney, Agent, ar Firm—Perkins Coie LLP
`(57)
`ABSTRACT
`
`Abroadcast technique in which a broadcast channel overlays
`a point-to-point communications network is provided. The
`broadcasting of a message over the broadcast. channel is
`effectively a multicast to those computers of the network that
`are currently connected to the broadcast channel. In one
`embodiment,
`the broadcast
`technique provides a logical
`broadcast channel to which host computers through their
`executing processes can be connected. Each computerthat is
`connected to the broadcast channel can broadcast messages
`onto and receive messages off of
`the broadcast channel.
`Each computer that is connected to the broadcast channel
`receives all messages that are broadcast while it is con-
`nected. The logical broadcast channel is implemented using
`an underlying network system(e¢.g., the Internet) that allows
`each computer connectedto the underlying network system
`to send messages to each other connected computer using
`each computer's address. Thus,
`the broadcast
`technique
`effectively provides a broadcast channel using anunderlying
`network system that sends messages on a point-to-point
`basis.
`
`19 Claims, 39 Drawing Sheets
`
`(58) Field of Search 0.0.0... 709/204, 205,
`709/227, 243, 203; 463/40, 42
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`oyoot we etal.
`soscons ‘
`*
`
`tne
`y
`weg
`ane
`ee ‘ * 099 pour tals ~ yous
`
`5/{992 Hauptscheinet al.
`....... 370/255
`5.117.422 A *
`5,309,437 A
`5/1994 Perlmanetal.
`
`5,426,637 A
`6/1995 Derbyetal.
`
`§,459,725 A * 10/1995 Bodner et al. 0...
`. 370/390
`5,471,623 A * W/1995 Napolitano, Je... 709/243
`5,535,199 A
`7/1996 Amatietal.
`oe A 0joss Sithon et al.
`5.644.714 A * T1997 Kikinis ccccccccecsccccccee 700/219
`5.673.265 A
`9/1997 Guptaet al.
`5,696,903 A
`12/1997 Mahany
`5,732,074 A
`3/1998 Spaur et al.
`5,732,086 A *
`3/1998 Liang etal... 370/410
`8,732,219 A
`3/1998 Blumeret al.
`
`
`
`Distribute
`broadcast message
`
`message
`from neighbor
`
`
`
`
`
`
`
`All neighbor
`selected
`
`2403
`
`Send internal
`message
`
`AB-AB 000001
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 3 of 351 PageID #: 40335
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 3 of 351 PagelD #: 40335
`
`US 6,701,344 BI
`Page 2
`
`
`
`U.S. PATENT DOCUMENTS
`
`8/1998 Sistanizadchetal.
`5,790,548 A
`8/1998 Deaton, Jr. et al.
`5,790,353 A
`8/1998 Onweller
`5,799,016 A
`9/1998 Hirviniemi
`5,802,285 A
`5,850,592 A * 12/1998 Ramanathan...4535/7
`5,864,711 A
`1/1909 Mairs et al.
`5,867,660 A
`2/1999 Schmidt et al.
`5,867,667 A
`2/1999 Butman etal,
`5,870,505 A
`2/1999 Brachoet al.
`5,874,060 A
`2/1999 Mairs etal.
`5,899,980 A
`5/1999 Wilf et al.
`§,907,610 A
`5/1999 Onweller
`
`5,925,097 A *
`7/1999 Gopinath et al. 0.40... 709/200
`$928,335 A
`7/1999 Morita
`5,935,218 A
`8/1999 Bell et al.
`5,948,054 A
`4/1999 Nielsen
`5,949,975 A
`9/1999 Batty etal.
`5,956,484 A
`9/1999 Rosenberg etal.
`5,970,232 A * 10/1999 Passint et al. 709/238
`5,974,043 A
`10/1999 Solomon
`5,987,506 A
`11/1999 Carteret al.
`6,003,088 A
`12/1999 Houston et al.
`6,013,107 A
`1/2000 Blackshear et al.
`6,023,734 A
`2/2000 Ratcliff et al.
`6,029,171 A
`2/2000 Smiga et al,
`6,032,188 A
`2/2000 Mairs et al.
`6,038,602 A
`3/2000 Ishikawa
`6,047,289 A
`4/2000 Thorne et al.
`6,094,676 A
`7/2000 Gray et al.
`
`9/2000 Chuprunet al.
`...
`6,115,580 A *
`. 709/204
`6,167,432 A * 12/2000 Jiang .....
`
`
`teers 700/204
`1/2001 Kurashimaet al.
`6,173,314 Bi *
`3/2001 May et al.
`6,199,116 BL
`6,216,177 BL
`4/2001 Maits et al.
`6,223,212 Bi
`4/2001 Batty et al.
`6,243,691 BL
`6/2001 Fisher et al.
`6,268,855 Bi
`F2001 Mairs et al.
`6,271,839 BL
`8/2001 Mairs et al.
`6,272,548 Bi *
`8/2001 Cotter et alo 709/239
`6,285,363 Bl
`9/2001 Mairs et al.
`6,304,928 BL
`10/2001 Mairs ct al.
`
`wee 709/238
`6,321,270 Bl
`* 11/2001 Crawley...
`» 370/466
`6,463,078 Bl * 10/2002 Engstromet al.
`
`-- 463/40
`6,524,189 BL *
`2/2003 Rautila .........
`vee 370/342
`
`...
`2002/0027896 Al *
`3/2002 Hughes et al.
`OTHER PUBLICATIONS
`
`Azar et al., “Routing Strategies for Fast Networks,” May
`1992, INFOCOM 792, Eleventh Annual Joint Conference of
`he JEEE Computer and Communications Societies, vol. 1,
`170-179.*
`Cho et al., “A Flood Routing Method for Data Networks,”
`Sep. 1997, Proceedings of 1997 International Conference on
`Information, Communications, and Signal Processing, vol.
`3, pp. 1418-1422."
`Komine et al., “A Distributed Restoration Algorithm for
`Multiple-Link and Node Failures of Transport Networks,”
`Dec. 199 Global Telecommunications Confercace, 1990,
`and Exhibition, TEEE, vol. 1, pp. 459-463.*
`Peercy et al, “Distributed Algorithms for Shortest—Path,
`Deadlock-Free Routing and Broadcasting in Arbitrarily
`aulty Hypercubes,” Jun. 1990, 20” International Sympo-
`sium on Fault-Tolerant Computing, 1990, pp. 218~225.*
`US.patent application Ser. No. 09/629,570, Bourassact al.,
`filed Jul. 31, 2000.
`U.S. patent application Ser. No. 09/629,577, Bourassa et al.,
`filed Jul. 31, 2000.
`
`
`
`USS. patent application Ser. No. 09/629,575, Bourassa et al,
`filed Jul. 31, 2000.
`US. patent application Ser. No. 09/629,572, Bourassa et al.,
`filed Jul. 31, 2000.
`U.S. patent application Ser, No. 09/629,023, Bourassa et al.,
`filed Jul, 31, 2000,
`US. patent application Scr, No. 09/629,043, Bourassact al,
`filed Jul. 31, 2000.
`US. patent application Ser. No. 09/629,024, Bourassaet al.,
`filed Jul. 31, 2000.
`US. patent application Ser. No. 09/629,576, Bourassa et al.,
`filed Jul. 31, 2000.
`Murphy, Patricia, A., “The Next Generation Networking
`Paradigm: Producer/Consumer Model,” Dedicated Systems
`Magazine—2000(pp. 26-28).
`The Gamer’s Guide, “First-Person Shooters,” Oct. 20, 1998
`(4 pages).
`The O’Reilly Network, “Gnutella: Alive, Well, and Chang-
`ing Fast,” Jan. 25, 2001 (5 pages) hitp://www.open2p.com/
`Ipt... [Accessed Jan. 29, 2002].
`Oram, Andy, “Gnutella and Freenet Represents True Tech-
`nological Innovation,” May 12, 2000 (7 pages) The O’Reilly
`Network http://www.oreillynet.com/Ipt...
`[Accessed Jan.
`29, 2002],
`Internetworking Technologies Handbook, Chapter 43 (pp.
`43-1-43-16).
`Oram, Andy, “Peer-to~Peer Makes the Internet Interesting
`Again,” Sep. 22, 2000 (7 pages) The O’Reilly Network
`http://linux.oreillynet.com/Ipt... [Accessed Jan. 29, 2002].
`Monte, Richard, “The Random Walk for Dummies,”MIT
`Undergraduate Journal of Mathematics (pp. 143-148).
`Srinivasan, R., “XDR: External Data Representation Stan-
`dard,” Sun Microsystems, Aug. 1995 (20 pages) Internet
`RFC/STD/FYI/BCP
`Archives
`http://www.fags,.org/
`rfc1832.htmi [Accessed Jan. 29, 2002].
`A. Databeam Corporate White Paper, “A Printer on the
`7.120 Series Standards,” Copyright 1995 (pp. 1-16).
`Kessler, Gary, C., “An Overview of TCP/IP Protocols and
`the Internet,” Apr. 23, 1999 (23 pages) Hill Associates, Inc.
`http:/Avww.hill.com/library/publications/... [Accessed Jan.
`29, 2002].
`Bondy, J.A., and Murty, U.S.R., “Graph Theory with Appli-
`cations,” Chapter 1-3 (pp. 147), 1976 American Elsevier
`Publishing Co., Inc., New York, New York.
`Cormen, Thomas H. et al., Introduction to Algorithms,
`Chapter 5.3 (pp. 84-91), Chapter 12 (pp. 218-243), Chapter
`13 (p. 245), 1990, The MIT Press, Cambridge, Massachu-
`setts, McGraw-Hill Book Company, New York.
`The Common Object Request Broker: Architecture and
`Specification, Revision 2.6, Dec. 2001, Chapter 12 (pp.
`121-1210), Chapter 13 (pp. 13-1-13-56), Chapter 16(pp.
`16-1-16-26), Chapter 18 (pp. 18-1-18-52), Chapter 20
`(pp. 20-1-20-22).
`The University of Warwick, Computer Science Open Days,
`“Demonstration of the Problems of Distributed Systems,”
`http:/Avww.des.warwick.ac.u... [Accessed Jan. 29, 2002].
`in
`Alagar, S. and Venkatesan, S., “Reliable Broadcast
`Mobile Wireless Networks,” Department of Computer Sci-
`ence, University of Texas at Dallas, Military Communica-
`tions Conference, 1995, MILCOM 795 Conference Record,
`IEEE San Dicgo, California, Nov. 5-8, 1995 (pp. 236-240).
`International Search Report for The Boeing Company,Inter-
`national Patent Application No PCT/US01/24240, Jun. 5,
`2002 (7 pages).
`* cited by examiner
`
`AB-AB 000002
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 4 of 351 PageID #: 40336
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 4 of 351 PagelD #: 40336
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 1 of 39
`
`US 6,701,344 BL
`
`m
`
`<
`
`Poy
`Loo
`
`AB-AB 000003
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 5 of 351 PageID #: 40337
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 5 of 351 PagelD #: 40337
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 2 of 39
`
`US 6,701,344 BL
`
`
`
`AB-AB 000004
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 6 of 351 PageID #: 40338
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 6 of 351 PagelD #: 40338
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 3 of 39
`
`US 6,701,344 BL
`
`m0
`
`O
`
`AB-AB 000005
`
`RQ
`or
`
`22
`
`N
`
`2
`

`
`AQ
`
`os
`220
`
`<q
`
`<
`
`Ww
`
`am
`
`Lu
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 7 of 351 PageID #: 40339
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 7 of 351 PagelD #: 40339
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 4 of 39
`
`US 6,701,344 BL
`
`ig.4A
`
`AB-AB 000006
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 8 of 351 PageID #: 40340
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 8 of 351 PagelD #: 40340
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 5 of 39
`
`US 6,701,344 BL
`
`AB-AB 000007
`
`~
`
`.A
`
`Lu
`
`t
`
`oo
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 9 of 351 PageID #: 40341
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 9 of 351 PagelD #: 40341
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 6 of 39
`
`US 6,701,344 BL
`
`Fig.4C
`
`AB-AB 000008
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 10 of 351 PageID #: 40342
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 10 of 351 PagelD #: 40342
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 7 of 39
`
`US 6,701,344 BL
`
`AB-AB 000009
`
`<w
`
`e
`bb
`
`WL
`
`”
`
`<
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 11 of 351 PageID #: 40343
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 11 of 351 PagelD #: 40343
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 8 of 39
`
`US 6,701,344 BL
`
`
`
`AB-AB 000010
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 12 of 351 PageID #: 40344
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 12 of 351 PagelD #: 40344
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 9 of 39
`
`US 6,701,344 BL
`
`AB-AB 000011
`
`DQ
`wy
`
`°0
`
`Lin
`
`us
`
`oO
`
`Qa
`
`oO
`
`m
`
`<
`
`H
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 13 of 351 PageID #: 40345
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 13 of 351 PagelD #: 40345
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 10 of 39
`
`US 6,701,344 BL
`
`a
`
`<
`
`2
`bin
`Ry
`
`ce
`
`AB-AB 000012
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 14 of 351 PageID #: 40346
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 14 of 351 PagelD #: 40346
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 11 of 39
`
`US 6,701,344 BL
`
`Ry
`
`w £
`
`0
`nay
`
`AB-AB 000013
`
`2 £
`
`0
`
`Q
`
`oO
`
`a
`
`Oo
`
`<
`
`ma
`
`<
`
`ao
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 15 of 351 PageID #: 40347
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 15 of 351 PagelD #: 40347
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 12 of 39
`
`US 6,701,344 BL
`
`Broadcaster
`
`og=3
`
`—
`~o &
`a &&5628a 2
`3G OS
`2 5.
`ageQe
`
`
`Application2{channel
`
`typechannelinstance)
`
`Fig.6
`
`AB-AB 000014
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 16 of 351 PageID #: 40348
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 16 of 351 PagelD #: 40348
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 13 of 39
`
`US 6,701,344 BL
`
`fewer
`
`soyoqedsip
`
`Ord
`
`902yoouuo7)
`
`
`
`
`
`yor|fe5
`
`cOL 002
`
`[euro]
`
`
`
`aumnboy9AINN9Y
`
`
`
`odessoutgsuodsal
`
`bd
`
`yeuu0)
`
`ysanbes
`
`fEL
`
`yszoproig
`
`ZLSh
`
`AB-AB 000015
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 17 of 351 PageID #: 40349
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 17 of 351 PagelD #: 40349
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 14 of 39
`
`US 6,701,344 BL
`
`Channel Instance,
`Connect Aux Info)
`
`Fig. §
`
`Opencall in port
`
`801
`
`802
`
`803
`Seek portal - computer
`(channel type channel
`instance)
`
`
`
`804<a>N Return(false)
`
`Y
`
`805
`Contacts
`

`
`806
`
`Achieve connection
`
`0
`
`N
`
`808
`
`Install external dispatcher
`
`809
`
`Connect request
`
`ct
`
`
`
`807
`
`Install external dispatcher
`
`AB-AB 000016
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 18 of 351 PageID #: 40350
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 18 of 351 PagelD #: 40350
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 15 of 39
`
`US 6,701,344 BL
`
`Seek portal
`computer
`
`Channel Type
`Channel Instance
`
`
`
`
`
`902
`
`Select next depth
`
`
`
`
`
`
`All portal computers
`selected
`
` Selected portal
`
`
`
`computer connected
`
`Return (success)
`
`AB-AB 000017
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 19 of 351 PageID #: 40351
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 19 of 351 PagelD #: 40351
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 16 of 39
`
`US 6,701,344 BL
`
`Contact process
`
`
`
`
`
`Send external message
`
`
`
`Fig. 10
`
`1002
`
`Add as connected portal
`computer
`
`AB-AB 000018
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 20 of 351 PageID #: 40352
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 20 of 351 PagelD #: 40352
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 17 of 39
`
`US 6,701,344 BL
`
`Fig. 11
`
`Connect request
`
`
`
`1101
`
`
`Wasa fully
`
`connected portal found
`
`
`N
`
`1102
`
`Restart
`
`Dial call in port of portal
`computer
`
`1104
`

`
`1405
`
`Send external message
`
`1106
`
`Receive external message
`
`Na
`Ntl
`
`1107
`
`1108
`Y
`Set expect holes from
`response
`
`1109
`
`Set diameter from response
`
`
`
`Readytoconnect a||Addneighbor||
`
`
`
`
`
`Nt
`
`111
`
`1112
`
`1113
`
`AB-AB 000019
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 21 of 351 PageID #: 40353
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 21 of 351 PagelD #: 40353
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 18 of 39
`
`US 6,701,344 BL
`
`heck for externa
`
`ca—‘
`1201
`
`Answer
`
`Fig. 12
`S
`
`
`
`1202er
`
`
`
`Receive external message
`
` ype = = seeking
`
`connectioncall
`
`Y
`
`1205
`
`Send external message
`
`\ 1
`
`206
`
`207
`
`Add other as fellow seeker
`
`Return
`
`AB-AB 000020
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 22 of 351 PageID #: 40354
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 22 of 351 PagelD #: 40354
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 19 of 39
`
`US 6,701,344 BL
`
`Achieve connection
`
`
`
`1301
`Connection - state = fully
`connected
`
`1302
`
`Notify fellow seekers
`
`
`
`
`
`
`Fig. 13
`
`AB-AB 000021
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 23 of 351 PageID #: 40355
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 23 of 351 PagelD #: 40355
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 20of 39
`
`US 6,701,344 BL
`
`Fig. 1
`
`
`1401
`Pick up and receive
`
`1415
`
`1402
`
`1416
`
`Message
`
`N
`
`Hang up
`
`1404
`Handle seeking
`
`
`
`
`1406
`
`Handle connection
`requestcall
`
`1408
`
`Handle edge proposal
`call
`
`Handle port
`connection call
`
`connection call
`
`
`Port connect call
`
`Handleconnected ;
`statement ~ repairstatement |
`
`Connected statement
`
`statement
`
`
`Condition repair
`
`
`Handle condition
`
`AB-AB 000022
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 24 of 351 PageID #: 40356
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 24 of 351 PagelD #: 40356
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 21 of 39
`
`US 6,701,344 BL
`
`Handle seeking
`connection call
`
`
`
`
`connected
`
`
`
`
`
`Set message to indicate
`
`1505
`
`Send external message
`
`Fig. 15
`
`1504
`Add other as fellow
`seeking process
`
`AB-AB 000023
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 25 of 351 PageID #: 40357
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 25 of 351 PagelD #: 40357
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 22 of 39
`
`US 6,701,344 BL
`
`andle connection
`requestcall
`
`1601
`
`N
`
`60
`
`1603
`
`Set newcomer's
`holes_to_expect
`1604
`Set diameter estimate in
`response
`508
`Set ready in response
`
`2) 06
`Sent external message
`connect request resp.
`4607
`
`Set newcomer's
`holesto_fill
`608
`
`Ready
`
`1611
`
`Ne
`Hang up
`
`Return
`
`.
`
`Fig. 16
`
`i
`
`Add neighbor
`
`Newcomer's
`holes_to_fill --
`
`1609
`i
`
`1610
`
`ole = = 0 or
`
`diameter > 1
`1612
`
`
`
`
`—i Fillhole(requestor) i
`
`1615
`
`Holesto fill - = Z
`
`617
`
`AB-AB 000024
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 26 of 351 PageID #: 40358
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 26 of 351 PagelD #: 40358
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 23 of 39
`
`US 6,701,344 BL
`
`Add neighbor
`
`1701
`
`Identifies calling party
`
`1702
`Sets neighbor to
`messages pending
`
`EFig. 17
`
`.
`
`;
`
`yY
`
`onnection_state =
`
`703
`a
`.
`1704
`<Seeking connectio | partiallyconnected
`
`Nk
`
`1705
`Add as neighbor
`
`1706
`Install interal dispatcher
`for new neighbor
`
`
`
`1707
`
`1708
`
`
`
`WO
`
`
`
`
`4709
`
`Holes = =
`expected hole
`
`Y
`
`Nk
`
`1711
`
`171
`Purge pending edges
`
`Y
`
`ala
`
`AB-AB 000025
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 27 of 351 PageID #: 40359
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 27 of 351 PagelD #: 40359
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 24 of 39
`
`US 6,701,344 BL
`
`Forward connection
`edge search
`
`requestor
`distance remaining
`
`Fig. 18
`
`
`
`
`
`
`
`neighbors
`>)
`
`neighbor =
`requestor
`
`it
`
`1808
`
`Note connection edge
`search call
`
`selected
`
`N
`
`Send internal message
`
`4807
`

`
`AB-AB 000026
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 28 of 351 PageID #: 40360
`Page 28 of 351 PagelD #: 40360
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 25 of 39
`
`US 6,701,344 BL
`
`Handle edge
`proposalcall
`
`in message
`out message
`
`Fig. 19
`
`
`
`N
`
`4903
`
`create edge (pending)
`
`
`
`
`proposed
`
`
`neighbors
`1914
`pending
`
`N
`
`Send external message
`
`1907
`
`Send external message
`
`1912
`Holes odd
`
`N
`
`1908
`
`N
`
`Y
`
`1913
`4909
`Fill holil Add edgeaspending
`
`Y
`
`.
`
`|
`
`Add neighbor
`
`1910
`
`;
`
`AB-AB 000027
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 29 of 351 PageID #: 40361
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 29 of 351 PagelD #: 40361
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 26 of 39
`
`US 6,701,344 BL
`
`Handle port
`
`
`
`
`
`
`
`
`connection call
`neighbor
`(point-connect-resp, ok)
`
`
`Send external message
`
` Caller is not
`(point-connect-resp
`
`not ok)
`
`
`Send external message
`
`
`
`2006
`
`/
`
`2008
`
`|
`Addneighbor
`/ Connectrequest |
`
`
`AB-AB 000028
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 30 of 351 PageID #: 40362
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 30 of 351 PagelD #: 40362
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 27 of 39
`
`US 6,701,344 BL
`
`
`
`
`Handle connection
`ports search edit
`
`Fill hole
`
`Return
`
`AB-AB 000029
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 31 of 351 PageID #: 40363
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 31 of 351 PagelD #: 40363
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 28 of 39
`
`US 6,701,344 BL
`
`Fig. 33
`
`Internal
`dispatcher
`
`2201
`Received internal message
`2202
`
`Assess diameter
`
`
`This
`
`process = =
`
`
`
`
`
`Type
`= = broadcast
`
`
`Insert message into
`pending connection buffer
`
`2007
`:
`Handle shutdown
`
`Y
`
`
`2206
`a Type
`
`== shutdown
`statement TO statement |
`
`Nie
`
`connection bufferLz,
`
`
`
`Y
`
`Pending
`
`
`
`message queue
`
`YR
`
`Receive response (
`
`)
`
`AB-AB 000030
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 32 of 351 PageID #: 40364
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 32 of 351 PagelD #: 40364
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 29 of 39
`
`US 6,701,344 BL
`
`Handle broadcast
`message
`
`message
`
`origin
`from neighbor
`
`Fig. 23
`
`
`
`AB-AB 000031
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 33 of 351 PageID #: 40365
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 33 of 351 PagelD #: 40365
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 30 of 39
`
`US 6,701,344 BL
`
`.
`Fig. 24
`
`Distribute
`broadcast message
`
`message
`
`from neighbor
`
`All neighbor
`
`selected
`
`
`
`2403
`
`Send internal
`message
`
`AB-AB 000032
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 34 of 351 PageID #: 40366
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 34 of 351 PagelD #: 40366
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 31 of 39
`
`US 6,701,344 BL
`
`Handle connection
`for search
`
`from neighbor
`message
`
`.
`Fig. 26
`
`2604
`
`| Courtneighbor
`
`I
`
`2601
`
`Distribute internal
`
`602
`
`Y
`
`
`603
`
`
`Is requestor
`a neighbor
`
`
`N
`
`605
`
`enerate
`condition check
`message w/neighbors
`
`
`
`AB-AB 000033
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 35 of 351 PageID #: 40367
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 35 of 351 PagelD #: 40367
`
`U.S. Patent
`
`Mar. 2, 2004
`
`Sheet 32 of 39
`
`US 6,701,344 BL
`
`Court neighbor
`
`Prospect
`
`Fig. 27
`
`04
`
` Is prospect
`
`a neighbor
`
`N
`
`2702
`
`Dial prospect
`
`703
`
`N
`
`
`
`
`|
`
`Send and receive
`external message
`
`I
`
`Addneighbor
`
`2706
`
`Hangup prospect
`
`AB-AB 000034
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 36 of 351 PageID #: 40368
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 36 of 351 PagelD #: 40368
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 33 of 39
`
`US 6,701,344 BL
`
`Handle connection
`edge search call
`
`from neighbor
`message
`
`
`801
` Not
`
`
`my message 11
`
`holes >= Z
`
`
`
`
`Fill hole (self}
`
`2815
`
`-
`end interna
`message (from
`neighbor, ack
`
`
`
`
`connection second
`Remaining
`distance > 0
`edge (requestor
`
`remaining dist -1)
`
`
`
`
`
`connection edge
`
`search (requestor,
`
`
`0G
`
`2806
`
`W
`
`2807
`
`Send and receive
`
`external message
`
`AB-AB 000035
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 37 of 351 PageID #: 40369
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 37 of 351 PagelD #: 40369
`
`U.S. Patent
`
`Fig. 29
`
`Mar.2, 2004
`
`Sheet 34 of 39
`
`US 6,701,344 BL
`
`from neighbor message
`
`Handle edge search
`
`origin
`
`AB-AB 000036
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 38 of 351 PageID #: 40370
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 38 of 351 PagelD #: 40370
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 35 of 39
`
`US 6,701,344 BL
`
`Fig. 30
`
`message
`
`
`
`
`Generate internal
`message
`
`Set message sequence
`
`AB-AB 000037
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 39 of 351 PageID #: 40371
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 39 of 351 PagelD #: 40371
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 36 of 39
`
`US 6,701,344 BL
`
`Acquire message
`
`message
`
`
`
`
`
`Message
`retrieved
`
`
`
`
`Return false
`
`
`
`Return true
`
`AB-AB 000038
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 40 of 351 PageID #: 40372
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 40 of 351 PagelD #: 40372
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 37 of 39
`
`US 6,701,344 BL
`
`‘Handle condition check
`
`
`
` Sameset of
`
`neighbors
`
`3205
`
`elect a neighbor
`
`Set up message withlist
`of sending process
`
`of neighbors
`not my neighbor
`
`
`
`to selected neighbor
`
`Send internal message
`
`Send external message
`
`
`
`AB-AB 000039
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 41 of 351 PageID #: 40373
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 41 of 351 PagelD #: 40373
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 38 of 39
`
`US 6,701,344 BL
`
`Handle condition
`
`repair statement
`
`Fig, 33
`
`
`
`
` Select a neighbor not
`
`involved in condition
`
`Removeselected
`neighbor
`
`AB-AB 000040
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 42 of 351 PageID #: 40374
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 42 of 351 PagelD #: 40374
`
`U.S. Patent
`
`Mar.2, 2004
`
`Sheet 39 of 39
`
`US 6,701,344 BL
`
`ae
`Handle condition
`
`Fig. 34
`
`double check
`neighbors
`
`
`
` Sameset of
`
`
`Send internal message.
`to-from neighbor
`
`Send internal message
`
`AB-AB 000041
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 43 of 351 PageID #: 40375
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 43 of 351 PagelD #: 40375
`
`US 6,701,344 B1
`
`1
`DISTRIBUTED GAME ENVIRONMENT
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`
`
`
`This application is related to U.S. patent application Ser.
`No. 09/629,576, entitled “BROADCASTING
`NETWORK,”filed on Jul. 31, 2000; U.S. patent application
`Ser. No, 09/629,570, entitled “JOINING A BROADCAST
`CHANNEL,”filed on Jul. 31, 2000; U.S. patent application ,
`Ser. No. 09/629,577, “LEAVING A BROADCAST
`CHANNET.,”filed on Jul. 31, 2000; U.S. patent application
`Ser. No. 09/629,575, entitled “BROADCASTING ON A
`BROADCAST CHANNEL,” filed on Jul. 31, 2000; U.S.
`patent application Ser. No. 09/629,572, entitled “CON-
`TACTING A BROADCAST CHANNEL,” filed on Jul. 31,
`2000; U.S. patent application Ser. No. 09/629,023, entitled
`“DISTRIBUTED AUCTION SYSTEM,”filed on Jul. 31,
`2000; U.S. patent application Ser. No. 09/629,043, entitled
`“AN INFORMATION DELIVERYSERVICE,”filed on Jul.
`31, 2000; and U.S. patent application Ser. No. 09/629,024,
`entitled “DISTRIBUTED CONFERENCING SYSTEM,”
`filed on Jul. 31, 2600, the disclosures of which are incor-
`porated herein by reference.
`TECHNICAL FIELD
`
`3S
`
`‘The described technologyrelates generally to a computer
`network and more particularly, to a broadcast channelfor a
`subset of a computers of an underlying network.
`BACKGROUND
`
`There are a wide variety of computer network communi-
`cations techniques such as point-to-point network protocols,
`client/server middleware, multicasting network protocols,
`andpeer-to-peer middleware. Each of these communications
`techniques have their advantages and disadvantages, but
`none is particularly well suited to the simultaneous sharing
`of information among computers that are widely distributed.
`For example, collaborative processing applications, such as
`a network meeting programs, have a need to distribute
`information in a timely mannerto all participants who may
`be geographically distributed.
`The point-to-point network protocols, such as UNIX
`pipes, TCP/IP, and UDP, allowprocesses on different com-
`puters to communicate via point-to-point connections. The
`interconnection of all participants using point-to-point
`connections, while theoretically possible, does not scale well
`as a oumber of participants grows. For example, each
`participating process would need to manage its direct con-
`nections to all other participating processes. Programmers,
`however,findit very difficult to manage single connections,
`and management of multiple connections is much more
`complex. In addition, participating processes may be limited
`to the number of direct connections that they can support.
`This limits the number ofpossible participants in the sharing
`of information.
`
`The client/server middleware systems provide a server
`that coordinates the communications between the various
`clients who are sharing the information. The server functions
`as a central authority for controlling access to shared
`resources. Examples of client/server middleware systems
`include remote procedure calls (“RPC”), database servers,
`and the common object
`request broker architecture
`(CORBA). Client/Server middleware systems are not par-
`ticularly well suited to sharing of information among many
`participants. Io particular, when a client stores information
`
`iA
`
`a
`
`maon
`s
`
`D>a
`
`2
`to be shared at the server, each other client would need to
`poll the server to determine that new information is being
`shared. Such polling places a very high overhead on the
`communications network. Altcrnativcly, cach clicnt may
`register a callback with the server, which the server then
`invokes when new information is available to be shared.
`Such a callback technique presents a performance bottleneck
`because a single server needs to call back to each client
`whenever new information is to be shared. In addition, the
`reliability of the entire sharing of information depends upon
`the reliability of the single server. Thus, a failure at a single
`computer (.e., the server) would prevent communications
`between anyof the clients.
`The multicasting network protocols allow the sending of
`broadcast messages to multiple recipients of a network. The
`current implementations of such multicasting network pro-
`tocols tend to place an unacceptable overheadon the under-
`lying network. For example, UDP multicasting would
`swamp the Internet when trying to locate all possible par-
`ticipants. IP multicasting has other problems that include
`needing special-purpose infrastructure (e.g., routers) to sup-
`port the sharing of informationefficiently.
`The peer-to-peer middleware communications systems
`rely on a multicasting network protocol or a graph of
`point-to-point network protocols. Such peer-to-peer middle-
`ware is provided by the T.120 Internet standard, which is
`used in such products as Data Connection’s D.C.-share and
`Microsoft’s NetMeeting. These peer-to-peer middleware
`systems rely upon a user to assemble a point-to-point graph
`of the connections used for sharing the information. Thus,it
`is neither suitable nor desirable to use peer-to-peer middle-
`ware systems when more than a small number of partici-
`pants is desired. In addition, the underlving architecture of
`the T.120 Internet standard is a tree structure, which relies on
`the root node of the tree for reliability of the entire network.
`That is, cach message must pass through the root node in
`order to be received byall participants.
`Tt would be desirable to have a reliable communications
`network that is suitable for the simultaneous sharing of
`information among a large number of the processes that are
`widely distributed.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`
`
`VIG. 1 illustrates a graph that is 4-regular and 4-connected
`which represents a broadcast channel.
`FIG, 2 illustrates a graph representing 20 computers
`connected fo a broadcast channel.
`FIGS. 3A and 3B illustrate the process of connecting a
`new computer Z to the broadcast channel.
`FIG, 4Aillustrates the broadcast channel of FIG. 1 with
`an added computer.
`FIG.4B illustrates the broadcast channel of FIG. 4A with
`an added computer.
`FIG. 4C also illustrates the broadcast channel of FIG. 4A
`with an added computer.
`FIG.5A illustrates the disconnecting of a computer from
`the broadcast channel in a planned manner.
`FIG. SB illustrates the disconnecting of a computer from
`the broadcast channel in an unplanned manner.
`FIG. SCillustrates the neighbors with empty ports con-
`dition.
`FIG. 3D illustrates two computers that are not neighbors
`who now have empty ports.
`FIG. 5E illustrates the neighbors with empty ports con-
`dition in the small regime.
`
`
`
`AB-AB 000042
`
`

`

`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 44 of 351 PageID #: 40376
`Case 1:16-cv-00454-RGA Document 475-1 Filed 04/24/18 Page 44 of 351 PagelD #: 40376
`
`US 6,701,344 B1
`
`4
`DETAILED DESCRIPTION
`
`technique in which a broadcast channel
`A broadcast
`overlays a point-to-point communications nctwork is pro-
`vided. The broadcasting of a message over the broadcast
`channelis effectively a multicast to those computers of the
`network that are currently connected to the broadcast chan-
`nel. In one embodiment, the broadcast technique provides a
`logical broadcast channel to which host computers through
`their executin

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