throbber
Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 1 of 59 PageID #: 326
`
`Exhibit 6
`
`           
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 2 of 59 PageID #: 327
`
`(12) United States Patent
`Bourassa et al.
`
`(10) Patent N0.:
`(45) Date of Patent:
`
`US 6,920,497 B1
`Jul. 19, 2005
`
`US006920497B1
`
`(54)
`(75)
`
`(73)
`
`CONTACTING A BROADCAST CHANNEL
`
`Inventors: Virgil E. Bourassa, Bellevue, WA
`(US); Fred B. Holt, Seattle, WA (US)
`
`Assignee: The Boeing Company, Seattle, WA
`(Us)
`
`(*)
`
`Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 750 days.
`
`(21)
`(22)
`
`(51)
`(52)
`(58)
`
`(56)
`
`Appl. No.: 09/629,572
`Filed:
`Jul. 31, 2000
`
`Int. Cl.7 .............................................. .. G06F 15/16
`
`US. Cl.
`
`..
`
`Field of Search ............................... .. 709/249, 250,
`709/227, 370/389, 392, 463, 710/62
`
`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
`5,696,903
`5,732,074
`5,732,086
`5,732,219
`5,734,865
`
`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
`12/1997
`3/1998
`3/1998
`3/1998
`3/1998
`
`Cain et a1.
`Vu
`Mansour et a1.
`Perlman
`Crookshanks
`Shin
`Hauptschein
`Perlman et a1.
`Opher
`Derby et a1.
`Bodner et a1.
`Napolitano
`Perlman
`Amri et a1.
`Sitbon et 81.
`Yu
`Kikinis
`Gupta et al.
`Mahany
`Spaur et a1.
`Liang
`Blumer et 81.
`Yu
`
`4/1998 Periasamy et al.
`5,737,526 A
`5/1998 Butts et 81.
`5,754,830 A
`5,757,795 A * 5/1998 Schnell ..................... .. 370/392
`5,761,425 A
`6/1998 Miller
`5,764,756 A
`6/1998 OnWeller
`5,790,548 A
`8/1998 SistaniZadeh et 81.
`5,790,553 A
`8/1998 Deaton, Jr. et 81.
`5,799,016 A
`8/1998 OnWeller
`5,802,285 A
`9/1998 Hirviniemi
`5,850,592 A 12/1998 Ramanathan
`5,864,711 A
`1/1999 Mairs et al.
`5,867,660 A
`2/1999 Schmidt et 81.
`5,867,667 A
`2/1999 Butman et 81.
`5,870,605 A
`2/1999 Bracho et 81.
`5,874,960 A
`2/1999 Mairs et al.
`5,883,894 A * 3/1999 Patel et al. ............... .. 370/438
`5,899,980 A
`5/1999 Wilfet 81.
`5,907,610 A
`5/1999 OnWeller
`5,925,097 A
`7/1999 Gopinath et 81.
`5,928,335 A
`7/1999 Morita
`(Continued)
`OTHER PUBLICATIONS
`
`Bandyopadhyay et al., “A Flexible Architecture for Multi
`Hop Optical Networks,” Oct. 1998, 7th International Con
`ference on Computer Communications and Networks, 1998,
`pp. 472—478.
`
`(Continued)
`Primary Examiner—Bradley Edelman
`(74) Attorney, Agent, or Firm—Perkins Coie LLP
`(57)
`ABSTRACT
`
`A method of connecting to a network through a portal
`computer. A seeking computer dials the communications
`ports of a portal computer until it locates a call-in port. A
`port ordering algorithm is used to identify the call-in port.
`Communications ports selected by the port ordering algo
`rithm may be re-ordered. The seeking computer uses the
`selected call-in port to request that the portal computer
`coordinate the connection of the seeking computer to the
`network.
`
`16 Claims, 39 Drawing Sheets
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 3 of 59 PageID #: 328
`
`US 6,920,497 B1
`Page 2
`
`US. PATENT DOCUMENTS
`
`8/1999 Bell et al.
`5,935,215 A
`8/1999 Chen et al.
`5,946,316 A
`9/1999 Nielsen
`5,948,054 A
`9/1999 Batty
`5,949,975 A
`9/1999 Rosenberg et al.
`5,956,484 A
`5,970,232 A 10/1999 Passint et al.
`5,974,043 A 10/1999 Solomon
`5,987,506 A 11/1999 Carter et 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,065,063 A
`5/2000 Abali
`6,073,177 A
`6/2000 Hebel et al.
`6,094,676 A
`7/2000 Gray et al.
`6,115,580 A
`9/2000 Chuprun et al.
`6,151,633 A 11/2000 Hurst
`6,167,432
`12/2000 Jiang
`A
`6,173,314 B1
`1/2001 Kurashima et al.
`6,195,366 B1 * 2/2001 Kayashima et al. ...... .. 370/475
`6,199,116 B1
`3/2001 May et al.
`6,216,177 B1
`4/2001 Mairs et al.
`6,223,212 B1
`4/2001 Batty et al.
`6,243,691 B1
`6/2001 Fisher et al.
`6,252,884 B1
`6/2001 Hunter
`6,268,855 B1
`7/2001 Mairs et al.
`6,269,080 B1
`7/2001 Kumar
`6,271,839 B1
`8/2001 Mairs et al.
`6,272,548 B1
`8/2001 Cotter et al.
`6,285,363 B1
`9/2001 Mairs et al.
`6,304,928 B1
`10/2001 Mairs et al.
`6,321,270 B1
`11/2001 Crawley
`6,353,599 B1
`3/2002 Bi et al.
`6,415,270 B1
`7/2002 Rackson
`6,421,735 B1 * 7/2002 Jung et al. ................ .. 709/250
`6,434,622 B1
`8/2002 Monteiro
`6,449,251 B1 * 9/2002 Awadallah et al. ....... .. 370/229
`6,449,601 B1
`9/2002 Friedland
`6,463,078 B1
`10/2002 Engstrom et al.
`6,490,247 B1
`12/2002 Gilbert
`6,505,289 B1
`1/2003 Han
`6,524,189 B1
`2/2003 Rautila
`6,553,020 B1
`4/2003 Hughes
`6,603,742 B1
`8/2003 Steele
`6,618,752 B1
`9/2003 Moore et al.
`6,701,344 B1
`3/2004 Holt
`2002/0027896 A1
`3/2002 Hughes et al.
`
`OTHER PUBLICATIONS
`
`Hsu, “On—Four—Connecting a Triconnected Graph,” Oct.
`1992, Annual Symposium on Foundations of Computer
`Science, 1992, pp. 70—79.
`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.
`Shiokawa et al., “Performance Analysis on 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. 1999, IEEE Globecom ’90, Communicaitons: Com
`mecting the Future, vol. 1, pp. 459—463.
`
`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.
`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.htlm.
`PR Newswire, “Microsoft Boosts Accessibility to Internet
`Gaming Zone with Latest Release,” Apr. 27, 1998, pp lff.
`PR Newswire, “Microsoft Annouces Launch Date for Ultra
`Corps, Its Second Premium Title for the Internet Gaming
`Zone,” Mar. 27, 1998, pp 1 ff.
`Business Wire, “Boeing Panthesis Complete SWAN Trans
`action,” Jul. 22, 2002, pp lff.
`AZar, et al., “Routing Strategies for Fast Networks,” May
`1992 INFOCOM ’92, Eleventh Annual Joint Conference of
`the IEEE Computer and Communications Societies, vol. 1.,
`pp 170—179.
`U.S. Appl. No. 09/629,570, ?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.
`US. Appl. No. 09/629,576, ?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.
`US. 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, 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/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).
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 4 of 59 PageID #: 329
`
`US 6,920,497 B1
`Page 3
`
`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.
`The Common Object Request Broker: Architecture and
`Speci?cation, Revision 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).
`
`* cited by examiner
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 5 of 59 PageID #: 330
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 1 0f 39
`
`US 6,920,497 B1
`
`1»
`
`/ b
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 6 of 59 PageID #: 331
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 2 m9
`
`US 6,920,497 B1
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 7 of 59 PageID #: 332
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 3 0f 39
`
`US 6,920,497 B1
`
`m
`
`o
`
`<
`
`<
`
`N
`
`53
`5’
`
`m
`
`o
`
`m
`
`o
`
`a
`
`3,
`£5
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 8 of 59 PageID #: 333
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 4 0f 39
`
`US 6,920,497 B1
`
`41 i
`1547
`
`v» .S
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 9 of 59 PageID #: 334
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 5 0f 39
`
`US 6,920,497 B1
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 10 of 59 PageID #: 335
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 6 0f 39
`
`US 6,920,497 B1
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 11 of 59 PageID #: 336
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 7 0f 39
`
`US 6,920,497 B1
`
`,1;
`
`‘Y
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 12 of 59 PageID #: 337
`
`U.S. Patent
`
`Jul. 19, 2005
`
`Sheet 8 m9
`
`US 6,920,497 B1
`
`0
`
`U
`
`4
`
`I
`
`/
`
`ig. 5B
`
`/
`/
`
`I
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 13 of 59 PageID #: 338
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 9 0f 39
`
`US 6,920,497 B1
`
`m
`
`<
`
`U
`“v:
`£9
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 14 of 59 PageID #: 339
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 10 0f 39
`
`US 6,920,497 B1
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 15 of 59 PageID #: 340
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 11 0f 39
`
`US 6,920,497 B1
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 16 of 59 PageID #: 341
`Case 1:15—cv—OO228—RGA Document 1-6 Filed 03/11/15 Page 16 of 59 Page|D #: 341
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 12 of 39
`
`US 6,920,497 B1
`
`ig.6
`
`:3?
`5-3“:
`375.5
`
`<.,§
`
`
`Application2(channel
`
`typechamclinstance)
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 17 of 59 PageID #: 342
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 13 0f 39
`
`US 6,920,497 B1
`
`mom
`
`3:8:
`
`.2332“.
`
`
`
`mob Po»
`
`itch
`xoum 80580
`
`was
`
`82:30
`
`33:8
`
`m 2.
`
`3339mm
`
`80580
`
`105 =3
`
`
`
`mom vow
`
`25.6
`$323.5 2334
`$8 $.88...
`
`0x08“
`
`0883b
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 18 of 59 PageID #: 343
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 14 0f 39
`
`US 6,920,497 B1
`
`(CW6! Type,
`Channel Instance,
`Connect Aux Info)
`
`Fig. 8
`
`(
`
`Connect
`
`)
`
`Open call in port
`
`801
`
`BQZ.
`
`Set connect-time
`
`803
`Seek portal - computer
`(channel type channel
`instance)
`
`Contacts
`= =
`0
`
`_
`
`Return (false)
`
`805
`
`Achieve connection
`
`B07
`
`Install external dispatcher
`
`Install enema] d'spatcher
`
`809
`
`Connect request
`
`(
`
`Return (true)
`
`>
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 19 of 59 PageID #: 344
`
`U.S. Patent
`
`Jul. 19, 2005
`
`Sheet 15 0f 39
`
`US 6,920,497 B1
`
`Seek portal
`computer
`
`Channel Type
`Channel instance
`
`'
`Select next depth
`
`902
`
`All depths selected
`
`904
`N
`Select next penal compute:
`
`05
`All portal computers
`selected
`
`Dial portal computer
`
`907
`
`Y
`
`908
`
`Contact process
`
`909
`Hang up selected portal
`computer
`
`911
`Check for external
`call
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 20 of 59 PageID #: 345
`
`U.S. Patent
`
`Jul. 19, 2005
`
`Sheet 16 0f 39
`
`US 6,920,497 B1
`
`( Contact process )
`
`1001
`Send external message
`
`100;
`Receive external message
`
`Fig. 10
`
`1 005
`Add as connected portal
`computer
`
`Answering process
`connected
`
`1006
`Add as fellow seeking
`computer
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 21 of 59 PageID #: 346
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 17 0f 39
`
`US 6,920,497 B1
`
`Connect request
`
`Dial call‘in port of portal
`computer
`
`1 104
`
`Success
`
`N
`
`1105
`Y
`Send external message
`
`1 106
`Receive external message
`
`11.8.
`Y
`§et expect holes from
`response
`
`1 129
`Set diameter from response
`
`111
`Ready to connect
`
`1 1 12
`Add neighbor
`
`N‘
`Hangup
`
`11127
`
`{
`
`Return
`
`1
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 22 of 59 PageID #: 347
`Case 1:15—cv—OO228—RGA Document 1-6 Filed 03/11/15 Page 22 of 59 Page|D #: 347
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 18 of 39
`
`US 6,920,497 B1
`
`.
`
`' hack for exte
`
`call
`
`Fig. 12
`
`
`
`
`
`
`
`connection call
`
`K
`
`
`
`@
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 23 of 59 PageID #: 348
`Case 1:15—cv—OO228—RGA Document 1-6 Filed 03/11/15 Page 23 of 59 Page|D #: 348
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 19 of 39
`
`US 6,920,497 B1
`
`
`
`
`
`
`
`
`
`1 301
`Connection - state = fully
`connected
`
`
`
`Fig. 13
`
`
`
`1 302
`
`Notify fellow seekers
`
`1 303
`
`Invoke connect call back
`
`
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 24 of 59 PageID #: 349
`Case 1:15—cv—OO228—RGA Document 1-6 Filed 03/11/15 Page 24 of 59 Page|D #: 349
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 20 of 39
`
`US 6,920,497 B1
`
`External dispatcher
`
`Fig. 14
`
`
`
`1 404
`
`Handle seekinII
`
`
`
`Seeking connection can
`
`
`Connected statement
`
`
`statement ‘ repairstatement I
`
`1406
`
`Handle connection
`request call
`
`1 408
`
`Handle edge proposal
`call
`
`1410
`
`Handle port
`connection call
`
`Handle connected
`statement
`
`ondition repair
`
`Handle condition
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 25 of 59 PageID #: 350
`Case 1:15—cv—OO228—RGA Document 1-6 Filed 03/11/15 Page 25 of 59 Page|D #: 350
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 21 of 39
`
`US 6,920,497 B1
`
`
`
`Handle eeeking
`connecuon call
`
`1501
`
`Fully connected
`
`
`
`Set message to indicate
`connected
`
`
`
`1505
`
`Send external message
`
`
`
`1 504
`
`Add other as fellow
`seeking process
`
` Fig. 15
`
`Set message to not
`connected
`
`1503
`
`
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 26 of 59 PageID #: 351
`Case 1:15—cv—OO228—RGA Document 1-6 Filed 03/11/15 Page 26 of 59 Page|D #: 351
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 22 of 39
`
`US 6,920,497 B1
`
`ndle connection
`request call
`
`1601
`
`_ ,
`
`9)
`Set newcomer’: W
`holes_to__expect
`
`3.57
`Set diameter estimate in
`
`response
`
`-J
`Set ready in response
`
`.3‘.
`Sent external message
`connect request resp.
`. a
`
`Set newcomer’:
`hoIes_to_61l
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 27 of 59 PageID #: 352
`Case 1:15—cv—OO228—RGA Document 1-6 Filed 03/11/15 Page 27 of 59 Page|D #: 352
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 23 of 39
`
`US 6,920,497 B1
`
`Add neighbor
`
`I
`
`Identifies calling party
`
`Fig. I 7
`
`I
`
`Sets neighbor to
`messages pending
`
`703 Y
`
`_ '-'_N
`
`C
`
`,
`
`I:
`
`I
`
`50
`
`Add as neighbor
`
`CA0
`Install interal dispatcher
`for new neighbor
`
`707
`
`W Y
`
`N 1
`
`
`
`
`709
` Holes = 3
`xpected 1101 ‘—~
`
`
`
`
`‘’ II
`
`N
`
`1711
`Hole - - 0
`
`Y
`
`N
`
`Purge pending edges
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 28 of 59 PageID #: 353
`Case 1:15—cv—OO228—RGA Document 1-6 Filed 03/11/15 Page 28 of 59 Page|D #: 353
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 24 of 39
`
`US 6,920,497 B1
`
`Forward connection
`358° 33”“
`
`requester
`distance remaining
`
`Fig. 18
`
`
`
`neighbor S
`
`requester
`
`
`
`1 08
`
`Note connection edge
`search call
`
`18 -
`
`Select random neighbor
`
`
`
`All neighbors
`selected
`
`N
`
`1 806
`
`Send internal message
`
`
`
`1807
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 29 of 59 PageID #: 354
`Case 1:15—cv—OO228—RGA Document 1-6 Filed 03/11/15 Page 29 of 59 Page|D #: 354
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 25 of 39
`
`US 6,920,497 B1
`
`Handle edge
`P'°P°5‘1 °3“
`
`in message
`out message
`
`Fig. 19
`
`
`
`Send external message
`
`1912
`Holes odd
`
`N
`
`Y
`
`.
`
`ll Add edge as pending
`
`w ll
`
`1910
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 30 of 59 PageID #: 355
`Case 1:15—cv—OO228—RGA Document 1-6 Filed 03/11/15 Page 30 of 59 Page|D #: 355
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 26 of 39
`
`US 6,920,497 B1
`
`Handle port
`connection call
`
`Fig. 20
`
`2001
`
`'
`
`Holes > 0
`
`N
`
`910
`
`Szand. eittemal message
`pom -connechres
`not 01:)
`P
`
`Cane, is not
`-
`"eight"
`
`Y
`
`, 04
`
`Send external message
`(point-connect-resp, ok) .
`
`
`
`2006
`
`'
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 31 of 59 PageID #: 356
`Case 1:15—cv—OO228—RGA Document 1-6 Filed 03/11/15 Page 31 of 59 Page|D #: 356
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 27 of 39
`
`US 6,920,497 B1
`
`Distnbute internal
`
`message
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 32 of 59 PageID #: 357
`Case 1:15—cv—OO228—RGA Document 1-6 Filed 03/11/15 Page 32 of 59 Page|D #: 357
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 28 of 39
`
`US 6,920,497 B1
`
`Internal
`dispatcher
`
`2201
`
`Fig. 22
`
`2
`
`
`= = broadcast
`
`
`statement
`
`2005
`
`I Handle broadcast
`
`"‘°‘-“B9
`
`Insenme
`
`Partially co
`
`pending connecuon buffer
`
`Y
`
`2007
`
`Handle shutdown
`
`‘ statement I
`
`Pending
`connection buffer
`
`
`"N I
`
`12
`
`Receive response ( )
`
`
`
`Y
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 33 of 59 PageID #: 358
`Case 1:15—cv—OO228—RGA Document 1-6 Filed 03/11/15 Page 33 of 59 Page|D #: 358
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 29 of 39
`
`US 6,920,497 B1
`
`Fig. 23
`
`
`
`2 die broadcast
`message
`
`
`2301
`
`075891
`from neighbor
`message
`
`Process out of order
`
`message
`
`
`
`
`
`2302
`
`Dism'bute'broadcast
`
`massage
`
`
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 34 of 59 PageID #: 359
`Case 1:15—cv—OO228—RGA Document 1-6 Filed 03/11/15 Page 34 of 59 Page|D #: 359
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 30 of 39
`
`US 6,920,497 B1
`
`1738- 24
`
`Distribute
`
`
`
`2401
`
`31355389
`
`from neighbor
`
`
`
`Select next neighbor
`
`
`
`2403
`
`
`
`Send internal
`
`message
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 35 of 59 PageID #: 360
`Case 1:15—cv—OO228—RGA Document 1-6 Filed 03/11/15 Page 35 of 59 Page|D #: 360
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 31 of 39
`
`US 6,920,497 B1
`
`Handle connection
`£0!’ search
`
`from neighbor
`mgssagg
`
`2601
`
`Distribute imemal
`
`n-g.26
`
`02
`
`Y
`
`” @
`
`
`
`~ Is requestor
`a neighbor
`
`N
`
`OJ.‘
`
`.ll
`
`
`
`nerate
`condmon check
`messaew/nei u 9
`
`2607
`
`Send intemal message
`to requester
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 36 of 59 PageID #: 361
`Case 1:15—cv—OO228—RGA Document 1-6 Filed 03/11/15 Page 36 of 59 Page|D #: 361
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 32 of 39
`
`US 6,920,497 B1
`
`Court neighbor
`
`Pmspect
`
` N
`
`Fig. 27
`
`2702
`
`Dial prospect
`
`703
`
`N
`
`
`
`U
`
`9.:
`
`Send and receive
`external message
`
`U
`
`Add neighbor
`
`2706
`
`Hang up prospect
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 37 of 59 PageID #: 362
`Case 1:15—cv—OO228—RGA Document 1-6 Filed 03/11/15 Page 37 of 59 Page|D #: 362
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 33 of 39
`
`US 6,920,497 B1
`
`edge search call
`
`"°‘” "°“‘*“’°'
`message
`
`
`
`801
`
`my message 1 1
`
`holes >= Z
`
`Not
`
`
`connection second
`edge (requester
`
`remamm disc -1
`
`.
`
`
`
`
`
`Message
`from this pt. &&
`oles = = 1
`
`
`
`y
`
`2314
`
`
`
`|
`I
`Fill hole(self)
`2815
`‘
`' Intern»
`message (from '
`
`5‘
`
`nei ; her an}:
`
`
`
`
`
`connection ge
`
`r or edge
`search (requester,
`0)
`"°5°“’°d
`
`
`
`I
`
`V‘!
`
`806
`
`2807
`
`Send and receive
`external message
`
`808
`
`is edge acceptable N
`
`
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 38 of 59 PageID #: 363
`Case 1:15—cv—OO228—RGA Document 1-6 Filed 03/11/15 Page 38 of 59 Page|D #: 363
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 34 of 39
`
`US 6,920,497 B1
`
`Handle edge search
`7959-
`
`6 ,
`Note connection edge
`
`
`
`origin
`from neighbor
`message
`
`
`
`_
`Flg. 29
`
`
`
`search response Reserve edge offrom
`
`neighbor
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 39 of 59 PageID #: 364
`Case 1:15—cv—OO228—RGA Document 1-6 Filed 03/11/15 Page 39 of 59 Page|D #: 364
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 35 of 39
`
`US 6,920,497 B1
`
`message
`
`Fig. 30
`
`001
`
`Any neighbors
`
`
`
`
`
`Y
`
`3002
`
`Generate internal
`
`message
`
`
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 40 of 59 PageID #: 365
`Case 1:15—cv—OO228—RGA Document 1-6 Filed 03/11/15 Page 40 of 59 Page|D #: 365
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 36 of 39
`
`US 6,920,497 B1
`
`message
`
`Fig. 31
`
`3101
`
`Pop message queue
`
`
`
`
`
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 41 of 59 PageID #: 366
`Case 1:15—cv—OO228—RGA Document 1-6 Filed 03/11/15 Page 41 of 59 Page|D #: 366
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 37 of 39
`
`US 6,920,497 B1
`
`
`
`Set up message with list
`of neighbors
`
`' eat _a mug - -
`of sendmg process
`not
`nei bor
`
`'
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 42 of 59 PageID #: 367
`Case 1:15—cv—OO228—RGA Document 1-6 Filed 03/11/15 Page 42 of 59 Page|D #: 367
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 38 of 39
`
`US 6,920,497 B1
`
`
`
`
` _Select a neighbor not
`Involved in condition
`
`Remove selected
`neighbor
`
`Hanqle condition
`repair statement
`
`'
`
`
`
`Fig. 33
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 43 of 59 PageID #: 368
`Case 1:15—cv—OO228—RGA Document 1-6 Filed 03/11/15 Page 43 of 59 Page|D #: 368
`
`U.S. Patent
`
`Jul. 19,2005
`
`Sheet 39 of 39
`
`US 6,920,497 B1
`
`
`
`Handle condition
`double check
`
`
`
`3401
`
`Holes == == 1
`
`N
`
`Fig. 34
`
`Same
`
`| -
`
`Holes == = O
`
`
`
`
`
`to-from neighbor
`
`. . .
`
`
`
`
`
`
`
`

`
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 44 of 59 PageID #: 369
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 44 of 59 Page|D #: 369
`
`US 6,920,497 B1
`
`1
`CONTACTING 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, now U.S. Pat. No.
`6,829,634; U.S. patent application Ser. No. 09/629,570,
`entitled “JOINING A BROADCASTING CHANNEL,”
`filed on Jul. 31, 2000; U.S. patent application Ser. No.
`09/629,577, entitled “LEAVING A BROADCAST
`CHANNEL,” filed on Jul. 31, 2000, now U.S. Pat. No.
`6,732,147; 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,023, entitled “DISTRIBUTED AUCTION
`SYSTEM,” filed on Jul. 31, 2000; U.S. patent application
`Ser. No. 09/629,043, entitled “AN INFORMATION DELIV-
`ERY SERVICE,” filed on Jul. 31, 2000, now U.S. Pat. No.
`6,714,966; U.S. patent application Ser. No. 09/629,024,
`entitled “DISTRIBUTED CONFERENCING SYSTEM,”
`filed on Jul. 31, 2000; and U.S. patent application Ser. No.
`09/629,042, entitled “DISTRIBUTED GAME
`ENVIRONMENT,” filed on Jul. 31, 2000, now U.S. Pat. No.
`6,701,344, the disclosures of which are incorporated herein
`by reference.
`
`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 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 (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 1-6 Filed 03/11/15 Page 45 of 59 PageID #: 370
`Case 1:15-cv-00228-RGA Document 1-6 Filed 03/11/15 Page 45 of 59 Page|D #: 370
`
`US 6,920,497 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 routine in one embodiment.
`FIG. 19 is a flow diagram illustrating the processing of the
`handle edge proposal call routine.
`FIG. 20 is a flow diagram illustrating the processing of the
`handle port connection call routine in one embodiment.
`FIG. 21 is a flow diagram illustrating the processing of the
`fill hole routine in one embodiment.
`
`FIG. 22 is a flow diagram illustrating the processing of the
`internal dispatcher routine in one embodiment.
`FIG. 23 is a flow diagram illustrating the processing of the
`handle broadcast message routine in one embodiment.
`FIG. 24 is a flow diagram illustrating the processing of the
`distribute broadcast message routine in one embodiment.
`FIG. 26 is a flow diagram illustrating the processing of the
`handle connection port search statement routine in one
`embodiment.
`
`FIG. 27 is a flow diagram illustrating the processing of the
`court neighbor routine in one embodiment.
`FIG. 28 is a flow diagram il

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