IP Library Granted Patent US 8,782,230
Granted Patent B1
US 8,782,230 · App. 09/726,758 · Granted Jul 15, 2014

Method and apparatus for using a command design pattern to access and configure network elements

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,782,230
App. No.
09/726,758
Granted
Jul 15, 2014
Kind
B1
Abstract

An XML accessible network device is capable of performing functions in response to an XML encoded request transmitted over a network. It includes a network data transfer service, coupled to a network, that is capable of receiving XML encoded requests from a client also connected to the network. A service engine is capable of understanding and parsing the XML encoded requests according to a corresponding DTD. The service engine further instantiates a service using parameters provided in the XML encoded request and launches the service for execution on the network device in accordance with a command design parameter. A set of device APIs interacts with hardware and software on the network device for executing the requested service on the network device. If necessary, a response is further collected from the device and provided to the client in a response message.

Claims (42)

1. A network device for locally performing a service, comprising:

a parser for receiving a service request from a requesting client, the service request being in a first format and including a markup language document and a request identifier, for retrieving a document type definition identified by the markup language document, and for extracting parameter values from and generating events for each tag in the markup language document defined in the document type definition, wherein the markup language document and document type definition specify a requested service using class, source, and identifier parameter values, wherein the identifier parameter value indicates the document type definition and wherein the class parameter value indicates a service class;

a service launcher for receiving the parameter values and events from the parser, determining whether an object corresponding to the requested service has already been instantiated, receiving the service class from storage, and, in response to determining that the requested service has not already been instantiated, instantiating an object corresponding to the service based on the service class, and for calling an operate method of the instantiated object to launch the requested service, wherein the operate method is also implemented by each of a plurality of other service classes;

a response retriever for keeping track of services that require responses, receiving at least one response, and for correlating the at least one response to the requesting client; and

a response formatter for receiving the at least one response from the response retriever and formatting a response message based on the at least one response for transmission back to the requesting client, the response message being in a second format, different from the first format.

2. The network device according to claim 1 , wherein the requested service comprises an HTTP server.

3. The network device according to claim 1 , wherein the markup language comprises XML.

4. The network device according to claim 3 , wherein the document type definition comprises an XML DTD.

5. The network device according to claim 1 , wherein the service launcher identifies the byte code for the requested service from a plurality of classes responsive to the class parameter value.

6. The network device according to claim 1 , wherein the requested service configures a packet forwarding architecture in the network device to filter network traffic.

7. The network device according to claim 6 , wherein the packet forwarding architecture comprises a packet forwarding switch fabric.

8. The network device according to claim 7 , wherein the requested service causes changes in how packets are forwarded through the packet forwarding switch fabric.

9. The network device according to claim 7 , wherein the requested service monitors performance indicators of how packets are forwarded through the packet forwarding switch fabric.

10. The network device according to claim 1 , wherein the requested service accesses a MIB on the network device.

11. A method for causing a network device to locally perform a service, comprising:

receiving, by a parser from a requesting client, a service request being in a first format and including a markup language document and a request identifier;

retrieving, by the parser, a document type definition identified by the markup language document;

extracting, by the parser, parameter values from and generating events for each tag in the markup language document defined in the document type definition, wherein the markup language document and document type definition specify a requested service using class, source, and identifier parameter values, wherein the identifier parameter value indicates the document type definition and wherein the class parameter value indicates a service class;

receiving, by a service launcher from the parser, parameter values and events;

determining, by the service launcher, whether an object corresponding to the requested service has already been instantiated;

receiving, by the service launcher from storage, the service class;

instantiating, by the service launcher in response to determining that the requested service has not already been instantiated, an object corresponding to the service based on the service class;

calling, by the service launcher, an operate method of the instantiated object to launch the requested service, wherein the operate method is also implemented by each of a plurality of other service classes;

keeping track, by a response retriever, of services that require responses;

receiving, by the response retriever, at least one response;

correlating, by the response retriever, the at least one response to the requesting client;

receiving, by a response formatter, the at least one response from the response retriever; and

formatting, by the response formatter, a response message based on the at least one response, for transmission back to the requesting client, the response message being in a second format, different from the first format.

12. The method of claim 11 , wherein the requested service comprises an HTTP server.

13. The method of claim 11 , wherein the markup language comprises XML.

14. The method of claim 13 , wherein the document type definition comprises an XML DTD.

15. The method of claim 11 , further comprising identifying, by the service launcher, the byte code for the requested service from a plurality of classes responsive to the class parameter value.

16. The method of claim 11 , wherein the requested service configures a packet forwarding architecture in the network device to filter network traffic.

17. The method of claim 16 , wherein the packet forwarding architecture comprises a packet forwarding switch fabric.

18. The method of claim 17 , wherein the requested service causes changes in how packets are forwarded through the packet forwarding switch fabric.

19. The method of claim 17 , wherein the requested service monitors performance indicators of how packets are forwarded through the packet forwarding switch fabric.

20. The method of claim 11 , wherein the requested service accesses a MIB on the network device.

21. A network device for locally performing a service, comprising:

a parser for receiving a service request from a requesting client, the service request including a markup language document and a request identifier, for retrieving a document type definition identified by the markup language document, and for extracting parameter values from and generating events for each tag in the markup language document defined in the document type definition, wherein the markup language document and document type definition specify a requested service using class, source, and identifier parameter values, wherein the identifier parameter value indicates the document type definition and wherein the class parameter value indicates a service class;

a service launcher for receiving the parameter values and events from the parser, determining whether an object corresponding to the requested service has already been instantiated, receiving the service class from storage, and, in response to determining that the requested service has not already been instantiated, instantiating an object corresponding to the service based on the service class, and for calling an operate method of the instantiated object to launch the requested service, wherein the operate method is also implemented by each of a plurality of other service classes;

a response retriever for keeping track of services that require responses, wherein, for a service requiring multiple responses, receiving multiple responses for the service and for correlating the multiple responses to the requesting client; and

a response formatter for receiving the at least one response from the response retriever and formatting a response message based on the at least one response for transmission back to the requesting client.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CLEARINGHOUSE LLC
Reel/Frame 054305/0505 →
SECURITY INTEREST Recorded Jun 29, 2018
From: RPX CLEARINGHOUSE LLC
To: JEFFERIES FINANCE LLC
Reel/Frame 046485/0644 →
RELEASE (REEL 038041 / FRAME 0001) Recorded Jan 2, 2018
From: JPMORGAN CHASE BANK, N.A.
To: RPX CORPORATION; RPX CLEARINGHOUSE LLC
Reel/Frame 044970/0030 →
SECURITY AGREEMENT Recorded Mar 9, 2016
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038041/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2015
From: ROCKSTAR CONSORTIUM US LP; ROCKSTAR CONSORTIUM LLC; BOCKSTAR TECHNOLOGIES LLC; CONSTELLATION TECHNOLOGIES LLC; MOBILESTAR TECHNOLOGIES LLC; NETSTAR TECHNOLOGIES LLC
To: RPX CLEARINGHOUSE LLC
Reel/Frame 034924/0779 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2014
From: ROCKSTAR BIDCO, LP
To: ROCKSTAR CONSORTIUM US LP
Reel/Frame 032422/0919 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2011
From: NORTEL NETWORKS LIMITED
To: ROCKSTAR BIDCO, LP
Reel/Frame 027143/0717 →