throbber
Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 1 of 58 PageID #: 716
`
`Exhibit 5
`
`           
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 2 of 58 PageID #: 717
`
`(12) United States Patent
`H0lt et al.
`
`(10) Patent N0.:
`(45) Date 0f Patent:
`
`US 6,910,069 B1
`Jun. 21, 2005
`
`US006910069B1
`
`(54) JOININGA BROADCAST CHANNEL
`
`5,696,903 A 12/1997 Mahany
`5,732,074 A
`3/1998 Spaur et a1.
`
`
`
`Inventors: Fred l3I Holt, Seattle, E_ Bourassa Bellevue WA (Us)
`
`
`
`A * 5,732,219 A
`
`
`
`. . . . . . . . . . . . . . .. Liang Ct 8.1. 3/1998 Blumer et a1.
`
`
`
`’
`’
`-
`_
`-
`(73) Assignee. gflhgBoemg Company, Seattle, WA
`
`5,734,865 A
`5,737,526 A
`5,754,830 A
`
`3/1998 Yu
`4/1998 Periasamy et a1.
`5/1998 Butts et a1‘
`
`( * ) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U'S'C' 154(k)) by 708 days‘
`
`(21) Appl- NO? 09/ 629,570
`22 Fl 01:
`1. 31 2000
`(
`)
`1 6
`Ju
`’
`(51) Int. Cl.7 ............................................ .. G06F 15/177
`(52) US. Cl. ..................... .. 709/221; 709/252; 709/243;
`709/227
`(58) Field of Search ............................... .. 709/221, 220,
`709/252, 243, 227, 223, 204, 238; 370/225,
`260, 400; 455/428
`
`(Continued)
`OTHER PUBLICATIONS
`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~*
`Bandyopadhyay et al., “A Flexible Architecture for Multi—
`Hop Optical Networks,” Oct. 1998, 7th International Con
`ferenoe on Computer Communications and Networks, 1998,
`pp- 472—478-*
`
`d
`C t-
`( on me )
`Primary Examiner—Glenton B. Burgess
`Assistant Examiner—Bradley Edelman
`(74) Attorney, Agent, or Firm—Perkins Coie LLP
`(57)
`ABSTRACT
`
`A technique for adding a participant to a network is pro
`vided. This technique allows for the simultaneous sharing of
`information among many participants in a network without
`the placement of a high overhead on the underlying com
`munication network. To connect to the broadcast channel, a
`seeking computer ?rst locates a computer that is fully
`connected to the broadcast channel. The seeking computer
`then establishes a connection with a number of the comput
`ers that are already connected to the broadcast channel. The
`technique for adding a participant to a network includes
`identifying a pair of participants that are connected to the
`network, disconnecting the participants of the identi?ed pair
`from each other, and connecting each participant of the
`identi?ed pair of participants to the added participant.
`
`17 Claims, 39 Drawing Sheets
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,912,656
`5,056,085
`5,058,105
`5,079,767
`5,099,235
`5,101,480
`5,117,422
`5,309,437
`5,345,558
`5,426,637
`5,459,725
`5,471,623
`5,511,168
`5,535,199
`5,568,487
`5,636,371
`5,644,714
`
`5,673,265 >>>>>>>>>>>>>>>>J>>
`
`3/1990
`10/1991
`10/1991
`1/1992
`* 3/1992
`* 3/1992
`* 5/1992
`5/1994
`9/1994
`6/1995
`10/1995
`* 11/1995
`4/1996
`7/1996
`10/1996
`6/1997
`7/1997
`9/1997
`
`Cain et a1.
`
`Mansour et a1.
`Perlman
`Crookshanks ............ .. 455/13.1
`
`Shin et al. ................ .. 710/317
`Hauptschein et a1. ..... .. 370/255
`Perlman et a1.
`Opher et 81.
`Derby et a1.
`Bodner et a1.
`Napolitano, Jr. .......... .. 709/243
`Perlman et a1.
`Amri et a1.
`Sitbon et 81.
`Yu
`Kikinis
`Gupta et a1.
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 3 of 58 PageID #: 718
`
`US 6,910,069 B1
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`OTHER PUBLICATIONS
`
`5,757,795
`5,761,425
`5,764,756
`5,790,548
`5,790,553
`5,799,016
`5,802,285
`5,850,592
`5,864,711
`5,867,660
`5,867,667
`5,870,605
`5,874,960
`5,899,980
`5,907,610
`5,925,097
`5,928,335
`5,935,215
`5,946,316
`5,948,054
`5,949,975
`5,953,318
`5,956,484
`5,970,232
`5,974,043
`5,987,506
`6,003,088
`6,013,107
`6,023,734
`6,029,171
`6,032,188
`6,038,602
`6,047,289
`6,065,063
`6,073,177
`6,094,676
`6,115,580
`6,151,633
`6,167,432
`6,173,314
`6,195,366
`6,199,116
`6,216,177
`6,223,212
`6,243,691
`6,252,884
`6,268,855
`6,269,080
`6,271,839
`6,272,548
`6,285,363
`6,304,928
`6,321,270
`6,353,599
`6,415,270
`6,434,622
`6,463,078
`6,490,247
`6,499,251
`6,505,289
`6,524,189
`6,553,020
`6,603,742
`6,611,872
`6,618,752
`6,701,344
`2002/0027896
`
`5/1998
`6/1998
`6/1998
`8/1998
`8/1998
`8/1998
`9/1998
`12/1998
`1/1999
`2/1999
`2/1999
`2/1999
`2/1999
`5/1999
`5/1999
`7/1999
`7/1999
`8/1999
`8/1999
`9/1999
`9/1999
`9/1999
`9/1999
`10/1999
`10/1999
`11/1999
`12/1999
`1/2000
`2/2000
`2/2000
`2/2000
`3/2000
`4/2000
`5/2000
`6/2000
`7/2000
`9/2000
`11/2000
`12/2000
`1/2001
`2/2001
`3/2001
`4/2001
`4/2001
`6/2001
`6/2001
`7/2001
`7/2001
`8/2001
`8/2001
`9/2001
`10/2001
`11/2001
`3/2002
`7/2002
`8/2002
`10/2002
`12/2002
`12/2002
`1/2003
`2/2003
`4/2003
`8/2003
`8/2003
`9/2003
`3/2004
`3/2002
`
`Schnell
`Miller
`Onweller
`SistaniZadeh et al.
`Deaton, Jr. et al.
`Onweller
`Hirviniemi
`Ramanathan
`Mairs et al.
`Schmidt et al.
`Butman et al.
`Bracho et al.
`Mairs et al.
`Wilf et al.
`Onweller
`Gopinath et al.
`Morita
`Bell et al.
`Chen et al.
`Nielsen
`Batty et al.
`Nattkemper et al.
`Rosenberg et al.
`Passint et al.
`Solomon
`Carter et al.
`Houston et al.
`Blackshear et al.
`Ratcliff et al.
`Smiga et al.
`Mairs et al.
`Ishikawa
`Thorne et al.
`
`Abali ....................... .. 709/242
`Hebel et al.
`Gray et al.
`Chuprun et al.
`Hurst
`Jiang
`Kurashima et al.
`Kayashima
`May et al.
`Mairs et al.
`Batty et al.
`Fisher et al.
`Hunter
`Mairs et al.
`Kumar
`Mairs et al.
`Cotter et al.
`Mairs et al.
`Mairs et al.
`Crawley
`Bi et al.
`Rackson et al.
`Monteiro et al.
`Engstrom et al.
`Gilbert et al. ............ .. 370/222
`Weder
`Han et al. ................... .. 712/11
`Rautila
`Hughes et al. ............ .. 370/347
`Steele et al. .............. .. 370/254
`McCanne
`Moore et al.
`Holt et al.
`Hughes et al.
`
`Hsu, “On Four—Connecting a Triconnected Graph,” Oct.
`1992, Annual Symposium on Foundations of Computer
`Science, 1992, pp. 70—79.*
`Shiokawa et al., “Performance Analysis of Network Con
`nective Probability of Multihop Network under Correlated
`Breakage,” Jun. 1996, 1996 IEEE International Conference
`on Communications, vol. 3, pp. 1581—1585.*
`Komine et al., “A Distributed Restoration Algorithm for
`Multiple—Link and Node Failures of Transport Networks,”
`Dec. 199 IEEE Globecom ’90, ‘Communications: Connect
`ing the Future,’ vol. 1, pp. 459—463.*
`U.S. Appl. No. 09/629,576, ?led Jul. 31, 2000, Bourassa et
`al.
`US. Appl. No.
`09/629,577, ?led Jul. 31, 2000, Bourassa et
`al.
`US. Appl. No.
`09/629,575, ?led Jul. 31, 2000, Bourassa et
`al
`U.S. Appl. No.
`09/629,572, ?led Jul. 31, 2000, Bourassa et
`al.
`US. Appl. No.
`09/629,023, ?led Jul. 31, 2000, Bourassa et
`al.
`US. Appl. No.
`09/629,043, ?led Jul. 31, 2000, Bourassa et
`al
`U.S. Appl. No. 09/629,024, ?led Jul. 31, 2000, Bourassa et
`al.
`US. Appl. No.
`09/629,042, ?led Jul. 31, 2000, Bourassa et
`al.
`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) http://www.open2p.com/
`1pt/ .
`.
`. [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/1pt .
`.
`. [Accessed Jan.
`29, 2003].
`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/1pt .
`.
`. [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.faqs.org/rfcs/
`rfc1832.html [Accessed Jan. 29, 2002].
`ADatabeam Corporate White Paper, “A Primer on the T120
`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://www.hill.com/library/publications/t .
`.
`. [Accessed
`Jan. 29, 2002].
`Bondy, J .A., and Murty, U.S.R., “Graph Theory with Appli
`cations,” Chapters 1—3 (pp. 1—47), 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
`245), 1990, The MIT Press, Cambridge, Massachu
`setts, McGraw—Hill Book Company, New York.
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 4 of 58 PageID #: 719
`
`US 6,910,069 B1
`Page 3
`
`The Common Object Request Broker: Architecture and
`Speci?cation, RevieW 2.6, Dec. 2001, Chapter 12 (pp.
`12—1—12—10), 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 on the Problems of Distributed Systems,”
`http://WWW.dcs.WarWick.ac.u .
`.
`. [Accessed Jan. 29, 2002].
`Alagar, S. and Venkatesan, S., “Reliable Broadcast in
`Mobile Wireless Networks,” Department of Computer Sci
`ence, University of Texas at Dallas, Military Communica
`tions Conference, 1995, MILCOM ’95 Conference Record,
`IEEE San Diego, 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).
`Yavatkar et al., “A reliable Dissemination Protocol for
`Interactive Collaborative Applications,” Proc. ACM Multi
`media, 1995, p. 333—344; http://citeseer.nj.nec.com/article/
`yavatkar95reliable.htm.
`
`Business Wire, “Boeing Panthesis Complete SWAN Trans
`action,” Jul. 22, 2002, pp 1ff.
`
`PR NeWsWire, “Microsoft Annouces Launch Date for
`UltraCrops, Its Second Premium Title for the Internet Gam
`ing Zone,” Mar. 27, 1998, pp1 ff.
`
`PR NeWsWire, “Microsoft Boosts Accessibility to Internet
`Gaming Zone With Latest Release,” Apr. 27, 1998, pp 1ff.
`
`Peercy et al., “Distributed Algorithms for Shortest—Path,
`Deadlock—Free Routing and Broadcasting in Arbitrarily
`Faulty Hypercubes,” Jun. 1990, 20th International Sympo
`sium on Fault—Tolerant Computing, 1990, pp—218—225.
`
`AZar et al., “Routing Strategies for Fast NetWorks,” May
`1992, INFOCOM ’92 Eleventh Annual Joint Conference of
`the IEEE Computer Communications Societies, vol. 1,
`170—179###.
`
`* cited by examiner
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 5 of 58 PageID #: 720
`
`U.S. Patent
`
`Jun. 21,2005
`
`Sheet 1 0f 39
`
`US 6,910,069 B1
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 6 of 58 PageID #: 721
`
`U.S. Patent
`
`Jun 21 2005
`
`A,
`6
`
`m w
`
`Q
`
`m @ \\\\ ‘ 2
`
`m a 2 S
`
`M, N .ME
`
`m \K“ “VI-l",
`
`wt“
`\\ )/ x h R 1 P/ 2
`
`w ‘ '. NF
`
`
`
`a‘ 1.,
`
`\ ‘?t; _ _‘
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 7 of 58 PageID #: 722
`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 3 0f 39
`
`US 6,910,069 B1
`
`mm .ME ‘A. .MR
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 8 of 58 PageID #: 723
`
`U.S. Patent
`
`Jun. 21,2005
`
`Sheet 4 0f 39
`
`US 6,910,069 B1
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 9 of 58 PageID #: 724
`
`U.S. Patent
`
`Jun. 21,2005
`
`Sheet 5 0f 39
`
`US 6,910,069 B1
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 10 of 58 PageID #: 725
`
`U.S. Patent
`
`Jun. 21 2005
`
`Sheet 6 6f 39
`
`US 6,910,069 B1
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 11 of 58 PageID #: 726
`
`U.S. Patent
`
`Jun. 21,2005
`
`Sheet 7 0f 39
`
`US 6,910,069 B1
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 12 of 58 PageID #: 727
`
`U.S. Patent
`
`Jun. 21,2005
`
`Sheet 8 0f 39
`
`US 6,910,069 B1
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 13 of 58 PageID #: 728
`
`U.S. Patent
`
`Jun. 21,2005
`
`Sheet 9 0f 39
`
`US 6,910,069 B1
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 14 of 58 PageID #: 729
`
`U.S. Patent
`
`Jun. 21,2005
`
`Sheet 10 0f 39
`
`US 6,910,069 B1
`
`III
`
`<
`
`E
`“=z ‘N k,
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 15 of 58 PageID #: 730
`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 11 0f39
`
`US 6,910,069 B1
`
`E .ME E .5
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 16 of 58 PageID #: 731
`Case 1:15—cv—OO228—RGA Document 7-5 Filed 03/31/15 Page 16 of 58 Page|D #: 731
`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 12 of 39
`
`US 6,910,069 B1
`
`600
`
`:3‘
`
`E
`2
`"3
`
`1..
`
`'3,
`3
`an
`
`
`
`Apphcauon1 (channeltype
`
`'8?
`
`:2’
`g
`
`‘OI
`
`-E“
`
`""
`
`'2
`8
`9'-5
`
`
`Application2 (channel
`
`typechannelinstance)
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 17 of 58 PageID #: 73223
`e
`1egaP
`67
`C
`
`E9/31.n.l%00Bm.mH%
`
`90.,a0P189956mS7U
`
`_H1#Bmm
`
`
`
` flP1O%S.aU
`
`mMmm.U9C102Dn.uMugJ%uonosuau2t_aE2xm0nmu6VtCa
`_S»
`
`Soccou
`
`8»
`
`.8550
`
`8030..
`
`NE.
`
`§.uuao.m
`
`X:
`
`E__..co<
`
`ummmmos
`
`on
`
`.ooE.8U
`
`.3;=8
`
`FF
`
`ozooom
`
`umconmo.
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 18 of 58 PageID #: 733
`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 14 0f 39
`
`US 6,910,069 B1
`
`(Channei Type,
`Channel Instance,
`Connect Aux Info)
`
`Fig. 8
`
`(
`
`Connect
`
`)
`
`801
`
`802
`
`Open call in pon
`
`Set connect-time
`
`803
`Seek portal - computer
`(channel type channel
`instance)
`
`'
`
`806
`
`Achieve connection
`
`807
`
`Install external dispatcher
`
`Contacts
`
`Install external dispatcher
`
`809
`
`Connect request
`
`1
`
`{
`
`Return (true)
`
`>
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 19 of 58 PageID #: 734
`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 15 0f 39
`
`US 6,910,069 B1
`
`<
`
`s°ek P0mil
`compute‘
`'
`
`Select next depth
`
`)
`
`Channel Type
`Channel Instance
`
`902
`
`All depths selected
`
`904
`Select next portal computer
`
`All portal computers
`selected
`
`906
`Dial portal computer
`
`N
`
`907
`
`Y
`
`908
`
`Contact process
`I
`909
`Hang up selected portal
`computer
`
`911
`Check for external
`call
`
`computer connected
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 20 of 58 PageID #: 735
`
`U.S. Patent
`
`Jun. 21,2005
`
`Sheet 16 0f 39
`
`US 6,910,069 B1
`
`( Contact process >
`
`1001
`Send external message
`
`1002
`Receive external message
`
`1 0
`
`1 005
`Add as connected portal
`computer
`
`Answering process
`connected
`
`1 006
`Add as fellow seeking
`computer
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 21 of 58 PageID #: 736
`
`U.S. Patent
`
`Jun. 21,2005
`
`Sheet 17 0f 39
`
`US 6,910,069 B1
`
`1 102
`
`Restart
`
`Return
`
`Fig. 11
`
`Dial call in port of portal
`computer
`
`Success
`
`1105
`Send external message
`l
`1106
`Receive external message
`
`1108
`Set expect holes from
`response
`1 109
`l
`Set diameter ?'om response
`
`1 1 1
`Ready to connect
`
`Y
`
`1 1 12
`Add neighbor
`
`N‘
`Hangup
`
`1113
`
`Return
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 22 of 58 PageID #: 737
`Case 1:15—cv—OO228—RGA Document 7-5 Filed 03/31/15 Page 22 of 58 Page|D #: 737
`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 18 of 39
`
`US 6,910,069 B1
`
`heck for extem
`
`call
`
`Fig. 12
`
`1 202
`
`
`
`Receive external message
`
`ype==seeking
`
`connection call
`
`Send external message
`
`
`
`
`
`Add other as fellow seeker
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 23 of 58 PageID #: 738
`Case 1:15—cv—OO228—RGA Document 7-5 Filed 03/31/15 Page 23 of 58 Page|D #: 738
`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 19 of 39
`
`US 6,910,069 B1
`
`Achieve connection
`
`
`
`
`
`
`
`
`
`Connection - state - fully
`connected
`
`1301
`
`
`
`Fig. 13
`
`Notify fellow seekers
`
`1303
`
` 1302
`
`
`Invoke connect call back
`
`
`
`
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 24 of 58 PageID #: 739
`Case 1:15—cv—OO228—RGA Document 7-5 Filed 03/31/15 Page 24 of 58 Page|D #: 739
`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 20 of 39
`
`US 6,910,069 B1
`
`Fig- 14
`
`H dl
`
`rt
`
`Connected statement
`
`Handle connected
`statement
`
`Condition repair
`statemem
`
`Handle condition
`repair statement
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 25 of 58 PageID #: 740
`Case 1:15—cv—OO228—RGA Document 7-5 Filed 03/31/15 Page 25 of 58 Page|D #: 740
`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 21 of 39
`
`US 6,910,069 B1
`
`Handle seeking
`connection call
`
`Fig. 15
`
`1 503
`
`I
`
`' d’ ate
`
`Add other as fellow
`seeking process
`
`
`
`1505
`
`Send external message
`
`
`
`
`
`Set message to not
`
`Set
`
`
`
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 26 of 58 PageID #: 741
`Case 1:15—cv—OO228—RGA Document 7-5 Filed 03/31/15 Page 26 of 58 Page|D #: 741
`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 22 of 39
`
`US 6,910,069 B1
`
`andle connection
`request call
`
`1601
`
`N
`
`Set newcomers
`holes to expect
`
`° '
`
`o‘.__‘
`
`response
`
`C“
`
`nip
`
`Sent extemal message
`
`ho1es_to__fill
`
`. c
`
`608
`
`,
`
`._,o
`
`Return
`
`,
`Flg. 16
`
`|
`
`Add neighbor
`
`' "
`
`|
`
`.
`
`0
`
`
`
`Holes to fiil - =
`
`
`
`
`was to fin) . -YI Fillhole(requester) I
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 27 of 58 PageID #: 742
`Case 1:15—cv—OO228—RGA Document 7-5 Filed 03/31/15 Page 27 of 58 Page|D #: 742
`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 23 of 39
`
`US 6,910,069 B1
`
`Add neighbor
`
`I
`
`Identifies calling party
`
`Flg- 1 7
`
`0.
`
`Sets neighbor to
`messages pending
`
`.
`7.03 Y
`Connection__state =
`4.eekmg connecno - pmfiauy connected
`
`N
`
`1705
`
`Add as neighbor
`
`0 .
`Install interal dispatche
`for new neighbor
`
`707
`
`CommW
`
`.0.‘
`
`0:
`
`0
`
`-
`
`I Achieve connected |
`
`
`
`
`1 709
`
` Holes = =
`
`
`- ected hole
`
`N
`
`1711
`
`Purge pending edges
`
`N
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 28 of 58 PageID #: 743
`Case 1:15—cv—OO228—RGA Document 7-5 Filed 03/31/15 Page 28 of 58 Page|D #: 743
`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 24 of 39
`
`US 6,910,069 B1
`
`Fig. 18
`
`Forward connection
`
`requester
`
`edge search
`
`distance remaining
`
`
`
`
`
`neighbors
`
`
`
`All neighbors
`selected
`
`YGQUCSIOY
`
`
`
`N
`
`Send intemal message
`
`
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 29 of 58 PageID #: 744
`Case 1:15—cv—OO228—RGA Document 7-5 Filed 03/31/15 Page 29 of 58 Page|D #: 744
`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 25 of 39
`
`US 6,910,069 B1
`
`Handle edge
`PT°P°Sa1 473“
`
`in message
`out message
`
`Fig. 19
`
`Send external message
`
`N
`
`.
`
`907
`
`1912
`
`1908
`
`V
`
`I
`
`.
`1 . 13
`
`Y
`
`Fm hole
`
`Y
`
`1909
`
`Add edge as pending
`
`g I
`
`1910
`
`11,110,
`
`|
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 30 of 58 PageID #: 745
`Case 1:15—cv—OO228—RGA Document 7-5 Filed 03/31/15 Page 30 of 58 Page|D #: 745
`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 26 of 39
`
`US 6,910,069 B1
`
`Handle port
`
`connection call Fig. 20
`
`2003
`
`-
`Can?’ '3 mt
`neighbor
`
`
`
`Send external message
`(point-connect-resp
`not ok)
`
`Send extemal message
`(point-connect-resp, ok)
`
`
`
`
`
`I Connect request I
`
`
`
`2006
`
`I
`
`Add neighbor
`
`I
`
`2008
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 31 of 58 PageID #: 746
`Case 1:15—cv—OO228—RGA Document 7-5 Filed 03/31/15 Page 31 of 58 Page|D #: 746
`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 27 of 39
`
`US 6,910,069 B1
`
`Fill hole
`
`
`
`Handle connection
`ports search edit
`
`
`
`2103
`
`Distribute internal
`message
`
`
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 32 of 58 PageID #: 747
`Case 1:15—cv—OO228—RGA Document 7-5 Filed 03/31/15 Page 32 of 58 Page|D #: 747
`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 28 of 39
`
`US 6,910,069 B1
`
`Fig 22
`
`Internal
`dispatcher
`
`2201
`
`Received internal message
`2202
`
`Assess diameter
`
`203
`
`2203A
`
`
`
`P
`
`anially connected
`
`Type
`= = broadcast
`
`Type
`
`
`
`statement
`
`
`Y
`
`mC5SagC
`
`statement
`
`2005
`
`2007
`
`Y
`
`I
`
`I
`
`pending connection buffer
`
`Y
`
`
`
`
`
`Pending
`connection bufier
`
`..
`“
`
`message queue
`°’“ 22 2
`
`Y
`
`Receive résponse ( )
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 33 of 58 PageID #: 748
`Case 1:15—cv—OO228—RGA Document 7-5 Filed 03/31/15 Page 33 of 58 Page|D #: 748
`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 29 of 39
`
`US 6,910,069 B1
`
`_
`03°89‘
`from flBlghbO1'
`message
`
`2304
`
`Clear out of order info
`
`
`
`2302
`
`Distribute broadcast
`
`message
`
`Fig. 23
`
`andle broadcast
`message
`
`
`
`2301
`Process out of order
`
`message
`
`
`
`
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 34 of 58 PageID #: 749
`Case 1:15—cv—OO228—RGA Document 7-5 Filed 03/31/15 Page 34 of 58 Page|D #: 749
`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 30 0f 39
`
`US 6,910,069 B1
`
`,
`Fig. 24
`
`Distribute
`broadcast message
`
`message
`
`from neighbor 2401
`message
`
`Select next neighbor
`
`All neighbor
`seiected
`
`Send internal
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 35 of 58 PageID #: 750
`Case 1:15—cv—OO228—RGA Document 7-5 Filed 03/31/15 Page 35 of 58 Page|D #: 750
`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 31 of 39
`
`US 6,910,069 B1
`
`Handle connection
`for search
`
`from neighbor
`message
`
`2 n
`
`Distribute internal
`
`_F’3- 36
`
`602
`
`N
`
`Y
`
`
`
`603
`
`Is requester
`a neighbor
`
`
`
`2604
`
`” II
`
`05
`
`ncrate
`
`condition check
`mes 2 e wineahbors
`
`
`
`2607
`
`Send internal message
`to requester
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 36 of 58 PageID #: 751
`Case 1:15—cv—OO228—RGA Document 7-5 Filed 03/31/15 Page 36 of 58 Page|D #: 751
`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 32 of 39
`
`US 6,910,069 B1
`
`N
`
`
`
`2706
`
`Hang up prospect
`
`
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 37 of 58 PageID #: 752
`Case 1:15—cv—OO228—RGA Document 7-5 Filed 03/31/15 Page 37 of 58 Page|D #: 752
`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 33 0f 39
`
`US 6,910,069 B1
`
`Handle connection
`fiigB search
`
`Rom neighbor
`mgggage
`
`801
` Not
`my message 1 1
`holes >= 2
`
`
`
`
`connection second
`edge (requester
`
`re " dist-1
`
`
`
`Forward
`
`connection edge
`
`ed
`search (requester,
`0)
`
`‘
`2806
`
`V-V
`V
`
`2807
`
`Send and receive
`external message
`
`808
`
`is edge acceptable N
`
`
`
`2812
`
`Fig. 28
`
`281 3
`
`Message
`
`In this pt. &&
`
`
`3
`
`en mtem
`message (from
`nei bor ack
`
`Nfro
`
`Y
`
`Fillho1e(se1t)
`
`2814
`
`|
`
`2815
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 38 of 58 PageID #: 753
`Case 1:15—cv—OO228—RGA Document 7-5 Filed 03/31/15 Page 38 of 58 Page|D #: 753
`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 34 of 39
`
`US 6,910,069 B1
`
`Handle edge search
`T8813.
`
`origin
`from neighbor
`
`Fig. 29
`
`Note connection edge
`search response
`
`Edge selcctcd
`
`904
`
`Y
`
`2908
`
`I
`
`Filiholc (self)
`
`I
`
`
`
`
`
`
`Y
`
`, .
`
`Reserve edge of from
`
`2905
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 39 of 58 PageID #: 754
`Case 1:15—cv—OO228—RGA Document 7-5 Filed 03/31/15 Page 39 of 58 Page|D #: 754
`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 35 0f 39
`
`US 6,910,069 B1
`
`
`
` Y
`
`3002
`
`Generate internal
`
`message
`
`3003
`
`Set message sequence
`number
`
`3004
`
`message
`
`Distribute internal
`
`
`
`
`
`
`
`Fig. 30
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 40 of 58 PageID #: 755
`Case 1:15—cv—OO228—RGA Document 7-5 Filed 03/31/15 Page 40 of 58 Page|D #: 755
`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 36 0f 39
`
`US 6,910,069 B1
`
`Acquire message
`
`message
`
`Fig. 31
`
`3101
`
`Pop message queue
`
`
`
`
`
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 41 of 58 PageID #: 756
`Case 1:15—cv—OO228—RGA Document 7-5 Filed 03/31/15 Page 41 of 58 Page|D #: 756
`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 37 0f 39
`
`US 6,910,069 B1
`
`andle condition check
`
`
`
`Fig. 32
`
`
`
`neighbors
`
`
`
`Set up message with list
`of neighbors
`
`3205
`e eat a nea or
`
`of sendmg process
`not In neihbor
`
`
`
`
` 3206
`
`3207
`
`I
`
`Add neighbor
`
`I
`
`
`
`.
`Send mtcmal message
`
`Send external message
`to selected neighbor
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 42 of 58 PageID #: 757
`Case 1:15—cv—OO228—RGA Document 7-5 Filed 03/31/15 Page 42 of 58 Page|D #: 757
`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 38 0f 39
`
`US 6,910,069 B1
`
`Handle condition
`
`repair statement
`
`
`
`Select a neighbor not
`involved in condition
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 43 of 58 PageID #: 758
`Case 1:15—cv—OO228—RGA Document 7-5 Filed 03/31/15 Page 43 of 58 Page|D #: 758
`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 39 0f 39
`
`US 6,910,069 B1
`
`
`
`Same set of
`
`nmghbors
`
` . | .
`
`Send internal message
`to-from neighbor
`
`
`
`Send internal message
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 44 of 58 PageID #: 759
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 44 of 58 Page|D #: 759
`
`US 6,910,069 B1
`
`1
`JOINING A BROADCAST CHANNEL
`
`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
`CHANNEL,” 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 DELIVERY SERVICE,” filed on Jul.
`31, 2000, now U.S. Pat. No. 6,714,966; U.S. patent appli-
`cation Ser. No. 09/629,024, entitled “DISTRIBUTED CON-
`FERENCING SYSTEM,” filed on Jul. 31, 2000; and U.S.
`patent application Ser. No. 09/629,042, entitled “DISTRIB-
`UTED GAME ENVIRONMENT,” filed on Jul. 31, 2000,
`the disclosures of which are incorporated herein by refer-
`ence.
`
`TECHNICAL FIELD
`
`The described technology relates generally to a computer
`network and more particularly, to a broadcast channel for 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,
`and peer-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 manner to all participants who may
`be geographically distributed.
`The point-to-point network protocols, such as UNIX
`pipes, TCP/IP, and UDP, allow processes 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 number of participants grows. For example, each
`participating process would need to manage its direct con-
`nections to all other participating processes. Programmers,
`however, find it 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 of possible 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
`
`2
`
`(“CORBA”). Client/server middleware systems are not par-
`ticularly well suited to sharing of information among many
`participants. In particular, when a client stores information
`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. Alternatively, each client 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 callback 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 (i.e., the server) would prevent communications
`between any of 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 overhead on 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 information efficiently.
`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 underlying 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, each message must pass through the root node in
`order to be received by all participants.
`It 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
`
`FIG. 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 to a broadcast channel.
`
`FIGS. 3A and 3B illustrate the process of connecting a
`new computer Z to the broadcast channel.
`FIG. 4A illustrates the broadcast channel of FIG. 1 with
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`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. 5B illustrates the disconnecting of a computer from
`the broadcast channel in an unplanned manner.
`FIG. 5C illustrates the neighbors with empty ports con-
`dition.
`
`60
`
`65
`
`FIG. 5D illustrates two computers that are not neighbors
`who now have empty ports.
`
`

`
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 45 of 58 PageID #: 760
`Case 1:15-cv-00228-RGA Document 7-5 Filed 03/31/15 Page 45 of 58 Page|D #: 760
`
`US 6,910,069 B1
`
`3
`FIG. 5E illustrates the neighbors with empty ports con-
`dition in the small regime.
`FIG. 5F illustrates the situation of FIG. 5E when in the
`
`large regime.
`FIG. 6 is a block diagram illustrating components of a
`computer that is connected to a broadcast channel.
`FIG. 7 is a block diagram illustrating the sub-components
`of the broadcaster component in one embodiment.
`FIG. 8 is a flow diagram illustrating the processing of the
`connect routine in one embodiment.
`
`FIG. 9 is a flow diagram illustrating the processing of the
`seek portal computer routine in one embodiment.
`FIG. 10 is a flow diagram illustrating the processing of the
`contact process routine in one embodiment.
`FIG. 11 is a flow diagram illustrating the processing of the
`connect request routine in one embodiment.
`FIG. 12 is a flow diagram of the processing of the check
`for external call routine in one embodiment.
`
`FIG. 13 is a flow diagram of the processing of the achieve
`connection routine in one embodiment.
`
`FIG. 14 is a flow diagram illustrating the processing of the
`external dispatcher routine in one embodiment.
`FIG. 15 is a flow diagram illustrating the processing of the
`handle seeking connection call routine in one embodiment.
`FIG. 16 is a flow diagram illustrating processing of the
`handle connection request call routine in one embodiment.
`FIG. 17 is a flow diagram illustrating the processing of the
`add neighbor routine in one embodiment.
`FIG. 18 is a flow diagram illustrating the processing of the
`forward connection edge search routin

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