IP Library Granted Patent US 9,864,740
Granted Patent B2
US 9,864,740 · App. 14/614,877 · Granted Jan 9, 2018

Methods and systems for creating and applying a template driven element adapter

Inventor: Eko Prasetya (Petaluma, CA)
Assignee: Ciena Corporation
G06F17/2705G06F17/30327H04L41/022H04L41/0226H04L41/0843H04L67/10
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,864,740
App. No.
14/614,877
Granted
Jan 9, 2018
Kind
B2
Abstract

Various examples of methods and systems for template driven element adapter are described. In one implementation, one or more processors of a computing device may interface between a user and a networked device of a network of a plurality of networked devices to render a communication between the user and the networked device. The one or more processors may process the communication between the user and the networked device by: transforming data contained in the communication; filtering the communication; and performing one or more of the following: aggregating additional data with the communication; translating the communication; and constructing a second structure for the data in the communication using a template based on a first structure of the data in the communication.

Claims (68)

1. A method, comprising:

interfacing, by one or more processors of a computing device, between a user and a networked device of a network of a plurality of networked devices to render a communication between the user and the networked device; and

processing, by the one or more processors, the communication between the user and the networked device by:

transforming data contained in the communication utilizing a JavaScript Object Notation (JSON) structure which both describes how an action is to be invoked against the networked device from the user and how to parse one of a result and an output from the networked device to the user, wherein the transforming the data in the communication comprises identifying the data in the communication, and

replacing a first value of the data with a second value different from the first value;

filtering the communication; and

performing one or more operations comprising:

aggregating additional data with the communication;

translating the communication; and

constructing a second structure for the data in the communication using a template based on a first structure of the data in the communication.

2. The method of claim 1 , wherein the first structure of the data in the communication comprises a JavaScript Object Notation (JSON) structure.

3. The method of claim 1 , wherein the filtering the communication comprises:

identifying a pattern within the data in the communication; and

determining whether or not to send the communication to a subsequent pipeline.

4. The method of claim 1 , wherein the aggregating additional data with the communication comprises:

calling one or more external commands; and

determining whether or not to aggregate the additional data with the communication in response to the calling.

5. The method of claim 1 , wherein the translating the communication comprises:

determining whether or not to translate the communication; and

in response to a determination to translate the communication, translating the communication to a format specific to the networked device.

6. The method of claim 1 , wherein the constructing the second structure for the data in the communication using the template based on the first structure of the data in the communication comprises:

determining whether or not to construct the second structure based on the first structure of the data in the communication; and

in response to a determination that the first structure comprises a hierarchical tree, constructing the second structure for the data in the communication using the template.

7. The method of claim 1 , further comprising:

constructing a format for the communication that allows the first structure to be translated for the networked device in an event that the communication is from the user.

8. The method of claim 1 , further comprising:

parsing the data in the communication into the first structure in an event that the communication is from the networked device.

9. One or more computer-readable media storing a computer-executable instruction that, when executed by one or more processors, causes the one or more processors to perform operations comprising:

transforming data contained in a communication between a user and a networked device of a network of a plurality of networked devices utilizing a JavaScript Object Notation (JSON) structure which both describes how an action is to be invoked against the networked device from the user and how to parse one of a result and an output from the networked device to the user, wherein the transforming the data in the communication comprises identifying the data in the communication, and replacing a first value of the data with a second value different from the first value;

filtering the communication; and

performing one or more of the following:

aggregating additional data with the communication;

translating the communication; and

constructing a second structure for the data in the communication using a template based on a first structure of the data in the communication.

10. The one or more computer-readable media of claim 9 , wherein the first structure of the data in the communication comprises a JavaScript Object Notation (JSON) structure.

11. The one or more computer-readable media of claim 9 , wherein the filtering the communication comprises:

identifying a pattern within the data in the communication; and determining whether or not to send the communication to a subsequent pipeline.

12. The one or more computer-readable media of claim 9 , wherein the aggregating additional data with the communication comprises:

calling one or more external commands; and

determining whether or not to aggregate the additional data with the communication in response to the calling.

13. The one or more computer-readable media of claim 9 , wherein the translating the communication comprises:

determining whether or not to translate the communication; and

in response to a determination to translate the communication, translating the communication to a format specific to the networked device.

14. The one or more computer-readable media of claim 9 , wherein the constructing a second structure for the data in the communication using a template based on a first structure of the data in the communication comprises:

determining whether or not to construct the second structure based on the first structure of the data in the communication; and

in response to a determination that the first structure comprises a hierarchical tree, constructing the second structure for the data in the communication using the template.

15. The one or more computer-readable media of claim 9 , wherein the operations further comprise:

constructing a format for the communication that allows the first structure to be translated for the networked device in an event that the communication is from the user; and

parsing the data in the communication into the first structure in an event that the communication is from the networked device.

16. An apparatus interfacing a user and a plurality of networked devices of a network, comprising:

a common structure module configured to interface with the user, the common structure module containing one or more commands at a device level, one or more commands at a device-type level, and one or more commands at a device-family level;

a data transformation module communicatively coupled to the common structure module, the data transformation module configured to process data contained in a communication between the user and a networked device of the plurality of networked devices utilizing a JavaScript Object Notation (JSON) structure which both describes how an action is to be invoked against the networked device from the user and how to parse one of a result and an output from the networked device to the user, wherein the data transformation module is configured to process the data in the communication by performing operations comprising transforming the data in the communication by identifying the data in the communication, and replacing a first value of the data with a second value different from the first value;

a device-specific structure module communicatively coupled to the data transformation module, the device-specific structure containing one or more device-specific commands specific to the networked device; and

a device endpoint module communicatively coupled to the device-specific structure and configured to interface with one or more networked devices of the plurality of networked devices, the device endpoint module also configured to construct a format for the communication that allows a first structure of the data in the communication to be translated for the networked device in an event that the communication is from the user, the device endpoint module further configured to parse the data in the communication from a second structure into the first structure in an event that the communication is from the networked device.

17. The apparatus of claim 16 , wherein the first structure of the data in the communication comprises a JavaScript Object Notation (JSON) structure.

18. The apparatus of claim 16 , wherein the data transformation module is configured to process the data in the communication by performing operations comprising:

filtering the communication by:

identifying a pattern within the data in the communication; and

determining whether or not to send the communication to a subsequent pipeline;

aggregating additional data with the communication in response to a positive determination as a result of:

calling one or more external commands; and

determining whether or not to aggregate the additional data with the communication in response to the calling;

translating the communication by:

determining whether or not to translate the communication; and

in response to a determination to translate the communication, translating the communication to a format specific to the networked device; and

constructing a second structure for the data in the communication using a template based on the first structure of the data in the communication by:

determining whether or not to construct the second structure based on the first structure of the data in the communication; and

in response to a determination that the first structure comprises a hierarchical tree, constructing the second structure for the data in the communication using the template.

Assignments (2)
MERGER Recorded Sep 11, 2015
From: CYAN, INC.
To: CIENA CORPORATION
Reel/Frame 036542/0281 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2015
From: PRASETYA, EKO
To: CYAN INC.
Reel/Frame 034897/0904 →
Continuity (1)
Related Publication 20160234074A1 · Aug 11, 2016