IP Library › Granted Patent US 12,284,119
Granted Patent B2
US 12,284,119 · App. 18/129,755 · Granted Apr 22, 2025

Application-based data labeling

Inventors: Ian James Wells (San Jose, CA); Kyle Andrew Donald Mestery (Woodbury, MN); Carlos M. Pignataro (Cary, NC); Nagendra Kumar Nainar (Morrisville, NC)
Assignee: Cisco Technology, Inc.
H04L47/24H04L45/507
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,284,119
App. No.
18/129,755
Granted
Apr 22, 2025
Kind
B2
Abstract

This disclosure describes techniques for performing application-based tagging. An example method includes receiving, at a virtual socket, non-packetized data from an application and generating, by the virtual socket, a label based on the application. One or more data packets are generated by packetizing at least a portion of the non-packetized data. A header field of the one or more data packets includes a tag based on the label.

Claims (64)

1. A method, comprising:

receiving, at a virtual socket of a device, non-packetized data from an application;

generating, by the virtual socket of the device, a label based on the application;

generating, by the device, one or more data packets by packetizing the non-packetized data, wherein packetizing the non-packetized data comprises encapsulating the non-packetized data;

adding, by the device, a tag to the one or more data packets based on the label; and

transmitting, by the device, the one or more data packets to an external device.

2. The method of claim 1 , wherein the virtual socket comprises a Berkeley Software Distribution (BSD) socket.

3. The method of claim 1 , wherein the label comprises one or more bits of data identifying at least one of the application, the virtual socket, or a type of the non-packetized data.

4. The method of claim 1 , the non-packetized data being first non-packetized data, the application being a first application, the label being a first label, the external device being a first external device, the method further comprising:

receiving, at the virtual socket of the device, second non-packetized data from a second application;

generating, by the virtual socket of the device, a second label based on the second application; and

dropping, by the device, the second non-packetized data based on the second label by:

refraining from packetizing the second non-packetized data; and

refraining from transmitting the second non-packetized data to a second external device.

5. The method of claim 1 , wherein adding the tag to the one or more data packets based on the label comprises adding the tag to at least one header field of the one or more data packets.

6. The method of claim 1 , wherein transmitting the one or more data packets comprises:

prioritizing, by the device, transmission of the one or more data packets over other data packets based on the label.

7. The method of claim 1 , further comprising:

based on the label, analyzing, by a firewall of the device, the one or more data packets.

8. The method of claim 1 , wherein packetizing the non-packetized data comprises:

based on the label, redundantly encoding the non-packetized data into the one or more data packets using an error correction code (ECC).

9. A system, comprising:

at least one processor; and

memory storing instructions that, when executed by the at least one processor, cause the at least one processor to perform operations comprising:

receiving, at a virtual socket, non-packetized data from an application;

generating, by the virtual socket, a label based on the application; and

generating one or more data packets by packetizing at least a portion of the non-packetized data, a header field of the one or more data packets comprising a tag based on the label.

10. The system of claim 9 , wherein the virtual socket comprises a Berkeley Software Distribution (BSD) socket.

11. The system of claim 9 , wherein the label comprises one or more bits of data identifying at least one of the application, the virtual socket, or a type of the non-packetized data.

12. The system of claim 9 , the non-packetized data being first non-packetized data, the application being a first application, the label being a first label, the operations further comprising:

receiving, at the virtual socket, second non-packetized data from a second application;

generating, by the virtual socket, a second label based on the second application; and

dropping the second non-packetized data based on the second label.

13. The system of claim 9 , wherein the operations further comprise:

adding a tag to the one or more data packets based on the label by adding the tag to at least one header field of the one or more data packets.

14. The system of claim 9 , wherein adding the tag to the one or more data packets based on the label comprises adding the tag to at least one header field of the one or more data packets.

15. The system of claim 9 , wherein the operations further comprise:

based on the label, analyzing, by a firewall, the one or more data packets.

16. The system of claim 9 , wherein packetizing the non-packetized data comprises:

based on the label, redundantly encoding the non-packetized data into the one or more data packets using an error correction code (ECC).

17. A source, comprising:

at least one processor;

memory storing instructions that, when executed by the at least one processor, cause the at least one processor to perform operations comprising:

receiving, at a virtual socket, non-packetized data from an application;

generating, by the virtual socket, a label based on the application;

generating one or more first data packets by packetizing the non-packetized data, wherein packetizing the non-packetized data comprises encapsulating the non-packetized data;

adding a tag to the one or more first data packets based on the label;

determining, based on the label, that the one or more first data packets have a higher priority than one or more second data packets;

outputting the one or more first data packets to a first external device; and

in response to outputting the one or more first data packets to the external device, transmitting the one or more second data packets to a second external device.

18. The source of claim 17 , the virtual socket being a first virtual socket, the non-packetized data being first non-packetized data, the application being a first application, the label being a first label, the operations further comprising:

receiving, at a second virtual socket, second non-packetized data from a second application;

generating, by the second virtual socket, a second label based on the second application;

generating the one or more second data packets by packetizing the second non-packetized data,

wherein determining that the one or more first data packets have a higher priority than the one or more second data packets comprises:

comparing the first label to the second label.

19. The source of claim 17 , further comprising:

a first port; and

a second port,

wherein the operations further comprise determining that the first port is less congested than the second port,

wherein outputting the one or more first data packets to the first external device comprises causing the first port to transmit the one or more first data packets to the first external device, and

wherein outputting the one or more second data packets to the second external device comprises causing the second port to transmit the one or more second data packets to the second external device.

20. The source of claim 17 , wherein the operations further comprise:

based on the label, redundantly encoding the non-packetized data into the one or more data packets using an error correction code (ECC).

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2023
From: WELLS, IAN JAMES; MESTERY, KYLE ANDREW DONALD; PIGNATARO, CARLOS M.; NAINAR, NAGENDRA KUMAR
To: CISCO TECHNOLOGY, INC.
Reel/Frame 063198/0055 →
Continuity (2)
Continuation 17388754 · Jul 29, 2021
Related Publication 20230254255A1 · Aug 10, 2023
References Cited (11)
US 10154123B2 · Tapia · 2018 [cited by examiner]
US 11071004B2 · Gandhi · 2021 [cited by examiner]
US 11646969B2 · Wells · 2023 [cited by examiner]
US 20120215911A1 · Raleigh · 2012 [cited by examiner]
US 20140226658A1 · Kakadia · 2014 [cited by examiner]
US 20150201046A1 · Biswas · 2015 [cited by applicant]
US 20170346859A1 · MacFaden · 2017 [cited by examiner]
US 20190303576A1 · Masputra · 2019 [cited by examiner]
US 20190306281A1 · Masputra · 2019 [cited by examiner]
US 20230032924A1 · Wells et al. · 2023 [cited by applicant]
Office Action for U.S. Appl. No. 17/388,754, mailed on Oct. 6, 2022, Wells, “Application-Based Data Labeling”, 8 pages. [cited by applicant]