# Keith A. Birney -- Patent Analysis

**Date:** 2026-02-21
**Research Only**

---

## OVERVIEW

Keith A. Birney is named as inventor on 4 US patents. Patents 1-2 are assigned to **Microsoft Corporation** (from his time on the MSN Search/Bing web crawler team, filed Dec 31 2003). Patents 3-4 are assigned to **Facebook, Inc.** (filed 2013/2017). All four patents were assigned to the employer at filing -- standard employment IP assignment. No evidence found of personal ownership or personal assignment.

**Key finding: Patents 3 and 4 (US9819631, US10270733) may NOT list Keith A. Birney as inventor.** The earlier search results suggest the inventors on patent 9819631 include Derrick Chan, Jenna Keith-Birney, Veronica Luna, Manisha Dhawan, Oliver Duncan, Lance Lockett, Brynn Dirksen, Colin Howarth, Chris DeGroff, and Jonathan Maier. "Jenna Keith-Birney" is a separate person (currently Director of Restaurant Management Platforms at Taco Bell per LinkedIn). This needs verification -- it's possible these patents were attributed to Keith Birney in error, or he is a co-inventor not captured in the search snippet.

---

## PATENT 1: US 7,502,773 B1

**Title:** System and Method Facilitating Page Indexing Employing Reference Information
**Filed:** December 31, 2003
**Granted:** March 10, 2009
**Assignee:** Microsoft Corporation, Redmond, WA
**Inventors:** Darren A. Shakib (North Bend, WA); Keith A. Birney (Redmond, WA)
**Total Claims:** 24
**Drawing Sheets:** 8

### ABSTRACT

A system and method facilitating page indexing employing reference information (e.g., anchor text) is provided. In accordance with an aspect of the present invention, a page index system having a page data store and a crawler component is provided. The page data store stores reference information associated with pages. The crawler component receives a page, retrieves reference information associated with the page from the page data store, and provides the page and associated reference information, for example, to an index building system. The system can thus facilitate indexing of pages based, at least in part, upon reference information (e.g., anchor text) associated with the pages.

### INDEPENDENT CLAIMS

**Claim 1** (System claim -- computer-readable instructions):
> Computer-readable instructions embodied on a computer-readable storage medium that when executed on one or more processors implement a page index system, the system comprising:
> - a page data store that stores reference information associated with a page, the reference information is obtained from at least one other page and is accumulated incrementally from each other page as each other page is crawled, the reference information comprising descriptive information that is adjacent to anchor text associated with a referencing uniform resource locator that references the page; and
> - a crawler component that receives the page, retrieves the reference information associated with the page from the page data store, and provides the page and the reference information to at least an index building component;
> - wherein failure to receive a requested page after a first predetermined period of time causes the URL for the page to be removed from the page data store after a second predetermined period of time.

**Claim 7** (Crawler on computer-readable storage medium):
> A crawler embodied on a computer-readable storage medium comprising:
> - an input component that receives one or more pages;
> - a parser component that parses the one or more pages for another page referenced on the one or more pages, and accumulatively stores reference information associated with the another page in a page data store, the reference information comprising descriptive information that is in proximity to anchor text associated with a referencing uniform resource locator that references the another page, wherein failure to receive the one or more page after a first predetermined period of time causes the URL for the page to be removed from the page data store after a second period of time;
> - a retrieval component that receives the another page and retrieves the reference information associated with the another page from the page data store; and
> - an output component that provides an output, comprising the another page merged with the reference information associated with the another page, to an index building system.

**Claim 13** (Method claim):
> A computer implemented method facilitating page indexing comprising:
> - retrieving reference information associated with a page from at least one other page, the reference information comprising descriptive information that is in proximity to anchor text associated with a referencing uniform resource locator that references the page;
> - storing the reference information associated with the page in a data store;
> - incrementally accumulating the reference information from each other page as each other page is crawled;
> - merging the page with the reference information;
> - providing an output comprising the page merged with the reference information associated with the page to at least an index building system; and
> - deleting the information for a page from the data store when the page cannot be retrieved for a predetermined period of time.

**Claim 16** (Computer readable storage media):
> One or more computer readable storage media having stored thereon computer executable instructions for carrying out the method of claim 13.

