Bandwidth-Efficient Remote Procedure Calls via Packet Indexing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud gaming systems face limitations in computational resources, leading to constraints on the realism of games and the number of concurrent users, due to high demands on interconnection bandwidth for remote rendering commands.

Innovation Solution

A system that includes a central server and a rendering server, where the central server generates rendering instructions and packets, and the rendering server executes these instructions, using a marshalling process to efficiently transmit packets by assigning packet indices, reducing bandwidth usage through condensation of repeated instructions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If rendering instructions are transmitted in full detail over the network, then the remote device can accurately execute the rendering commands, but the network bandwidth consumption increases significantly

Engineering Contradiction:
Improverendering instruction accuracyVSAvoidnetwork bandwidth usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent uses packet indices as simplified copies or references to the original rendering instructions. Instead of transmitting the complete rendering instruction data, the system transmits compact packet indices that point to previously transmitted instructions, thereby reducing bandwidth consumption while preserving the ability to accurately reproduce the original rendering commands at the remote device

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent transforms the rendering instruction transmission by changing the parameter representation from full instruction details to compressed packet indices. This parameter transformation allows the same rendering information to be conveyed using significantly fewer bits, resolving the contradiction between transmission accuracy and bandwidth efficiency

Inventive Principle:
Principle #35Parameter changes

2Productivity

If more rendering instructions are sent to improve game realism, then the gaming experience becomes more realistic, but the network bandwidth demand increases and limits the number of concurrent users

Engineering Contradiction:
Improvegaming experience qualityVSAvoidavailable network bandwidth
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

By using packet indices as compact references to rendering instructions, the system enables transmission of more rendering commands within the same bandwidth constraints. This copying mechanism allows the network to handle a higher volume of rendering instructions, thereby improving game realism while maintaining support for multiple concurrent users

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent enables the system to transmit more rendering instructions than would traditionally be feasible by using compressed packet indices. This allows for excessive transmission of rendering commands (beyond normal bandwidth limits) while still maintaining acceptable network resource utilization, thereby enhancing gaming experience quality

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10051084B2Methods and systems for bandwidth-efficient remote procedure calls
Publication Date: 2018.08.14 SQUARE ENIX HLDG CO LTD
  • US10051084B2 patent drawing
  • US10051084B2 patent drawing
  • US10051084B2 patent drawing

AI summary

A local device obtains at least one instruction for execution by a remote device (e.g., instructions to render a game screen of a video game). A packet representing the at least one instruction is created, and released towards the remote device. Creation of the packet involves consulting a packet dictionary to determine whether a packet index has already been assigned to the at least one instruction. If this is the case, the packet is formulated so that it contains the packet index; otherwise, the packet is formulated to include a function identifier and a set of parameters, which are associated with the at least one instruction. Since fewer bits are needed to encode the packet index than to encode the function identifier and the set of parameters, transmitted packets can be condensed when they represent at least one instruction for which a packet had previously been transmitted.