An enhanced intervention list is used in a data communication network used to route messages from a source or originating user to a destination user in the network. The enhanced intervention list includes an intervention type field which defines how an intercepted distribution is to be processed. For an Associative Redirection intervention type, the message is redirected to a destination user identified in the intervention list. For a Predirecting Intervention type, the message is diverted to an intervening agent or program identified in the intervention list. After the message is processed by the intervening agent, it is routed to a user directory which identifies the destination node serving the destination user. For a Postdirecting Intervention type, the message is sent to the local user directory first and is then checked against the intervention list entries to see if intervention is still warranted. The enhancements to the intervention list provide greater flexibility in handling of intercepted messages.
An application programming interface facilitates development of portable, multithreaded application programs. An application is a collection of instances of agent classes. Agent classes are organized in class hierarchies because new subclass agents may be derived from existing base class agents. Each agent class has its own message dispatching function; this allows the application programmer to alter the message passing framework provided by the application programming interface. Each agent instance within the program is independent because it is a sub-process aware only of its own data and context. Multithreading is provided by the application programming interface which contains a master dispatcher process non-preemptively allocating time to individual agents. Therefore, an application's multithreading capability is independent of the platform's operating system. In addition, a thread of execution may be split when the currently activated agent activates the master dispatcher. The application programming interface mediates between the system resources and the application, and maps the user interface of the application to the platform's chosen user interface. Therefore, the application and its user interface are portable.
Route advertisement requests made by a customer are received at route provisioning center (20) to effect either advertisement of a newly provisioned route or withdrawal of an existing route. In the case of a request to advertise a newly provisioned route, the request is subjected to validation, and if unable to be validated, the request is rejected. Upon validation of a new route advertisement, or following receipt of a request to withdraw an existing route advertisement, the customer-entered request is entered into an official routing database (26) for subsequent propagation to network access providers (14, 16 and 18). Periodically, a check is made to verify that the customer-entered request remains active.
A naming service manager (46) is provided for resolving mapping information regarding a plurality of computers connected to a local area network (LAN 24) and their users. The naming service manager 46 collects mapping information, i.e., user login names, domain names, computer names and IP addresses, from a plurality of naming service agents 50 located on the LAN (24) and correlates the mapping information into a current computer-to-user assignment or "mapping" for each user of the LAN 24 and/or a current IP address-to-computer assignment or "mapping" for each computer connected to the LAN 24. The naming service manager (46) serves the correlated mapping information to a plurality of naming service applications (48) which process the correlated mapping information in accordance with their own needs and requirements.
Route advertisement requests made by a customer are received at route provisioning center (20) to effect either advertisement of a newly provisioned route or withdrawal of an existing route. In the case of a request to advertise a newly provisioned route, the request is subjected to validation, and if unable to be validated, the request is rejected. Upon validation of a new route advertisement, or following receipt of a request to withdraw an existing route advertisement, the customer-entered request is entered into an official routing database (26) for subsequent propagation to network access providers (14, 16 and 18). Periodically, a check is made to verify that the customer-entered request remains active.
In accordance with the present invention, a network management program (80) is provided that manages the communication of data packets between an intranetwork (44) and an internetwork (40). An operator of a computer connected to the intranetwork (44) inputs vital information regarding users of computers connected to the intranetwork (44), mapping information regarding computers connected to the intranetwork (44), and policies to be applied against those users and computers, using a graphical user interface (GUI 70). The GUI (70) communicates the vital user information, mapping information and policies to a database (72) which stores and organizes the vital user information, mapping information and policies. A filter executive (76) optimizes the policies stored in the database (72) into a set of rules for each user and passes the rules to a filter engine (78). The filter engine (78) filters all outbound data packets transmitted from the intranetwork (44) to the internetwork (40) and verifies all inbound data packets from the internetwork (40) according to the rules provided by the filter executive (76). The filter executive (76) also communicates the mapping information stored in the database (72) to a naming service manager (74) which further updates the mapping information and returns the updated mapping information to the filter executive (76). Consequently, the filter executive (78) filters the data packets according to the most recent mapping information.