IP Library › Granted Patent US 9,015,306
Granted Patent B2
US 9,015,306 · App. 13/712,712 · Granted Apr 21, 2015

Mapping protocol endpoints to networked devices and applications based on capabilities

Inventors: Anthony Dupre (Portland, OR); Michael Elford (Portland, OR); Landon Kuhn (Portland, OR); Steve Gorretta (Portland, OR)
Assignee: Cisco Technology, Inc.
H04L41/04H04L41/0213H04L41/022H04L41/0886
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,015,306
App. No.
13/712,712
Granted
Apr 21, 2015
Kind
B2
Abstract

In an embodiment, a non-transitory computer readable storage medium storing instructions which cause processors to perform: collecting, at a management computer located separately with respect to a networked plurality of devices, device information about each of the devices; for each particular device: determining matches between the device capabilities for the particular device, and features of software applications; for a particular match: determining a particular software application that is configured to control the particular device; based at least in part on the device information for the particular device, determining a particular protocol endpoint from protocol endpoints that is configured to communicate control instructions from the particular software application to the particular device; creating data comprising a mapping between the particular software application, the particular protocol endpoint and the particular computing device; configuring an application computer program to use the mapping and a user interface computer program to manage the particular device.

Claims (89)

1. A non-transitory computer readable storage medium storing one or more instructions which, when executed by one or more processors, cause the one or more processors to perform:

collecting, at a network management computer that is located separately with respect to a networked plurality of computing devices, device information about each of the computing devices, wherein the device information comprises device capabilities;

for each particular computing device:

determining one or more matches between the device capabilities for the particular computing device, and features of one or more network software applications;

for a particular match:

based at least in part on the particular match, determining a particular network software application that is configured to control the particular computing device;

based at least in part on the device information for the particular computing device, determining a particular protocol endpoint from one or more protocol endpoints that is configured to communicate control instructions from the particular network software application to the particular computing device;

creating and storing first data comprising a mapping between the particular network software application, the particular protocol endpoint and the particular computing device;

configuring an application computer program to use both the mapping and a user interface computer program to manage the particular computing device, wherein the configuring comprises configuring the user interface computer program with user selectable controls which, when selected, cause generating the control instructions.

2. The non-transitory computer readable storage medium of claim 1 , further storing instructions which, when executed, cause the one or more processors to perform:

receiving, from the user interface program, second data defining particular user-selected controls for the particular computing device;

using the particular network software application, translating the user-selected controls into particular control instructions for the particular computing device;

causing the particular protocol endpoint to communicate the particular control instructions to the particular computing device;

wherein the particular control instructions cause any one of: controlling the particular computing device, managing a wireless network, content filtering, provisioning the particular computing device, managing a network quality of service, performing a network analysis, firmware upgrading, heartbeat monitoring, network access redirecting, configuration backup and restore, collecting device visibility, collecting population information of a network comprising the particular computing device.

3. The non-transitory computer readable storage medium of claim 1 , further storing instructions which, when executed, cause the one or more processors to perform:

establishing a communications session with the particular computing device;

receiving device identity information from the particular computing device;

retrieving the particular network software application that is configured to control the particular computing device;

retrieving the particular protocol endpoint that is configured to communicate the control instructions to the particular computing device;

retrieving the application computer program that is configured to manage the particular computing device;

creating and storing a data structure for storing application state and data as the application computer program manages the particular computing device.

4. The non-transitory computer readable storage medium of claim 1 , wherein the one or more protocol endpoints provide support for any one of: SNMP, TR68, TR98, TR140, TR126, TR143, TR106, TR111, TR135, TR104, TR196.

5. The non-transitory computer readable storage medium of claim 1 , wherein the network management computer is configured to manage a plurality of different local area networks, each located on a different customer premise and comprising heterogeneous computing devices.

6. The non-transitory computer readable storage medium of claim 1 , wherein the network management computer is a customer representative computer that is configured to automatically configure one or more different local area networks.

7. The non-transitory computer readable storage medium of claim 1 , further storing instructions which, when executed, cause the one or more processors to perform:

configuring a workflow computer program to manage synchronous or asynchronous state transitions between multiple components of the network management computer, and waiting for a particular computing device to respond to an HTTP request.

8. A non-transitory computer readable storage medium storing one or more instructions which, when executed by one or more processors, cause the one or more processors to perform:

receiving, at a network management computer that is located separately with respect to a networked plurality of computing devices, device information about a particular computing device, wherein the device information comprises device capabilities;

determining a match between the device capabilities and features of one or more network software applications;

based at least in part on the match, determining a particular network software application that is configured to control the particular computing device;

based at least in part on the device information, determining a particular protocol endpoint from one or more protocol endpoints that is configured to communicate control instructions from the particular network software application to the particular computing device;

creating and storing first data comprising a mapping between the particular network software application, the particular protocol endpoint and the particular computing device;

configuring an application computer program to use both the mapping and a user interface computer program to manage the particular computing device;

configuring the user interface computer program with user selectable controls which, when selected, cause generating the control instructions;

receiving, from the user interface program, second data defining particular user-selected controls for the particular computing device;

using the particular network software application, translating the user-selected controls into particular control instructions for the particular computing device;

causing the particular protocol endpoint to communicate the particular control instructions to the particular computing device.

9. The non-transitory computer readable storage medium of claim 8 , further storing instructions which, when executed, cause the one or more processors to perform:

wherein the particular control instructions cause any one of: controlling the particular computing device, managing a wireless network, content filtering, provisioning the particular computing device, managing a network quality of service, performing a network analysis, firmware upgrading, heartbeat monitoring, network access redirecting, configuration backup and restore, collecting device visibility, collecting population information of a network comprising the particular computing device.

10. The non-transitory computer readable storage medium of claim 8 , further storing instructions which, when executed, cause the one or more processors to perform:

receiving a response from the particular computing device;

using the mapping, retrieving the particular network software application that is configured to control the particular computing device;

using the particular network software application, interpreting the response from the particular computing device and determining additional user selectable controls;

causing the user interface program to display the additional user selectable controls.

11. A method comprising:

collecting, at a network management computer that is located separately with respect to a networked plurality of computing devices, device information about each of the computing devices, wherein the device information comprises device capabilities;

for each particular computing device:

determining one or more matches between the device capabilities for the particular computing device, and features of one or more network software applications;

for a particular match:

based at least in part on the particular match, determining a particular network software application that is configured to control the particular computing device;

based at least in part on the device information for the particular computing device, determining a particular protocol endpoint from one or more protocol endpoints that is configured to communicate control instructions from the particular network software application to the particular computing device;

creating and storing first data comprising a mapping between the particular network software application, the particular protocol endpoint and the particular computing device;

configuring an application computer program to use both the mapping and a user interface computer program to manage the particular computing device, wherein the configuring comprises configuring the user interface computer program with user selectable controls which, when selected, cause generating the control instructions;

wherein the method is performed by one or more computing devices.

12. The method of claim 11 , further comprising:

receiving, from the user interface program, second data defining particular user-selected controls for the particular computing device;

using the particular network software application, translating the user-selected controls into particular control instructions for the particular computing device;

causing the particular protocol endpoint to communicate the particular control instructions to the particular computing device;

wherein the particular control instructions cause any one of: controlling the particular computing device, managing a wireless network, content filtering, provisioning the particular computing device, managing a network quality of service, performing a network analysis, firmware upgrading, heartbeat monitoring, network access redirecting, configuration backup and restore, collecting device visibility, collecting population information of a network comprising the particular computing device.

13. The method of claim 11 , further comprising:

establishing a communications session with the particular computing device;

receiving device identity information from the particular computing device;

retrieving the particular network software application that is configured to control the particular computing device;

retrieving the particular protocol endpoint that is configured to communicate the control instructions to the particular computing device;

retrieving the application computer program that is configured to manage the particular computing device;

creating and storing a data structure for storing application state and data as the application computer program manages the particular computing device.

14. The method of claim 11 , wherein the one or more protocol endpoints provide support for any one of: SNMP, TR68, TR98, TR140, TR126, TR143, TR106, TR111, TR135, TR104, TR196.

15. The method of claim 11 , wherein the network management computer is configured to manage a plurality of different local area networks, each located on a different customer premise and comprising heterogeneous computing devices.

16. The method of claim 11 , wherein the network management computer is a customer representative computer that is configured to automatically configure one or more different local area networks.

17. The method of claim 11 , further comprising: configuring a workflow computer program to manage synchronous or asynchronous state transitions between multiple components of the network management computer, and waiting for a particular computing device to respond to an HTTP request.

18. A method comprising:

receiving, at a network management computer that is located separately with respect to a networked plurality of computing devices, device information about a particular computing device, wherein the device information comprises device capabilities;

determining a match between the device capabilities and features of one or more network software applications;

based at least in part on the match, determining a particular network software application that is configured to control the particular computing device;

based at least in part on the device information, determining a particular protocol endpoint from one or more protocol endpoints that is configured to communicate control instructions from the particular network software application to the particular computing device;

creating and storing first data comprising a mapping between the particular network software application, the particular protocol endpoint and the particular computing device;

configuring an application computer program to use both the mapping and a user interface computer program to manage the particular computing device;

configuring the user interface computer program with user selectable controls which, when selected, cause generating the control instructions;

receiving, from the user interface program, second data defining particular user-selected controls for the particular computing device;

using the particular network software application, translating the user-selected controls into particular control instructions for the particular computing device;

causing the particular protocol endpoint to communicate the particular control instructions to the particular computing device;

wherein the method is performed by one or more computing devices.

19. The method of claim 18 ,

wherein the particular control instructions cause any one of: controlling the particular computing device, managing a wireless network, content filtering, provisioning the particular computing device, managing a network quality of service, performing a network analysis, firmware upgrading, heartbeat monitoring, network access redirecting, configuration backup and restore, collecting device visibility, collecting population information of a network comprising the particular computing device.

20. The method of claim 18 , further comprising:

receiving a response from the particular computing device;

using the mapping, retrieving the particular network software application that is configured to control the particular computing device;

using the particular network software application, interpreting the response from the particular computing device and determining additional user selectable controls;

causing the user interface program to display the additional user selectable controls.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2013
From: DUPRE, ANTHONY; GORRETTA, STEVE
To: CISCO TECHNOLOGY, INC.
Reel/Frame 029985/0545 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2012
From: ELFORD, MICHAEL
To: CISCO TECHNOLOGY, INC.
Reel/Frame 029456/0871 →
Continuity (2)
Provisional Application 61576201 · Dec 15, 2011
Related Publication 20130191524A1 · Jul 25, 2013