WO2000041091A1 - Dynamic policy management apparatus and method using active network devices - Google Patents

Dynamic policy management apparatus and method using active network devices Download PDF

Info

Publication number
WO2000041091A1
WO2000041091A1 PCT/US1999/028199 US9928199W WO0041091A1 WO 2000041091 A1 WO2000041091 A1 WO 2000041091A1 US 9928199 W US9928199 W US 9928199W WO 0041091 A1 WO0041091 A1 WO 0041091A1
Authority
WO
WIPO (PCT)
Prior art keywords
network
packet
programming language
policy
resources
Prior art date
Application number
PCT/US1999/028199
Other languages
French (fr)
Other versions
WO2000041091A9 (en
Inventor
Stuart Eichert
Danny M. Nessett
Wenjun Luo
Elaine Lusher
Original Assignee
3Com Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 3Com Corporation filed Critical 3Com Corporation
Priority to CA002356982A priority Critical patent/CA2356982A1/en
Publication of WO2000041091A1 publication Critical patent/WO2000041091A1/en
Publication of WO2000041091A9 publication Critical patent/WO2000041091A9/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements

Definitions

  • the present invention relates to establishing and enforcing system policy on a network; and more specifically to systems employing dynamic policy management using active networking devices to establish and enforce system policy.
  • VoIP voice over IP
  • VoIP packets must be delivered within fairly strict time constraints. Since the volume of VoIP traffic is likely to grow into a high percentage of Internet traffic, the services required by the Internet will change. As other real-time traffic, such as that supporting video, becomes prominent, the effect on Internet services will be even more dramatic.
  • legacy systems The system administrators' task of administering policy is even further complicated by legacy systems.
  • legacy systems i.e., legacy systems
  • legacy systems may be able to participate, but the methods required to execute the policy are different, thereby complicating the implementation of the policy.
  • the complexity of implementing a management policy makes it difficult to establish the policy across all layers and device types of the network, and particularly difficult to maintain such a policy management system even if it could be successfully implemented.
  • a central management station that dispatches instructions to the network devices as needed controls the policy management.
  • the instructions may be very basic, such as telling the device to shut down, or very complex requiring the device.
  • the instructions are in response to repetitive processes that are executed periodically, i.e., daily or weekly, or on the occurrence of some event. If system congestion is high or the management system is inoperative, the appropriate action may not be taken, thereby creating system performance degradation; and in the worse case scenario this could lead to system failure.
  • the present invention is directed to a dynamic policy management apparatus and method using active network devices that provide for policy enforcement.
  • the present invention provides a system for providing policy management in a network that includes passive nodes and active nodes operating in multiple protocol layers and having enforcement functions.
  • a variety of network devices i.e., nodes or active nodes, such as routers, remote access equipment, switches, repeaters, network cards, and end system processes having security functions, are configured to contribute to the implementation of policy enforcement in the network.
  • a pervasive policy management system is implemented.
  • the policy management system includes a policy implementation component that accepts policy, i.e., instructions or rules that define how the network device should behave when confronted with a particular situation.
  • the policy enforcement is performed by network devices having tools and resources to execute the active packets distributed throughout the network to enforce the defined policy.
  • the policy being implemented can be implemented across multiple protocol layers and must be coordinated by the policy management system such that particular devices enforce that part of the policy pertinent to their part of the network.
  • a router in the network enforces that part of the policy that is pertinent to those systems and network devices whose traffic might traverse the router.
  • a switch enforces that part of the policy that is pertinent to those systems and network devices whose traffic traverses the switch.
  • a repeater enforces that part of the policy that is pertinent to those systems and network devices whose traffic traverses the repeater.
  • a network interface card with processing resources (smart NIC) enforces that part of the policy that is pertinent to the system or device to which it is connected.
  • policies management hierarchy other parts of the network are included in the policy management hierarchy, such as end system operating systems and applications, remote access equipment, network management systems for controlling network traffic and monitoring network traffic, and other auxiliary systems such as name services and file services are included in the collection of network devices that are called upon to enforce a portion of the policy being implemented by the present invention.
  • a network manager uses a management station to specify policy for a network.
  • the management station employs a policy definition system (PDS) supporting a policy definition language (PDL) to create a programming language active packet, which represents at least one rule of the policy, which is then encapsulated in preparation for transmission to the active network devices.
  • PDS policy definition system
  • PDL policy definition language
  • the active packet includes, but is not limited to, an object-oriented programming language, such as C++, CAML, JAVA, and Python, having objects and scripting programming language, such as Practical Extraction and Report Language (PERL), Tool Command Language (TCL), or employing shells, e.g. Unix supports Bourne shell, Korn shell, and C-shell code.
  • the active packet is stored in an active packet file on a memory device and the file is optionally signed with a digital signature.
  • the active packet file is either deposited in a network directory, or other distributed database, or sent through the network to the enforcement device and stored in its memory.
  • the enforcement device is signaled when a new policy, represented by the active packet file, for it is available.
  • the signal may contain the active packet or it may inform the device to find the active packet in a network directory or distributed database.
  • the enforcement device After the enforcement device obtains the active packet file, it is optionally verified via the signature to determine the privileges the active packet should be granted. The active packet file is then extracted from the memory location and the active packet is prepared for execution. The enforcement device checks to see if it has the implementing code (at least one variable, method, and/or data) for the active packet loaded in its memory. If not, the enforcement device obtains the code from a distributed database or directory, or another enforcement device, or similar memory device.
  • implementing code at least one variable, method, and/or data
  • the policy definition language comprises a mobile programming language which in turn includes, but is not limited to, object-oriented and scripting programming languages. If the mobile programming language is an object-oriented language then the active packet comprises an active object, i.e. code plus data, normally referred to just as an object. For each object a thread of execution is established, and the object is executed. The object then uses the services available to it on the enforcement device to enforce the policy or a portion of the policy. If the mobile programming language is a scripting programming language then the active packets comprises active code, normally referred to just as code. The code along with an interpreter for interpreting the code is transferred to the enforcement device. The code then uses the services available to it on the enforcement device to enforce the policy or a portion of the policy.
  • the management station software provides the system administrator with resources to input a list of rules describing the policy to be enforced on a network.
  • the management station PDS is a software product that creates one or more programming language active packets as previously explained, which represent the rules.
  • the objects, once created, are in a ready-to-run state and are invoked by a thread of execution to implement the processes that they represent.
  • the invocation of the object establishes a thread that can execute independently of other processes running on the various network devices.
  • a process can have several threads running concurrently, each performing different jobs such as waiting for events to occur or performing some other time consuming task. When a thread has finished its job, the thread is suspended or destroyed and the resources utilized are returned to the system.
  • the management station software After the creation of one or more objects, the management station software will encode the objects into a transportable format. Upon the completion of the encoding, the data identifying the code that the objects need in order to be executed is associated with the encoded transportable objects. After storing the objects to an object file, the management station software will optionally sign the file. The purpose of signing the file is to allow the enforcement device to decide which rights and privileges to grant the objects when they are executed on the enforcement device.
  • the optionally signed file can either be deposited in a on a storage device, which includes but is not limited to a directory server or distributed database, or sent to the enforcement device via the network. If the file has been deposited in a directory server or distributed database, the management station will either provide the enforcement device with the address to the storage location or the device will know to retrieve the file at a specified location.
  • the notification that an object file is available for the enforcement device can occur in many ways including, but not limited to, the changing of a state or variable that the enforcement device monitors.
  • the enforcement device If the enforcement device receives a signal indicating that a new policy, represented by the object file, is available for it on a directory server or distributed database, it will retrieve the object file. Upon retrieval or receipt of the object file, the enforcement device will extract the object file contents.
  • the enforcement device will optionally verify the signature of the object file, as previously stated, to determine which of its base services that it will allocate to the objects in the signed file to utilize in the implementation of its proscribed functions. The enforcement device will then examine the data within the file which specifies the code required by the objects. If it does not have the code stored in its memory, it will extract the code or a reference to the code from the file. If the code is in the enforcement device's memory it is then loaded into its program memory and executed. Otherwise, the device uses the reference to retrieve the code from a directory server or distributed database.
  • the present invention provides distinct advantages over the prior art, in that traditionally, policy is represented as flat data, requiring an enforcement device to understand its syntax. If this syntax changes, either to add new kinds of policy terms or to restructure the representation, all enforcement devices must be reprogrammed to parse the new syntax.
  • the contract between the network device and network management system involves only the methods that a policy object exports. Thus, new methods can be added to an object class that control new aspects of policy without affecting legacy enforcement devices. Also, the internal representation of policy may change without affecting either the network management station or the enforcement device.
  • the present invention further supports a process called co-location, which enables the objects to be distributed with their code, or references to their code that implements the policy, throughout the network.
  • Co-location enables new policy implementations to be distributed to devices without changing the underlying base implementations of the devices. For instance, legacy systems would have to be re-booted in order for new policy implementations to be enabled. Co-location permits the legacy systems to continue their base functions undisturbed while a new policy is implementation is distributed to the enforcement devices.
  • Another advantage of the present invention is the separation of policy rule enforcement, which is accomplished by creating an independent thread for each object representing a particular rule. Network administrators can independently stop or start the enforcement of each rule in the policy specification without affecting the enforcement of other polices in the specification.
  • the present invention can be characterized according to one aspect as a system providing dynamic policy management in a network, including a management station coupled to said network, the management station including resources to store data defining policy rules for a device in the network.
  • Resources in the management station are included for producing an active packet including at least a variable and a method, in response to the data defining the policy rule, the active packet having a format.
  • Resources in the management station are included for sending the active packet to the network device adapted to read and execute the active packet according to the format.
  • Another aspect of the present invention can be characterized as a system for dynamic policy management in a network, including a network device coupled to said network, the network device including resources to receive an active packet representing a policy rule from a second device in the network, the active packet having a format; resources in the network device for decoding the active packet according to the format, the active packet including a variable and a method; and resources in the network device for executing the active packet.
  • a further aspect of the present invention can be characterized as a system for dynamic policy management in a network including a management station and a network device coupled to said network, wherein the management station includes:
  • resources in the management station for producing an active packet including a variable and a method in response to the data defining the policy rule, the active packet having a format
  • a still further aspect of the present invention can be characterized as a system providing dynamic policy management by a method, the system, including an interface adapted to receive instructions characterizing policy regarding control of a network; and an active node connected to the interface which provides a packet to the network, the packet including one of a variable and a method and a reference to the variable and the method, executable on the network to set up a process to enforce at least a portion of the policy.
  • Another aspect of the present invention can be characterized as a system for dynamic policy management in a network, including a network node adapted to receive a packet, created by a first process, representing policy for control of a network; and resources in the network node capable of executing a packet including one of a variable and a method and instructions to locate the variable and the method, executable on the network node to enforce a portion of the policy.
  • An additional aspect of the present invention can be characterized as a system for dynamic policy management in a network, including an active node and a network node coupled to said network, wherein the active node includes: A) resources to store data defining a policy rule for a device coupled to the network;
  • Fig. 1 is schematic diagram illustrating the interconnections of the management station, the network and the enforcement devices of the present invention
  • Fig. 2 depicts a general-purpose computer and its resources of the present invention
  • Fig. 3 is a flow diagram illustrating the process steps performed by the software product for creating and storing the objects of the present invention
  • Fig. 4 illustrates a stored file of objects and their references to the methods and data necessary to execute the object of the present invention
  • Fig. 5 illustrates a hierarchy of systems executing multiple software products of the present invention
  • Fig. 6 is a flow diagram illustrating the process steps of the software product for deserializing and executing objects of the present invention.
  • Fig. 1 illustrates a schematic diagram of a general network and its connected network devices.
  • the management station 100 comprising an interface 101 is connected to network 110.
  • Network 110 can be a WAN, LAN, INTERNET, or similar type network wherein devices are inter-connected and control, i.e., policy, is desired.
  • the intermediate network devices such as switch 120, smart NIC, 130 and 180, repeater 140, router 160, bridge 170 and hub 190 are connected to network 110.
  • Peripheral devices such as fax 150, include but are not limited to, printers and modems are connected to any one of the intermediate devices.
  • the intermediate network devices are coupled to an active packet (AP) execution engine, as depicted in Fig. 1 , which provides resources for executing an active packet created by the management station 100 pursuant to the policy definition language (PDL) and transferred to a network intermediate or end device.
  • AP active packet
  • PDL policy definition language
  • Fig. 2 illustrates the resources of management station 100 and Fig. 3 depicts a flow diagram of the process steps executed by the PDS software product utilized by the management station 100 of the present invention.
  • the system administrator inputs instructions representing policy through a interface
  • the management station 100 comprises a general purpose computer operating pursuant to a first software product providing a user interface for inputting instructions representing system policy.
  • the general-purpose computer includes, but is not limited to, an IBM, IBM-clone, UNIX workstation, Macintosh, Sun Microsystems, or similar computer capable of executing an policy definition system.
  • the management station 100 operates pursuant to an operating system including, but not limited to, Windows or Windows NT, UNIX, OS/2, Mac OS 8.0 or similar operating system.
  • the management station 100 includes a processor 210, memory 220 running a general-purpose operating system, and an engine operating pursuant to PDS software 230 such as JAVA Virtual Machine operating pursuant to JAVA.
  • the management station 100 further includes a graphical GUI engine 240 and a smart NIC 250 which provides access to the network 110.
  • the system administrator proceeds to input the instructions representing policy in the form of rules.
  • the rules can be generated at the time of the input and saved for future reference or they may have been previously generated to handle specific policy situations and stored in the memory 220 or some other memory device connected to network 110 for later access.
  • basic rules are pre-determined and selected from a table and populated with at least one variable and a method using the GUI 240 and stored in memory 220.
  • the system administrator may decide that the system traffic is very heavy on Mondays and Fridays causing system congestion, resulting in a degradation of system performance.
  • the administrator can implement a policy whereby Internet access may be limited or totally eliminated during working hours on Mondays and Fridays.
  • the policy will be created and dispatched to the appropriate network devices to effectuate this policy.
  • this may be the smart NIC/ AP engine combination 130, Router/ AP engine combination 160, or Switch/ AP engine combination 120 working alone or in combination to effectuate the policy for disabling Internet access on the dates and times in question.
  • a reference to switch 120, smart NIC 130, repeater 140, router 160, bridge 170, and hub 190, of Fig. 1 also includes the AP engine that the aforementioned devices are in communication with.
  • the rules contain a variety of information necessary to effectuate the current policy or policies dictated by the system administrator.
  • the rules may contain information which includes, but is not limited to, network and transport layer source addresses, network and transport layer destination addresses, protocol(s), time of action, conditionals, e.g. if time of day is between 8:00 a.m. and 5:00 p.m. disable Internet access, and other variables related to the execution of the policy by the network devices.
  • AP engines depicted in Fig. 1 are devices capable of executing active packets, operating independently of the legacy systems supporting the network devices, and are configured as shown in Fig. 5. A discussion of the AP engine and its interrelationship with the base operating system will now ensue before continuing with the detailed description of the present invention.
  • the legacy systems 510 perform base services 520, which include, but are not limited to, recognizing input from the keyboard, sending output to the display screen, keeping track of files and directories on the memory devices, and controlling peripheral devices.
  • the legacy systems can also perform policy enforcement, but require the system to be rebooted to purge the system of any currently executing policy.
  • the AP engine is a self-contained operating environment that behaves as if it is a separate computer, i.e., similar in many respects to a virtual machine (VM).
  • VM virtual machine
  • An example of a special type of AP engine is the JAVA Virtual Machine (JVM), which executes active packets. Since JAVA is an object-oriented language, the active packets executed by the JVM are JAVA objects.
  • JAVA objects and JAVA applets are executed by the JVM on a level above the host operating system, i.e., legacy system.
  • the AP engine design has two main advantages: 1) System independence, wherein an application, i.e., active packet, will run the same regardless of the hardware and software underlying the system, hence, an active packet formatted to execute on the AP engine can also be executable by a VM or a JVM; and 2) Security, since the AP engine has limited or no contact with the operating system, there is little possibility of an active packet damaging files or applications running on the legacy systems 510; this approach allows for the dynamic transfer and execution of active packets, i.e., objects or codes, without having to reboot the AP engine or legacy system, thereby interrupting the base services 520 being provided by the legacy systems 510.
  • the rules are inputted into management station 100 pursuant to step 310.
  • the rules are transformed into objects at step 320, each object having a format.
  • the format comprises a data structure established according to and AP executable representation particular to the network device that will enforce the policy.
  • Objects are higher level representations of the policy to be enforced by the enforcement devices 120, 130, 140, 160, 170, or 190 distributed throughout the network.
  • the created objects are active objects.
  • the rules are then transformed into objects by instantiation of classes in the management station 100 pursuant to the step 320.
  • the object is encoded.
  • the encoding is encapsulation. Encapsulation is a process whereby the objects representing one or more rules representing a policy is encoded making the object transportable. The encoding process removes the environment specific parameters from the object, thereby making it mobile.
  • the JAVA method of serializing the object is the encoding method employed. Programming languages which support the creation of objects, include, but are not limited to, JAVA, C++, CAML, Python, and Smalltalk.
  • the software optionally signs the object file.
  • the purpose of the signature is to provide the enforcement devices with information to allocate rights and privileges to the objects contained within the object file when the object or objects are executed on the enforcement device, i.e., one of the network devices 120, 130, 140, 160, 170, or 190 of Fig. 1.
  • the signature comprises a digital signature.
  • the software stores the file on a memory device containing the objects along with their references to variables and methods necessary to execute the objects.
  • a typical object file is depicted in Fig. 4, wherein the encoded object and references to the encoded object are stored to a file or archived.
  • the object file and its variables and any required methods for execution can be stored on a common memory device or on a directory server or distributed database.
  • the object file and its variables can also be stored on management station 100, the network 110, or one of the policy enforcement devices as long references are provided so that the policy enforcement devices can access the appropriate memory device address to retrieve the necessary data for execution.
  • the management station 100 signals the policy enforcement device that new policy, in the form of an object file, is available.
  • Management station 100 either forwards the object file containing the required variables and methods or references to the variables and methods to execute the object and enforce the policy to the network 110 or to some other memory device, i.e. directory server, distributed database, etc., pursuant to step 370.
  • some other memory device i.e. directory server, distributed database, etc.
  • the network 110 generally operates on several levels each requiring different protocols that the variables and methods must be formatted, with the appropriate data structures and protocol, at management station 100 by the PDS software. The formatting is necessary to accommodate the myriad parameters necessary for a successful transmission and execution of the object and hence the enforcement of the specific portion of the policy assigned to that network device.
  • the technique of using objects to represent and enforce policy permits the dynamic modification of policy without having to reboot the enforcement device to purge it of a previous policy.
  • Multiple policy rules are capable of being supported concurrently on each network device equipped with an AP engine.
  • a first or last in time approach can be taken wherein either the first policy rule or last policy rule provided to the enforcement device will take priority. If the first in time approach is taken, the object representing the new policy rule may be loaded into memory, but the system resources will not be allocated to it until the first process is concluded. In the latter approach the first process may be terminated and its variables and states along with the attendant resources allocated to its execution are returned to their initial states before the execution of the new policy rule.
  • the system administrator at management station 100 inputs a rule to discontinue traffic between hub 190 and the users attached to that node.
  • the rule in question is selected from a table accessed by a GUI 101 being executed on management station 100.
  • the rule is then converted into an object, encoded with the proper format, i.e., data structures and protocol for the network device or devices that it is intended to be executed on, then saved into an object file, which is digitally signed.
  • the object file along with any implementing code or data is sent to the network 110 to be stored.
  • the object file and its attendant code here code refers to the methods and data necessary to execute the object in the file, will most likely be sent to hub 190, or router 160, or stored at the management station 100 in the memory 220. It should be noted that storing the object at management station 100 is not the preferred storage location. This is because if management station 100 is busy because of system congestion or loses its connection to the network 110 then the code and/or object necessary to effectuate the policy by the network devices 160 or 190 will not be accessible. Either hub 190 or router 160 can enforce the policy established by the system administrator. Router 160 could perform a primary or secondary function or it could complement hub 190 by enforcing a portion of the policy.
  • the object could be designated as private code signed such that only hub 190 or router 160 is permitted to access and execute the object file.
  • the network devices have resources, i.e., logic, to receive and read the object provided by the management station 100 thereby determining access and execution rights and privileges.
  • the following discussion will be premised on hub 190 being the only network device involved in this particular policy enforcement.
  • Fig. 6 depicts a flow diagram of the process steps performed and an execution environment set up by the software running on the AP engine at hub 190.
  • the AP engine is signaled that a new object or objects are ready for its use and execution.
  • hub 190 accepts the object file or instruction to retrieve the object file and any code necessary to execute the object in the file.
  • the object file signature is optionally verified, pursuant to step 630, and an execution environment 640 is established to execute the object.
  • the establishment of the execution environment step 640 is to provide base services to the object for its use in its execution. This will include, but is not limited to, setting and clearing filters, setting and clearing timers, reading and writing states within the network device related to congestion, priority-based forwarding, and similar operations.
  • the AP engine is capable of executing multiple objects concurrently on hub 190.
  • hub 190 will then decode the object, i.e., examine the data within the object which specifies the variables and methods required for that object, and access its memory for the variables and methods necessary to execute the object. If the variables and methods required by the object are not available in its memory, it will then retrieve and extract the variables and methods from the appropriate memory device, i.e., directory server or distributed database, using the references provided within the object by management station 100. As previously noted, the object may be designated as a private code and only accessed and executed by a particular network device. After having retrieved the necessary methods and data to execute the object the object will be executed pursuant to step 660. In a preferred embodiment the decoding process is a method of unwrapping the encapsulated object.
  • the decoding process is the JAVA method of de-serializing the object.
  • the thread of execution associated with each object will then be executed invoking the method that the object implements, thereby providing hub 190 with the resources and functionality necessary to enforce the policy and block all traffic beyond its node.
  • the policy represented by the object at hub 190 may be of a limited duration or perpetual until either it is replaced or canceled by a subsequent object. Since the objects are capable of executing dynamically, without the need to power down the network device as in the conventional case, the implementation and modification of an object can be performed without regard to the functioning of the legacy system 510.
  • a currently running object that is scheduled to be terminated by a subsequent object will not terminate until the subsequent object is executed by its thread of execution.
  • the environment reclaims any resources it has allocated to it (in some systems this may be automatic, for example by system-wide garbage collection), and then determines what to do with the implementing code. It may decide to retain it in its code file library, or it may discard it.
  • the network administrator wishes to stop the execution of the thread associated with an object, he uses the management station 100 to signal the network device to terminate the object's thread.
  • Reasons for such termination include, but are not limited to, the network policy has changed or the administrator wishes to correct a mistake made in a previous policy specification.
  • the enforcement device can also terminate the execution of an object's thread. This may be necessary, but is not limited to, an over consumption of resources, or when the signer of the object is no longer trusted to execute code on the device, or the period over which the policy was being enforced has expired, or the triggering condition no longer exists on the system.
  • the object is executed on a JAVA Virtual Machine (JVM) or similar device capable of running a mobile language such as, but not limited to, CAML, JAVA, Python, Smalltalk.
  • JVM JAVA Virtual Machine
  • a mobile language such as, but not limited to, CAML, JAVA, Python, Smalltalk.
  • active networking can be performed using a script programming language (SPL) such as, but not limited to, Practical Extraction and Report Language (PERL), Tool Command Language (TCL), or shell type programming language.
  • SPL script programming language
  • PERL Practical Extraction and Report Language
  • TCL Tool Command Language
  • the above-described embodiments of the present invention can be employed in any type of system wherein an AP engine, VM, or similar device has been established with the device and provides resources to enforce policy at the network device using the above- described active networking principles.
  • Active networking includes, but is not limited to, sending active packets, i.e., objects or code, to a network device or a network intermediate device by the network management station in order to tailor network device behavior according to some system administration objective. Active networking also permits applications to send active packets to network devices, which lie between them and the destination of their traffic.
  • active nodes can provide a larger variety of functionality with the same amount of dynamic memory wherein a passive network device must contain all of the code implementing its full feature set. Once a passive device is deployed, its feature set may only be modified by loading a new version of the software. Conversely, an active node need only have the code resident that is necessary to support the features currently in use and is capable of dynamic change without rebooting the device.
  • the AP engine provides the following general services. It provides a multiplexing substrate for executing threads. This allows the code from multiple active objects to execute concurrently without adversely affecting the executions associated with other active objects. It provides a security subsystem for controlling access to active node resources. These resources may be native to the node, such as clocks, buffer memory, or network interfaces or they may be logical resources created by shared libraries or representing exported entry points of executing active code.
  • An active node is a device operating pursuant to a general-purpose operating system, such as one of the varieties of UNIX or it may be operating pursuant to an existing networking device, which generally uses a proprietary or commercially supported real-time operating system (RTOS).
  • RTOS real-time operating system
  • the term software-based active node is used to describe the former and the term hybrid active node to describe the latter. In both cases only a part of the device is dedicated to active networking.
  • network devices do not support the notion of multi-user computations, even if they are based on multiprogramming operating systems, such as UNIX. While there may be administrative access control, which assigns different privileges to different users, generally these do not translate into processes running in separate address spaces. Rather, the privileges are normally assigned to the terminal connection or console port, which the administrator uses .
  • Active networking introduces new requirements that lead to more sophisticated access control mechanisms. For example, active code in execution may wish to communicate with other executing active code. The two threads may represent computations carried out on behalf of two different principals. This active networking provides for more dynamic system administration and enforcement, heretofore not provided nor contemplated by conventional means.

