IP Library Granted Patent US 9,509,551
Granted Patent B2
US 9,509,551 · App. 13/727,111 · Granted Nov 29, 2016

Correlation of synchronous and asynchronous hierarchical data in loosely-coupled data processing systems

Inventors: S. Kris Chou (Alpharetta, GA); Paul Hudgins (Roswell, GA); Aung Htay (Alpharetta, GA)
Assignee: Ciena Corporation
H04L41/044H04L41/065H04L41/069H04L41/0686
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 9,509,551
App. No.
13/727,111
Granted
Nov 29, 2016
Kind
B2
Abstract

A method, a server, and a management system correlate performance data in loosely coupled software, such as network and element management systems, with minimal overhead. The systems and methods can be used to determine performance bottlenecks and interdependencies between components by correlating and analyzing collected data. In an exemplary embodiment, the systems and methods can relate to network management systems (NMSs), element management systems (EMSs), and the like, which are collectively referred to herein as management systems. Management systems can include a loosely coupled software architecture that utilizes a message-based communication mechanism. As messages are processed, synchronous calls between components of the management system as employed as well. For the purpose of performance analysis and optimization, the systems and method correlate data between synchronous and asynchronous interactions as each message is processed through a management system.

Claims (46)

1. A method, comprising:

intercepting asynchronous messages between components in a loosely-coupled data processing system and appending a lightweight message header thereto, wherein the lightweight message header comprises correlation identification data with a parent, timestamp data, and service information for asynchronous interactions;

for each asynchronous message, utilizing the lightweight message header to provide updates for each component through which the asynchronous message is processed in the loosely-coupled data processing system;

intercepting hierarchical synchronous method calls in the loosely-coupled data processing system and automatically tracking the correlation identification data and the timestamp data associated therewith;

storing message header data associated with the asynchronous messages subsequent to each of the asynchronous messages reaching its final destination in the loosely-coupled data processing system;

storing metrics for the hierarchical synchronous method calls based on the correlation identification data and the timestamp data for the asynchronous messages, wherein the hierarchical synchronous method calls are tracked separately from the asynchronous messages;

identifying performance bottlenecks based on the correlation identification data for the hierarchical synchronous method calls and the timestamp data for the asynchronous messages to optimize the loosely-coupled data processing system in a minimally intrusive manner; and

analyzing the message header data associated with the asynchronous messages and the metrics for the synchronous hierarchical method calls to ensure policy is maintained between components of the loosely-coupled data processing system.

2. The method of claim 1 , further comprising:

dynamically enabling or disabling at least one of the intercepting and storing steps in the loosely-coupled data processing system.

3. The method of claim 1 , further comprising:

prior to the storing steps, sending the message header data associated with the asynchronous messages and the metrics for the synchronous hierarchical method calls to a data store using an out-of-band message channel.

4. The method of claim 1 , wherein the loosely-coupled data processing system comprises a plurality of servers each operating a plurality of components through which the asynchronous messages are exchanged and through which the synchronous hierarchical method calls are performed.

5. The method of claim 1 , further comprising:

analyzing the message header data associated with the asynchronous messages and the metrics for the synchronous hierarchical method calls for performance and optimization thereof.

6. The method of claim 5 , further comprising:

analyzing the message header data associated with the asynchronous messages and the metrics for the synchronous hierarchical method calls to identify bottlenecks in the loosely-coupled data processing system.

7. The method of claim 1 , wherein the loosely-coupled data processing system comprises a server operating a plurality of components through which the asynchronous messages are exchanged and through which the synchronous hierarchical method calls are performed.

8. The method of claim 7 , wherein the server comprises a network management system communicatively coupled to a plurality of network elements.

9. The method of claim 7 , wherein the plurality of servers comprise a network management system communicatively coupled to a plurality of network elements.

10. A server, comprising:

a network interface and a data store that are communicatively coupled; and

memory storing instructions that, when executed, cause a processor to:

intercept asynchronous messages between components operating on the server and append a lightweight message header thereto, wherein the lightweight message header comprises correlation identification data with a parent, timestamp data, and service information for asynchronous interactions;