**Claim 17** (Storage media -- crawler components):
> One or more computer readable storage media storing computer executable components of a crawler comprising:
> - an input component that receives one or more pages;
> - a parser component that parses the one or more pages for another page referenced on the one or more pages, incrementally accumulates reference information associated with the another page from each of the one or more pages when crawled, and stores such reference information in a page data store, the reference information comprising descriptive information that is in proximity to anchor text associated with a referencing uniform resource locator that references the another page, wherein failure to receive the one or more pages after a first predetermined period of time causes the URL for the one or more pages to be removed from the page data store after a second period of time;
> - a retrieval component that receives the another page and retrieves the reference information associated with the another page from the page data store; and
> - an output component that provides an output, comprising the another page merged with the reference information associated with the another page, to at least an index building system.

**Claim 21** (Means-plus-function system claim):
> A page index system embodied on a computer-readable storage medium, comprising:
> - means for retrieving reference information associated with a page from at least one other page;
> - means for incrementally accumulating the reference information from each other page as each other page is crawled;
> - means for storing the reference information in a data store, the reference information comprising descriptive information that is adjacent to anchor text associated with a uniform referencing locator that references the page;
> - means for receiving the page;
> - means for retrieving the reference information associated with the page from means for storing the reference information;
> - means for providing an output to at least an index building system, the output comprising the page merged with the reference information associated with the page; and
> - means for removing the page from the data store when the page cannot be received after a predetermined period of time.

### DEPENDENT CLAIMS (Claims 2-6, 8-12, 14-15, 18-20, 22-24)

- Claim 2: Web crawler employing system of claim 1
- Claim 3: Reference information of claim 1 further comprising anchor text
- Claim 4: Reference information of claim 1 comprising sentence fragment, sentence, paragraph, or combination, adjacent to anchor text
- Claim 5: Internet search engine employing the page and reference information of claim 1
- Claim 6: Page data store of claim 1 stores a URL identifying the page, used to identify reference information
- Claim 8: Page indexing system comprising the crawler of claim 7
- Claim 9: System of claim 8 further comprising the page data store
- Claim 10: Page data store of claim 7 stores a URL identifying the page, used to identify reference information
- Claim 11: Reference information of claim 7 further comprising anchor text
- Claim 12: Reference information of claim 7 comprising sentence fragment/sentence/paragraph/combination, in proximity to anchor text
- Claim 14: Method of claim 13 further comprising receiving request, retrieving page, or storing reference info with URL
- Claim 15: Retrieval of claim 13 based on URL identifying the page
- Claim 18: Storage media of claim 17, page data store storing URL identifying the page
- Claim 19: Storage media of claim 17, reference information further comprising anchor text
- Claim 20: Storage media of claim 17, reference information comprising sentence fragment/sentence/paragraph/combination in proximity to anchor text
- Claim 22: System of claim 21, means for storing further stores URL identifying the page
- Claim 23: System of claim 21, reference information further comprising anchor text
- Claim 24: System of claim 21, reference information comprising sentence fragment/sentence/paragraph/combination adjacent to referencing URL

### BREADTH ASSESSMENT: MODERATE-TO-NARROW

The core concept is: when you crawl the web, collect the anchor text (and nearby text) from pages that LINK TO a target page, store that text in a data store, and then when you later crawl the target page itself, merge the accumulated anchor text with the page content before sending it to the indexer.

This is essentially describing how Google's PageRank/anchor text system works (described in the Brin & Page 1998 paper, which is CITED AS PRIOR ART in this very patent). The patent's specific contribution is the incremental accumulation mechanism and the particular system architecture (page data store + crawler component + retrieval + output).

**Narrowing limitations:**
- Must accumulate reference information "incrementally from each other page as each other page is crawled"
- Reference information must be "descriptive information that is in proximity to anchor text"
- Must have the specific failure-to-retrieve timeout mechanism (page removed after predetermined time)
- Must merge page with reference information before providing to index builder

---

## PATENT 2: US 7,676,553 B1

**Title:** Incremental Web Crawler Using Chunks
**Filed:** December 31, 2003
**Granted:** March 9, 2010
**Assignee:** Microsoft Corporation, Redmond, WA
**Inventors:** Andrew S. Laucius (Seattle, WA); Darren A. Shakib (North Bend, WA); Eytan D. Seidman (Seattle, WA); Jonathan Forbes (Bellevue, WA); Keith A. Birney (Redmond, WA)
**Total Claims:** 20
**Drawing Sheets:** 8

