throbber
UNITED STATES PATENT AND TRADEMARK OFFICE
`
`__________________
`
`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
`
`

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