Abstract

A system for providing policy management in a network (110) that includes nodes (100, 120, 130, 140, 150, 160, 170, 180, 190) operating in multiple protocol layers and having enforcement functions. Multiple network devices, such as routers (160), hubs (190), remote access equipment (150), switches (120), repeaters (140), bridges (170), and network cards (130, 180), and end system processes having security functions are configured to contribute to implementation of policy enforcement in the network (110). By distributing policy enforcement functionality to a variety of network devices and end systems, a pervasive policy management system is implemented. The policy management system includes a policy implementation component that accepts policy, i.e. instructions or rules, that define how the network device should behave when confronted with a particular situation. The management system further includes a management station (100), with a user interface (101) operating pursuant to a first process capable of providing an object to the network, the object including variables and one of a method or instructions to locate a method, executable on the network to set up a second process to enforce a portion of the policy.

Description

DYNAMIC POLICY MANAGEMENT APPARATUS AND METHOD USING ACTIVE NETWORK DEVICES
BACKGROUND OF THE INVENTION
Field of the Invention
The present invention relates to establishing and enforcing system policy on a network; and more specifically to systems employing dynamic policy management using active networking devices to establish and enforce system policy.
Discussion of the Related Art
The Internet has grown significantly over the past several decades, yet there are signs that applications would benefit from a richer set of Internet services. For example, the expected growth in voice over IP (VoIP) traffic on the Internet will change its overall traffic characteristics. While up to now real-time delivery requirements for IP traffic have been rare, VoIP packets must be delivered within fairly strict time constraints. Since the volume of VoIP traffic is likely to grow into a high percentage of Internet traffic, the services required by the Internet will change. As other real-time traffic, such as that supporting video, becomes prominent, the effect on Internet services will be even more dramatic.
The growth of the Internet and the use of IP based technology has also created a corresponding growth in the number of systems administrators must manage. This scaling problem is being addressed by the use of policy based management systems, whereby administrators specify what should happen and leave it to the policy management system to determine procedures to implement the policy.
The system administrators' task of administering policy is even further complicated by legacy systems. As networks evolve, older equipment, i.e., legacy systems, remain that may not be able to participate in a particular management policy. Alternately, legacy systems may be able to participate, but the methods required to execute the policy are different, thereby complicating the implementation of the policy. Because of the variety of devices and legacy systems, the complexity of implementing a management policy makes it difficult to establish the policy across all layers and device types of the network, and particularly difficult to maintain such a policy management system even if it could be successfully implemented.
Typically in the prior art a central management station that dispatches instructions to the network devices as needed controls the policy management. The instructions may be very basic, such as telling the device to shut down, or very complex requiring the device. Often the instructions are in response to repetitive processes that are executed periodically, i.e., daily or weekly, or on the occurrence of some event. If system congestion is high or the management system is inoperative, the appropriate action may not be taken, thereby creating system performance degradation; and in the worse case scenario this could lead to system failure.
Accordingly, it is desirable to implement a policy management system which allows for system policy to be executed and maintained at the network device level across layers of network systems and protocols.
SUMMARY OF THE INVENTION
Accordingly, the present invention is directed to a dynamic policy management apparatus and method using active network devices that provide for policy enforcement. The present invention provides a system for providing policy management in a network that includes passive nodes and active nodes operating in multiple protocol layers and having enforcement functions. A variety of network devices, i.e., nodes or active nodes, such as routers, remote access equipment, switches, repeaters, network cards, and end system processes having security functions, are configured to contribute to the implementation of policy enforcement in the network. By distributing policy enforcement functionality to a variety of network devices and end systems, a pervasive policy management system is implemented. The policy management system includes a policy implementation component that accepts policy, i.e., instructions or rules that define how the network device should behave when confronted with a particular situation. The policy enforcement is performed by network devices having tools and resources to execute the active packets distributed throughout the network to enforce the defined policy. The policy being implemented can be implemented across multiple protocol layers and must be coordinated by the policy management system such that particular devices enforce that part of the policy pertinent to their part of the network. For example, a router in the network enforces that part of the policy that is pertinent to those systems and network devices whose traffic might traverse the router. A switch enforces that part of the policy that is pertinent to those systems and network devices whose traffic traverses the switch. A repeater enforces that part of the policy that is pertinent to those systems and network devices whose traffic traverses the repeater. A network interface card with processing resources (smart NIC) enforces that part of the policy that is pertinent to the system or device to which it is connected. In addition, other parts of the network are included in the policy management hierarchy, such as end system operating systems and applications, remote access equipment, network management systems for controlling network traffic and monitoring network traffic, and other auxiliary systems such as name services and file services are included in the collection of network devices that are called upon to enforce a portion of the policy being implemented by the present invention.
To implement the system policy a network manager uses a management station to specify policy for a network. The management station employs a policy definition system (PDS) supporting a policy definition language (PDL) to create a programming language active packet, which represents at least one rule of the policy, which is then encapsulated in preparation for transmission to the active network devices. The active packet includes, but is not limited to, an object-oriented programming language, such as C++, CAML, JAVA, and Python, having objects and scripting programming language, such as Practical Extraction and Report Language (PERL), Tool Command Language (TCL), or employing shells, e.g. Unix supports Bourne shell, Korn shell, and C-shell code. The active packet is stored in an active packet file on a memory device and the file is optionally signed with a digital signature. The active packet file is either deposited in a network directory, or other distributed database, or sent through the network to the enforcement device and stored in its memory. The enforcement device is signaled when a new policy, represented by the active packet file, for it is available. The signal may contain the active packet or it may inform the device to find the active packet in a network directory or distributed database.
After the enforcement device obtains the active packet file, it is optionally verified via the signature to determine the privileges the active packet should be granted. The active packet file is then extracted from the memory location and the active packet is prepared for execution. The enforcement device checks to see if it has the implementing code (at least one variable, method, and/or data) for the active packet loaded in its memory. If not, the enforcement device obtains the code from a distributed database or directory, or another enforcement device, or similar memory device.
The policy definition language comprises a mobile programming language which in turn includes, but is not limited to, object-oriented and scripting programming languages. If the mobile programming language is an object-oriented language then the active packet comprises an active object, i.e. code plus data, normally referred to just as an object. For each object a thread of execution is established, and the object is executed. The object then uses the services available to it on the enforcement device to enforce the policy or a portion of the policy. If the mobile programming language is a scripting programming language then the active packets comprises active code, normally referred to just as code. The code along with an interpreter for interpreting the code is transferred to the enforcement device. The code then uses the services available to it on the enforcement device to enforce the policy or a portion of the policy. Several enforcement devices may be utilized to execute a certain policy. Therefore, a particular enforcement device may only enforce a portion of the policy. The reader should note that the remainder of the disclosure will primarily focus on active packets comprising objects. Those of ordinary skill in the art will appreciate that substantially the same processes and procedures applicable to active objects are applicable to active code. Throughout the disclosure any reference made to an object, unless otherwise stated, refers to an object-oriented object and any reference made to code, unless otherwise stated, refers to a code associated with a scripting programming language.
The management station software provides the system administrator with resources to input a list of rules describing the policy to be enforced on a network. The management station PDS is a software product that creates one or more programming language active packets as previously explained, which represent the rules. The objects, once created, are in a ready-to-run state and are invoked by a thread of execution to implement the processes that they represent. The invocation of the object establishes a thread that can execute independently of other processes running on the various network devices. A process can have several threads running concurrently, each performing different jobs such as waiting for events to occur or performing some other time consuming task. When a thread has finished its job, the thread is suspended or destroyed and the resources utilized are returned to the system.
After the creation of one or more objects, the management station software will encode the objects into a transportable format. Upon the completion of the encoding, the data identifying the code that the objects need in order to be executed is associated with the encoded transportable objects. After storing the objects to an object file, the management station software will optionally sign the file. The purpose of signing the file is to allow the enforcement device to decide which rights and privileges to grant the objects when they are executed on the enforcement device.
The optionally signed file can either be deposited in a on a storage device, which includes but is not limited to a directory server or distributed database, or sent to the enforcement device via the network. If the file has been deposited in a directory server or distributed database, the management station will either provide the enforcement device with the address to the storage location or the device will know to retrieve the file at a specified location. The notification that an object file is available for the enforcement device can occur in many ways including, but not limited to, the changing of a state or variable that the enforcement device monitors.
If the enforcement device receives a signal indicating that a new policy, represented by the object file, is available for it on a directory server or distributed database, it will retrieve the object file. Upon retrieval or receipt of the object file, the enforcement device will extract the object file contents.
The enforcement device will optionally verify the signature of the object file, as previously stated, to determine which of its base services that it will allocate to the objects in the signed file to utilize in the implementation of its proscribed functions. The enforcement device will then examine the data within the file which specifies the code required by the objects. If it does not have the code stored in its memory, it will extract the code or a reference to the code from the file. If the code is in the enforcement device's memory it is then loaded into its program memory and executed. Otherwise, the device uses the reference to retrieve the code from a directory server or distributed database.
The present invention provides distinct advantages over the prior art, in that traditionally, policy is represented as flat data, requiring an enforcement device to understand its syntax. If this syntax changes, either to add new kinds of policy terms or to restructure the representation, all enforcement devices must be reprogrammed to parse the new syntax. With the present invention, the contract between the network device and network management system involves only the methods that a policy object exports. Thus, new methods can be added to an object class that control new aspects of policy without affecting legacy enforcement devices. Also, the internal representation of policy may change without affecting either the network management station or the enforcement device.
The present invention further supports a process called co-location, which enables the objects to be distributed with their code, or references to their code that implements the policy, throughout the network. Co-location enables new policy implementations to be distributed to devices without changing the underlying base implementations of the devices. For instance, legacy systems would have to be re-booted in order for new policy implementations to be enabled. Co-location permits the legacy systems to continue their base functions undisturbed while a new policy is implementation is distributed to the enforcement devices.
Another advantage of the present invention is the separation of policy rule enforcement, which is accomplished by creating an independent thread for each object representing a particular rule. Network administrators can independently stop or start the enforcement of each rule in the policy specification without affecting the enforcement of other polices in the specification.
Additional features and advantages of the invention will be set forth in the detailed description which follows, and in part will be apparent from the description, or may be learned by practice of the invention. The aspects and other advantages of the invention will be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.
To achieve these and other advantages and in accordance with the purpose of the present invention, as embodied and broadly described, the present invention can be characterized according to one aspect as a system providing dynamic policy management in a network, including a management station coupled to said network, the management station including resources to store data defining policy rules for a device in the network. Resources in the management station are included for producing an active packet including at least a variable and a method, in response to the data defining the policy rule, the active packet having a format. Resources in the management station are included for sending the active packet to the network device adapted to read and execute the active packet according to the format.
Another aspect of the present invention can be characterized as a system for dynamic policy management in a network, including a network device coupled to said network, the network device including resources to receive an active packet representing a policy rule from a second device in the network, the active packet having a format; resources in the network device for decoding the active packet according to the format, the active packet including a variable and a method; and resources in the network device for executing the active packet. A further aspect of the present invention can be characterized as a system for dynamic policy management in a network including a management station and a network device coupled to said network, wherein the management station includes:
1) resources to store data defining a policy rule for a device coupled to the network;
2) resources in the management station for producing an active packet including a variable and a method in response to the data defining the policy rule, the active packet having a format; and
3) resources in the management station for sending the active packet to the network device, wherein the network device includes resources to receive, decode, and execute the active packet according to the format. A still further aspect of the present invention can be characterized as a system providing dynamic policy management by a method, the system, including an interface adapted to receive instructions characterizing policy regarding control of a network; and an active node connected to the interface which provides a packet to the network, the packet including one of a variable and a method and a reference to the variable and the method, executable on the network to set up a process to enforce at least a portion of the policy.
Another aspect of the present invention can be characterized as a system for dynamic policy management in a network, including a network node adapted to receive a packet, created by a first process, representing policy for control of a network; and resources in the network node capable of executing a packet including one of a variable and a method and instructions to locate the variable and the method, executable on the network node to enforce a portion of the policy.
An additional aspect of the present invention can be characterized as a system for dynamic policy management in a network, including an active node and a network node coupled to said network, wherein the active node includes: A) resources to store data defining a policy rule for a device coupled to the network;
B) resources in the active node for producing a packet including a variable and a method in response to the data defining the policy rule; and
C) resources in the active node for sending a packet file containing one of the packet and a reference to the packet to the network node, wherein the network node includes resources to receive, decode, and execute the packet.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the invention as claimed.
BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the principles of the invention. In the drawings:
Fig. 1 is schematic diagram illustrating the interconnections of the management station, the network and the enforcement devices of the present invention; Fig. 2 depicts a general-purpose computer and its resources of the present invention;
Fig. 3 is a flow diagram illustrating the process steps performed by the software product for creating and storing the objects of the present invention;
Fig. 4 illustrates a stored file of objects and their references to the methods and data necessary to execute the object of the present invention; Fig. 5 illustrates a hierarchy of systems executing multiple software products of the present invention; and
Fig. 6 is a flow diagram illustrating the process steps of the software product for deserializing and executing objects of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings.
Fig. 1 illustrates a schematic diagram of a general network and its connected network devices. The management station 100 comprising an interface 101 is connected to network 110. Network 110 can be a WAN, LAN, INTERNET, or similar type network wherein devices are inter-connected and control, i.e., policy, is desired. The intermediate network devices, such as switch 120, smart NIC, 130 and 180, repeater 140, router 160, bridge 170 and hub 190 are connected to network 110. Peripheral devices such as fax 150, include but are not limited to, printers and modems are connected to any one of the intermediate devices. The intermediate network devices are coupled to an active packet (AP) execution engine, as depicted in Fig. 1 , which provides resources for executing an active packet created by the management station 100 pursuant to the policy definition language (PDL) and transferred to a network intermediate or end device.
Fig. 2 illustrates the resources of management station 100 and Fig. 3 depicts a flow diagram of the process steps executed by the PDS software product utilized by the management station 100 of the present invention. The system administrator inputs instructions representing policy through a interface
101, which includes but is not limited to a graphical user interface GUI, of management station 100. As shown in Fig. 2, the management station 100 comprises a general purpose computer operating pursuant to a first software product providing a user interface for inputting instructions representing system policy. The general-purpose computer includes, but is not limited to, an IBM, IBM-clone, UNIX workstation, Macintosh, Sun Microsystems, or similar computer capable of executing an policy definition system. The management station 100 operates pursuant to an operating system including, but not limited to, Windows or Windows NT, UNIX, OS/2, Mac OS 8.0 or similar operating system.
The management station 100 includes a processor 210, memory 220 running a general-purpose operating system, and an engine operating pursuant to PDS software 230 such as JAVA Virtual Machine operating pursuant to JAVA. The management station 100 further includes a graphical GUI engine 240 and a smart NIC 250 which provides access to the network 110. The system administrator proceeds to input the instructions representing policy in the form of rules. The rules can be generated at the time of the input and saved for future reference or they may have been previously generated to handle specific policy situations and stored in the memory 220 or some other memory device connected to network 110 for later access. In one embodiment basic rules are pre-determined and selected from a table and populated with at least one variable and a method using the GUI 240 and stored in memory 220. For example, the system administrator may decide that the system traffic is very heavy on Mondays and Fridays causing system congestion, resulting in a degradation of system performance. The administrator can implement a policy whereby Internet access may be limited or totally eliminated during working hours on Mondays and Fridays. The policy will be created and dispatched to the appropriate network devices to effectuate this policy. In Fig. 1 this may be the smart NIC/ AP engine combination 130, Router/ AP engine combination 160, or Switch/ AP engine combination 120 working alone or in combination to effectuate the policy for disabling Internet access on the dates and times in question. The reader should note that from this point on in the disclosure that a reference to switch 120, smart NIC 130, repeater 140, router 160, bridge 170, and hub 190, of Fig. 1, also includes the AP engine that the aforementioned devices are in communication with.
The rules contain a variety of information necessary to effectuate the current policy or policies dictated by the system administrator. For instance, the rules may contain information which includes, but is not limited to, network and transport layer source addresses, network and transport layer destination addresses, protocol(s), time of action, conditionals, e.g. if time of day is between 8:00 a.m. and 5:00 p.m. disable Internet access, and other variables related to the execution of the policy by the network devices.
The process steps, performed by the software product running on management station 100, for the transformation of the rules to active packets will be described with reference to the flow diagram of Fig. 3 and process steps 310 through 380 illustrated therein. The AP engines depicted in Fig. 1 are devices capable of executing active packets, operating independently of the legacy systems supporting the network devices, and are configured as shown in Fig. 5. A discussion of the AP engine and its interrelationship with the base operating system will now ensue before continuing with the detailed description of the present invention.
In Fig. 5 the legacy systems 510 perform base services 520, which include, but are not limited to, recognizing input from the keyboard, sending output to the display screen, keeping track of files and directories on the memory devices, and controlling peripheral devices. The legacy systems can also perform policy enforcement, but require the system to be rebooted to purge the system of any currently executing policy. The AP engine is a self-contained operating environment that behaves as if it is a separate computer, i.e., similar in many respects to a virtual machine (VM). An example of a special type of AP engine is the JAVA Virtual Machine (JVM), which executes active packets. Since JAVA is an object-oriented language, the active packets executed by the JVM are JAVA objects. JAVA objects and JAVA applets are executed by the JVM on a level above the host operating system, i.e., legacy system. The AP engine design has two main advantages: 1) System independence, wherein an application, i.e., active packet, will run the same regardless of the hardware and software underlying the system, hence, an active packet formatted to execute on the AP engine can also be executable by a VM or a JVM; and 2) Security, since the AP engine has limited or no contact with the operating system, there is little possibility of an active packet damaging files or applications running on the legacy systems 510; this approach allows for the dynamic transfer and execution of active packets, i.e., objects or codes, without having to reboot the AP engine or legacy system, thereby interrupting the base services 520 being provided by the legacy systems 510. As shown in Fig. 1 and the flow diagram of Fig. 3, the rules are inputted into management station 100 pursuant to step 310. After entering the rules, the rules are transformed into objects at step 320, each object having a format. The format comprises a data structure established according to and AP executable representation particular to the network device that will enforce the policy. Objects are higher level representations of the policy to be enforced by the enforcement devices 120, 130, 140, 160, 170, or 190 distributed throughout the network. In a preferred embodiment the created objects are active objects.
The rules are then transformed into objects by instantiation of classes in the management station 100 pursuant to the step 320. At step 330 the object is encoded. In a preferred embodiment the encoding is encapsulation. Encapsulation is a process whereby the objects representing one or more rules representing a policy is encoded making the object transportable. The encoding process removes the environment specific parameters from the object, thereby making it mobile. In a most preferred embodiment, the JAVA method of serializing the object is the encoding method employed. Programming languages which support the creation of objects, include, but are not limited to, JAVA, C++, CAML, Python, and Smalltalk.
At step 340 the software optionally signs the object file. The purpose of the signature is to provide the enforcement devices with information to allocate rights and privileges to the objects contained within the object file when the object or objects are executed on the enforcement device, i.e., one of the network devices 120, 130, 140, 160, 170, or 190 of Fig. 1. In a preferred embodiment the signature comprises a digital signature.
At step 350 the software stores the file on a memory device containing the objects along with their references to variables and methods necessary to execute the objects. A typical object file is depicted in Fig. 4, wherein the encoded object and references to the encoded object are stored to a file or archived. The object file and its variables and any required methods for execution can be stored on a common memory device or on a directory server or distributed database. The object file and its variables can also be stored on management station 100, the network 110, or one of the policy enforcement devices as long references are provided so that the policy enforcement devices can access the appropriate memory device address to retrieve the necessary data for execution.
At step 360, the management station 100 signals the policy enforcement device that new policy, in the form of an object file, is available. Management station 100 either forwards the object file containing the required variables and methods or references to the variables and methods to execute the object and enforce the policy to the network 110 or to some other memory device, i.e. directory server, distributed database, etc., pursuant to step 370. It should be noted that since the network 110 generally operates on several levels each requiring different protocols that the variables and methods must be formatted, with the appropriate data structures and protocol, at management station 100 by the PDS software. The formatting is necessary to accommodate the myriad parameters necessary for a successful transmission and execution of the object and hence the enforcement of the specific portion of the policy assigned to that network device.
The technique of using objects to represent and enforce policy permits the dynamic modification of policy without having to reboot the enforcement device to purge it of a previous policy. Multiple policy rules are capable of being supported concurrently on each network device equipped with an AP engine. In the event that inconsistent policy rules are scheduled to be executed on the same enforcement device, several alternatives are available. A first or last in time approach can be taken wherein either the first policy rule or last policy rule provided to the enforcement device will take priority. If the first in time approach is taken, the object representing the new policy rule may be loaded into memory, but the system resources will not be allocated to it until the first process is concluded. In the latter approach the first process may be terminated and its variables and states along with the attendant resources allocated to its execution are returned to their initial states before the execution of the new policy rule. Other approaches, as determined by the system administrator, can be implemented to overcome conflicts between objects and will be apparent to persons of ordinary skill in the art, and therefore will not be discussed at this time. An example of the above process will now be given. The system administrator at management station 100 inputs a rule to discontinue traffic between hub 190 and the users attached to that node. The rule in question is selected from a table accessed by a GUI 101 being executed on management station 100. The rule is then converted into an object, encoded with the proper format, i.e., data structures and protocol for the network device or devices that it is intended to be executed on, then saved into an object file, which is digitally signed. The object file along with any implementing code or data is sent to the network 110 to be stored. In this example the object file and its attendant code, here code refers to the methods and data necessary to execute the object in the file, will most likely be sent to hub 190, or router 160, or stored at the management station 100 in the memory 220. It should be noted that storing the object at management station 100 is not the preferred storage location. This is because if management station 100 is busy because of system congestion or loses its connection to the network 110 then the code and/or object necessary to effectuate the policy by the network devices 160 or 190 will not be accessible. Either hub 190 or router 160 can enforce the policy established by the system administrator. Router 160 could perform a primary or secondary function or it could complement hub 190 by enforcing a portion of the policy. Conversely, the object could be designated as private code signed such that only hub 190 or router 160 is permitted to access and execute the object file. The network devices have resources, i.e., logic, to receive and read the object provided by the management station 100 thereby determining access and execution rights and privileges. The following discussion will be premised on hub 190 being the only network device involved in this particular policy enforcement.
Fig. 6 depicts a flow diagram of the process steps performed and an execution environment set up by the software running on the AP engine at hub 190. At step 610, the AP engine is signaled that a new object or objects are ready for its use and execution.
Pursuant to step 620 hub 190 accepts the object file or instruction to retrieve the object file and any code necessary to execute the object in the file. The object file signature is optionally verified, pursuant to step 630, and an execution environment 640 is established to execute the object. The establishment of the execution environment step 640 is to provide base services to the object for its use in its execution. This will include, but is not limited to, setting and clearing filters, setting and clearing timers, reading and writing states within the network device related to congestion, priority-based forwarding, and similar operations. The AP engine is capable of executing multiple objects concurrently on hub 190. Pursuant to step 650 hub 190 will then decode the object, i.e., examine the data within the object which specifies the variables and methods required for that object, and access its memory for the variables and methods necessary to execute the object. If the variables and methods required by the object are not available in its memory, it will then retrieve and extract the variables and methods from the appropriate memory device, i.e., directory server or distributed database, using the references provided within the object by management station 100. As previously noted, the object may be designated as a private code and only accessed and executed by a particular network device. After having retrieved the necessary methods and data to execute the object the object will be executed pursuant to step 660. In a preferred embodiment the decoding process is a method of unwrapping the encapsulated object. In a most preferred embodiment the decoding process is the JAVA method of de-serializing the object. The thread of execution associated with each object will then be executed invoking the method that the object implements, thereby providing hub 190 with the resources and functionality necessary to enforce the policy and block all traffic beyond its node.
The policy represented by the object at hub 190 may be of a limited duration or perpetual until either it is replaced or canceled by a subsequent object. Since the objects are capable of executing dynamically, without the need to power down the network device as in the conventional case, the implementation and modification of an object can be performed without regard to the functioning of the legacy system 510.
In general a currently running object that is scheduled to be terminated by a subsequent object will not terminate until the subsequent object is executed by its thread of execution. When a thread completes execution, the environment reclaims any resources it has allocated to it (in some systems this may be automatic, for example by system-wide garbage collection), and then determines what to do with the implementing code. It may decide to retain it in its code file library, or it may discard it.
If the network administrator wishes to stop the execution of the thread associated with an object, he uses the management station 100 to signal the network device to terminate the object's thread. Reasons for such termination include, but are not limited to, the network policy has changed or the administrator wishes to correct a mistake made in a previous policy specification. The enforcement device can also terminate the execution of an object's thread. This may be necessary, but is not limited to, an over consumption of resources, or when the signer of the object is no longer trusted to execute code on the device, or the period over which the policy was being enforced has expired, or the triggering condition no longer exists on the system.
In an embodiment of the present invention the object is executed on a JAVA Virtual Machine (JVM) or similar device capable of running a mobile language such as, but not limited to, CAML, JAVA, Python, Smalltalk.
In an alternative embodiment, active networking can be performed using a script programming language (SPL) such as, but not limited to, Practical Extraction and Report Language (PERL), Tool Command Language (TCL), or shell type programming language. The above-described embodiments of the present invention can be employed in any type of system wherein an AP engine, VM, or similar device has been established with the device and provides resources to enforce policy at the network device using the above- described active networking principles. Active networking includes, but is not limited to, sending active packets, i.e., objects or code, to a network device or a network intermediate device by the network management station in order to tailor network device behavior according to some system administration objective. Active networking also permits applications to send active packets to network devices, which lie between them and the destination of their traffic.
As demonstrated, active nodes can provide a larger variety of functionality with the same amount of dynamic memory wherein a passive network device must contain all of the code implementing its full feature set. Once a passive device is deployed, its feature set may only be modified by loading a new version of the software. Conversely, an active node need only have the code resident that is necessary to support the features currently in use and is capable of dynamic change without rebooting the device. In addition to the active packet services described above, the AP engine provides the following general services. It provides a multiplexing substrate for executing threads. This allows the code from multiple active objects to execute concurrently without adversely affecting the executions associated with other active objects. It provides a security subsystem for controlling access to active node resources. These resources may be native to the node, such as clocks, buffer memory, or network interfaces or they may be logical resources created by shared libraries or representing exported entry points of executing active code.
An active node is a device operating pursuant to a general-purpose operating system, such as one of the varieties of UNIX or it may be operating pursuant to an existing networking device, which generally uses a proprietary or commercially supported real-time operating system (RTOS). The term software-based active node is used to describe the former and the term hybrid active node to describe the latter. In both cases only a part of the device is dedicated to active networking. Traditionally, network devices do not support the notion of multi-user computations, even if they are based on multiprogramming operating systems, such as UNIX. While there may be administrative access control, which assigns different privileges to different users, generally these do not translate into processes running in separate address spaces. Rather, the privileges are normally assigned to the terminal connection or console port, which the administrator uses .
Active networking introduces new requirements that lead to more sophisticated access control mechanisms. For example, active code in execution may wish to communicate with other executing active code. The two threads may represent computations carried out on behalf of two different principals. This active networking provides for more dynamic system administration and enforcement, heretofore not provided nor contemplated by conventional means.
The foregoing description of a preferred embodiment of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Obviously, many modifications and variations will be apparent to practitioners skilled in this art. It is intended that the following claims and their equivalents define the scope of the invention.

