IP Library Granted Patent US 12,210,894
Granted Patent B2
US 12,210,894 · App. 17/404,408 · Granted Jan 28, 2025

Wi-fi virtualization

Inventor: Joseph Alan Epstein (Pleasanton, CA)
Assignee: Omnifi Inc.
G06F9/45558G06F9/5055H04W84/12G06F2009/45562G06F2009/45579G06F2009/45595G06F2209/5021G06F2209/506
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,210,894
App. No.
17/404,408
Granted
Jan 28, 2025
Kind
B2
Abstract

In one embodiment, a wireless network system includes a set of one or more wireless radios, and a set of software for the wireless network system that comprises a data structure representing the set of one or more wireless radios and a virtualization module that registers one or more virtualized data structures representing a virtual proxy of the set of one or more wireless radios.

Claims (39)

1. A wireless network system comprising:

a set of one or more wireless radios;

a central processing unit (CPU);

memory coupled to the CPU and storing one or more sequences of stored program software instructions providing an operating system for the wireless network system, the sequences of instructions being programmed to cause, when executed using the CPU, creating and storing in the memory:

a driver;

a data structure representing the set of one or more wireless radios, the data structure comprising a list of interface modes that the driver supports when the driver communicates with one of the one or more wireless radios; and

a virtualization module that registers one or more virtualized data structures representing a virtual proxy of one or more aspects of the set of one or more wireless radios, the virtualization module querying the data structure and copying the list of interface modes into the one or more virtualized data structures.

2. The wireless network system of claim 1 , the virtualization module being programmed to create one or more network endpoints representing an underlying virtualization granularity.

3. The wireless network system of claim 2 , each of the one or more endpoints being associated with a corresponding virtual data structure.

4. The wireless network system of claim 1 , the one or more virtualized data structures being accessed through a user space interface.

5. The wireless network system of claim 1 , the virtualization module residing in user space, and the virtualization module registering the one or more virtualized data structures through a tap driver.

6. The wireless network system of claim 5 , the virtualization module in the user space exercising one or more commands for changing state of the one or more virtualized data structures through a user space interface.

7. The wireless network system of claim 6 , the one or more commands comprising adding or removing interfaces, starting new basic service sets (BBSs), changing keys for stations, adjusting power and antennas, changing channels, starting scans, requesting radar detection, or adjusting an association handshake.

8. The wireless network system of claim 1 , the sequences of stored program software instructions for the wireless network system further comprising a permission module associated with the virtualization module that maintains allocated resources to one of the one or more virtualized data structure and allows changes to the one of the one or more virtualized data structures within limits of the allocated resources.

9. The wireless network system of claim 8 , the permission module mapping each possible operation making changes to the one of the one or more virtualized data structures to allowed behaviors, resource constraints, and responses for failure.

10. The wireless network system of claim 1 , each of the one or more virtualized data structures being associated with a priority for a command for controlling the set of one or more wireless radios such that a command associated with a virtualized data structure of a higher priority takes precedence over a command associated with a virtualized data structure of a lower priority.

11. The wireless network system of claim 1 , the sequences of stored program software instructions for the wireless network system further comprising a data plane ferry that relays traffic between a driver's interface and a virtual interface associated with one of the one or more virtualized data structures.

12. The wireless network system of claim 1 , the sequences of stored program software instructions for the wireless network system further comprising a pair of virtual interfaces associated with one of the one or more virtualized data structures.

13. The wireless network system of claim 1 , the virtualization module registering a virtualized data structure isolated in a virtualization container.

14. The wireless network system of claim 1 , the virtualization module being placed on a host hardware model process while the one or more virtual data structures being placed within a virtual machine, the virtualization module bridging connections between the one or more virtual data structures and a real data structure representing the set of one or more wireless radios.

15. The wireless network system of claim 1 , one of the one or more virtual data structures being on a host machine while the data structure being on a virtual machine.

16. The wireless network system of claim 1 , the virtualization module being on a host hardware model process while the set of one or more wireless radios and the data structure representing the set of one or more wireless radios being on a remote machine that is different from the host.

17. The wireless network system of claim 16 , a virtualization agent on the remote machine configuring and discovering a state of the set of one or more wireless radios.

18. The wireless network system of claim 17 , the virtualization agent on the remote machine and the virtualization module on the host hardware model process communicating over a network.

19. The wireless network system of claim 18 , wherein the virtualization module being on a compute cloud while the virtualization agent and the set of one or more wireless radios being on a radio cloud.

20. One or more computer-readable non-transitory storage media storing one or more sequences of stored program software instructions providing an operating system for a wireless network system having a set of one or more wireless radios, the sequences of instructions being programmed to cause, when executed using one or more CPUs, creating and storing in a memory coupled to the one or more CPUs:

a driver;

a data structure representing the set of one or more wireless radios, the data structure comprising a list of interface modes that the driver supports when the driver communicates with one of the one or more wireless radios; and

a virtualization module that registers one or more virtualized data structures representing a virtual proxy of one or more aspects of the set of one or more wireless radios, the virtualization module querying the data structure and copying the list of interface modes into the one or more virtualized data structures.

21. The media of claim 20 , the virtualization module being programmed to create one or more network endpoints representing an underlying virtualization granularity.

