Peer-to-Peer Network Topology Determination via Directory Server

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed content delivery networks, peers often make sub-optimal decisions about content delivery due to ignorance of network topology, leading to poor performance and unnecessary network traffic, as they lack information about the dynamic changes in network connections and links.

Innovation Solution

A system that determines network topology by performing tracerouting operations to build a router graph, allowing network administrators to establish peering policies and optimize data transfers by classifying clients into router groups and managing information validation and aging.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If peers in a distributed content delivery network operate without topology information, then the system maintains simplicity and ease of operation, but content delivery performance deteriorates and network traffic increases unnecessarily

Engineering Contradiction:
Improvesimplicity of peer operationVSAvoidcontent delivery performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent introduces a directory server as an intermediary that collects and maintains topology information from multiple peers. This mediator consolidates the complexity of topology discovery, allowing individual peers to operate simply while the system as a whole achieves optimal content delivery through the directory server's topology-aware server selection recommendations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the network topology is continuously tracked to improve content delivery decisions, then content delivery efficiency improves, but system complexity and resource consumption increase

Engineering Contradiction:
Improvecontent delivery efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements preliminary action by having peers periodically send traceroute information to the directory server in advance, building and maintaining a topology database before content delivery decisions are needed. This pre-computed topology information is then readily available for efficient server selection without requiring complex real-time topology analysis during content delivery operations.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If traceroute information is collected from all peers to build accurate router graphs, then topology accuracy improves, but network overhead and processing time increase

Engineering Contradiction:
Improvetopology accuracyVSAvoidtopology construction time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies partial action by having the directory server select a subset of peers to send traceroute information, rather than requiring all peers to participate. This selective approach builds sufficiently accurate router graphs for effective server selection without the excessive time and overhead of collecting traceroute data from every peer in the network.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7450524B2Method and apparatus for determining network topology in a peer-to-peer network
Publication Date: 2008.11.11 KOLLECTIVE TECH
  • US7450524B2 patent drawing
  • US7450524B2 patent drawing
  • US7450524B2 patent drawing

AI summary

One embodiment of the present invention provides a system that facilitates determining the network topology in a peer-to-peer network. The system operates by performing a tracerouting operation to obtain a traceroute from a first client to a directory server, wherein a traceroute describes a path through which a packet travels between the first client and the directory server, including addresses of the routers through which the packet travels. Next, the system sends the traceroute to the directory server from the first client. The directory server then uses the traceroute to build a router graph that represents the topology of the peer-to-peer network.