Software Router in Application Memory Space

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In environments where multiple mobile devices are used together, such as in vehicles, providing network connectivity to all users with a limited number of physical connections is challenging, as existing solutions require expensive customizations and specialized software/hardware that are not easily deployable.

Innovation Solution

A software router is implemented in the user application memory space of a general-purpose computer to route network traffic between co-resident applications and external networks, using a software router-to-application connection process that allows access to the operating system's protocol stack, enabling flexible communication architecture and leveraging existing embedded router technology with minimal modification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If specialized software and hardware are used to provide network connectivity to multiple users with limited physical connections, then network connectivity is improved, but cost and deployability worsen

Engineering Contradiction:
Improvenetwork connectivityVSAvoiddeployability
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent uses virtualization to create virtual copies of network interfaces and routing functionality. Instead of requiring specialized hardware for each connection, the system creates virtual network interface cards (vNICs) and virtual routing instances that can be replicated and distributed across multiple users, providing network connectivity through software-based copying of networking capabilities

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent replaces specialized hardware routing devices with software-based routing implemented on general-purpose computers. The routing functionality is transformed from a mechanical/hardware system to a software system that can run on standard equipment, improving deployability while maintaining network connectivity through virtualized networking stacks and software-defined networking

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If specialized hardware is used to provide network connectivity, then network connectivity is improved, but cost worsens

Engineering Contradiction:
Improvenetwork connectivityVSAvoidcost
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent makes general-purpose computers perform specialized routing functions through virtualization. A single physical computer can host multiple virtual routing instances serving different users or networks, making the hardware universal and multi-functional. This eliminates the need for dedicated specialized hardware for each routing task, reducing overall cost while maintaining reliable network connectivity

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent creates virtual copies of routing functionality that can be deployed across multiple users without requiring additional specialized hardware for each copy. The virtualized routing instances can be replicated and distributed, providing network connectivity through software-based copying that eliminates the need for expensive specialized hardware proliferation

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9825849B2Routing traffic for applications by a software router co-resident in application memory space of a general purpose computer
Publication Date: 2017.11.21 CISCO TECHNOLOGY INC
  • US9825849B2 patent drawing
  • US9825849B2 patent drawing
  • US9825849B2 patent drawing

AI summary

The embodiments described herein provide mechanism that allows an embedded router software image and an application to run in the user application memory space of a general purpose computer. A connection is established with an operating system device configured to route packets between the application and the software router and route, by the software router, network traffic to and from the application by way of the connection. The application may be connected to other applications in the user application memory space or connected to applications that are external to the general purpose computer.