### ABSTRACT

A system and method facilitating incremental web crawl(s) using chunk(s) is provided. The system can be employed, for example, to facilitate a web-crawling system that crawls (e.g., continuously) the Internet for information (e.g., data) and indexes the information so that it can be used as part of a web search engine.

The system facilitates incremental re-crawls and/or selective updating of information (e.g., documents) using a structure called a chunk to simplify the process of an incremental crawl. A chunk is a set of documents that can be manipulated as a set (e.g., of up to 65,536 (64K) documents). "Document" refers to a corpus of data that is stored at a particular URL (e.g., HTML, PDF, PS, PPT, XLS, and/or DOC Files etc.)

A chunk is created by an indexer. The indexer can further place into a chunk documents that have similar property(ies). These property(ies) include but are not limited to: average time between change and average importance. These property(ies) can be stored at the chunk level in a chunk map. The chunk map can then be employed (e.g., on a daily basis) to determine which chunk(s) should be re-crawled.

### INDEPENDENT CLAIMS

**Claim 1** (System claim):
> A system that facilitates incremental web crawls comprising the following components stored in computer memory and executable by a processor:
> - a selecting component that selects a first chunk from a group that includes at least one index chunk that stores information associated with an index of items, at least one rank chunk that stores at least one static rank associated with the at least one index chunk, at least one content chunk that stores cached copies of contents of pages crawled, at least one re-crawl chunk that stores a list of Uniform Resource Locators to be re-crawled, and at least one webmap chunk that stores at least a portion of a web map used for calculating the at least one static rank;
> - a chunk map that stores properties associated with the first chunk and that is employed to determine the first chunk based on the stored properties, and wherein the stored properties include average time between change and average importance and are shared by all items in the first chunk;
> - a parsing component that parses the first chunk for Uniform Resource Locators;
> - a crawling component that re-crawls the Uniform Resource Locators;
> - a receiving component that (1) receives one or more documents as a result of re-crawling the uniform resource locators, (2) stores a document from the one or more documents in an appropriate chunk when it is determined that the document belongs to the appropriate chunk, and (3) forms a second chunk separate from the first chunk based, at least in part, upon the re-crawled uniform resource locators when it is determined that the document does not belong to any chunk from the group, and storing the document in the second chunk.

**Claim 17** (Computer-readable storage media):
> Computer-readable storage media having computer-useable instructions embodied thereon for performing a method of document re-crawl, the method comprising:
> - selecting a first chunk from a group that includes at least one index chunk that stores information associated with an index of items, at least one rank chunk that stores at least one static rank associated with the at least one index chunk, at least one content chunk that stores cached copies of contents of pages crawled, at least one re-crawl chunk that stores a list of Uniform Resource Locators to be re-crawled, and at least one webmap chunk that stores at least a portion of a web map used for calculating the at least one static rank, wherein a chunk map that stores properties associated with the first chunk is employed to determine the first chunk based on the stored properties, and wherein the stored properties include average time between change and average importance and are shared by all items in the first chunk;
> - parsing the first chunk for Uniform Resource Locators;
> - re-crawling the Uniform Resource Locators;
> - receiving one or more documents as a result of re-crawling the uniform resource locators;
> - storing a document from the one or more documents in an appropriate chunk when it is determined that the document belongs to the appropriate chunk; and
> - forming a second chunk separate from the first chunk based, at least in part, upon the re-crawled uniform resource locators when it is determined that the document does not belong to any chunk from the group, and storing the document in the second chunk.