22. The media of claim 21 , each of the one or more endpoints being associated with a corresponding virtual data structure.

23. The media of claim 20 , the one or more virtualized data structures being accessed through a user space interface.

24. The media of claim 20 , the virtualization module residing in user space, and the virtualization module registering the one or more virtualized data structures through a tap driver.

25. The media of claim 24 , the virtualization module in the user space exercising one or more commands for changing state of the one or more virtualized data structures through a user space interface.

26. The media of claim 25 , the one or more commands comprising adding or removing interfaces, starting new basic service sets (BBSs), changing keys for stations, adjusting power and antennas, changing channels, starting scans, requesting radar detection, or adjusting an association handshake.

27. The media of claim 20 , the sequences of stored program software instructions for the wireless network system further comprising a permission module associated with the virtualization module that maintains allocated resources to one of the one or more virtualized data structure and allows changes to the one of the one or more virtualized data structures within limits of the allocated resources.

28. The media of claim 27 , the permission module mapping each possible operation making changes to the one of the one or more virtualized data structures to allowed behaviors, resource constraints, and responses for failure.

29. The media of claim 20 , each of the one or more virtualized data structures being associated with a priority for a command for controlling the set of one or more wireless radios such that a command associated with a virtualized data structure of a higher priority takes precedence over a command associated with a virtualized data structure of a lower priority.

30. The media of claim 20 , the sequences of stored program software instructions for the wireless network system further comprising a data plane ferry that relays traffic between a driver's interface and a virtual interface associated with one of the one or more virtualized data structures.

Assignments (3)
SECURITY INTEREST Recorded Aug 16, 2024
From: OMNIFI INC.
To: WESTERN ALLIANCE BANK
Reel/Frame 068313/0714 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2021
From: EPSTEIN, JOSEPH ALAN
To: OMNIFI INC.
Reel/Frame 057308/0713 →
CHANGE OF NAME Recorded Aug 19, 2021
From: PLUMERIA NETWORKS, INC.
To: OMNIFI INC.
Reel/Frame 057245/0149 →
Continuity (2)
Provisional Application 63067189 · Aug 18, 2020
Related Publication 20220058047A1 · Feb 24, 2022
References Cited (34)
US 20060104292A1 · Gupta · 2006 [cited by examiner]
US 20080168030A1 · Songer · 2008 [cited by examiner]
US 20080222375A1 · Kotsovinos · 2008 [cited by examiner]
US 20090199281A1 · Cai · 2009 [cited by examiner]
US 20090254924A1 · Anirudh · 2009 [cited by examiner]
US 20110286380A1 · Zhu · 2011 [cited by examiner]
US 20110321065A1 · Gopalakrishnan · 2011 [cited by examiner]
US 20120005691A1 · Wong · 2012 [cited by examiner]
US 20120240235A1 · Moore · 2012 [cited by examiner]
US 20120250539A1 · Lin · 2012 [cited by examiner]
US 20120278397A1 · Lindsay · 2012 [cited by examiner]
US 20120307792A1 · Ram · 2012 [cited by examiner]
US 20130208589A1 · Lopez Toledo · 2013 [cited by examiner]
US 20130317892A1 · Heerboth · 2013 [cited by examiner]
US 20140233568A1 · Dong · 2014 [cited by examiner]
US 20140341129A1 · Zhu · 2014 [cited by examiner]
US 20140365557A1 · Maehara · 2014 [cited by examiner]
US 20150237667A1 · Ghai · 2015 [cited by examiner]
US 20160014613A1 · Ponnampalam · 2016 [cited by examiner]
US 20160021684A1 · Lewis · 2016 [cited by examiner]
US 20160294706A1 · Lang · 2016 [cited by examiner]
US 20170208039A1 · Godfrey · 2017 [cited by examiner]
US 20170230287A1 · Hall · 2017 [cited by examiner]
US 20190068689A1 · Ram · 2019 [cited by examiner]
US 20190320337A1 · Siomina · 2019 [cited by examiner]
US 20190347127A1 · Coady · 2019 [cited by examiner]
US 20200229206A1 · Badic · 2020 [cited by applicant]
US 20210240359A1 · Danilov · 2021 [cited by examiner]
US 20210243639A1 · Sanaullah · 2021 [cited by examiner]
US 20210352508A1 · Azarfar · 2021 [cited by examiner]
International Search Report and Written Opinion for Application No. PCT/US21/46283, mailed on Nov. 22, 2021, 12 pages. [cited by applicant]
Lei Xia et al., “Virtual WiFi”, Virtual Execution Environments, pp. 181-192, XP058002181, Mar. 9, 2011, 13 pages, VEE'11, Researchgate; web retrieval: https://www.researchgate.net/publication/221137794, DOI: 10.1145/195… [cited by applicant]
Berg Johannes, “The 802.11 subsystems for kernel developers”, pp. 1-58, XP093183565, Feb. 17, 2020, 137 pages, web retrieval: https://web.archive.org/web/20200217013551/https://landley.net/kdocs/Documentati on/DocBook/x… [cited by applicant]
Milasinovic, Goran, “Extended Supplemental European Search Report” for European patent application No. EP21858959, dated Jul. 25, 2024, 9 pages, published by the European Patent Office, Munich, Germany. [cited by applicant]