IP Library Granted Patent US 12,199,869
Granted Patent B2
US 12,199,869 · App. 18/418,000 · Granted Jan 14, 2025

Distributed software-defined network

Inventors: Robert Kunc (Rancho Palos Verdes, CA); Andrew Hung (Los Angeles, CA); David Wang (Rancho Palos Verdes, CA); Michael Mavraganis (Rancho Palos Verdes, CA)
Assignee: MIMYR, LLC
H04L45/76H04L45/02H04L45/74H04L69/22H04W24/02H04W40/02
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,199,869
App. No.
18/418,000
Granted
Jan 14, 2025
Kind
B2
Abstract

This application relates to a distributed software-defined network (“DSDN”) for dynamically configuring and managing a wireless communication network. A plurality of DSDN nodes are connected to each other via a plurality of communication paths. Each communication path directly connects two DSDN nodes. Each DSDN node can provide DSDN configurations across diverse and disparate networks by normalizing its data plane network traffic through translation and packet encapsulation. Furthermore, the DSDN node can provide an architecture tolerant of network interruptions and network system fluctuations. For example, in the case of any one of the DSDN node's network interruptions from other DSDN nodes, the DSDN can provide network reconfiguration using network configuration rules stored in a control plane of each DSDN node. Therefore, various embodiments can increase network reliability by the multiple nodes within a software-defined network independently managing its control plane in response to changed network conditions.

Claims (53)

1. A system for communicating data in a distributed software-defined network (DSDN), including a plurality of DSDN nodes, the system comprising:

a main DSDN node configured to be selected from the plurality of DSDN nodes, the main DSDN node comprising a plurality sets of routing information to transmit and receive a plurality sets of data between the plurality of DSDN nodes, the main DSDN node configured to:

designate a DSDN source node and a DSDN destination node from the plurality of DSDN nodes, wherein the designation is predefined based on at least one set of routing information of the plurality sets of routing information and a set of data of the plurality sets of data, wherein the set of data is configured to be transmitted and received between the DSDN source node and the DSDN destination node;

identify one or more available DSDN nodes from the plurality of DSDN nodes, wherein each DSDN node of the one or more available DSDN nodes is directly or indirectly connected to the DSDN source node and the DSDN destination node;

create one or more communication paths between the DSDN source node and the DSDN destination node via the identified one or more available DSDN nodes;

analyze a quality of each communication path of the created one or more communication paths between the DSDN source node and the DSDN destination node;

select a first optimal communication path between the DSDN source node and the DSDN destination node among the created one or more communication paths based on analysis results of the quality of each communication path of the created one or more communication paths between the DSDN source node and the DSDN destination node; and

transmit the set of data of the plurality of sets of data from the DSDN source node to the DSDN destination node via the first optimal communication path.

2. The system of claim 1 , wherein the DSDN source node and the DSDN destination node are connected via the one or more available DSDN nodes within two hops.

3. The system of claim 1 , wherein each set of the plurality sets of routing information includes data routing planning information for each set of the plurality sets of data.

4. The system of claim 1 , wherein the main DSDN node is configured to analyze the quality of each communication path of the created one or more communication paths between the DSDN source node and the DSDN destination node based on at least one of a path cost, a bandwidth, a latency, a link aggregation, or a redundancy.

5. The system of claim 1 , wherein the main DSDN node is further configured to monitor the quality of each communication path of the created one or more communication paths between the DSDN source node and the DSDN destination node in real-time.

6. The system of claim 1 , wherein the main DSDN node is configured to cause the designated DSDN source node to generate the set of data in a standard IP format by:

obtaining primitive data having a data protocol from one or more devices communicatively coupled with the DSDN source node, wherein the data protocol has a non-standard internet protocol (IP);

extracting a destination node identifier, a data payload, and an additional data traffic management policy from a header of the data protocol;

replicating the destination node identifier, the data payload, and the additional data traffic management policy; and

inserting the replicated destination node identifier, the data payload, and the additional data traffic management policy into corresponding fields of the standard IP.

7. The system of claim 1 , wherein the main DSDN node is further configured to:

in response to detecting a degradation of the quality of the first optimal communication path, create a second optimal communication path by re-analyzing a quality of each communication path of the created one or more communication paths between the DSDN source node and the DSDN destination node;

activate the second optimal communication path by deactivating one or more remaining communication paths; and

transmit the set of data from the DSDN source node to the DSDN destination node via the second optimal communication path.

8. The system of claim 1 , wherein the main DSDN node comprises an application layer, a transport layer, and a data layer.

9. The system of claim 8 , wherein the data layer is configured to store each set of routing information of the plurality sets of routing information in a form of a routing table.

10. The system of claim 1 , wherein the main DSDN node is further configured to activate the first optimal communication path by deactivating one or more remaining communication paths of the created one or more communication paths between the DSDN source node and the DSDN destination node.

11. The system of claim 1 , wherein the main DSDN node is further configured to:

determine a second optimal communication path between the DSDN source node and the DSDN destination node among the created one or more communication paths based on analysis results of the quality of each communication path of the created one or more communication paths between the DSDN source node and the DSDN destination node;

monitor a quality of the first optimal communication path while transmitting the set of data from the DSDN source node to the DSDN destination node via the first optimal communication path;

