Peer-to-Peer Software Update Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software update methods require significant egress bandwidth from providers, result in lengthy download times for large patches, and lack security features to protect clients during the update process, especially when prioritizing patches and sharing updates in a peer-to-peer environment.

Innovation Solution

A system and method that utilizes a peer-to-peer network to identify needed software updates, download pieces from multiple peers, and securely integrate updates, reducing bandwidth requirements and download time by using delta patches and peer lists to distribute and verify updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If patches are downloaded from a single host source, then download reliability is maintained, but download time increases and provider egress bandwidth requirements increase

Engineering Contradiction:
Improvedownload reliabilityVSAvoiddownload time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patch file is divided into multiple pieces, where each piece can be downloaded from different peer sources simultaneously. This segmentation enables parallel downloads, reducing total download time while maintaining reliability through multiple download paths.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple peer sources are combined to form a distributed download network. Instead of relying on a single host, the system merges multiple peer contributions to provide redundant download paths, simultaneously reducing provider bandwidth requirements and maintaining download reliability.

Inventive Principle:
Principle #5Merging (Combining)

2Device complexity

If patches are downloaded from a single host source, then security control is simplified, but provider egress bandwidth costs increase

Engineering Contradiction:
Improvesecurity control complexityVSAvoidegress bandwidth cost
Core Design Contradiction:
Device complexityVSLoss of energy

Solution Approach 1:

Peers in the network automatically share patch pieces with other peers without requiring direct host intervention. This self-service mechanism distributes the bandwidth burden across the peer network, significantly reducing provider egress bandwidth costs while maintaining security through cryptographic verification.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Patch pieces are copied and shared across multiple peer nodes in the network. Each peer acts as a distributed cache, eliminating the need for the provider to serve all download requests directly, thereby reducing bandwidth costs while maintaining data integrity through cryptographic signatures.

Inventive Principle:
Principle #26Copying

3Reliability

If the entire patch must be downloaded before installation, then data integrity is ensured, but download time for large patches becomes unacceptable

Engineering Contradiction:
Improvedata integrityVSAvoiddownload time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary verification of patch pieces during the download process itself, rather than requiring complete download before verification. Cryptographic checks are conducted on individual pieces as they arrive, enabling early detection of corruption and allowing parallel download of remaining pieces, thus reducing total download time while ensuring data integrity.

Inventive Principle:
Principle #10Preliminary action

4Productivity

If clients share patch pieces in peer-to-peer network, then download speed increases, but security risks increase from potential compromise

Engineering Contradiction:
Improvedownload speedVSAvoidsecurity risk
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

Instead of sharing executable patch files directly, the system shares cryptographic hashes and verified data pieces. Clients verify the authenticity of received pieces against cryptographic signatures before integration, eliminating security risks associated with sharing while maintaining the speed benefits of peer-to-peer distribution.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system implements a feedback mechanism where clients report the status of downloaded and verified pieces back to the network. This enables dynamic adjustment of sharing behavior, ensuring that only verified safe pieces are propagated while maintaining high download speeds through coordinated peer activity.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7716660B2Method and system for downloading updates
Publication Date: 2010.05.11 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7716660B2 patent drawing
  • US7716660B2 patent drawing
  • US7716660B2 patent drawing

AI summary

Embodiments of the present invention provide the ability for a software provider to distribute software updates to several different recipients utilizing a peer-to-peer environment. The invention described herein may be used to update any type of software, including, but not limited to, operating software, programming software, anti-virus software, database software, etc. The use of a peer-to-peer environment with added security provides the ability to minimize download time for each peer and also reduce the amount of egress bandwidth that must be provided by the software provider to enable recipients (peers) to obtain the update.