P2P Game Software Update with Dynamic Bandwidth Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Users face long wait times and interrupted software usage due to the time-consuming process of downloading new software versions, which affects the normal operation of game software.

Innovation Solution

A method for updating game software that involves receiving an updating notification, locating and downloading the update from another client device using a P2P protocol, and dynamically adjusting bandwidth allocation based on data transmission needs, allowing for pre-downloading during normal software use without interrupting the user experience.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If users download new software versions from the server, then the software is updated to the latest version, but the download time is long and normal software use is interrupted

Engineering Contradiction:
Improvesoftware update completenessVSAvoiddownload time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by having users download update packages in advance during off-peak hours or when not actively using the software. The update notification system identifies users who need updates and enables them to download the update package before the actual update is required, so that when the update is needed, the package is already ready for installation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism using a server as a mediator between the software client and the update source. The server receives update notifications from the software, manages the update process, and coordinates the download timing to minimize disruption to normal software usage. The server acts as an intermediary that schedules and manages the update process to balance completeness and time loss.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If users wait for software updates to complete before using the software, then the software version is updated, but the normal use of the software is interrupted

Engineering Contradiction:
Improvesoftware version accuracyVSAvoidsoftware usage continuity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system enables preliminary download of update packages during periods when the software is not actively being used. Users can download the update package in advance, and the system can schedule the actual installation during appropriate time windows, thereby maintaining continuous software usage while ensuring updates are applied when needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The update system dynamically adjusts the update process based on user needs and usage patterns. The system can pause, resume, or schedule updates at different times depending on when the user is actively using the software. This dynamic approach allows the system to balance update requirements with usage continuity, enabling updates to be applied without interrupting normal operation when possible.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP2923480B1Software download method and software download apparatus
Publication Date: 2017.04.05 TENCENT TECHNOLOGY (SHENZHEN) CO LTD
  • EP2923480B1 patent drawing
  • EP2923480B1 patent drawing
  • EP2923480B1 patent drawing

AI summary

A method for updating game software is performed at a first client device. While a game session related to the game software is running at the first client device, the first client device performs steps including: identifying updating data for the game software and predefined criteria for locating one or more other client devices that possess the updating data; locating at least one second client device in accordance with the predefined criteria; sending an outgoing downloading request to the located at least one second client device; and upon acceptance of the outgoing downloading request by the at least one second client device, downloading the updating data from the located at least one second client device. The downloading further comprises dynamically adjusting respective bandwidth allocated to the downloading in accordance with data transmission need of the game session.