in response to monitoring results of the quality of the first optimal communication path indicating a communication path quality degradation, dynamically activate the second optimal communication path by deactivating the first optimal communication path; and

continuously transmit remaining data of the set of data from the DSDN source node to the DSDN destination node via the second optimal communication path.

12. A method of communicating data in a distributed software-defined network (DSDN) including a plurality of DSDN nodes, the method comprising:

designating a DSDN source node and a DSDN destination node from the plurality of DSDN nodes, wherein the designation is predefined based on at least one set of routing information of a plurality sets of routing information stored in a main DSDN node selected from the plurality of DSDN nodes, and wherein the at least one set of routing information of the plurality sets of routing information include routing information of one or more sets of data to be transmitted and received between the DSDN source node and the DSDN destination node;

identifying one or more available DSDN nodes from the plurality of DSDN nodes, wherein each DSDN node of the one or more available DSDN nodes is directly or indirectly connected to the DSDN source node and the DSDN destination node;

creating one or more communication paths between the DSDN source node and the DSDN destination node via the identified one or more available DSDN nodes;

analyzing quality of each communication path of the created one or more communication paths between the DSDN source node and the DSDN destination node;

selecting a first optimal communication path between the DSDN source node and the DSDN destination node among the created one or more communication paths based on analysis results of the quality of each communication path of the created one or more communication paths between the DSDN source node and the DSDN destination node;

activating the first optimal communication path by deactivating one or more remaining communication paths of the created one or more communication paths between the DSDN source node and the DSDN destination node; and

transmitting at least one set of data of the one or more sets of data from the DSDN source node to the DSDN destination node via the first optimal communication path.

13. The method of claim 12 , wherein the DSDN source node and the DSDN destination node are connected via the one or more available DSDN nodes within two hops.

14. The method of claim 12 , wherein the quality of each communication path of the created one or more communication paths between the DSDN source node and the DSDN destination node is analyzed based on at least one of a path cost, a bandwidth, a latency, a link aggregation, or a redundancy.

15. The method of claim 12 , wherein the main DSDN node is further configured to monitor the quality of the first optimal communication path in real-time.

16. The method of claim 12 , wherein each set of data of the one or more sets of data include a standard IP format generated by:

obtaining primitive data having a data protocol from one or more devices communicatively coupled with the DSDN source node, wherein the data protocol has a non-standard internet protocol (IP);

extracting a destination node identifier, a data payload, and an additional data traffic management policy from a header of the data protocol;

replicating the destination node identifier, the data payload, and the additional data traffic management policy; and

inserting the replicated destination node identifier, the data payload, and the additional data traffic management policy into corresponding fields of the standard IP.

17. The method of claim 12 , the method further comprising:

in response to detecting a degradation of the quality of the first optimal communication path, creating a second optimal communication path by re-analyzing a quality of each communication path of the created one or more communication paths between the DSDN source node and the DSDN destination node;

activating the second optimal communication path by deactivating remaining one or more communication paths; and

transmitting the at least one set of data of the one or more sets of data from the DSDN source node to the DSDN destination node via the second optimal communication path.

18. The method of claim 12 , wherein the main DSDN node comprises an application layer, a transport layer, and a data layer.

19. The method of claim 18 , wherein the data layer is configured to store the plurality sets of routing information in a form of a routing table.

20. The method of claim 12 , wherein a full bandwidth is allocated to the first optimal communication path by deactivating the one or more remaining communication paths between the DSDN source node and the DSDN destination node.

21. A non-transitory computer readable medium storing instructions, when executed by one or more processors, configured to perform the method of claim 12 .

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2024
From: KUNC, ROBERT; HUNG, ANDREW; WANG, DAVID; MAVRAGANIS, MICHAEL
To: MIMYR, LLC
Reel/Frame 066202/0844 →
Continuity (3)
Continuation 18052144 · Nov 2, 2022
Continuation 17728655 · Apr 25, 2022
Related Publication 20240205153A1 · Jun 20, 2024
References Cited (15)
US 9749214B2 · Han · 2017 [cited by applicant]
US 9843624B1 · Taaghol et al. · 2017 [cited by applicant]
US 10028167B2 · Calin · 2018 [cited by examiner]
US 10893095B1 · Taaghol et al. · 2021 [cited by applicant]
US 11496396B1 · Kunc et al. · 2022 [cited by applicant]
US 20170085486A1 · Chung et al. · 2017 [cited by applicant]
US 20170086191A1 · Sipra · 2017 [cited by examiner]
US 20190069187A1 · Ashrafi · 2019 [cited by applicant]
US 20190150150A1 · Calin · 2019 [cited by examiner]
US 20190260714A1 · Heo · 2019 [cited by applicant]
US 20200374707A1 · Ashrafi · 2020 [cited by applicant]
US 20220021613A1 · Venkatasubbaiah et al. · 2022 [cited by applicant]
US 20220368621A1 · Simanavicius · 2022 [cited by examiner]
International Search Report and Written Opinion mailed May 25, 2023 in International Application No. PCT/US2023/061586. [cited by applicant]
Zerrick et al., “Towards a decentralized and adaptive software-defined networking architecture”, 2014 International Conference on Next generation Networks and Services (NGNS), 2014, pp. 326-329. [cited by applicant]