# US 9,521,183 B2 · Methods and systems for content access and distribution

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,521,183 B2
- Document ID: US9521183B2
- Status: Granted
- Kind: B2
- Application number: 14/177,838
- Filed: 2014-02-11
- Published: 2014-06-12
- Granted: 2016-12-13
- Earliest claimed: 2005-09-09
- Assignees: AT&T Intellectual Property II, L.P.
- Applicants: At&T Intellectual Property II, L.P.
- Inventors: Kadangode Ramakrishnan; William Fenner; Michael Rabinovich; Divesh Srivastava; Yin Zhang
- Web page: https://patentgrep.com/patent/US9521183B2

## CPC

- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/104: Peer-to-peer [P2P] networks
- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- H04L 67/12: specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method for disseminating content over an overlay network having a plurality of routers in communication with providers and consumers of content is disclosed. A router in the overlay network receives a content descriptor corresponding to a query for content from a node, and generates a subscriber interface list based on the query for the content. The subscriber interface list is transmitted to a plurality of subsequent routers in the overlay network, wherein a content identified by the subsequent routers that correspond to the query will be routed to the router based on the subscriber interface list. The router receives first and second documents corresponding to the query for the content from the node. If the second document is the duplicate, the router deletes the second document and transmits the first document to the node or if not the router transmits both the first and second documents to the node.

## Claims

### Claim 1

A system for distributing content, the system comprising:
a memory that stores instructions;
a processor that executes the instructions to perform operations, the operations comprising:
generating a first publisher interface list, wherein the first publisher interface list includes a first link to the first publisher and a list of interfaces to the first publisher;
determining if multiple coordinator routers are attempting to flood a first content descriptor in an overlay network;
selecting a first router as the coordinator router for the first content descriptor, wherein the first router is selected as the coordinator router based on the first router having a smallest hash identifier when compared to other routers of the multiple coordinator routers;
generating, by utilizing the first router, a tuple comprising the first content descriptor which corresponds to a first content published by the first publisher, the first publisher interface list, and a first hash of the first content descriptor;
transmitting, by utilizing the first router, the tuple to a second router, wherein a query received by the second router that corresponds to the first content descriptor is routed to the first router based on the first publisher interface list, wherein a second content descriptor corresponding to a second content is received by the second router, wherein the second content descriptor, the second content, and a second hash of the second content descriptor match the first content descriptor, the first content, and the first hash respectively; and
transforming, by utilizing the overlay network and based on a credential of user requesting the first content, the first content by filtering a portion of the first content from the first content.

### Claim 2 (depends on 1)

The system of claim 1, wherein the operations further comprise receiving the first content descriptor corresponding to the first content published by the first publisher.

### Claim 3 (depends on 1)

The system of claim 1, wherein the operations further comprise generating the first hash of the first content descriptor.

### Claim 4 (depends on 1)

The system of claim 1, wherein the operations further comprise updating the first publisher interface list to create a second publisher interface list including a second link to a second publisher associated with the second content.

### Claim 5 (depends on 1)

The system of claim 1, wherein the operations further comprise determining if the first content descriptor corresponds to a duplicate entry in the first publisher interface list.

### Claim 6 (depends on 1)

The system of claim 1, wherein the operations further comprise receiving, at the first router, a publisher-join command from the second router.

### Claim 7 (depends on 1)

The system of claim 1, wherein the first content descriptor comprises a keyword corresponding to the content.

### Claim 8 (depends on 1)

The system of claim 1, wherein the operations further comprise distributing the first content over the overlay network.

### Claim 9

A method for distributing content, the method comprising:
generating, at a first router, a first publisher interface list, wherein the first publisher interface list includes a first link to the first publisher and a list of interfaces to the first publisher;
determining if multiple coordinator routers are attempting to flood a first content descriptor in an overlay network;
selecting the first router as the coordinator router for the first content descriptor, wherein the first router is selected as the coordinator router based on the first router having a smallest hash identifier when compared to other routers of the multiple coordinator routers;
generating, at the first router, a tuple comprising the first content descriptor which corresponds to a first content published by the first publisher, the first publisher interface list, and a first hash of the first content descriptor;
transmitting the tuple to a second router, wherein a query received by the second router that corresponds to the first content descriptor is routed to the first router based on the first publisher interface list, wherein a second content descriptor corresponding to a second content is received by the second router, wherein the second content descriptor, the second content, and a second hash of the second content descriptor match the first content descriptor, the first content, and the first hash respectively; and
transforming, by utilizing the overlay network and based on a credential of user requesting the first content, the first content by filtering a portion of the first content from the first content.

### Claim 10 (depends on 9)

The method of claim 9, further comprising receiving the first content descriptor corresponding to the first content published by the first publisher.

### Claim 11 (depends on 9)

The method of claim 9, further comprising generating, at the first router, the first hash of the first content descriptor.

### Claim 12 (depends on 9)

The method of claim 9, further comprising updating the first publisher interface list to create a second publisher interface list including a second link to a second publisher associated with the second content.

### Claim 13 (depends on 9)

The method of claim 9, further comprising determining if the first content descriptor corresponds to a duplicate entry in the first publisher interface list.

### Claim 14 (depends on 9)

The method of claim 9, further comprising receiving, at the first router, a publish-join command from the second router.

### Claim 15 (depends on 9)

The method of claim 9, wherein the first content descriptor comprises a keyword corresponding to the content.

### Claim 16 (depends on 9)

The method of claim 9, further comprising distributing the first content over the overlay network.

### Claim 17

A first router for distributing content, the first router comprising:
a processor that executes instructions to perform operations, the operations comprising:
generating a first publisher interface list, wherein the first publisher interface list includes a first link to the first publisher and a list of interfaces to the first publisher;
determining if multiple coordinator routers are attempting to flood a first content descriptor in an overlay network;
selecting the first router as the coordinator router for the first content descriptor, wherein the first router is selected as the coordinator router based on the first router having a smallest hash identifier when compared to other routers of the multiple coordinator routers;
generating a tuple comprising the first content descriptor which corresponds to a first content published by the first publisher, the first publisher interface list, and a first hash of the first content descriptor;
transmitting the tuple to a different router, wherein a query received by the different router that corresponds to the first content descriptor is routed to the router based on the first publisher interface list, wherein a second content descriptor corresponding to a second content is received by the different router, wherein the second content descriptor, the second content, and a second hash of the second content descriptor match the first content descriptor, the first content, and the first hash respectively; and
transforming, by utilizing the overlay network and based on a credential of user requesting the first content, the first content by filtering a portion of the first content from the first content.

### Claim 18 (depends on 17)

The first router of claim 17, wherein the operations further comprise routing the first content descriptor to additional routers in the overlay network based on the tuple.

### Claim 19 (depends on 17)

The first router of claim 17, wherein the operations further comprise determining if the first content descriptor corresponds to a duplicate entry in the first publisher interface list.

### Claim 20 (depends on 17)

The first router of claim 17, wherein the operations further comprise updating the first publisher interface list to create a second publisher interface list including a second link to a second publisher associated with the second content.
