`
`__________________
`
`BEFORE THE PATENT TRIAL AND APPEAL BOARD
`
`___________________
`
`ACTIVISION BLIZZARD, INC.,
`ELECTRONIC ARTS INC.,
`TAKE-TWO INTERACTIVE SOFTWARE, INC.,
`2K SPORTS, INC.,
`ROCKSTAR GAMES, INC., and
`BUNGIE, INC.,
`Petitioner,
`v.
`
`ACCELERATION BAY, LLC,
`Patent Owner.
`____________________
`
`Case IPR2015-019511
`Patent 6,714,966
`
`__________________________________________________________
`
`DECLARATION OF DR. FRED B. HOLT IN SUPPORT OF PATENT
`OWNER’S RESPONSE
`
`
`1 Bungie, Inc., who filed a Petition in IPR2016-00935, has been joined as a
`petitioner in this proceeding.
`
`Patent Owner Acceleration Bay, LLC - Ex. 2006, p. 1
`
`
`
`I, Fred B. Holt, Ph.D., declare as follows:
`
`1.
`
`I am over the age of majority and make this declaration of my own
`
`personal knowledge.
`
`2.
`
`I was employed at Boeing, Inc. (“Boeing”) initially in 1984, from
`
`1986 to 1992 and from 1996 to January 2002 as a research scientist and
`
`mathematics modeler. While at Boeing, I was responsible for inventing and
`
`improving solutions to Boeing-internal technology challenges.
`
`3.
`
`I am a co-inventor of the “SWAN: Small-World Wide Area
`
`Networking” (“SWAN”) invention, which is the subject matter of the patented
`
`inventions covered by U.S. Patent Nos. 6,829,634 (“the ’634 Patent”), 6,701,344
`
`(“the ’344 Patent”), 6,920,497 (“the ’497 Patent”), 6,910,069 (“the ‘069 Patent”),
`
`6,732,147 (“the ’147 Patent”), and 6,714,966 (“the ’966 Patent”) (collectively, the
`
`“SWAN Patents”).
`
`4.
`
`In the Fall of 1996, after I completed my Ph.D. in Mathematics at the
`
`University of Washington, I returned to the Mathematics & Engineering Analysis
`
`Group at the Boeing Company (“Boeing”) as a research scientist.
`
`5.
`
`Shortly after my return, Virgil Bourassa came to my office to discuss
`
`a project he was working on for
`
` a CAD visualization tool that was used
`
`internally at Boeing. At that time, individual engineers generally used
`
` as
`
`a stand-alone application and at times with a one-to-one connection for two-person
`
`Patent Owner Acceleration Bay, LLC - Ex. 2006, p. 2
`
`
`
`collaboration. Virgil informed me that they had asked Virgil to expand the
`
`communications for collaboration to allow for three-person collaboration. Virgil
`
`knew that as soon as we would deliver a system that allowed for three-person
`
`collaboration, there would eventually be a request to keep increasing the number of
`
`participants, so we needed to figure out how to solve this beyond a three-person
`
`capability. We then talked about the requirements and constraints for this request,
`
`and I suggested random regular graphs as a potential solution. We immediately
`
`began identifying issues and working on solutions for a real deployment.
`
`6.
`
`As Virgil and I described in our Invention Disclosure Form, the
`
`typical computer network communications techniques included: (1) fully-
`
`connected point-to-point network protocols, (2) client/server middleware, (3)
`
`multicasting network protocols, and (4) peer-to-peer middleware.
`
`7.
`
`Fully-connected point-to-point networking protocols were
`
`disadvantageous because fully-connected network graphs do not scale as the
`
`number of participating processes grows. Client/server middleware systems were
`
`disadvantageous because the server is a performance bottleneck and a single point
`
`of failure. Multicast networking protocols were disadvantageous because multicast
`
`traffic at the time was limited to single local-area networks. Peer-to-peer
`
`middleware at the time was not suitable for the needs of medium to large-scale
`
`collaboration.
`
`- 2 -
`
`Patent Owner Acceleration Bay, LLC - Ex. 2006, p. 3
`
`
`
`8.
`
`The lack of technology available that could provide peer-to-peer
`
`communications among computer processes across the world with high reliability
`
`and low latency reaffirmed that a solution was needed in this area to satisfy an
`
`existing need in the market. Therefore, Virgil and I realized that there was a need
`
`to create an effective means to allow scalable and reliable sharing of information
`
`across multiple processes.
`
`9.
`
`Virgil led the effort to develop SWAN. Virgil was responsible for
`
`communicating with the
`
`project group as we worked on SWAN. I
`
`proposed using random regular graphs as the communications topology. I also
`
`gave an initial explanation about why the degree should be even and at least four.
`
`10. One of the major constraints that Virgil insisted on in the design
`
`process was that we had to keep the information local and asynchronous. The
`
`desired topology (random regular graphs of even degree) and the method of
`
`broadcasting messages were determined at the outset.
`
`11. Within two months, Virgil and I had produced an initial simulation of
`
`SWAN, and we had started on a research implementation of SWAN. The
`
`simulation showed how the graphs of the communications topology changed as the
`
`number of participants grew. We did not use the simulation for very long, since
`
`the research implementation very quickly provided more capabilities. The research
`
`implementation would launch very simple UNIX processes that would join a
`
`- 3 -
`
`Patent Owner Acceleration Bay, LLC - Ex. 2006, p. 4
`
`
`
`SWAN session. We could launch a few dozen nodes on a single UNIX computer
`
`before swamping the resources of this single computer.
`
`12.
`
`For joining a SWAN session, the first challenge we had to solve was
`
`how to pick n/2 random edges in the existing graph by using only local
`
`information. We knew that we wanted to keep the diameter of the resulting graph
`
`low, and preferred that the n/2 edges were “far” from each other in the graph. If
`
`the edges were all chosen too closely to the initiating node, the graph grew into a
`
`sausage-shape with a diameter that was too high. The solution we chose was to
`
`initiate n/2 random walks through the existing fabric. The length of the random
`
`walks would be proportional to estimates of the current diameter. Since the true
`
`diameter was a global parameter, we had to use estimates based on local
`
`information. Ideally, the random walks would have a length equal to the square of
`
`the diameter. Through experimentation, we settled on a heuristic of a low multiple
`
`of the diameter as sufficient.
`
`13.
`
`The joining algorithm had to move seamlessly through and out of the
`
`“small regime” in which there are fewer than n+1 nodes. If the session is in the
`
`small regime, then there is no need to launch the random walks. We developed a
`
`solution to determine whether we are in the small regime using only local
`
`information, and if so, to introduce a new node into the session in this context.
`
`- 4 -
`
`Patent Owner Acceleration Bay, LLC - Ex. 2006, p. 5
`
`
`
`14. With the topological aspects of joining taken care of, we next had to
`
`give the new node the current state of the application, under the constraints of
`
`having only local information and of ongoing activity by the other nodes.
`
`15.
`
`To help us design and debug the evolving versions of SWAN, we
`
`designed and developed a graphics window (“Monitor”) that would show the
`
`global state and would calculate certain performance parameters for the current
`
`SWAN graph. Since this Monitor violated the constraint mentioned above, we
`
`kept it separate from the SWAN code itself. The Monitor was the first of a set of
`
`utility programs that we would use to optimize and debug SWAN.
`
`16.
`
`In early 1997, we continued to augment the research implementation
`
`of SWAN. We gave the nodes a simple chat capability. Using this capability, a
`
`participant could type into any of the nodes and the other nodes would echo the
`
`message. We augmented this with a simple graphics drawing capability that would
`
`allow a user to draw freehand in a canvas at any node, and the other nodes would
`
`echo the sketch as the segments were broadcast.
`
`17. We next had to determine how the session would repair itself when a
`
`node left the session, both announced and unannounced. We invented a solution
`
`for repairing the Swan fabric, which was more challenging than joining. If the
`
`node’s departure was anticipated, the departing node could share its local
`
`information to aid in the repair. If the node’s departure was not anticipated, then
`
`- 5 -
`
`Patent Owner Acceleration Bay, LLC - Ex. 2006, p. 6
`
`
`
`the node that discovers the missing neighbor has to undertake repairs without the
`
`benefit of knowing the departed node’s other neighbors.
`
`18. Another challenge we had to address was how to enforce a consistent
`
`state across the nodes when there was no global reference. Addressing this
`
`challenge led to a collection of design principles that we applied in generating a
`
`series of more advanced demonstration applications. Our production application,
`
` was a very complex engineering software, and our demonstration
`
`applications gave us experience using SWAN with richer data and in a variety of
`
`interaction models. Two of the demonstration applications provided basic
`
`functionality for an online auction and an online meeting.
`
`19.
`
`Exhibit 2047 is a copy of handwritten notes in my handwriting that
`
`shows that by March 27, 1997, we had been developing utility software to
`
`calculate the diameter of a SWAN session, to array the nodes according to their
`
`distance from a reference node, and to estimate the reliability of this session.
`
`20.
`
`Exhibit 2048 is a print-out of a C++ header file that shows that by
`
`April 22, 1997, we had implemented the code necessary to maintain regular graphs
`
`based on local information. This is related to SWAN because it shows our work
`
`on selecting random edges and monitoring whether the session is in the small
`
`regime.
`
`- 6 -
`
`Patent Owner Acceleration Bay, LLC - Ex. 2006, p. 7
`
`
`
`21.
`
`Exhibit 2049 is a printout of a C software module that shows that by
`
`June 8, 1999, we had developed utilities for estimating the diameter of a session,
`
`checking the reliability or connectedness, and providing the data for a
`
`transmission-centric display of the session. This is the implementation of the notes
`
`in VB 003136 above. Although this printout is dated June 8, 1999, the markings
`
`inside the comments of the module indicate that this code was developed since
`
`1997. This is related to SWAN because it is part of the utilities we used to debug
`
`and optimize the SWAN code.
`
`22.
`
`SWAN was fully built as of August 30, 1999, and successfully
`
`implemented in
`
`by September 16, 1999, as indicated on our Invention
`
`Disclosure Form, attached as Exhibit 2028. The Invention Disclosure Form
`
`contains my signature on each page following the first page. Although my
`
`signature is dated December 22, 1999, the Invention Disclosure Form describes
`
`how SWAN was working in
`
` as of September 16, 1999. This is indicated
`
`on the first page of the document which states that the SWAN was satisfactorily
`
`tested on September 16, 1999. In addition to
`
`, SWAN had undergone
`
`alpha and beta testing for use in the Boeing’s
`
` design system
`
`used in Everett, Washington.
`
`23.
`
`The Invention Disclosure Form describes the SWAN technology,
`
`which was implemented as a 4-regular network. By September 16, 1999, SWAN
`
`- 7 -
`
`Patent Owner Acceleration Bay, LLC - Ex. 2006, p. 8
`
`
`
`used an incomplete graph. Each participant had a connection to at least four
`
`neighbor participants. In operation, SWAN would send data from an originating
`
`participant to the other participants by sending data through each of its connections
`
`to its neighbor participants. Each participant would then send data that it receives
`
`from a neighbor participant to its other neighbor participants. SWAN was also a
`
`dynamic network that used a non-routing table based broadcast channel. SWAN
`
`was an overlay network that used an underlying communication network. SWAN
`
`provides peer-to-peer communications between the participants connected to the
`
`broadcast channel. In one example, each participant to the broadcast channel could
`
`receive an indication of the four neighbor participants. The broadcast component
`
`could receive data from a neighbor participant using the communication network
`
`and send the data to the neighbor participants to affect the broadcasting of the data
`
`to each participant of the broadcast channel.
`
`24.
`
`The graph was built up automatically and incrementally, using
`
`emergent algorithms that provably maintained our design goals. The graph
`
`reliably continued the conversation even where there were incremental additions
`
`and losses of nodes and links. Although the graph was 4-connected, indicating that
`
`partitioning requires at least 4 nodes to be lost simultaneously, stress tests we
`
`performed showed that if chosen at random, at least 25% of the nodes had to be
`
`killed simultaneously for partitioning to actually occur. The latency was low and
`
`- 8 -
`
`Patent Owner Acceleration Bay, LLC - Ex. 2006, p. 9
`
`
`
`grew logarithmically with the number of participants, each with a constant small
`
`number of connections.
`
`25.
`
`SWAN was self-constructing and self-repairing, able to accommodate
`
`any number of nodes being brought in or removed in any order without disruption
`
`to the session conversation. In other words, since the system was completely
`
`distributed among the participants, any of them could join, depart, or fail at any
`
`time and in any order, without causing any interruptions to the connections.
`
`26.
`
`To summarize, the process that resulted in the creation of the SWAN
`
`Patents took us almost three years, although Virgil estimated that we would have a
`
`working model in about three weeks. In the end, Virgil and I successfully
`
`implemented SWAN as described in our Invention Disclosure Statement in
`
` by September 16, 1999. SWAN was able to provide general world-wide
`
`peer-to-peer communications among computer processes.
`
`27.
`
`In addition, Boeing launched its
`
` initiative to look for
`
`Boeing-internal technologies that had commercial potential. SWAN was one of
`
`the companies selected and quickly rose to become the leader in this portfolio of
`
`potential Boeing spinout companies.
`
`28. After we had developed SWAN and filed our patent applications, we
`
`held a phone conference with Sony under a non-disclosure agreement, the purpose
`
`of which was to see whether Sony would license SWAN for testing. During this
`
`- 9 -
`
`Patent Owner Acceleration Bay, LLC - Ex. 2006, p. 10
`
`
`
`meeting, one of Sony’s employees had taken notes as we explained our SWAN
`
`technology and its application in multiplayer games. This past year I became
`
`aware that Sony filed a series of patents shortly after our 2003 meeting, which
`
`patents I reviewed and realized that they contain similar technology to SWAN and
`
`these Sony patents inconsistently cited the SWAN patents. The patents I reviewed
`
`were: U.S. Patent No. 7,596,633, U.S. Patent No. 7,610,402, U.S. Patent No.
`
`7,610,505 (a continuation of U.S. Patent No. 7,392,422), U.S. Patent No.
`
`7,627,678, U.S. Patent No. 7,725,599, U.S. Patent No. 7,831,666, U.S. Patent No.
`
`7,792,902, U.S. Patent No. 7,792,968, U.S. Patent No. 8,010,633, U.S. Patent No.
`
`8,396,984, and U.S. Patent No. 8,793,315.
`
`29.
`
`The documents included in this Declaration were prepared by myself
`
`or Virgil Bourassa. These documents are true and correct copies of notes and
`
`records made during our work on SWAN.
`
`30.
`
`In connection with the making of this Declaration, I have reviewed the
`
`documents and records referenced in this declaration to refresh my recollection of
`
`events and dates. Such documents include records kept by myself or Virgil,
`
`including notes that occurred on the dates indicated. Such records were made at
`
`the time the events occurred, as indicated by the date on the documents. It was the
`
`normal practice and custom of our development team to make and keep such
`
`records. For example, handwritten notes showed what we brainstormed that day
`
`- 10 -
`
`Patent Owner Acceleration Bay, LLC - Ex. 2006, p. 11
`
`
`
`and included the date in the lower right hand corner. Because it was typical
`
`practice for our team to include dates on the documents, any dates that are
`
`indicated are reliable evidence of the date when the described events occurred.
`
`31.
`
`I declare under penalty of perjury under the laws of the United States
`
`of America that this declaration is true, complete, and accurate to the best of my
`
`knowledge. I further acknowledge that willful false statements and the like are
`
`punishable by fine or imprisonment, or both under 18 U.S.C. § 1001.
`
`Executed at Honolulu, Hawaii on July 17, 2016.
`
`- 11 -
`
`Patent Owner Acceleration Bay, LLC - Ex. 2006, p. 12
`
`