IP Library Granted Patent US 10,938,877
Granted Patent B2
US 10,938,877 · App. 16/692,226 · Granted Mar 2, 2021

Optimizing data transmission parameters of a proprietary network

Inventors: Pradeep Srinivas Barthur (White Plains, NY); Rohit Pasam (Chicago, IL); Venkatakumar Srinivasan (Chicago, IL); Gary W. Grube (Barrington Hills, IL)
Assignee: Xaptum, Inc.
H04L65/607H04L12/4633H04L43/0876H04L47/41H04L65/608H04L69/163
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 10,938,877
App. No.
16/692,226
Granted
Mar 2, 2021
Kind
B2
Abstract

A method includes a computing entity receiving sets of data streams from local networks. The method further includes de-aggregating and de-packetizing the sets of data streams using aggregating and packetizing protocols to recover sets of sets of raw data elements. The method further includes, for a user computing device, selecting a group of raw data elements from the sets of sets of raw data elements using client data selection criteria. The method further includes aggregating and packetizing the group of raw data elements in accordance with a network aggregating and packetizing protocol to produce a client data packet and transmitting the client data packet to the user computing device.

Claims (85)

1. A method comprises:

receiving, by a computing entity, a plurality of sets of data streams from a plurality of local networks, wherein each local network of the plurality of local networks is affiliated with a set of data source devices, wherein a data source device of the set of data source devices aggregates and packetizes a set of raw data elements into a corresponding one of the plurality of sets of data streams in accordance with a corresponding aggregating and packetizing protocol;

de-aggregating and de-packetizing, by the computing entity, the plurality of sets of data streams in accordance with corresponding aggregating and packetizing protocols of the plurality of sets of data source devices to recover a plurality of sets of sets of raw data elements;

for a user computing device, selecting, by the computing entity, a group of raw data elements from the plurality of sets of sets of raw data elements in accordance with client data selection criteria;

aggregating and packetizing, by the computing entity, the group of raw data elements in accordance with a network aggregating and packetizing protocol to produce a client data packet; and

transmitting, by the computing entity, the client data packet to the user computing device.

2. The method of claim 1 further comprises:

obtaining, by the data source device, communication efficiency information, wherein the communication efficiency information is associated with utilization of the client data packet by the user computing device; and

adjusting, by the data source device, the corresponding aggregating and packetizing protocol in accordance with the communication efficiency information to include one or more of:

aggregating less of subsequently received raw data elements into a further corresponding one of the plurality of sets of data streams when the communication efficiency information indicates an unfavorable data communication delay; and

packetizing subsequently aggregated raw data elements more often into the further corresponding one of the plurality of sets of data streams when the communication efficiency information indicates the unfavorable data communication delay.

3. The method of claim 1 further comprises:

obtaining, by the computing entity, communication efficiency information, wherein the communication efficiency information is associated with utilization of the client data packet by the user computing device; and

adjusting, by the computing entity, the network aggregating and packetizing protocol in accordance with the communication efficiency information to include one or more of:

aggregating less of subsequently selected raw data elements into a subsequent group of raw data elements when the communication efficiency information indicates an unfavorable data communication delay; and

packetizing subsequently aggregated groups of raw data elements more often into subsequent client data packets when the communication efficiency information indicates the unfavorable data communication delay.

4. The method of claim 1 , wherein the selecting the group of raw data elements from the plurality of sets of sets of raw data elements in accordance with client data selection criteria comprises one or more of:

interpreting a request from the user computing device to identify the group of raw data elements; and

selecting a raw data element of the group of raw data elements based on a data type of the raw data element and an affiliation between the user computing device and the data type.

5. The method of claim 1 , wherein the aggregating and packetizing the group of raw data elements in accordance with the network aggregating and packetizing protocol to produce the client data packet comprises:

selecting a corresponding portion of each raw data element of the group of raw data elements in accordance with the network aggregating and packetizing protocol; and

generating the client data packet to include the selected corresponding portions of each of the raw data elements of the group of raw data elements.