Claims

WHAT IS CLAIMED IS:
1. A system for dynamic policy management in a network, comprising: a management station coupled to said network, the management station including resources to store data defining policy rules for a device in the network; resources in the management station for producing an active packet including at least a variable and a method in response to the data defining the policy rule, the active packet having a format; and resources in the management station for sending the active packet to the network device adapted to read and execute the active packet according to the format.
2. The system according to claim 1 , wherein the format comprises a data structure established according to a mobile programming language executable at the network device.
3. The system according to claim 2, wherein the data structure comprises an object.
4. The system according to claim 3, wherein the object comprises a JAVA object.
5. The system according to claim 4, wherein encoding is performed on the JAVA object.
6. The system according to claim 5, wherein the encoding comprises serialization.
7. The system according to claim 2, wherein the resources for sending include logic to transmit one of the variable and the method and a reference to the variable and the method to the network device.
8. The system according to claim 2, wherein the format of the mobile programming language supports co-location.
9. The system according to claim 2, wherein the format of the mobile programming language supports enforcement by multiple network devices.
10. The system according to claim 2, wherein the network device is an intermediate network device.
11. The system according to claim 1 , wherein the active packet comprises an object specified according to a mobile programming language, and the resources for sending include logic to encode the object.
12. The system according to claim 11 , wherein the mobile programming language comprises a scripting programming language.
13. The system according to claim 12, wherein the scripting programming language comprises one of PERL, TCL, and a shell type programming language.
14. The system according to claim 12, wherein the format of the scripting programming language supports co-location.
15. The system according to claim 12, wherein the format of the scripting programming language supports enforcement by multiple network devices.
16. The system according to claim 2, wherein the mobile programming language comprises an object.
17. The system according to claim 16, wherein the object comprises a JAVA object.
18. The system according to claim 17, wherein encoding is performed on the JAVA object.
19. A system for dynamic policy management in a network, comprising: a network device coupled to said network, the network device including resources receive an active packet representing a policy rule from a second device in the network, the active packet having a format; resources in the network device for decoding the active packet according to the format, the active packet including a variable and a method; and resources in the network device for executing the active packet.
20. The system according to claim 19, wherein the format comprises a data structure established according to a mobile programming language.
21. The system according to claim 20, wherein the data structure comprises an object.
22. The system according to claim 21 , wherein the object comprises a JAVA object.
23. The system according to claim 20, wherein the mobile programming language comprises JAVA.
24. The system according to claim 19, wherein the resources for receiving include logic to receive one of the variable and the method and a reference to the variable and the method from the second network device.
25. The system according to claim 19, wherein the format of the active packet supports co-location.
26. The system according to claim 19, wherein the format of the active packet representing policy supports enforcement by multiple network devices.
27. The system according to claim 19, wherein the network device comprises a network intermediate device.
28. The system according to claim 27, wherein the network intermediate device comprises a router.
29. The system according to claim 27, wherein the network intermediate device comprises a hub.
30. The system according to claim 27, wherein the network intermediate device comprises a switch.
31. The system according to claim 27, wherein the network intermediate device comprises an adapter.
32. The system according to claim 27, wherein the network intermediate device comprises a NIC including the resources for executing the active packet.
33. The system according to claim 27, wherein the network intermediate device comprises a bridge.
34. The system according to claim 27, wherein the network intermediate device comprises a repeater.
35. The system according to claim 20, wherein the mobile programming language comprises a scripting programming language.
36. The system according to claim 35, wherein the scripting programming language comprises one of PERL, TCL, and a shell type programming language.
37. The system according to claim 35, wherein the scripting programming language supports co-location.
38. The system according to claim 35, wherein the format of the active packet representing policy supports enforcement by multiple network devices.
39. A system for dynamic policy management in a network, comprising: a management station and a network device coupled to said network, wherein the management station includes: resources to store data defining a policy rule for a device coupled to the network; resources in the management station for producing an active packet including a variable and a method in response to the data defining the policy rule, the active packet having a format; and resources in the management station for sending the active packet to the network device, wherein the network device includes resources to receive, decode, and execute the active packet according to the format.
40. The system according to claim 39, wherein the format comprises a data structure established according to a mobile programming language executable at the network device.
41. The system according to claim 40, wherein the data structure comprises an object.
42. The system according to claim 41 , wherein the object comprises a JAVA object and the resources for sending include logic to encode the object.
43. The system according to claim 42, wherein the resources for sending include logic to transmit the variable and one of the method and a reference to the method to the network device.
44. The system according to claim 43, wherein the method of encoding the object comprises serialization.
45. The system according to claim 44, wherein the mobile programming language comprises JAVA.
46. The system according to claim 45, wherein the resources for receiving include logic to receive the variable and one of the method and reference to the method from the management station.
47. The system according to claim 40, wherein the mobile programming language comprises a scripting programming language.
48. The system according to claim 47, wherein the scripting programming language is one of PERL, TCL, and a shell-type programming language.
49. The system according to claim 47, wherein the scripting programming language supports co-location.
50. The system according to claim 47, wherein the scripting programming language supports enforcement by multiple network devices.
51. The system according to claim 47, wherein the network device comprises an intermediate network device.
52. A system providing dynamic policy management by a method, the system comprising: an interface adapted to receive instructions characterizing policy regarding control of a network; and an active node connected to the interface which provides a packet to the network, the packet including one of a variable and a method and a reference to the variable and the method, executable on the network to set up a process to enforce at least a portion of the policy.
53. The system providing dynamic policy management according to claim 52, wherein the instructions characterizing policy comprise one or more rules defining policy.
54. The system providing dynamic policy management according to claim 53, wherein the active node includes logic to translate the one or more rules into the packet.
55. The system providing dynamic policy management according to claim 52, wherein the packet comprises a data structure created according to a policy definition language.
56. The system providing dynamic policy management according to claim 55, wherein the policy definition language comprises a mobile programming language.
57. The system providing dynamic policy management according to claim 56, wherein the mobile programming language comprises an object oriented programming language.
58. The system providing dynamic policy management according to claim 57, wherein the object-oriented programming language comprises JAVA.
59. The system providing dynamic policy management according to claim 56, wherein mobile programming language comprises a scripting programming language.
60. The system providing dynamic policy management according to claim 59, wherein scripting programming language comprises one of PERL, TCL, and a shell-type programming language.
61. The system providing dynamic policy management according to claim 52, wherein the active node comprises resources to signal a node on the network that a new policy is available, and wherein the node retrieves a packet file containing one of the packet and a reference to the packet, and operates pursuant to a second process.
62. The system providing dynamic policy management according to claim 61, wherein a management station includes logic to combine plurality of packets within the packet file wherein the data in the packet file indicates privileges that the packet is granted.
63. The system providing dynamic policy management according to claim 62, wherein the packet file data comprises a digital signature.
64. The system providing dynamic policy management according to claim 63, including resources to store the packet on the active node.
65. The system providing dynamic policy management according to claim 64, wherein the packet is stored on a memory device on the network.
66. The system providing dynamic policy management according to claim 52, wherein the packet supports co-location.
67. The system providing dynamic policy management according to claim 52, wherein the packet supports enforcement by multiple network devices.
68. The system providing dynamic policy management according to claim 52, wherein the network device comprises an intermediate network device.
69. The system providing dynamic policy management according to claim 67, wherein the network device comprises a node.
70. The system providing dynamic policy management according to claim 52, wherein the network node comprises a second active node.
71. A system providing dynamic policy management by a method, the system comprising: an network node adapted to receive a packet, created by a first process, representing policy for control of a network; and resources in the network node capable of executing a packet including one of a variable and a method and instructions to locate the variable and the method, executable on the network node to enforce a portion of the policy.
72. The system providing dynamic policy management according to claim 71 , wherein the packet comprises a data structure created according to a policy definition language.
73. The system providing dynamic policy management according to claim 72, wherein the policy definition language comprises a mobile programming language.
74. The system providing dynamic policy management according to claim 73, wherein the mobile programming language comprises JAVA.
75. The system providing dynamic policy management according to claim 73, wherein mobile programming language comprises a scripting programming language.
76. The system according to claim 75, wherein the scripting programming language is one of PERL, TCL, and a shell-type programming language.
77. The system providing dynamic policy managing according to claim 71, wherein the network node includes resources to signal a node on the network that a new policy is available, and wherein the node retrieves a packet file containing one of the packet and a reference to the packet and operates pursuant to a second process.
78. The system providing dynamic policy management according to claim 71 , wherein the packet supports co-location.
79. The system providing dynamic policy management according to claim 71, wherein the active packet supports enforcement by multiple network devices.
80. A system for dynamic policy management in a network, comprising: an active node and a network node coupled to said network, wherein the active node includes: resources to store data defining a policy rule for a device coupled to the network; resources in the active node for producing a packet including a variable and a method in response to the data defining the policy rule; and resources in the active node for sending a packet file containing one of the packet and a reference to the packet to the network node, wherein the network node includes resources to receive, decode, and execute the packet.
81. The system according to claim 80, wherein the packet comprises an object specified according to an policy definition language, and the resources for sending include logic to encode the packet.
82. The system according to claim 81, wherein the resources for sending include logic to transmit one of the variable and the method and the reference to the variable and the method to the network node.
83. The system according to claim 81, wherein the policy definition language comprises a mobile programming language.
84. The system according to claim 83, wherein the mobile programming language comprises JAVA and the packet comprises a JAVA object.
85. The system according to claim 84, wherein a method of encoding the JAVA object comprises serialization.
86. The system according to claim 83, wherein the mobile programming language comprises a scripting programming language.
87. The system according to claim 86, wherein the scripting programming language is one of PERL, TCL, and a shell-type programming language.
88. The system according to claim 80, wherein the resources for receiving include logic to receive one of the packet and a reference to the packet from the active node.
89. The system according to claim 81, wherein the policy definition language supports co-location.
90. The system according to claim 81, wherein the policy definition language supports enforcement by multiple network nodes.
PCT/US1999/028199 1998-12-31 1999-11-29 Dynamic policy management apparatus and method using active network devices WO2000041091A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CA002356982A CA2356982A1 (en) 1998-12-31 1999-11-29 Dynamic policy management apparatus and method using active network devices

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/223,829 1998-12-31
US09/223,829 US6393474B1 (en) 1998-12-31 1998-12-31 Dynamic policy management apparatus and method using active network devices