**Claim 19** (Method claim):
> A method of performing document re-crawl comprising:
> - selecting, utilizing a first computing process, a first chunk from a group that includes at least one index chunk that stores information associated with an index of items, at least one rank chunk that stores at least one static rank associated with the at least one index chunk, at least one content chunk that stores cached copies of contents of pages crawled, at least one re-crawl chunk that stores a list of Uniform Resource Locators to be re-crawled, and at least one webmap chunk that stores at least a portion of a web map used for calculating the at least one static rank, wherein a chunk map that stores properties associated with the first chunk is employed to determine the first chunk based on the stored properties, and wherein the stored properties include average time between change and average importance and are shared by all items in the first chunk;
> - parsing, utilizing a second computing process, the first chunk for Uniform Resource Locators;
> - re-crawling, utilizing a third computing process, the Uniform Resource Locators;
> - receiving one or more documents as a result of re-crawling the uniform resource locators;
> - storing a document from the one or more documents in an appropriate chunk when it is determined that the document belongs to the appropriate chunk; and
> - forming, utilizing a fourth computing process, a second chunk separate from the first chunk based, at least in part, upon the re-crawled uniform resource locators when it is determined that the document does not belong to any chunk from the group, and storing the document in the second chunk,
> - wherein the first, second, third and fourth computing processes are performed by one or more computing devices.

### DEPENDENT CLAIMS (Claims 2-16, 18, 20)

- Claim 2: Items of claim 1 comprise information with a Uniform Resource Locator
- Claim 3: Items of claim 1 comprise at least one of HTML, PDF, PS, PPT, XLS, DOC files
- Claim 4: Items of claim 1 received from a crawler responsible for a specific set of URLs
- Claim 5: Master control process that can modify chunk map to facilitate load balancing
- Claim 6: Master control process as interface between crawler and re-crawl controller
- Claim 7: Master control process maintains known chunks table
- Claim 8: Master control process exposes interface for communication
- Claim 9: Interface returns list of chunks and where to get them
- Claim 10: Interface returns list of chunks to be actively served
- Claim 11: Interface returns range of chunk identifiers for building new chunk
- Claim 12: Interface causes an old chunk to be retired
- Claim 13: Master control process facilitates movement of chunks between components
- Claim 14: Movement based on rebalancing, re-crawling, or restoring crashed crawler state
- Claim 15: Crawling component employs chunk map to determine which chunks to re-crawl
- Claim 16: Further comprising an index chunk with an index of at least some of the items
- Claim 18: Media of claim 17, method further comprises determining retirement, moving, destroying chunk
- Claim 20: Method of claim 19, further comprising periodically determining whether to re-crawl based on average time between change and average importance

### BREADTH ASSESSMENT: MODERATE-TO-NARROW (HIGHLY SPECIFIC ARCHITECTURE)

The core concept is: group web documents into "chunks" (sets of ~64K docs with similar properties like update frequency and importance), maintain a "chunk map" that tracks properties of each chunk, and use those chunk-level properties to decide WHICH chunks to re-crawl rather than making per-document decisions.

**Narrowing limitations:**
- Must have the specific chunk architecture (index chunks, rank chunks, content chunks, re-crawl chunks, webmap chunks -- ALL specified)
- Chunk map must store "average time between change and average importance" shared by all items
- Must form a second chunk when documents don't belong to any existing chunk
- Very specific to the MSN Search/Bing architecture of 2003

This is essentially a description of how MSNBot/Bing's incremental crawler worked internally. It's highly implementation-specific.

---

## PATENT 3: US 9,819,631 B2

**Title:** Systems and Method for Managing Content
**Filed:** November 21, 2013
**Granted:** November 14, 2017
**Assignee:** Facebook, Inc.
**Inventors:** Likely includes Derrick Chan, Jenna Keith-Birney (NOTE: DIFFERENT person from Keith A. Birney), Veronica Luna, Manisha Dhawan, Oliver Duncan, Lance Lockett, Brynn Dirksen, Colin Howarth, Chris DeGroff, Jonathan Maier -- NEEDS VERIFICATION whether Keith A. Birney is also listed
**Total Claims:** 20

### ABSTRACT

A computer system receives notification when a user takes an action regarding content. When the user later consumes similar content, the system identifies the correspondence between items. The system then modifies properties of the original relationship, such as visibility settings, based on this consumption event.

### INDEPENDENT CLAIMS

**Claim 1** (Method):
> Method comprising:
> - receiving first notification of a first social network post by a user regarding a first content item, with an established first relationship;
> - generating a future consumption edge between user and first content item;
> - receiving second notification of a second social network post regarding a second content item corresponding to first item;
> - determining relationship change based on second post;
> - managing the future consumption edge in response;
> - storing representations in separate datastores.