6. The method of claim 1 , wherein the transmitting the client data packet to the user computing device comprises:

identifying another computing entity associated with the user computing device; and

sending, via the other computing entity, the client data packet to the user computing device.

7. A computing device comprises:

an interface;

a local memory; and

a processing module operably coupled to the interface and the local memory, wherein the processing module functions to:

receive, via the interface, a plurality of sets of data streams from a plurality of local networks, wherein each local network of the plurality of local networks is affiliated with a set of data source devices, wherein a data source device of the set of data source devices aggregates and packetizes a set of raw data elements into a corresponding one of the plurality of sets of data streams in accordance with a corresponding aggregating and packetizing protocol;

de-aggregate and de-packetize the plurality of sets of data streams in accordance with corresponding aggregating and packetizing protocols of the plurality of sets of data source devices to recover a plurality of sets of sets of raw data elements;

for a user computing device, select a group of raw data elements from the plurality of sets of sets of raw data elements in accordance with client data selection criteria;

aggregate and packetize the group of raw data elements in accordance with a network aggregating and packetizing protocol to produce a client data packet; and

transmit, via the interface, the client data packet to the user computing device.

8. The computing device of claim 7 , wherein the processing module further functions to:

obtain communication efficiency information, wherein the communication efficiency information is associated with utilization of the client data packet by the user computing device; and

adjust the corresponding aggregating and packetizing protocol in accordance with the communication efficiency information to include one or more of:

aggregating less of subsequently received raw data elements into a further corresponding one of the plurality of sets of data streams when the communication efficiency information indicates an unfavorable data communication delay; and

packetizing subsequently aggregated raw data elements more often into the further corresponding one of the plurality of sets of data streams when the communication efficiency information indicates the unfavorable data communication delay.

9. The computing device of claim 7 , wherein the processing module further functions to:

obtain communication efficiency information, wherein the communication efficiency information is associated with utilization of the client data packet by the user computing device; and

adjust the network aggregating and packetizing protocol in accordance with the communication efficiency information to include one or more of:

aggregating less of subsequently selected raw data elements into a subsequent group of raw data elements when the communication efficiency information indicates an unfavorable data communication delay; and

packetizing subsequently aggregated groups of raw data elements more often into subsequent client data packets when the communication efficiency information indicates the unfavorable data communication delay.

10. The computing device of claim 7 , wherein the processing module functions to select the group of raw data elements from the plurality of sets of sets of raw data elements in accordance with client data selection criteria by one or more of:

interpreting a request from the user computing device to identify the group of raw data elements; and

selecting a raw data element of the group of raw data elements based on a data type of the raw data element and an affiliation between the user computing device and the data type.

11. The computing device of claim 7 , wherein the processing module functions to aggregate and packetize the group of raw data elements in accordance with the network aggregating and packetizing protocol to produce the client data packet by:

selecting a corresponding portion of each raw data element of the group of raw data elements in accordance with the network aggregating and packetizing protocol; and

generating the client data packet to include the selected corresponding portions of each of the raw data elements of the group of raw data elements.

12. The computing device of claim 7 , wherein the processing module functions to transmit the client data packet to the user computing device by:

identifying another computing entity associated with the user computing device; and

sending, via the interface and the other computing entity, the client data packet to the user computing device.

13. A computer readable memory comprises:

a first memory element that stores operational instructions that, when executed by a processing module, causes the processing module to:

receive a plurality of sets of data streams from a plurality of local networks, wherein each local network of the plurality of local networks is affiliated with a set of data source devices, wherein a data source device of the set of data source devices aggregates and packetizes a set of raw data elements into a corresponding one of the plurality of sets of data streams in accordance with a corresponding aggregating and packetizing protocol;

a second memory element that stores operational instructions that, when executed by the processing module, causes the processing module to:

de-aggregate and de-packetize the plurality of sets of data streams in accordance with corresponding aggregating and packetizing protocols of the plurality of sets of data source devices to recover a plurality of sets of sets of raw data elements;

a third memory element that stores operational instructions that, when executed by the processing module, causes the processing module to:

for a user computing device, select a group of raw data elements from the plurality of sets of sets of raw data elements in accordance with client data selection criteria;

a fourth memory element that stores operational instructions that, when executed by the processing module, causes the processing module to:

aggregate and packetize the group of raw data elements in accordance with a network aggregating and packetizing protocol to produce a client data packet; and

a fifth memory element that stores operational instructions that, when executed by the processing module, causes the processing module to:

transmit the client data packet to the user computing device.

14. The computer readable memory of claim 13 further comprises:

a sixth memory element that stores operational instructions that, when executed by the processing module, causes the processing module to:

obtain communication efficiency information, wherein the communication efficiency information is associated with utilization of the client data packet by the user computing device; and

adjust the corresponding aggregating and packetizing protocol in accordance with the communication efficiency information to include one or more of:

aggregating less of subsequently received raw data elements into a further corresponding one of the plurality of sets of data streams when the communication efficiency information indicates an unfavorable data communication delay; and

packetizing subsequently aggregated raw data elements more often into the further corresponding one of the plurality of sets of data streams when the communication efficiency information indicates the unfavorable data communication delay.

15. The computer readable memory of claim 13 further comprises:

a seventh memory element that stores operational instructions that, when executed by the processing module, causes the processing module to:

obtain communication efficiency information, wherein the communication efficiency information is associated with utilization of the client data packet by the user computing device; and

adjust the network aggregating and packetizing protocol in accordance with the communication efficiency information to include one or more of:

aggregating less of subsequently selected raw data elements into a subsequent group of raw data elements when the communication efficiency information indicates an unfavorable data communication delay; and

packetizing subsequently aggregated groups of raw data elements more often into subsequent client data packets when the communication efficiency information indicates the unfavorable data communication delay.

16. The computer readable memory of claim 13 , wherein the processing module functions to execute the operational instructions stored by the third memory element to cause the processing module to select the group of raw data elements from the plurality of sets of sets of raw data elements in accordance with client data selection criteria by one or more of:

interpreting a request from the user computing device to identify the group of raw data elements; and

selecting a raw data element of the group of raw data elements based on a data type of the raw data element and an affiliation between the user computing device and the data type.

17. The computer readable memory of claim 13 , wherein the processing module functions to execute the operational instructions stored by the fourth memory element to cause the processing module to aggregate and packetize the group of raw data elements in accordance with the network aggregating and packetizing protocol to produce the client data packet by:

selecting a corresponding portion of each raw data element of the group of raw data elements in accordance with the network aggregating and packetizing protocol; and

generating the client data packet to include the selected corresponding portions of each of the raw data elements of the group of raw data elements.

18. The computer readable memory of claim 13 , wherein the processing module functions to execute the operational instructions stored by the fifth memory element to cause the processing module to transmit the client data packet to the user computing device by:

identifying another computing entity associated with the user computing device; and

sending, via the other computing entity, the client data packet to the user computing device.

Assignments (5)
PATENT SECURITY AGREEMENT Recorded Aug 6, 2024
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 068328/0674 →
RELEASE OF LIEN ON PATENTS Recorded Aug 5, 2024
From: BARINGS FINANCE LLC
To: RPX CORPORATION
Reel/Frame 068328/0278 →
PATENT SECURITY AGREEMENT Recorded May 21, 2024
From: RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 067486/0890 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2024
From: MURRAY LESSINGER AS TRUSTEE-ASSIGNEE FOR THE TRUST FOR THE BENEFIT OF CREDITORS OF XAPTUM, INC; XAPTUM, INC
To: RPX CORPORATION
Reel/Frame 066375/0513 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2019
From: BARTHUR, PRADEEP SRINIVAS; PASAM, ROHIT; SRINIVASAN, VENKATAKUMAR; GRUBE, GARY W.
To: XAPTUM, INC.
Reel/Frame 051100/0374 →
Continuity (2)
Provisional Application 62773966 · Nov 30, 2018
Related Publication 20200177658A1 · Jun 4, 2020