for each asynchronous message, utilize the lightweight message header to provide updates for each component through which the asynchronous message is processed in the server;

intercept synchronous hierarchical method calls in a server and automatically track the correlation identification data and the timestamp data associated therewith;

store message header data associated with the asynchronous messages upon each of the asynchronous messages reaching its final destination in the server;

store metrics for the synchronous hierarchical method calls based on the correlation identification data and the timestamp data for the asynchronous messages, wherein the synchronous hierarchical method calls are tracked separately from the asynchronous messages;

identify performance bottlenecks based on the correlation identification data for the synchronous hierarchical method calls and the timestamp data for the asynchronous messages; and

analyze the message header data associated with the asynchronous messages and the metrics for the synchronous hierarchical method calls to ensure policy is maintained between components of the server.

11. The server of claim 10 , wherein the instructions, when executed, further cause the processor to:

dynamically enable or disable at least one of the intercepting and storing steps.

12. The server of claim 10 , wherein the instructions, when executed, further cause the processor to:

prior to the storing steps, send the message header data associated with the asynchronous messages and the metrics for the synchronous hierarchical method calls to the data store using an out-of-band message channel.

13. The server of claim 10 , wherein the server comprises a network management system communicatively coupled to a plurality of network elements.

14. The server of claim 10 , wherein the instructions, when executed, further cause the processor to:

analyze the message header data associated with the asynchronous messages and the metrics for the synchronous hierarchical method calls for performance and optimization thereof.

15. The server of claim 14 , wherein the instructions, when executed, further cause the processor to:

analyze the message header data associated with the asynchronous messages and the metrics for the synchronous hierarchical method calls to identify bottlenecks in the server.

16. A management system, comprising:

a plurality of servers communicatively coupled to a plurality of network elements; and

memory storing and a processor executing a plurality of components on the plurality of servers, wherein the plurality of components exchange a plurality of asynchronous messages there between and perform a plurality of synchronous calls there between;

wherein the plurality of components comprise a messaging subsystem configured to intercept the plurality of asynchronous messages between the plurality of components operating on the plurality of servers and append a lightweight message header thereto, wherein the lightweight message header comprises correlation identification data with a parent, timestamp data, and service information for asynchronous interactions, wherein, for each asynchronous message, the lightweight message header is utilized to provide updates for each component through which the asynchronous message is processed in the management system;

wherein the messaging subsystem is further configured to intercept synchronous hierarchical calls between the plurality of components and automatically track correlation identification data and timestamp data associated therewith based on the correlation identification data and the timestamp data for the asynchronous messages, wherein the synchronous hierarchical calls are tracked separately from the asynchronous messages;

wherein the messaging subsystem is further configured to identify performance bottlenecks based on the correlation identification data for the synchronous hierarchical calls and the timestamp data for the asynchronous messages, and

wherein the message header data associated with the asynchronous messages and the metrics for the synchronous hierarchical method calls are analyzed to ensure policy is maintained between components of the management system.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Nov 20, 2023
From: BANK OF AMERICA, N.A.
To: CIENA CORPORATION
Reel/Frame 065630/0232 →
PATENT SECURITY AGREEMENT Recorded Nov 8, 2019
From: CIENA CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 050969/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 30, 2019
From: DEUTSCHE BANK AG NEW YORK BRANCH
To: CIENA CORPORATION
Reel/Frame 050938/0389 →
PATENT SECURITY AGREEMENT Recorded Jul 16, 2014
From: CIENA CORPORATION
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 033347/0260 →
SECURITY INTEREST Recorded Jul 15, 2014
From: CIENA CORPORATION
To: DEUTSCHE BANK AG NEW YORK BRANCH
Reel/Frame 033329/0417 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 26, 2012
From: CHOU, S. KRIS; HUDGINS, PAUL; HTAY, AUNG
To: CIENA CORPORATION
Reel/Frame 029527/0795 →
Continuity (1)
Related Publication 20140177450A1 · Jun 26, 2014