**Claim 19** (System):
> System with processor and memory storing instructions performing the method of Claim 1.

**Claim 20** (Non-transitory computer storage medium):
> Non-transitory computer storage medium with executable instructions performing the method of Claim 1.

### DEPENDENT CLAIMS (Claims 2-18)

- Claim 2: Future content queue includes first item; past content queue includes second item
- Claim 3: Future consumption edge functions as edge in graph
- Claim 4: Future consumption edge connects user node to concept node in graph
- Claim 5: User connected to second content item through past consumption edge
- Claim 6: First social network post relates to desire to consume first content item
- Claim 7: Second social network post relates to consumption of second content item
- Claim 8: Managing includes managing visibility property
- Claim 9: Managing comprises hiding the future consumption edge
- Claim 10: Items display from future content queue without displaying first content item
- Claim 11: At least one notification based on user communication context
- Claim 12: First content item maintained by first system; second by distinct second system
- Claim 13: First post logged by first content system; second by second content system
- Claim 14: Posts further logged by social networking system
- Claim 15: First content item comprises book, image, music, audio, video, application, or interactive content
- Claim 16: Method verifies content correspondence using identifier fields
- Claim 17: Method manages second property of third relationship between another user and first content item
- Claim 18: Computer system incorporated into social networking system

### BREADTH ASSESSMENT: NARROW (VERY SPECIFIC USE CASE)

The core concept: On a social network, when a user posts "I want to watch Movie X" (creating a "future consumption edge"), and later posts "I just watched Movie X" (or consumes corresponding content), the system automatically manages the future consumption edge (e.g., hides the "want to watch" entry).

This is essentially a "want list management" feature for social networks -- if you say you want to read a book and later mark it as read, the system auto-manages your want list.

**Narrowing limitations:**
- Must involve social network posts
- Must have "future consumption edge" concept
- Must have two separate datastores (future content / consumed content)
- Must manage the edge based on a second post about corresponding content
- Extremely specific to a particular Facebook feature

---

## PATENT 4: US 10,270,733 B2

**Title:** Systems and Method for Managing Content (continuation of Patent 3)
**Filed:** August 17, 2017
**Granted:** April 23, 2019
**Assignee:** Facebook, Inc.
**Application Number:** 15/679,494
**Total Claims:** 20

### ABSTRACT

A computer system receives notification of a user's first action regarding content item one, which has an initial relationship to the user. The system also receives notification of the user's second action regarding content item two, which has a separate relationship to the user. At least part of content item two corresponds to part of content item one. The system then manages a property of the initial relationship based on the second notification.

### INDEPENDENT CLAIMS

**Claim 1** (Method):
> Computer method comprising:
> - receiving first notification of a first social network post by a user regarding first content item;
> - receiving second notification of a second social network post by the user regarding second content item, where second content item partially corresponds to first content item;
> - managing a future consumption edge between user and first content item in response to second post;
> - first content item representation stored in future content datastore based on first post;
> - second content item representation stored in consumed content datastore based on second post.

**Claim 11** (System):
> System with at least one processor and memory storing instructions performing the same method as Claim 1.

**Claim 16** (Non-transitory computer-readable storage medium):
> Non-transitory computer-readable storage medium performing the same method as Claim 1.

### DEPENDENT CLAIMS

- Claim 2: Further generating the future consumption edge in response to first post
- Claim 3: Future consumption edge is an edge in a graph
- Claim 4: Future consumption edge connects user node to concept node in graph
- Claim 5: User connected to second content item by past consumption edge
- Claim 6: First post indicative of desire to consume first content item
- Claim 7: Second post indicative of consumption of second content item
- Claim 8: Managing comprises managing visibility property
- Claim 9: Managing comprises hiding the future consumption edge
- Claim 10: First content item comprises book, image, music, audio, video, application, or interactive content
- Claims 12-15: Same dependent limitations as Claims 2-5, applied to system claim 11
- Claims 17-20: Same dependent limitations as Claims 2-5, applied to storage medium claim 16

### BREADTH ASSESSMENT: NARROW (CONTINUATION -- SLIGHTLY DIFFERENT CLAIM STRUCTURE)

