Dynamic proxy server

Electrical computers and digital processing systems: multicomput – Computer network managing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C709S224000, C709S226000, C709S220000, C709S221000, C709S222000, C709S227000

Reexamination Certificate

active

06212560

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates to network management, and more particularly to a method and system that uses a plurality of dynamic proxy servers so that any one of several server modules in a system may function as a master server that controls a master port to proxy requests via internal ports to the remaining server modules.
DESCRIPTION OF THE RELATED ART
In computer network environments, it is advantageous to manage the various software and hardware components coupled to the network from a central location or from a remote location, such as the system manager's office. Such central or remote management of a network is commonly accomplished using industry standard protocols, such as the Simple Network Management Protocol (SNMP) or the Desktop Management Interface (DMI). SNMP provides a reliable and well-known mechanism for remotely controlling network devices, it requires the use of specialized management consoles. These consoles are typically expensive and were generally restricted to only those situations where the cost and training can be justified. DMI is a proprietary system that is deficient for similar reasons.
There is an industry-wide trend for considering network management across a network using Internet technology such as the World Wide Web (WWW), which is an Internet technology that is layered on top of the basic Transmission Control Protocol/Internet Protocol (TCP/IP) services. Other Internet technology concepts include the HyperText Transfer Protocol (HTTP), the Universal Resource Locator (URL), and the HyperText Markup Language (HTML). Such technologies are widespread and use of the various Internet protocols is growing.
Unfortunately, such technologies were not designed for purposes of network management and suffer from many deficiencies. For example, there are a limited number of TCP/IP ports, so that the standards body responsible for assigning the ports do not allow a single company or entity to obtain more than a single TCP/IP port for a single application. A single port has forced a solution to include a communication protocol manager (such as an HTTP server) with modules plugged into the manager to provide the desired functionality. A protocol manager with plug-in modules may be sufficient for simple applications. However, for more complex solutions, such as management, a mechanism must be included for managing the addition or removal of modules and for allowing the modules to communicate with each other and external entities. The result is that all modules are executing in the same process space, so that any programming errors (memory leaks, access violations, etc.) introduced by one module can potentially affect all modules. This subverts modern operating system mechanisms for isolating and gracefully managing these programming errors. As the size and complexity of the plug-in module solution increases, and as the implementation and support for the solution is dispersed, the opportunity for programming errors caused by interaction between modules increases dramatically.
It is desirable to provide remote network management across an intranet or the Internet using a web browser while keeping at least the functionality and flexibility of SNMP or DMI. It is also desired to provide a fault tolerant design that leverages operating system mechanisms to allow for graceful removal of modules with programming errors from a management system without impacting the other modules. It is also desirable to provide a flexible management system that allows loading and unloading of different functional modules, such as fault management, configuration management, software distribution, etc., without the need for a fixed configuration or administration of the modules and without disrupting system operation.
SUMMARY OF THE INVENTION
A dynamic proxy server according to the present invention includes client logic that is capable of communicating with at least one server module via an internal port, proxy logic that is capable of communicating with the server module via the client logic, and server logic including a communication socket. The server logic attempts to bind its socket to a master port, and if successful, operates to proxy communications between the server module and the master port via the proxy logic. If the attempt to bind the socket to the master port is unsuccessful, the server logic binds the socket to one of a plurality of internal ports. The client logic is capable of communicating with a plurality of server modules that are bound to corresponding internal ports, where the proxy logic is capable of communicating with each of the server modules via the client logic. The server logic operates to proxy communications between the server modules and the master port via the proxy logic.
In this manner, the dynamic proxy server operates as a master proxy server to enable communication between the master port and each of the secondary server modules. Any of the secondary server modules may drop out or fail without affecting operation of the master server or the remaining secondary servers. In a communication system according to the present invention, each of the secondary server modules may comprise dynamic proxy servers, so that any of the dynamic proxy servers are capable of operating as the master server. The remaining proxy servers are secondary servers that communicate with the master port via the master server. If the master server fails or drops out, any other dynamic proxy server is able to bind to the master port and operate as the master server.
The dynamic proxy server may include functional processing component (FPC) dispatch logic to enable communications between the server logic and an FPC. The combination of a dynamic proxy server and an FPC is referred to as a dynamic proxy module (DPM). The FPC may be used, for example, to retrieve information about the state of a managed system, such as a computer system or the like. There are no restrictions, however, as to the type of processing that a given FPC performs or the nature of the data that is returned or the corresponding actions that are taken. For example, FPCs may be used for purposes of software version control, software distribution, instrumented management, configuration management, or any other function of the computer system that is desired to be remotely controlled or monitored. Preferably, the interface between the dispatch logic and the functional processing component comprises an internet server application programming interface (ISAPI).
Memory may be provided for storing presence and communication information about each active dynamic proxy server. The proxy logic may write presence information into the memory upon initialization, so that the memory includes presence information about each active proxy server. The proxy logic of the master server reads the presence information to identify the presence of other active proxy servers. Also, the proxy may write specific communication information into the memory upon initialization, so that the memory includes the communication information about each active proxy server. The proxy logic of the master server reads the communication information to enable proxy communications for the other active proxy servers.
In a more specific example, a central configuration file is updated by each dynamic proxy server upon initialization to include specific information about that proxy server. The master proxy server reads the central configuration file to determine the presence of all active secondary proxy servers. An specific configuration file may be provided for each proxy server, where each specific configuration file contains the information required to perform a proxy operation to that proxy server. The central configuration file preferably includes an identification value to enable the master server to locate and read the specific configuration file for every other active server to enable proxy operations.
The dynamic proxy server may also include watchdog logic that causes the server logic to periodically attempt to

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Dynamic proxy server does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Dynamic proxy server, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Dynamic proxy server will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2540131

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.