Publications (2)

Publication Number Publication Date
WO2000041091A1 true WO2000041091A1 (en) 2000-07-13
WO2000041091A9 WO2000041091A9 (en) 2001-10-04

Family

ID=22838127

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/028199 WO2000041091A1 (en) 1998-12-31 1999-11-29 Dynamic policy management apparatus and method using active network devices

Country Status (3)

Country Link
US (1) US6393474B1 (en)
CA (1) CA2356982A1 (en)
WO (1) WO2000041091A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100419574B1 (en) * 2001-09-20 2004-02-19 한국전자통신연구원 A secure method for transferring active packets between active nodes
US7606581B2 (en) 2005-12-13 2009-10-20 Yahoo! Inc. System and method for providing geo-relevant information based on a location
EP2290916A3 (en) * 2001-09-28 2014-04-09 Level 3 CDN International, Inc. Configurable adaptive global traffic control and management
WO2022068793A1 (en) * 2020-09-29 2022-04-07 维沃移动通信有限公司 Relay communication information configuration method and apapratus, and electronic device

Families Citing this family (158)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999053627A1 (en) 1998-04-10 1999-10-21 Chrimar Systems, Inc. Doing Business As Cms Technologies System for communicating with electronic equipment on a network
US6466932B1 (en) * 1998-08-14 2002-10-15 Microsoft Corporation System and method for implementing group policy
US6317837B1 (en) * 1998-09-01 2001-11-13 Applianceware, Llc Internal network node with dedicated firewall
US6158010A (en) 1998-10-28 2000-12-05 Crosslogix, Inc. System and method for maintaining security in a distributed computer network
US7673323B1 (en) 1998-10-28 2010-03-02 Bea Systems, Inc. System and method for maintaining security in a distributed computer network
US7743133B1 (en) * 1999-11-16 2010-06-22 Ricoh Company, Ltd. Remote system usage monitoring with flexible encoding and decoding objects
US7478162B2 (en) * 2000-02-08 2009-01-13 British Telecommunications Public Limited Company Communications network
EP1305909A2 (en) * 2000-03-20 2003-05-02 Pingtel Corporation Method and system for combining configuration parameters for an entity profile
US6973488B1 (en) * 2000-03-31 2005-12-06 Intel Corporation Providing policy information to a remote device
US7062642B1 (en) * 2000-05-20 2006-06-13 Ciena Corporation Policy based provisioning of network device resources
GB0022561D0 (en) * 2000-09-14 2000-11-01 British Telecomm Communications network
US7051069B2 (en) * 2000-09-28 2006-05-23 Bea Systems, Inc. System for managing logical process flow in an online environment
JP2002111729A (en) * 2000-09-29 2002-04-12 Kddi Corp Apparatus for managing policy base managing system and apparatus to be managed
US7606898B1 (en) * 2000-10-24 2009-10-20 Microsoft Corporation System and method for distributed management of shared computers
US7113900B1 (en) 2000-10-24 2006-09-26 Microsoft Corporation System and method for logical modeling of distributed computer systems
US6886038B1 (en) * 2000-10-24 2005-04-26 Microsoft Corporation System and method for restricting data transfers and managing software components of distributed computers
US6907395B1 (en) 2000-10-24 2005-06-14 Microsoft Corporation System and method for designing a logical model of a distributed computer system and deploying physical resources according to the logical model
US6915338B1 (en) 2000-10-24 2005-07-05 Microsoft Corporation System and method providing automatic policy enforcement in a multi-computer service application
US7093288B1 (en) 2000-10-24 2006-08-15 Microsoft Corporation Using packet filters and network virtualization to restrict network communications
US7054930B1 (en) * 2000-10-26 2006-05-30 Cisco Technology, Inc. System and method for propagating filters
US7428583B1 (en) * 2000-10-31 2008-09-23 Intel Corporation Network policy distribution
US20020065874A1 (en) * 2000-11-29 2002-05-30 Andrew Chien Method and process for virtualizing network interfaces
US20040071147A1 (en) * 2001-03-13 2004-04-15 Roadknight Christopher M. Communications network
US20030041050A1 (en) * 2001-04-16 2003-02-27 Greg Smith System and method for web-based marketing and campaign management
US7499948B2 (en) 2001-04-16 2009-03-03 Bea Systems, Inc. System and method for web-based personalization and ecommerce management
US7603403B2 (en) * 2001-05-30 2009-10-13 International Business Machines Corporation Localization in distributed computer environments
US20020188643A1 (en) * 2001-06-07 2002-12-12 International Business Machines Corporation Method and system for a model-based approach to network management
US7620955B1 (en) * 2001-06-08 2009-11-17 Vmware, Inc. High-performance virtual machine networking
US7392546B2 (en) 2001-06-11 2008-06-24 Bea Systems, Inc. System and method for server security and entitlement processing
US7546629B2 (en) * 2002-03-06 2009-06-09 Check Point Software Technologies, Inc. System and methodology for security policy arbitration
US20040107360A1 (en) * 2002-12-02 2004-06-03 Zone Labs, Inc. System and Methodology for Policy Enforcement
US7590684B2 (en) * 2001-07-06 2009-09-15 Check Point Software Technologies, Inc. System providing methodology for access control with cooperative enforcement
FR2827726B1 (en) * 2001-07-19 2003-12-19 Cit Alcatel TAKING INTO ACCOUNT OF INFORMATION RELATING TO THE ENVIRONMENT OF ACTIVE NODES FOR THE DETERMINATION OF THE CODE ASSOCIATED WITH AN ACTIVE APPLICATION
US7243374B2 (en) 2001-08-08 2007-07-10 Microsoft Corporation Rapid application security threat analysis
US7159125B2 (en) * 2001-08-14 2007-01-02 Endforce, Inc. Policy engine for modular generation of policy for a flat, per-device database
US6747365B2 (en) * 2001-08-31 2004-06-08 Motorola, Inc. Vehicle active network adapted to legacy architecture
US20030069949A1 (en) * 2001-10-04 2003-04-10 Chan Michele W. Managing distributed network infrastructure services
US6999998B2 (en) 2001-10-04 2006-02-14 Hewlett-Packard Development Company, L.P. Shared memory coupling of network infrastructure devices
WO2003036609A1 (en) * 2001-10-24 2003-05-01 Bea Systems, Inc. Portal administration tool
US20030093465A1 (en) * 2001-10-31 2003-05-15 International Business Machines Corporation Management strategies for internationalization in a distributed computer environment
US7350226B2 (en) * 2001-12-13 2008-03-25 Bea Systems, Inc. System and method for analyzing security policies in a distributed computer network
US7376734B2 (en) * 2002-02-14 2008-05-20 Panduit Corp. VOIP telephone location system
US7519000B2 (en) * 2002-01-30 2009-04-14 Panduit Corp. Systems and methods for managing a network
US7737134B2 (en) * 2002-03-13 2010-06-15 The Texas A & M University System Anticancer agents and use
US7725560B2 (en) 2002-05-01 2010-05-25 Bea Systems Inc. Web service-enabled portlet wizard
US7496687B2 (en) 2002-05-01 2009-02-24 Bea Systems, Inc. Enterprise application platform
US8140635B2 (en) 2005-03-31 2012-03-20 Tripwire, Inc. Data processing environment change management methods and apparatuses
US7316016B2 (en) * 2002-07-03 2008-01-01 Tripwire, Inc. Homogeneous monitoring of heterogeneous nodes
US20040039803A1 (en) * 2002-08-21 2004-02-26 Eddie Law Unified policy-based management system
US8068479B2 (en) 2002-09-17 2011-11-29 Broadcom Corporation System and method for hardware acceleration in a hybrid wired/wireless local area network
US20040059920A1 (en) * 2002-09-19 2004-03-25 International Business Machines Corporation Security health checking tool
US7448067B2 (en) * 2002-09-30 2008-11-04 Intel Corporation Method and apparatus for enforcing network security policies
FR2845544B1 (en) * 2002-10-03 2005-01-14 Cit Alcatel ACTIVE RESOURCE RESERVATION SUPPORT IN A COMMUNICATION NETWORK
US6850943B2 (en) * 2002-10-18 2005-02-01 Check Point Software Technologies, Inc. Security system and methodology for providing indirect access control
FR2846821B1 (en) * 2002-11-04 2005-03-11 Cit Alcatel DEVICE AND METHOD FOR CONTROLLING NETWORK EQUIPMENT MANAGEMENT DATA, FOR A COMMUNICATIONS NETWORK MANAGEMENT SYSTEM
US20040122967A1 (en) * 2002-12-23 2004-06-24 Bressler Robert D. Method and apparatus for managing packet flows for multiple network services
DE60302863T2 (en) * 2003-01-10 2006-09-14 Alcatel Signaling in controlled active networks
FR2851105B1 (en) * 2003-02-11 2005-06-24 Cit Alcatel ANTICIPATED TREATMENT REQUEST FOR AN ACTIVE ROUTER
US7591000B2 (en) * 2003-02-14 2009-09-15 Oracle International Corporation System and method for hierarchical role-based entitlements
US7653930B2 (en) * 2003-02-14 2010-01-26 Bea Systems, Inc. Method for role and resource policy management optimization
US7483904B2 (en) * 2003-02-20 2009-01-27 Bea Systems, Inc. Virtual repository content model
US7562298B2 (en) 2003-02-20 2009-07-14 Bea Systems, Inc. Virtual content repository browser
US7840614B2 (en) 2003-02-20 2010-11-23 Bea Systems, Inc. Virtual content repository application program interface
US20040167880A1 (en) * 2003-02-20 2004-08-26 Bea Systems, Inc. System and method for searching a virtual repository content
US7415478B2 (en) 2003-02-20 2008-08-19 Bea Systems, Inc. Virtual repository complex content model
US7293286B2 (en) * 2003-02-20 2007-11-06 Bea Systems, Inc. Federated management of content repositories
US7810036B2 (en) 2003-02-28 2010-10-05 Bea Systems, Inc. Systems and methods for personalizing a portal
US20040210623A1 (en) * 2003-03-06 2004-10-21 Aamer Hydrie Virtual network topology generation
US7689676B2 (en) 2003-03-06 2010-03-30 Microsoft Corporation Model-based policy application
US7890543B2 (en) * 2003-03-06 2011-02-15 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US8122106B2 (en) 2003-03-06 2012-02-21 Microsoft Corporation Integrating design, deployment, and management phases for systems
US7730446B2 (en) * 2003-03-12 2010-06-01 Microsoft Corporation Software business process model
US7577934B2 (en) * 2003-03-12 2009-08-18 Microsoft Corporation Framework for modeling and providing runtime behavior for business software applications
US7506273B2 (en) * 2003-03-19 2009-03-17 International Business Machines Corporation Method and system for modifying properties of graphical user interface components
US8136155B2 (en) * 2003-04-01 2012-03-13 Check Point Software Technologies, Inc. Security system with methodology for interprocess communication control
US7496662B1 (en) 2003-05-12 2009-02-24 Sourcefire, Inc. Systems and methods for determining characteristics of a network and assessing confidence
US7317693B1 (en) 2003-05-12 2008-01-08 Sourcefire, Inc. Systems and methods for determining the network topology of a network
CA2527501A1 (en) * 2003-05-28 2004-12-09 Caymas Systems, Inc. Multilayer access control security system
US20060206615A1 (en) * 2003-05-30 2006-09-14 Yuliang Zheng Systems and methods for dynamic and risk-aware network security
US7788726B2 (en) * 2003-07-02 2010-08-31 Check Point Software Technologies, Inc. System and methodology providing information lockbox
JP4338126B2 (en) * 2003-08-06 2009-10-07 インターナショナル・ビジネス・マシーンズ・コーポレーション Network system, server, device management method and program
US20050141431A1 (en) 2003-08-06 2005-06-30 Caveney Jack E. Network managed device installation and provisioning technique
US7349966B2 (en) * 2003-09-30 2008-03-25 International Business Machines Corporation Method, system, and storage medium for providing context-based dynamic policy assignment in a distributed processing environment
US20050262362A1 (en) * 2003-10-10 2005-11-24 Bea Systems, Inc. Distributed security system policies
US20050097352A1 (en) * 2003-10-10 2005-05-05 Bea Systems, Inc. Embeddable security service module
US7594224B2 (en) * 2003-10-10 2009-09-22 Bea Systems, Inc. Distributed enterprise security system
WO2005043937A2 (en) * 2003-10-23 2005-05-12 Panduit Corporation System to guide and monitor the installation and revision of network cabling of an active jack network system
US20050102065A1 (en) * 2003-11-10 2005-05-12 Conversive, Inc. Method and system for programming virtual robots using a template
US7207846B2 (en) * 2003-11-24 2007-04-24 Panduit Corp. Patch panel with a motherboard for connecting communication jacks
US20050188295A1 (en) * 2004-02-25 2005-08-25 Loren Konkus Systems and methods for an extensible administration tool
US7213021B2 (en) * 2004-03-11 2007-05-01 Hitachi, Ltd. Method and apparatus for storage network management
US7657926B1 (en) * 2004-03-19 2010-02-02 3Com Corporation Enabling network communication from role based authentication
US7774601B2 (en) 2004-04-06 2010-08-10 Bea Systems, Inc. Method for delegated administration
US7246138B2 (en) * 2004-04-13 2007-07-17 Bea Systems, Inc. System and method for content lifecycles in a virtual content repository that integrates a plurality of content repositories
US7236990B2 (en) * 2004-04-13 2007-06-26 Bea Systems, Inc. System and method for information lifecycle workflow integration
US7475091B2 (en) * 2004-04-13 2009-01-06 Bea Systems, Inc. System and method for viewing a virtual content repository
US20050251512A1 (en) * 2004-04-13 2005-11-10 Bea Systems, Inc. System and method for searching a virtual content repository
US7240076B2 (en) * 2004-04-13 2007-07-03 Bea Systems, Inc. System and method for providing a lifecycle for information in a virtual content repository
US7580953B2 (en) * 2004-04-13 2009-08-25 Bea Systems, Inc. System and method for schema lifecycles in a virtual content repository that integrates a plurality of content repositories
US7236975B2 (en) * 2004-04-13 2007-06-26 Bea Systems, Inc. System and method for controlling access to anode in a virtual content repository that integrates a plurality of content repositories
US20050228784A1 (en) * 2004-04-13 2005-10-13 Bea Systems, Inc. System and method for batch operations in a virtual content repository
US7236989B2 (en) 2004-04-13 2007-06-26 Bea Systems, Inc. System and method for providing lifecycles for custom content in a virtual content repository
JP2005310243A (en) * 2004-04-20 2005-11-04 Seiko Epson Corp Memory controller, semiconductor integrated circuit apparatus, semiconductor apparatus, microcomputer, and electronic equipment
CN101099397B (en) * 2004-05-03 2012-02-08 泛达公司 Powered patch panel
US7617304B2 (en) * 2004-05-10 2009-11-10 International Business Machines Corporation Method, apparatus, computer program product and web-enabled service providing dynamically adjustable policies
CA2571654A1 (en) * 2004-06-22 2005-12-29 British Telecommunications Public Limited Company Wireless ad hoc network
US9077611B2 (en) * 2004-07-07 2015-07-07 Sciencelogic, Inc. Self configuring network management system
US9537731B2 (en) * 2004-07-07 2017-01-03 Sciencelogic, Inc. Management techniques for non-traditional network and information system topologies
US7539681B2 (en) * 2004-07-26 2009-05-26 Sourcefire, Inc. Methods and systems for multi-pattern searching
US7496962B2 (en) * 2004-07-29 2009-02-24 Sourcefire, Inc. Intrusion detection strategies for hypertext transport protocol
BRPI0514570A (en) * 2004-08-24 2008-06-17 Panduit Corp network management system, and method for managing a network
US20060048210A1 (en) * 2004-09-01 2006-03-02 Hildre Eric A System and method for policy enforcement in structured electronic messages
US20060059548A1 (en) * 2004-09-01 2006-03-16 Hildre Eric A System and method for policy enforcement and token state monitoring
US20060092921A1 (en) * 2004-10-12 2006-05-04 Rajesh Narayanan Configuration for using open programming languages to dynamically configure packet processing rules
US20080104232A1 (en) * 2005-01-12 2008-05-01 Haim Engler System And Method For Preventing Unauthorized Bridging To A Computer Network
CN100411350C (en) * 2005-03-01 2008-08-13 联想(北京)有限公司 Mixed policy loading system and method for realizing policy management
US7797147B2 (en) 2005-04-15 2010-09-14 Microsoft Corporation Model-based system monitoring
US8489728B2 (en) * 2005-04-15 2013-07-16 Microsoft Corporation Model-based system monitoring
US7802144B2 (en) * 2005-04-15 2010-09-21 Microsoft Corporation Model-based system monitoring
US7647621B2 (en) * 2005-04-22 2010-01-12 Mcafee, Inc. System, method and computer program product for applying electronic policies
US8549513B2 (en) 2005-06-29 2013-10-01 Microsoft Corporation Model-based virtual system provisioning
US7774822B2 (en) * 2005-08-03 2010-08-10 Novell, Inc. Autonomous policy discovery
US7340325B2 (en) * 2005-08-03 2008-03-04 Texas Instruments Incorporated Priority powerdown system and method for power distribution systems
WO2007021823A2 (en) 2005-08-09 2007-02-22 Tripwire, Inc. Information technology governance and controls methods and apparatuses
US10318894B2 (en) * 2005-08-16 2019-06-11 Tripwire, Inc. Conformance authority reconciliation
US7917537B2 (en) * 2005-09-26 2011-03-29 Oracle International Corporation System and method for providing link property types for content management
US7818344B2 (en) * 2005-09-26 2010-10-19 Bea Systems, Inc. System and method for providing nested types for content management
US7953734B2 (en) 2005-09-26 2011-05-31 Oracle International Corporation System and method for providing SPI extensions for content management system
US7752205B2 (en) * 2005-09-26 2010-07-06 Bea Systems, Inc. Method and system for interacting with a virtual content repository
US7941309B2 (en) 2005-11-02 2011-05-10 Microsoft Corporation Modeling IT operations/policies
US7733803B2 (en) * 2005-11-14 2010-06-08 Sourcefire, Inc. Systems and methods for modifying network map attributes
US8046833B2 (en) * 2005-11-14 2011-10-25 Sourcefire, Inc. Intrusion event correlation with network discovery information
GB0613923D0 (en) * 2006-07-13 2006-08-23 Ibm A method, apparatus and software for managing processing for a plurality of processors
US7948988B2 (en) * 2006-07-27 2011-05-24 Sourcefire, Inc. Device, system and method for analysis of fragments in a fragment train
US7701945B2 (en) 2006-08-10 2010-04-20 Sourcefire, Inc. Device, system and method for analysis of segments in a transmission control protocol (TCP) session
US8463852B2 (en) 2006-10-06 2013-06-11 Oracle International Corporation Groupware portlets for integrating a portal with groupware systems
CA2672908A1 (en) * 2006-10-06 2008-04-17 Sourcefire, Inc. Device, system and method for use of micro-policies in intrusion detection/prevention
US8102860B2 (en) * 2006-11-30 2012-01-24 Access Layers Ltd. System and method of changing a network designation in response to data received from a device
US8069352B2 (en) 2007-02-28 2011-11-29 Sourcefire, Inc. Device, system and method for timestamp analysis of segments in a transmission control protocol (TCP) session
US8127353B2 (en) * 2007-04-30 2012-02-28 Sourcefire, Inc. Real-time user awareness for a computer network
US7711000B2 (en) * 2007-08-06 2010-05-04 At&T Intellectual Property I, L.P. System for configuring network elements
US8474043B2 (en) * 2008-04-17 2013-06-25 Sourcefire, Inc. Speed and memory optimization of intrusion detection system (IDS) and intrusion prevention system (IPS) rule processing
US8914341B2 (en) 2008-07-03 2014-12-16 Tripwire, Inc. Method and apparatus for continuous compliance assessment
US8521775B1 (en) * 2008-08-20 2013-08-27 At&T Mobility Ii Llc Systems and methods for implementing a master policy repository in a policy realization framework
US9712331B1 (en) 2008-08-20 2017-07-18 At&T Mobility Ii Llc Systems and methods for performing conflict resolution and rule determination in a policy realization framework
JP5237034B2 (en) 2008-09-30 2013-07-17 株式会社日立製作所 Root cause analysis method, device, and program for IT devices that do not acquire event information.
US8272055B2 (en) 2008-10-08 2012-09-18 Sourcefire, Inc. Target-based SMB and DCE/RPC processing for an intrusion detection system or intrusion prevention system
US9104617B2 (en) * 2008-11-13 2015-08-11 International Business Machines Corporation Using accelerators in a hybrid architecture for system checkpointing
CA2789824C (en) 2010-04-16 2018-11-06 Sourcefire, Inc. System and method for near-real time network attack detection, and system and method for unified detection via detection routing
US8433790B2 (en) 2010-06-11 2013-04-30 Sourcefire, Inc. System and method for assigning network blocks to sensors
US8671182B2 (en) 2010-06-22 2014-03-11 Sourcefire, Inc. System and method for resolving operating system or service identity conflicts
EP2630749B1 (en) 2010-10-22 2019-01-30 Hewlett-Packard Enterprise Development LP Distributed network instrumentation system
US8601034B2 (en) 2011-03-11 2013-12-03 Sourcefire, Inc. System and method for real time data awareness
EP2721485A4 (en) 2011-06-16 2014-12-10 Hewlett Packard Development Co System and method for policy generation
US10044760B2 (en) * 2013-12-04 2018-08-07 Hewlett Packard Enterprise Development Lp Policy rule based on a requested behavior
US10505818B1 (en) 2015-05-05 2019-12-10 F5 Networks. Inc. Methods for analyzing and load balancing based on server health and devices thereof
US10469394B1 (en) 2016-08-01 2019-11-05 F5 Networks, Inc. Methods for configuring adaptive rate limit based on server data and devices thereof
US10673704B2 (en) * 2017-02-15 2020-06-02 Arista Networks, Inc. System and method of dynamic hardware policer allocation

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5426421A (en) * 1986-04-21 1995-06-20 Gray; William F. Method of automatically managing a network or remote function-excecuting apparatus from a programable network control center
US5608720A (en) * 1993-03-09 1997-03-04 Hubbell Incorporated Control system and operations system interface for a network element in an access system
US5870561A (en) * 1996-03-15 1999-02-09 Novell, Inc. Network traffic manager server for providing policy-based recommendations to clients
US5872928A (en) * 1995-02-24 1999-02-16 Cabletron Systems, Inc. Method and apparatus for defining and enforcing policies for configuration management in communications networks
US5889953A (en) * 1995-05-25 1999-03-30 Cabletron Systems, Inc. Policy management and conflict resolution in computer networks
US5893083A (en) * 1995-03-24 1999-04-06 Hewlett-Packard Company Methods and apparatus for monitoring events and implementing corrective action in a computer system
US5905900A (en) * 1997-04-30 1999-05-18 International Business Machines Corporation Mobile client computer and power management architecture
US6000045A (en) * 1996-05-28 1999-12-07 Cabletron Systems, Inc. Method and apparatus for inter-domain alarm correlation

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4881263A (en) 1987-09-25 1989-11-14 Digital Equipment Corporation Apparatus and method for secure transmission of data over an unsecure transmission channel
US5577209A (en) 1991-07-11 1996-11-19 Itt Corporation Apparatus and method for providing multi-level security for communication among computers and terminals on a network
US5606668A (en) 1993-12-15 1997-02-25 Checkpoint Software Technologies Ltd. System for securing inbound and outbound data packet flow in a computer network
US5740375A (en) 1996-02-15 1998-04-14 Bay Networks, Inc. Forwarding internetwork packets by replacing the destination address

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5426421A (en) * 1986-04-21 1995-06-20 Gray; William F. Method of automatically managing a network or remote function-excecuting apparatus from a programable network control center
US5608720A (en) * 1993-03-09 1997-03-04 Hubbell Incorporated Control system and operations system interface for a network element in an access system
US5872928A (en) * 1995-02-24 1999-02-16 Cabletron Systems, Inc. Method and apparatus for defining and enforcing policies for configuration management in communications networks
US5893083A (en) * 1995-03-24 1999-04-06 Hewlett-Packard Company Methods and apparatus for monitoring events and implementing corrective action in a computer system
US5889953A (en) * 1995-05-25 1999-03-30 Cabletron Systems, Inc. Policy management and conflict resolution in computer networks
US5870561A (en) * 1996-03-15 1999-02-09 Novell, Inc. Network traffic manager server for providing policy-based recommendations to clients
US6000045A (en) * 1996-05-28 1999-12-07 Cabletron Systems, Inc. Method and apparatus for inter-domain alarm correlation
US5905900A (en) * 1997-04-30 1999-05-18 International Business Machines Corporation Mobile client computer and power management architecture

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AGHA G. A., ET AL.: "MODULAR HETEROGENEOUS SYSTEM DEVELOPMENT: A CRITICAL ANALYSIS OF JAVA.", HETEROGENEOUS INTERNETWORKING, XX, XX, 1 March 1998 (1998-03-01), XX, pages ABSTRACT + 144 - 155., XP002923836 *
MAZUMDAR S., BRADY S., LEVINE D. W.: "DESIGN OF PROTOCOL INDEPENDENT MANAGEMENT AGENT TO SUPPORT SNMP AND CMIP QUERIES.", INTEGRATED NETWORK MANAGEMENT, III PROCEEDINGS 3RDINTERNATIONAL SYMPOSIUM, 18-23 APRIL 1993, AMSTERDAM, NL, vol. C12., 1 January 1993 (1993-01-01), NL, pages 377 - 388., XP000749257 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100419574B1 (en) * 2001-09-20 2004-02-19 한국전자통신연구원 A secure method for transferring active packets between active nodes
EP2290916A3 (en) * 2001-09-28 2014-04-09 Level 3 CDN International, Inc. Configurable adaptive global traffic control and management
US9203636B2 (en) 2001-09-28 2015-12-01 Level 3 Communications, Llc Distributing requests across multiple content delivery networks based on subscriber policy
US10116738B2 (en) 2001-09-28 2018-10-30 Level 3 Communications, Llc Detecting anomalous conditions in a name server network
US10911531B2 (en) 2001-09-28 2021-02-02 Level 3 Communications, Llc Multi-tiered server network
US7606581B2 (en) 2005-12-13 2009-10-20 Yahoo! Inc. System and method for providing geo-relevant information based on a location
WO2022068793A1 (en) * 2020-09-29 2022-04-07 维沃移动通信有限公司 Relay communication information configuration method and apapratus, and electronic device