This is a continuation patent of Patent 3 with a narrower/different claim structure. The key differences from Patent 3:
- Claim 1 does not require the "generating" step -- only the "managing" step
- Drops some of the dependent claim limitations from Patent 3 (like Claims 11-14, 16-17)
- Adds the standard system and storage medium independent claims with identical scope

Still extremely narrow -- same "want list management on social network" concept.

---

## COMPARATIVE ANALYSIS

### Claim Breadth Summary

| Patent | # Claims | Independent Claims | Breadth | Subject |
|--------|----------|-------------------|---------|---------|
| US7502773 | 24 | 5 (Claims 1, 7, 13, 17, 21) | Moderate-Narrow | Web crawler anchor text indexing |
| US7676553 | 20 | 3 (Claims 1, 17, 19) | Narrow | Incremental web crawler chunks |
| US9819631 | 20 | 3 (Claims 1, 19, 20) | Very Narrow | Social network content want-lists |
| US10270733 | 20 | 3 (Claims 1, 11, 16) | Very Narrow | Social network content want-lists |

### Licensing Revenue Potential

**Patents 1 & 2 (Microsoft -- web crawling):**
- These describe the internal architecture of MSN Search/Bing's web crawler circa 2003-2004.
- The concepts (using anchor text for indexing, using chunks for incremental crawling) are well-established in the field. Google's original paper describes anchor text indexing. Chunked crawling is a standard engineering pattern.
- The claims are narrowed by very specific architectural details (the particular chunk types, the particular data flow between components).
- **Licensing potential: LOW.** Any search engine doing the same basic thing would likely use a different enough architecture to design around these claims. The anchor text indexing concept itself is not patentable (prior art: Brin & Page 1998, cited in the patent). The specific system architecture described is narrow enough that competitors would naturally implement differently.
- **Status note:** Both patents have EXPIRED. Filed 2003, granted 2009/2010. US patents expire 20 years from filing, so these expired December 31, 2023 (plus any patent term adjustment). They are no longer enforceable.

**Patents 3 & 4 (Facebook -- content management):**
- These describe an extremely specific social network feature: auto-managing a "want to consume" list when a user later posts about consuming the content.
- **Licensing potential: VERY LOW.** These are feature patents -- they cover one specific UI/UX pattern on a social network. No one would need to license these because (a) the feature is trivially designable-around, (b) few products even implement this exact feature, and (c) the claims are so narrow that any slight variation avoids infringement.
- **Status note:** Still in force (expire ~2033/2037). But practically worthless for licensing.

### Are These "Resume Patents" or "Revenue Patents"?

These are textbook **resume patents** -- the kind of patents that tech company engineers accumulate as part of their employment. At Microsoft and Facebook, engineers are incentivized to file patents (bonuses, recognition). The company's patent department drafts them, the company owns them, and they go into the company's defensive patent portfolio.

They are NOT the kind of patents that generate licensing revenue. Specifically:
- They don't cover fundamental, unavoidable technology
- They describe specific implementations that are easy to design around
- The Microsoft patents are expired
- The Facebook patents cover a trivially narrow feature
- None of them have been asserted in litigation (based on available records)

### Patent Assignment Status

**All four patents were assigned to the employer (Microsoft or Facebook) at filing.** This is standard -- employment agreements at both companies require assignment of all work-related inventions.

**No evidence found of personal assignment to or from Keith Birney.** The USPTO Patent Assignment Database was not accessible via automated tools during this research, but web searches revealed no records of Keith Birney personally holding, buying, selling, or licensing any patents. The Justia Patents page for Keith A. Birney lists patents assigned to corporate entities only.

---

## KEY FACTS FOR OFH CONTEXT

1. Keith A. Birney has 4 patents (2 Microsoft, 2 Facebook -- though his inventorship on the Facebook patents needs verification)
2. All patents assigned to employers, not to Birney personally
3. The Microsoft patents are EXPIRED as of late 2023
4. None of the patents are the type that generate licensing revenue
5. These are standard "big tech engineer" patents -- they exist for corporate defensive portfolios and engineer incentive programs
6. There is NO evidence of a personal patent portfolio, patent holding company, or patent licensing activity associated with Keith Birney

**Bottom line:** The patents establish that Birney worked on web crawler technology at Microsoft (2003-era) and possibly on content management features at Facebook. They do not suggest any personal IP holdings, licensing revenue, or patent troll activity.
