`Patent (numerical)
`
`~
`
`18. A method of analyzing a
`database having objects and a
`first numerical representation of
`direct relationships in the
`database, comprising the steps
`of:
`
`EXHIBIT 2051
`
`0
`
`E' idcncc of lnfrinucment- Goouk's Search Enuint:' that uses Paudbnk
`
`~
`
`~
`
`.!""'
`
`Google's Software includes methods of analyzing databases (or a copy of such
`databases) related to the World Wide Web and other hypermedia databases.
`Google obtains and stores information concerning the link structure of the web:
`
`Google uses its database of links to create an adapted adjacency matrix for use in the
`calculation of the Page Rank ~rithm. These matrices map the direct links between
`each web page on the Web. ~099: Langville, Amy and Meyer, Carl D, Google's
`PageRank and Beyond: The Science of Search Engine Rankings, at 31-52 (Princeton
`University Press 2006). Google's adapted adjacency matrices (or derived databases)
`constitute a first numerical representation of direct relationships in the database.
`
`Google's Software includes methods of analyzing databases to build representations
`of direct relationships between objects. Google obtains and stores information
`concerning the hyperlink structure of the Web in a links database.
`
`To implement PageRank, the web crawler simply needs to build an index of
`links as it crawls."
`054: The PageRank Citation Ranking: Bringing Order to the Web at 6.
`-
`
`The citation (link) graph of the web is an important resource that has largely
`gone unused in existing web search engines. We have created maps containing
`as many as 518 million of these hyperlinks, a significant sample of the total.
`: The Anatomy of a Large-Scale Hypertextua/ Web Search Engine, at
`
`2.1.
`
`1
`
`
`
`Challenged Claims of ’494
`Patent (numerical)
`
`18. A method of analyzing a
`database having objects and a
`first numerical representation of
`direct relationships in the
`database, comprising the steps
`of:
`
`
`
`
`
`
`EXHIBIT 2051
`
`
`Evidence of Infringement – Google’s Search Engine that uses PageRank
`
`Google’s Software includes methods of analyzing databases (or a copy of such
`databases) related to the World Wide Web and other hypermedia databases.
`Google obtains and stores information concerning the link structure of the web:
`
`Google uses its database of links to create an adapted adjacency matrix for use in the
`calculation of the PageRank algorithm. These matrices map the direct links between
`each web page on the Web. Ex. 2099: Langville, Amy and Meyer, Carl D, Google's
`PageRank and Beyond: The Science of Search Engine Rankings, at 31-52 (Princeton
`University Press 2006). Google’s adapted adjacency matrices (or derived databases)
`constitute a first numerical representation of direct relationships in the database.
`
`Google’s Software includes methods of analyzing databases to build representations
`of direct relationships between objects. Google obtains and stores information
`concerning the hyperlink structure of the Web in a links database.
`
`
`To implement PageRank, the web crawler simply needs to build an index of
`links as it crawls.”
`Ex. 2054: The PageRank Citation Ranking: Bringing Order to the Web at 6.
`
`The citation (link) graph of the web is an important resource that has largely
`gone unused in existing web search engines. We have created maps containing
`as many as 518 million of these hyperlinks, a significant sample of the total.
`Ex. 2053: The Anatomy of a Large-Scale Hypertextual Web Search Engine, at
`2.1.
`
`1
`
`
`
`EXHIBIT 2051
`
`Challenged Claims of ’494
`Patent (numerical)
`
`Evidence of Infringement – Google’s Search Engine that uses PageRank
`
`
`The indexer performs another important function. It parses out all the links in
`every web page and stores important information about them in an anchors file.
`This file contains enough information to determine where each link points from
`and to, and the text of the link.
`Ex. 2053: The Anatomy of a Large-Scale Hypertextual Web Search Engine, at
`4.1 (emphasis added)
`
`It also generates a database of links which are pairs of docIDs. The links
`database is used to compute PageRanks for all the documents.
`Ex. 2053: The Anatomy of a Large-Scale Hypertextual Web Search Engine, at
`4.1.
`
`
`See also id. at 4.1 fig.1 (red box added) below:
`
`
`2
`
`
`
`
`
`
`
`
`EXHIBIT 2051
`
`Challenged Claims of ’494
`Patent (numerical)
`
`Evidence of Infringement – Google’s Search Engine that uses PageRank
`
`
`The first numerical representation is stored.
`
`
`“The indexer performs another important function. It parses out all the links in
`every web page and stores important information about them in an anchors file.
`3
`
`
`
`
`
`
`
`
`
`
`EXHIBIT 2051
`
`Challenged Claims of ’494
`Patent (numerical)
`
`Evidence of Infringement – Google’s Search Engine that uses PageRank
`
`… The URLresolver reads the anchors file … It also generates a database of
`links which are pairs of docIDs. The links database is used to compute
`PageRanks for all the documents.”
`The Anatomy of a Large-Scale Hypertextual Web Search Engine, at 4.1
`(emphasis added).
`
`Ex. 2053: The Anatomy of a Large-Scale Hypertextual Web Search Engine, at
`4
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`EXHIBIT 2051
`
`Challenged Claims of ’494
`Patent (numerical)
`
`Evidence of Infringement – Google’s Search Engine that uses PageRank
`
`5.2 tbl.1. As can be seen from the above figure, the links database, which
`contains direct relationships, is clearly stored.
`
`The aforementioned links database is stored, as elaborated upon in Ex. 2054:
`The PageRank Citation Ranking: Bringing Order to the Web, which cites to Ex.
`2053: The Anatomy of a Large-Scale Hypertextual Web Search Engine
`(“Details of our implementation are in [The Anatomy of a Large-Scale
`Hypertextual Web Search Engine].”): “Also, all the access to the link
`database, A, is linear because it is sorted. Therefore, A can be kept on disk as
`well. Although these data structures are very large, linear disk access allows
`each iteration to be completed in about 6 minutes on a typical workstation.”
`Ex. 2054: The PageRank Citation Ranking: Bringing Order to the Web at 7
`(emphasis added).
`
`Furthermore, Ex. 2054: The PageRank Citation Ranking: Bringing Order to the
`Web notes, “We convert each URL into a unique integer, and store each
`hyperlink in a database using the integer IDs to identify pages.”
`Ex. 2054: The PageRank Citation Ranking: Bringing Order to the Web at 7
`(emphasis added).
`
`
`
`generating a second numerical
`representation using the first
`numerical representation,
`wherein the second numerical
`
`Google’s PageRank scores (and other numerical representations made during the
`calculation of PageRank) constitute a second numerical representation that accounts
`for indirect relationships in the database derived from recursive analysis and
`weighting of direct relationships and nodes in the web.
`
`5
`
`
`
`
`
`
`
`
`Challenged Claims of ’494
`Patent (numerical)
`
`representation accounts for
`indirect relationships in the
`database;
`
`
`
`
`
`
`
`EXHIBIT 2051
`
`Evidence of Infringement – Google’s Search Engine that uses PageRank
`
`
`Google obtains and stores information concerning the hyperlink structure of the web
`in a link database. Google’s Software includes methods of analyzing the database of
`links to build a first numerical representation of direct relationships between objects
`(e.g., web page, domain, site, blog, or website). For example, the link database is used
`to create an adapted adjacency matrix for use in the calculation of the PageRank
`algorithm. This algorithm (described in further detail below) analyzes direct
`relationships between objects by building representations based on the link structure
`of the identified objects and by calculating the PageRanks of all the objects based on
`the links database. See limitation directly above. These matrices map the direct links
`between each web page on the Web. Ex. 2099: Langville, Amy and Meyer, Carl D,
`Google's PageRank and Beyond: The Science of Search Engine Rankings, at 31-52
`(Princeton University Press 2006).
`
`Google’s PageRank algorithm is a recursive mathematical algorithm that analyze
`portions of the set of direct links for contributions of websites, web pages, and other
`objects that are indirectly linked to the objects being scored. The formula for
`calculating the PageRank of the page, as provided by Ex. 2053: The Anatomy of a
`Large Scale Search Engine, by Brin and Page (1998) is as follows:
`
`We assume page A has pages T1....Tn which point to it (i.e., are citations). The
`parameter d is a damping factor which can be set between 0 and 1. We usually
`set d to 0.85. Also C(A) is defined as the number of links going out of page A.
`
`6
`
`
`
`EXHIBIT 2051
`
`Challenged Claims of ’494
`Patent (numerical)
`
`Evidence of Infringement – Google’s Search Engine that uses PageRank
`
`The PageRank of a page A is given as follows:
`
`PR(A) = (1-d) + d(PR(T1)/C(T1) + .... + PR(Tn)/C(Tn))
`
`The above algorithm, including Google’s subsequent elaborations on the basic
`formula, is applied recursively and measures contributions from indirectly related
`nodes. See Ex. 2099: Langville, Amy and Meyer, Carl D, Google’s PageRank and
`Beyond: The Science of Search Engine Rankings, at 31-52 (Princeton University Press
`2006).
`
`As described in the formula above, PageRank is a recursive algorithm that analyzes
`portions of the set of direct links for contributions of web pages that are only
`indirectly related to the selected web page. Thus, the algorithm locates indirectly
`related nodes and scores relationships defined by paths of direct links between
`webpages that are indirectly related to each other. As seen in the figure below, the
`PageRank of the web page represented by node A (also referred to as PR(A)) is
`determined by the PageRank of web links that are back linked to A.
`
`7
`
`
`
`
`
`
`
`
`EXHIBIT 2051
`
`Challenged Claims of ’494
`Patent (numerical)
`
`Evidence of Infringement – Google’s Search Engine that uses PageRank
`
`Indirect Relationship
`
`
`
`Node A’s PageRank score reflects the scores of the PageRank of node T1 (PR(T1))
`which is a function of the nodes that back link to it (Node 2), while the PageRank of
`Node 2 is a function of the nodes that back link to it (not shown), and so on and so
`forth. As shown in the arc above, Node A’s PageRank is a function of Node 2’s
`PageRank, which is indirectly related to Node A. Node 2’s score is accounted for by
`the algorithm because it is indirectly related to Node A. The PageRank algorithm
`recursively propagates to link lengths up to approximately 50-60 iterations.
`
`The above described process is conducted in a series of iterative and recursive steps in
`which the cluster link set is analyzed during each iteration. Each iteration of the
`PageRank algorithm analyzes at least one additional link length of link relationships.
`For example, the second iteration may measure all cluster link relationships that are
`two link lengths from the scored node. Thus, during the second iteration, the ranking
`8
`
`
`
`
`
`
`
`
`EXHIBIT 2051
`
`Challenged Claims of ’494
`Patent (numerical)
`
`Evidence of Infringement – Google’s Search Engine that uses PageRank
`
`function (e.g., PageRank(A) will identify and add the weight of link relationships two
`link lengths away from the scored node in a manner similar to:
`
`Rank(A) = (1-d) [1+d(contribution of pages of paths of length 1) +
`d2(contribution of pages of paths of length 2)]
`
`The nodes that are identified during the first iteration are of a path length of 1 and are
`directly related to the chosen node. As described below, these nodes are then used to
`locate indirectly related nodes to determine the contribution from those nodes.
`
`The third iteration would then measure link relationships that are three links lengths
`from the scoring node in a manner similar to:
`
`Rank(A) = (1-d) [1+d(contribution of pages of paths of length 1) +
`d2(contribution of pages of paths of length 2) + d3 (contribution of pages of
`paths of length 3)]
`
`The fourth iteration would measure link relationships that are four links lengths from
`the scoring node in a manner similar to:
`
`9
`
`
`
`
`
`
`
`
`EXHIBIT 2051
`
`Challenged Claims of ’494
`Patent (numerical)
`
`Evidence of Infringement – Google’s Search Engine that uses PageRank
`
`Rank(A) = (1-d) [1+d(contribution of pages of paths of length 1) +
`d2(contribution
`
`And so on with each iteration identifying and weighting an additional set of cluster
`link relationships of a given link length.
`
`This algorithm shows the PageRank values are a second numerical representation
`generated using the first numerical representation and accounts for indirect
`relationships in the database.
`
`Google’s PageRank scores are stored and used in connection with its search results.
`
`In Ex. 2053: The Anatomy of a Large-Scale Hypertextual Web Search Engine,
`PageRank values are calculated based upon links and stored for use by a “Searcher.”
`See, included diagram below.
`
`
`
`storing the second numerical
`representation;
`
`
`
`
`
`
`
`
`
`10
`
`
`
`
`
`
`
`
`EXHIBIT 2051
`
`Challenged Claims of ’494
`Patent (numerical)
`
`Evidence of Infringement – Google’s Search Engine that uses PageRank
`
`
`Ex. 2053: The Anatomy of Large-Scale Hypertextual Web Search Engine at 4.1 fig.1
`(red boxes added). “The searcher is run by a web server and uses the lexicon built by
`DumpLexicon together with the inverted index and the PageRanks to answer
`queries.” Ex. 2053: The Anatomy of Large-Scale Hypertextual Web Search Engine at
`4.1.
`
`
`
`identifying at least one object in PageRank scores are combined with other IR factors to identify objects for display.
`
`11
`
`
`
`
`
`
`
`
`Challenged Claims of ’494
`Patent (numerical)
`
`the database, wherein the stored
`numerical representation is used
`to identify objects; and
`
`EXHIBIT 2051
`
`Evidence of Infringement – Google’s Search Engine that uses PageRank
`
`Google’s PageRank score is used to determine if and in what order a search result will
`be returned.
`
`The PageRank score of a given webpage is used by Google’s search engine to search
`for objects responsive to an end-user’s query:
`
`
`A major application of PageRank is searching. We have implemented two
`search engines which use PageRank. The first one we will discuss is a simple
`title-based search engine. The second search engine is a full text search engine
`called Google [BP]. Google utilizes a number of factors to rank search
`results including standard IR measures, proximity, anchor text (text of
`links pointing to web pages), and PageRank. While a comprehensive user
`study of the benefits of PageRank is beyond the scope of this paper, we have
`performed some comparative experiments and provide some sample results in
`this paper.
`Ex. 2054: The PageRank Citation Ranking: Bringing Order to the Web, § 5,
`emphasis added.
`
`The citation (link) graph of the web is an important resource that has largely
`gone unused in existing web search engines. We have created maps containing as
`many as 518 million of these hyperlinks, a significant sample of the total. These
`maps allow rapid calculation of a web page's “PageRank”, an objective
`measure of its citation importance that corresponds well with people's
`subjective idea of importance. Because of this correspondence, PageRank is
`an excellent way to prioritize the results of web keyword searches. For most
`
`12
`
`
`
`
`
`
`
`
`EXHIBIT 2051
`
`Challenged Claims of ’494
`Patent (numerical)
`
`Evidence of Infringement – Google’s Search Engine that uses PageRank
`
`popular subjects, a simple text matching search that is restricted to web page
`titles performs admirably when PageRank prioritizes the results (demo available
`at google.stanford.edu). For the type of full text searches in the main Google
`system, PageRank also helps a great deal.
`Ex. 2053: The Anatomy of a Large-Scale Hypertextual Web Search Engine, §
`2.1, emphasis added.
`
`The sorter takes the barrels, which are sorted by docID (this is a simplification,
`see Section 4.2.5), and resorts them by wordID to generate the inverted index.
`This is done in place so that little temporary space is needed for this operation.
`The sorter also produces a list of wordIDs and offsets into the inverted index. A
`program called DumpLexicon takes this list together with the lexicon produced
`by the indexer and generates a new lexicon to be used by the searcher. The
`searcher is run by a web server and uses the lexicon built by DumpLexicon
`together with the inverted index and the PageRanks to answer queries.
`Ex. 2053: The Anatomy of a Large-Scale Hypertextual Web Search Engine, §
`4.1, emphasis added
`
`4.5.1 The Ranking System
`Google maintains much more information about web documents than typical
`search engines. Every hitlist
`includes position, font, and capitalization
`information. Additionally, we factor in hits from anchor text and the
`PageRank of the document. Combining all of this information into a rank is
`difficult. We designed our ranking function so that no particular factor can have
`too much influence. First, consider the simplest case -- a single word query. In
`
`13
`
`
`
`
`
`
`
`
`EXHIBIT 2051
`
`Challenged Claims of ’494
`Patent (numerical)
`
`Evidence of Infringement – Google’s Search Engine that uses PageRank
`
`order to rank a document with a single word query, Google looks at that
`document's hit list for that word. Google considers each hit to be one of several
`different types (title, anchor, URL, plain text large font, plain text small font, ...),
`each of which has its own type-weight. The type-weights make up a vector
`indexed by type. Google counts the number of hits of each type in the hit list.
`Then every count is converted into a count-weight. Count-weights increase
`linearly with counts at first but quickly taper off so that more than a certain count
`will not help. We take the dot product of the vector of count-weights with the
`vector of type-weights to compute an IR score for the document. Finally, the IR
`score is combined with PageRank to give a final rank to the document.
`Ex. 2053: The Anatomy of a Large-Scale Hypertextual Web Search Engine, §
`4.5.1, emphasis added.
`
`“As an example which illustrates the use of PageRank, anchor text, and
`proximity, Figure 4 shows Google’s results for a search on ‘bill clinton’.”
`Ex. 2053: The Anatomy of a Large-Scale Hypertextual Web Search Engine, at 5.
`
`14
`
`
`
`
`
`
`
`
`EXHIBIT 2051
`
`Challenged Claims of ’494
`Patent (numerical)
`
`Evidence of Infringement – Google’s Search Engine that uses PageRank
`
`15
`
`
`
`
`
`
`
`
`EXHIBIT 2051
`
`Challenged Claims of ’494
`Patent (numerical)
`
`Evidence of Infringement – Google’s Search Engine that uses PageRank
`
`
`
`Ex. 2053: The Anatomy of a Large-Scale Hypertextual Web Search Engine at 5
`fig.4.
`
`Another important application and embodiment of the present invention is
`directed to enhancing the quality of results from web search engines. In this
`application of the present invention, a ranking method according to the
`invention is integrated into a web search engine to produce results far superior
`to existing methods in quality and performance. …
`
`Once a set of documents is identified that match the search terms, the list of
`documents is then sorted with high ranking documents first and low ranking
`documents last. The ranking in this case is a function which combines all of the
`above factors such as the objective ranking and textual matching. If desired, the
`results can be grouped by category or site as well.
`U.S. Patent No. 6,285,999, Method for Node Ranking in a Linked Database,
`8:6-11, 42-46.
`
`
`linked
`that are displayed are part of analyzed cluster
`Furthermore, nodes
`relationships. Furthermore, Google’s engineers have additional infringing display
`features for analyzing data and maintaining its search engine not available to the
`public. Among other things, engineers can view a vector, index, graphical display or
`matrix that lists every object that is directly or indirectly linked to any given object in
`the database.
`
`
`16
`
`
`
`
`
`
`
`
`EXHIBIT 2051
`
`Challenged Claims of ’494
`Patent (numerical)
`
`Evidence of Infringement – Google’s Search Engine that uses PageRank
`
`
`
`Google Search for “Google PageRank”
`
`
`Google also cuts off the number of responsive documents. Objects with low
`PageRank scores may not be identified to the user in the case of a voluminous search.
`
`Furthermore, Google Software’s operators have additional infringing display features
`for analyzing data and maintaining its search engine not available to the public.
`Among other things, operators can view a vector, index, graphical display or matrix
`that lists every object that is directly or indirectly linked to any given object in the
`database.
`
`displaying one or more identified
`objects from the database.
`
`Search results including objects are displayed to the user. The user may click on a
`link and request Google to display the full text of the object. The Software provides
`an interface for receiving the inputs, processes the inputs and sends appropriate
`instructions. The Software also automatically displays a portion of the object and in
`some cases the full text of the object.
`
`17
`
`
`
`
`
`
`
`
`EXHIBIT 2051
`
`Challenged Claims of ’494
`Patent (numerical)
`
`Evidence of Infringement – Google’s Search Engine that uses PageRank
`
`
`The PageRank score of a given webpage is used by Google’s search engine to search
`for objects responsive to an end-user’s query:
`
`
`A major application of PageRank is searching. We have implemented two
`search engines which use PageRank. The first one we will discuss is a simple
`title-based search engine. The second search engine is a full text search engine
`called Google [BP]. Google utilizes a number of factors to rank search
`results including standard IR measures, proximity, anchor text (text of
`links pointing to web pages), and PageRank. While a comprehensive user
`study of the benefits of PageRank is beyond the scope of this paper, we have
`performed some comparative experiments and provide some sample results in
`this paper.
`Ex. 2054: The PageRank Citation Ranking: Bringing Order to the Web, § 5,
`emphasis added.
`
`The citation (link) graph of the web is an important resource that has largely
`gone unused in existing web search engines. We have created maps containing as
`many as 518 million of these hyperlinks, a significant sample of the total. These
`maps allow rapid calculation of a web page's “PageRank”, an objective
`measure of its citation importance that corresponds well with people's
`subjective idea of importance. Because of this correspondence, PageRank is
`an excellent way to prioritize the results of web keyword searches. For most
`popular subjects, a simple text matching search that is restricted to web page
`titles performs admirably when PageRank prioritizes the results (demo available
`
`18
`
`
`
`
`
`
`
`
`EXHIBIT 2051
`
`Challenged Claims of ’494
`Patent (numerical)
`
`Evidence of Infringement – Google’s Search Engine that uses PageRank
`
`at google.stanford.edu). For the type of full text searches in the main Google
`system, PageRank also helps a great deal.
`Ex. 2053: The Anatomy of a Large-Scale Hypertextual Web Search Engine, §
`2.1, emphasis added
`
`The sorter takes the barrels, which are sorted by docID (this is a simplification,
`see Section 4.2.5), and resorts them by wordID to generate the inverted index.
`This is done in place so that little temporary space is needed for this operation.
`The sorter also produces a list of wordIDs and offsets into the inverted index. A
`program called DumpLexicon takes this list together with the lexicon produced
`by the indexer and generates a new lexicon to be used by the searcher. The
`searcher is run by a web server and uses the lexicon built by DumpLexicon
`together with the inverted index and the PageRanks to answer queries.
`Ex. 2053: The Anatomy of a Large-Scale Hypertextual Web Search Engine, §
`4.1, emphasis added.
`
`4.5.1 The Ranking System
`Google maintains much more information about web documents than typical
`search engines. Every hitlist
`includes position, font, and capitalization
`information. Additionally, we factor in hits from anchor text and the
`PageRank of the document. Combining all of this information into a rank is
`difficult. We designed our ranking function so that no particular factor can have
`too much influence. First, consider the simplest case -- a single word query. In
`order to rank a document with a single word query, Google looks at that
`document's hit list for that word. Google considers each hit to be one of several
`
`19
`
`
`
`
`
`
`
`
`EXHIBIT 2051
`
`Challenged Claims of ’494
`Patent (numerical)
`
`Evidence of Infringement – Google’s Search Engine that uses PageRank
`
`different types (title, anchor, URL, plain text large font, plain text small font, ...),
`each of which has its own type-weight. The type-weights make up a vector
`indexed by type. Google counts the number of hits of each type in the hit list.
`Then every count is converted into a count-weight. Count-weights increase
`linearly with counts at first but quickly taper off so that more than a certain count
`will not help. We take the dot product of the vector of count-weights with the
`vector of type-weights to compute an IR score for the document. Finally, the IR
`score is combined with PageRank to give a final rank to the document.
`Ex. 2053: The Anatomy of a Large-Scale Hypertextual Web Search Engine, §
`4.5.1, emphasis added.
`
`
`Furthermore, nodes that are displayed are part of analyzed clusterlinked relationships.
`Furthermore, Google’s engineers have additional infringing display features for
`analyzing data and maintaining its search engine not available to the public. Among
`other things, engineers can view a vector, index, graphical display or matrix that lists
`every object that is directly or indirectly linked to any given object in the database.
`
`
`20
`
`
`
`
`
`
`
`
`EXHIBIT 2051
`
`Challenged Claims of ’494
`Patent (numerical)
`
`Evidence of Infringement – Google’s Search Engine that uses PageRank
`
`
`
`19. The method of claim 18
`wherein the step of generating a
`second numerical representation
`comprises:
`
`selecting an object in the
`database for analysis;
`
`Google Search for “Google PageRank”
`
`
`
`
`
`
`
`Google determines and assigns a PageRank score for each node (i.e. web page) in
`connection with its analysis of the database. In doing so, Google identifies a specific
`node/web page (i.e., selects an object) and conducts an analysis of the link structure
`of the web in relation to that specific web page to determine a numerical score
`specifically associated with the selected node or web page. As described with respect
`to claim 18, a web page is selected and then the path to nearly every other node
`selected for analysis in the database is mapped out by following the direct links from
`the selected node to each linked node and then to the nodes that link to the linked
`node and so on. The process is repeated until paths between every node in the
`clusters are mapped out.
`
`
`21
`
`
`
`
`
`
`
`
`EXHIBIT 2051
`
`Challenged Claims of ’494
`Patent (numerical)
`
`Evidence of Infringement – Google’s Search Engine that uses PageRank
`
`Alternatively, this same phenomenon is clearly seen in one of the disclosed
`mathematically equivalent formulations of PageRank, where object A is selected and
`the analysis is subsequently computed with respect to the selected object A:
`
` “
`
` [T]he rank of a page A is defined according to the present invention as
`
`analyzing the direct relationships
`expressed by the first numerical
`representation for indirect
`relationships involving the
`selected object; and
`
`
`where Bl, ... , Bn are the backlink pages of A, r(Bl), ... , r(Bn ) are their ranks, |B1|, ... ,
`|Bn| are their numbers of forward links, and α is a constant in the interval [0,1], and N
`is the total number of pages in the web. Ex. 2086:’999 Patent, 4:15-25.
`
`
`Google’s PageRank algorithm analyzes the direct relationships expressed by the first
`numerical representation for indirect relationships involving the selected object.
`
`Google obtains and stores information concerning the hyperlink structure of the web
`in a link database. Google’s Software includes methods of analyzing the database of
`links to build a first numerical representation of direct relationships between objects
`(e.g., web page, domain, site, blog, or website). For example, the link database is used
`to create an adapted adjacency matrix for use in the calculation of the PageRank
`algorithm. This algorithm (described in further detail below) analyzes direct
`relationships between objects by building representations based on the link structure
`of the identified objects and by calculating the PageRanks of all the objects based on
`
`22
`
`
`
`
`
`
`
`
`EXHIBIT 2051
`
`Challenged Claims of ’494
`Patent (numerical)
`
`Evidence of Infringement – Google’s Search Engine that uses PageRank
`
`the links database. See limitation directly above. These matrices map the direct links
`between each web page on the Web. Ex. 2099: Langville, Amy and Meyer, Carl D,
`Google's PageRank and Beyond: The Science of Search Engine Rankings, at 31-52
`(Princeton University Press 2006).
`
`As described in Ex. 2053: The Anatomy of a Large-Scale Hypertextual Web Search
`Engine, “Google makes heavy use of hypertextual information consisting of link
`structure… [t]he analysis of link structure via PageRank allows Google to evaluate
`the quality of web pages. The use of link text as a description of what the link points
`to helps the search engine return relevant (and to some degree high quality) results.”
`Ex. 2053: The Anatomy of a Large-Scale Hypertextual Web Search Engine at 6.2.
`
`Google’s PageRank algorithm is a recursive mathematical algorithm that analyze
`portions of the set of direct links for contributions of websites, web pages, and other
`objects that are indirectly linked to the objects being scored. PageRank analyzes the
`database of links or link matrix of direct relationships for indirect relationships “by
`counting citations or backlinks to a given page. This gives some approximation of a
`page’s importance or quality. PageRank extends this idea by not counting links from
`all pages equally, and by normalizing by the number of links on a page.” Ex. 2053:
`The Anatomy of a Large-Scale Hypertextual Web Search Engine at 2.1.1.
`
`23
`
`
`
`
`
`
`
`
`EXHIBIT 2051
`
`Challenged Claims of ’494
`Patent (numerical)
`
`Evidence of Infringement – Google’s Search Engine that uses PageRank
`
`
`
`
`Ex. 2053: The Anatomy of a Large-Scale Hypertextual Web Search Engine at 4.1
`
`
`
`24
`
`
`
`
`
`
`
`
`EXHIBIT 2051
`
`Challenged Claims of ’494
`Patent (numerical)
`
`Evidence of Infringement – Google’s Search Engine that uses PageRank
`
`fig.1. As can be seen from the above figure, “The links database is used to compute
`PageRanks for all the documents.” Ex. 2053: The Anatomy of a Large-Scale
`Hypertextual Web Search Engine at 4.1. Thus, PageRank is calculated based upon a
`first numerical representation, the Links Database.
`
`The formula for calculating the PageRank of the page, as provided by Ex. 2053: The
`Anatomy of a Large Scale Search Engine, by Brin and Page (1998) is as follows:
`
`We assume page A has pages T1....Tn which point to it (i.e., are citations). The
`parameter d is a damping factor which can be set between 0 and 1. We usually
`set d to 0.85. Also C(A) is defined as the number of links going out of page A.
`The PageRank of a page A is given as follows:
`
`PR(A) = (1-d) + d(PR(T1)/C(T1) + .... + PR(Tn)/C(Tn))
`
`The above algorithm, including Google’s subsequent elaborations on the basic
`formula, is applied recursively and measures contributions from indirectly related
`nodes. See Ex. 2099: Langville, Amy and Meyer, Carl D, Google’s PageRank and
`Beyond: The Science of Search Engine Rankings, at 31-52 (Princeton University Press
`
`25
`
`
`
`
`
`
`
`
`EXHIBIT 2051
`
`Challenged Claims of ’494
`Patent (numerical)
`
`Evidence of Infringement – Google’s Search Engine that uses PageRank
`
`2006).
`
`This formula is an analysis that accounts for indirect relationships in the database
`derived from recursive analysis and weighing of indirect relationships in the database.
`
`Additionally, “[t]hose skilled in the art will appreciate that this same method can be
`characterized in various different ways that are mathematically equivalent.” ’999
`Patent, 5:64-66. For example, “the rank of a p