Also Published As

Publication number Publication date
US6393474B1 (en) 2002-05-21
WO2000041091A9 (en) 2001-10-04
CA2356982A1 (en) 2000-07-13

Similar Documents

Publication Publication Date Title
US6393474B1 (en) Dynamic policy management apparatus and method using active network devices
US6553377B1 (en) System and process for maintaining a plurality of remote security applications using a modular framework in a distributed computing environment
US8443087B2 (en) System for managing sessions and connections in a network
US5764915A (en) Object-oriented communication interface for network protocol access using the selected newly created protocol interface object and newly created protocol layer objects in the protocol stack
US5938733A (en) Object oriented representation of network requests in a client server model
EP0501610B1 (en) Object oriented distributed computing system
US6023721A (en) Method and system for allowing a single-user application executing in a multi-user environment to create objects having both user-global and system global visibility
EP0797798B1 (en) Method and apparatus to update or change a network directory
US5809235A (en) Object oriented network event management framework
US7984457B2 (en) Software methods of an optical network apparatus with multiple multi-protocol optical networking modules having packet filtering resources
US6950874B2 (en) Method and system for management of resource leases in an application framework system
US6523065B1 (en) Method and system for maintenance of global network information in a distributed network-based resource allocation system
US7519598B2 (en) Prioritizing network management traffic
US6976065B2 (en) Mechanism for reconfiguring a server without incurring server down time
US8010973B2 (en) Class loader for managing a network
EP0794490A2 (en) Dynamic execution unit management for high performance server system
US5226172A (en) Methods for configuring and performing 3-level password searching in a distributed computer system
WO2003090108A1 (en) A network system having a virtual-service-module
EP1656800B1 (en) System architecture method and computer program product for managing telecommunication networks
JP2002505553A (en) Diversity token based control
EP1479208B1 (en) Policy-enabled contract-based management of network operational support systems
WO1999034557A1 (en) Method and system for software version management in a network management system
US20030055965A1 (en) User-defined units of context in a distributed computer environment
EP3843361A1 (en) Resource configuration method and apparatus, and storage medium
EP1479192A2 (en) Method and apparatus for managing configuration of a network

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA GB JP

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
ENP Entry into the national phase

Ref document number: 2356982

Country of ref document: CA

Ref country code: CA

Ref document number: 2356982

Kind code of ref document: A

Format of ref document f/p: F

AK Designated states

Kind code of ref document: C2

Designated state(s): CA GB JP

AL Designated countries for regional patents

Kind code of ref document: C2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

COP Corrected version of pamphlet

Free format text: PAGES 1/5-5/5, DRAWINGS, REPLACED BY NEW PAGES 1/5-5/5; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE

122 Ep: pct application non-entry in european phase