IP Library Granted Patent US 8,095,590
Granted Patent B1
US 8,095,590 · App. 10/899,876 · Granted Jan 10, 2012

Techniques for distributing data

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 8,095,590
App. No.
10/899,876
Granted
Jan 10, 2012
Kind
B1
Abstract

Techniques are provided for distributing data over a network. One or more source nodes distribute data to an intermediate node. The intermediate node accumulates the data, dynamically selects a first path for distributing the data to a first destination node, and dynamically selects a second path for distributing the data to a second destination node. In an embodiment, the data is simultaneously distributed over the first and second paths from the intermediate node.

Claims (23)

1. A method implemented in a machine-readable device for execution on a processing device for distributing data, the method comprising:

negotiating, by the processing device, a transfer of data from one or more source nodes to at least one of a first destination node and a second destination node, the processing device is an intermediate node along an initial path that the data is to transfer before reaching the first and second destination nodes, negotiation includes agreeing with the one or more source nodes on protocol communications, bandwidth limits, and priorities for the transfer of the data, the one or more source nodes initiate a network transaction to send the data through a network via the intermediate node to the first destination node and the second destination node, the intermediate node relays or forwards the data for the network transaction to the first destination node and the second destination node, and the first and second destination nodes are the object of the data being sent initially from the one or more source nodes over the network as the network transaction, the first and second destination nodes receive the data from the intermediate node; and

further detecting, by the processing device, a failure at one of the destination nodes during distribution and re-distributing the data after the failure is resolved at the destination node that had failed;

receiving, at the intermediate node, a tree data structure having a first path to the first destination node and a second path to the second destination node, the tree data structure generated by the one or more source nodes for the network transaction and also includes success factors as probability values conducting the network transaction over the first path and the second path;

accumulating, at the intermediate node, portions of the data; and

simultaneously distributing, from the intermediate node, portions of the accumulated data over the first path to the first destination node and over the second path to the second destination node, the first and second paths occur via separate network connections of the intermediate node and the first path and the second path determined from the tree data structure based on evaluation of the probability values and quality of service conditions resolved by the intermediate node, the evaluation also determines how the intermediate node delivers the portions of the accumulated data over the first path and the second path.

2. The method of claim 1 , wherein negotiating further includes receiving a network topology data structure having one or more paths, and wherein the first and second paths are selected from the one or more paths based on at least one of conditions of a network and meta data associated with the network topology data structure, the network topology data structure is the tree data structure.

3. The method of claim 2 , wherein receiving further includes identifying at least one of a priority for distributing the data and the success factors associated with each of the one or more paths, and wherein the success factors are resolved based on the quality of service conditions of the network.

4. The method of claim 1 further comprising, accumulating, by the processing device, remaining portions of the data before distributing the accumulated portions of the data to at least one of the first and second destination nodes.

5. The method of claim 1 further comprising, compressing, by the processing device, the accumulated portions of the data before distributing to at least one of the first and second destination nodes.

6. The method of claim 1 , further comprising delaying, by the processing device, the distribution until an event is detected or a condition is met.

7. A method implemented in a machine-readable device for execution on a processing device for distributing data, the method comprising:

accumulating, by the processing device, portions of data at an intermediate node of a network as portions of intermediate data, the processing device is the intermediate node of the network and the data is being directed to first and second destination nodes from a source node and through an initial path that includes the intermediate node, the source node initiates a network transaction to send the data through a network via the intermediate node to the first destination node and the second destination node, the intermediate node is to relay and forward the data for the network transaction to the first destination node and the second destination node, and the first and second destination nodes are the object of the data being sent initially from the source node, the first and second destination nodes receives the data from the intermediate node; and

further detecting, by the processing device, a failure at one of the destination nodes during distribution and re-distributing the data after the failure is resolved at the destination node that had failed;

evaluating, at the intermediate node, quality of service conditions of the network, alternate paths, and quality of service conditions of the first destination node and the second destination, the alternative paths resolved based on receipt of a network topology data structure that is a tree from which the alternative paths are derived, the tree also including success factors as probability values for success of distributing data for the initial path and the alternative paths, and tree generated by an external service to the source node and provided on behalf of the source node; and

simultaneously distributing, from the intermediate node, over a first path to a first destination node and over a second path to the second destination node, portions of the intermediate data to the first and second destination nodes over separate network connections of the intermediate node over the first path and the second path determined from the tree data structure based on successful evaluation of the probability values and quality of service conditions resolved by the intermediate node, the evaluation also determines how the intermediate node delivers the portions of the accumulated data over the first path and the second path.

8. The method of claim 7 , wherein evaluating further includes:

dynamically selecting a first alternative path for distributing the portions of the intermediate data to the first destination node; and

dynamically selecting a second alternative path for distributing the portions of the intermediate data to the second destination node.

9. The method of claim 8 , wherein evaluating further includes manually receiving path modifications for distributing the portions of the intermediate data for at least one of the destination nodes which alters at least one of the dynamically selected first and second alternative paths.

10. The method of claim 7 , wherein evaluating further includes receiving bandwidth limits associated with distributing the portions of the intermediate data and enforcing the bandwidth limits during the distribution of the portions of the intermediate data.

11. The method of claim 7 , wherein evaluating further includes manually receiving additional conditions to satisfy in order to have the successful evaluation.

12. The method of claim 7 , wherein accumulating further includes accumulating remaining portions of the data before evaluating.

Assignments (16)
RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.)
Reel/Frame 062623/0009 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Recorded Jul 26, 2018
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 048793/0832 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
NOTICE OF SUCCESSION OF AGENCY Recorded May 2, 2017
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 042388/0386 →
CHANGE OF NAME Recorded Sep 13, 2016
From: NOVELL, INC.
To: MICRO FOCUS SOFTWARE INC.
Reel/Frame 040020/0703 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS (US), INC.; BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; NOVELL, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 035656/0251 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0316 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034469/0057 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0216 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034470/0680 →
GRANT OF PATENT SECURITY INTEREST FIRST LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0216 →
GRANT OF PATENT SECURITY INTEREST SECOND LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0316 →
RELEASE OF SECURITY IN PATENTS SECOND LIEN (RELEASES RF 026275/0018 AND 027290/0983) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0154 →
RELEASE OF SECURITY INTEREST IN PATENTS FIRST LIEN (RELEASES RF 026270/0001 AND 027289/0727) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0077 →
GRANT OF PATENT SECURITY INTEREST (SECOND LIEN) Recorded May 13, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026275/0018 →
GRANT OF PATENT SECURITY INTEREST Recorded May 12, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2004
From: HOLM, VERNON ROGER; DRONAMRAJU, RAVIKANTH; MAHDAVI, JAMSHID
To: NOVELL, INC.
Reel/Frame 015630/0054 →