Abstract:
An apparatus, system, and method are disclosed for managing policies on a computer having a foreign operating system. Policies may specify hardware or software configuration information. Policies on a first computer with a native operating system are translated into configuration information usable on a second computer having a foreign operating system. In an embodiment, a translator manager manages the association between the policy on the first computer and the translator on the second computer. Computer management complexity and information technology management costs are reduced by centralizing computer management on the native operating system. Further reductions in management complexity are realized when the present invention is used in conjunction with network directory services.

Description:
RELATED APPLICATIONS 
       [0001]    This application claims priority to other applications as set forth in the Application Data Sheet filed in this application. Each of the patents and/or applications listed on the ADS is hereby incorporated by reference. 
       BACKGROUND 
       [0002]    1. Field of the Invention 
         [0003]    This invention relates to managing groups of computers and more particularly relates to managing policies for configuring hardware or software settings on groups of computers with a plurality of operating systems. 
         [0004]    2. Description of the Related Art 
         [0005]    A major concern of information technology management in corporations and other organizations has been balancing the complexity associated with managing large numbers of computers with the needs of individual users as they try to accomplish their tasks. A heterogeneous set of computer hardware, operating systems, and application software creates complexity and increased costs, but various combinations of hardware, operating systems, and software provide technical advantages when used as user workstations, departmental servers, corporate infrastructure equipment, and the like. User workstations are particularly difficult to manage when various needs and preferences of individual users are accommodated. For example, an engineer may require the use of a CAD system that runs only on the UNIX operating system, where other corporate users may be standardized on the MICROSOFT WINDOWS operating system and associated applications. Many similar compatibility issues exist among current computer systems. 
         [0006]    One factor that adds to the complexity of managing various operating systems is that different operating systems employ different techniques for setting configuration information. For example, MICROSOFT WINDOWS and applications that run on Windows typically use a database, called the registry, to store configuration information. Computers running the UNIX operating system or derivatives thereof such as LINUX typically store configuration information in plain text files in particular locations in the file system directory. Information technology managers within an organization that uses heterogeneous operating systems typically institute separate sets of management procedures and standards for each operating system used in the organization. 
         [0007]    One component of prior art solutions to the problem of managing large numbers of computers and users is the use of policies. Policies are used to set configurable options associated with an operating system or application program for a group of computer users. For example, a word processing program may have an option to select an American English dictionary or a British English dictionary. By creating one policy for its users in the United States and another policy for its users in England, an organization can set the appropriate option for all users without configuring each user&#39;s computer individually. 
         [0008]    Another component of prior art solutions to the problem of managing groups of computers and users is the use of network directory services. Directory services provide an infrastructure to store and access information about network-based entities, such as applications, files, printers, and people. Directory services provide a consistent way to name, describe, locate access, manage, and secure information about these resources. The directories associated with directory services are typically hierarchical structures such as a tree with each node in the hierarchy capable of storing information in a unit often referred to as a container. Enterprises may use directory servers and directory services to centrally manage data that is accessed from geographically dispersed locations. 
         [0009]    For example, corporations typically create network directory trees that mirror their corporate organizations. Information about individual employees, such as their employee number, telephone number, and hire date may be stored in a user object corresponding to each user in the directory tree. An organizational unit container representing each department may contain the user objects associated with each employee in the department. Organizational unit objects associated with each corporate division may contain the department organizational unit objects associated with each department in the division. Finally, an organization container representing the corporation as a whole may contain the company&#39;s division organizational unit objects. 
         [0010]    Combining the use of policies and directory services facilitates management of groups of computers and users. Policies may be associated with the various containers in the directory services tree to store associated configuration information at the organization, division, or departmental level. For example, a policy may be associated with the Accounts Receivable container in a corporate organization to set options for the accounting program used in that department. Exceptions to the policy can be managed on an individual level, or by creating a group object and associating a policy with the group. Suppose, for example, that all employees in an organization use a software application with a particular set of configuration options, but department managers require a different set of options. A policy could be created with the basic set of options and associated with the organization container. A separate policy with the configuration options for managers could be created and assigned to a Managers user group object. 
         [0011]    Using policies and directory services in combination has proven efficient in homogeneous operating system environments. Prior art computer management systems use policies targeted toward a specific operating system, referred to as the native operating system. From the point of view of prior art policy and policy management systems, other operating systems are considered to be foreign operating systems. However, the operating requirements of many organizations require information technology managers to manage multiple operating systems. The efficiencies associated with policies and directory services have not been realized in heterogeneous operating system environments. Since different operating systems use different approaches to setting configuration information, a policy associated with a directory services container may be applied to users of a native operating system that provided the policies, but there may not be a method for applying the policy for users of a foreign operating system. 
         [0012]    From the foregoing discussion, it should be apparent that a need exists for an apparatus, system, and method that extend the use of policies to manage configuration information on computers having operating systems that are foreign to the policy creation and management environment. Beneficially, such an apparatus, system, and method would control cost and complexity associated with management of computers with heterogeneous operating systems within an organization. The benefits are multiplied when network directory services are used in conjunction with policies. 
       SUMMARY 
       [0013]    The present invention has been developed in response to the present state of the art, and in particular, in response to the problems and needs in the art that have not yet been fully solved by currently available policy management systems. Accordingly, the present invention provides an apparatus, system, and method for managing policies on a computer having a foreign operating system that overcome many or all of the above-discussed shortcomings in the art. 
         [0014]    In one aspect of the present invention, a method for managing policies on a computer having a foreign operating system includes providing a policy on a first computer with a native operating system, receiving the policy on a second computer with a foreign operating system, and translating the policy to configuration information usable on the second computer. In one embodiment, the method includes receiving the policy on the second computer at workstation start-up. The method also may include updating the policy at user login. These embodiments facilitate obtaining the current policy at the time they are typically needed by operating systems. 
         [0015]    In further embodiments, the method includes polling the first computer at periodic intervals for changes to the policy. In these embodiments, configuration information usable on the second computer is updated to reflect changes in policy on the first computer, to keep the configuration information and policy closely synchronized. The method may also con include applying configuration information associated with directory services containers and objects. For example, a policy associated with a directory services organization container may be translated to configuration information that may then be applied to all users in the organization container. 
         [0016]    In another aspect of the present invention, an apparatus to manage policies on a computer having a foreign operating system includes a policy on a first computer having a native operating system, a policy translator that translates the policy to configuration information usable on a second computer having foreign operating system, and a translator manager that manages the association between the policy on the first computer and the translator on the second computer. The apparatus, in one embodiment, is configured to manage configuration information usable on a second computer having a foreign operating system by means of policies on a first computer having a native operating system. A translator manager manages the association between the policy on the first computer, and a policy translator on the second computer. 
         [0017]    The apparatus is further configured, in one embodiment, to include policies associated with network directory services containers and objects. Policies may be associated, for example, with organization containers, organizational unit containers, and user objects, facilitating the configuration of hardware or software information for groups of computer users at a corporate, department, or individual level. 
         [0018]    Various elements of the present invention may be combined into a system arranged to carry out the functions or steps presented above. In one embodiment, the system includes two computers, the first having a native operating system and the second having a foreign operating system. In particular, the system, in one embodiment, includes a directory services server and database, a communications network, a policy, a policy editor, a policy template, a translator manager, and a policy translator. 
         [0019]    Reference throughout this specification to features, advantages, or similar language does not imply that all of the features and advantages that may be realized with the present invention should be or are in any single embodiment of the invention. Rather, language referring to the features and advantages is understood to mean that a specific feature, advantage, or characteristic described in connection with an embodiment is included in at least one embodiment of the present invention. Thus, discussion of the features and advantages, and similar language, throughout this specification may, but do not necessarily, refer to the same embodiment. 
         [0020]    Furthermore, the described features, advantages, and characteristics of the invention may be combined in any suitable manner in one or more embodiments. One skilled in the relevant art will recognize that the invention can be practiced without one or more of the specific features or advantages of a particular embodiment. In other instances, additional features and advantages may be recognized in certain embodiments that may not be present in all embodiments of the invention. 
         [0021]    These features and advantages of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth hereinafter. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0022]    In order that the advantages of the invention will be readily understood, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments that are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered to be limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings, in which: 
           [0023]      FIG. 1  is a schematic block diagram depicting one embodiment of a typical prior art networking environment wherein the present invention may be deployed; 
           [0024]      FIG. 2  is a schematic block diagram illustrating one embodiment of a prior art policy management apparatus; 
           [0025]      FIG. 3  is a schematic block diagram illustrating one embodiment of a policy management system in accordance with the present invention; 
           [0026]      FIG. 4  is a schematic block diagram illustrating another embodiment of a policy management system in accordance with the present invention; 
           [0027]      FIG. 5  is a schematic flow chart diagram illustrating one embodiment of a provide translator method in accordance with the present invention; 
           [0028]      FIG. 6  is a schematic flow chart diagram illustrating one embodiment of a policy translation method in accordance with the present invention; and 
           [0029]      FIG. 7  is a text diagram illustrating one embodiment of policy translation example data in accordance with the present invention. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0030]    Many of the functional units described in this specification have been labeled as modules, in order to more particularly emphasize their implementation independence. For example, a module may be implemented as a hardware circuit comprising custom VLSI circuits or gate arrays, off-the-shelf semiconductors such as logic chips, transistors, or other discrete components. A module may also be implemented in programmable hardware devices such as field programmable gate arrays, programmable array logic, programmable logic devices or the like. 
         [0031]    Modules may also be implemented in software for execution by various types of processors. An identified module of executable code may, for instance, comprise one or more physical or logical blocks of computer instructions which may, for instance, be organized as an object, procedure, or function. Nevertheless, the executables of an identified module need not be physically located together, but may comprise disparate instructions stored in different locations which, when joined logically together, comprise the module and achieve the stated purpose for the module. 
         [0032]    Indeed, a module of executable code could be a single instruction, or many instructions, and may even be distributed over several different code segments, among different programs, and across several memory devices. Similarly, operational data may be identified and illustrated herein within modules, and may be embodied in any suitable form and organized within any suitable type of data structure. The operational data may be collected as a single data set, or may be distributed over different locations including over different storage devices, and may exist, at least partially, merely as electronic signals on a system or network. 
         [0033]    Reference throughout this specification to “one embodiment,” “an embodiment,” or similar language means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment,” “in an embodiment,” and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment. 
         [0034]    Furthermore, the described features, structures, or characteristics of the invention may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided, such as examples of programming, software modules, user selections, network transactions, database queries, database structures, hardware modules, hardware circuits, hardware chips, etc., to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or with other methods, components, materials, and so forth. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention. 
         [0035]      FIG. 1  depicts one embodiment of a typical prior art networking environment  100  that demonstrates the issues regarding managing currently deployed enterprises. As depicted, the networking environment  100  includes one or more servers  110 , a network  120 , and one or more networked computers  130 . The components of the networking environment  100  may reside at a single site or may be dispersed over multiple sites. 
         [0036]    Some of the servers  110  may be directory servers or domain servers which can function as a registry for resources and users of the networking environment  100 . The network  120  may include routers, bridges, hubs, gateways, or the like which facilitate communications among the components of the networking environment  100 . Some of the networked computers  130  may execute legacy applications and operating systems that are unable to integrate with the servers  110  that are directory servers. 
         [0037]    Some of the networked computers  130  may be used to run utility applications to manage the servers  110  that are directory servers and features of the directory service that runs on the servers  110 . These networked computers  130  that manage the directory service typically do not include functionality to manage foreign operating systems that may run on other networked computers  130 . 
         [0038]      FIG. 2  is a schematic block diagram illustrating one embodiment of a prior art policy management apparatus  200 . The prior art policy management apparatus  200  includes a policy template  210 , a policy editor  220 , a first computer  260  having a native operating system, and a second computer  270  having the same native operating system. The first computer  260  includes a policy manager  230   a , a policy-related file  240 , and a configuration information database  250   a . The second computer  270  includes a policy manager  230   b , and a configuration information database  250   b . This apparatus is configured to efficiently manage a group of computers having like operating systems. 
         [0039]    An administrative user may use a policy template  210  and a policy editor  220  to control the operation of the policy manager  230   a . The policy template  210  and the policy editor  220  may be located on the first computer  260  or may be on another computer. The policy manager  230   a  may use a policy-related file  240  and settings (i.e. information) in a configuration information database  250   a  to record the policy settings created by the administrative user. 
         [0040]    As a means for efficiently managing a group of computers with like operating systems, a policy manager  230   b  in a second computer  270  may be configured to obtain policy settings by reading from the policy-related file  240  or the configuration information con database  250   a  on the first computer  260 , as represented by the dashed lines  233  and  236  in  FIG. 2 . The policy manager  230   b  may then make settings to the configuration information database  250   b  on the second computer  270 . 
         [0041]    The policy may include configuration information that applies specifically to the second computer  270 , or to a specific user or any of a group of users of the second computer  270 . Configuration information may be associated with network directory services containers and objects. For example, by associating configuration information with an organizational unit container, the behavior of an application can be controlled for all users in a company department. Configuration information maybe assigned to containers and objects at various levels in a directory services hierarchy, facilitating management of hardware and software configuration information at various organizational, geographical, or individual levels. For example, application configuration information may be associated with an organization container, organizational unit container, and user object in a network directory services hierarchy, resulting in application configuration options being assigned at corporate, departmental, and individual levels in an organization. 
         [0042]      FIG. 3  is a schematic block diagram illustrating one embodiment of a policy management system  300  in accordance with the present invention. The depicted policy management system  300  includes a network  310 , a first computer  320 , and a second computer  340 . The first computer  320  includes a policy template  322 , a policy editor  324 , a policy manager  230 , a policy-related file  326 , and a configuration information database  250 . The depicted second computer  340  includes a translator manager  342 , a translator  344 , and a policy-related file  346 . The policy management system  300  facilitates management of a group of computers with multiple operating systems by using the first computer  320  as a reference computer from which configuration information are replicated to other computers in a workgroup, or the like. The policy management system  300  depicted in  FIG. 3  represents a peer-oriented embodiment of the present invention, where the first computer  320  and the second computer  340  are workstations, and no server is required. 
         [0043]    An administrative user may use a policy template  322  and policy editor  324  to control the operation of the policy manager  230 . The policy manager  230  may use a policy-related file  326  and settings or information in a configuration information database  250  to record the policy settings created by the administrative user. The translation manager  342  in the second computer  340  may be configured to obtain policy settings by reading from the policy-related file  326  and the configuration information database  250  on the first computer  320 , as represented by the dashed lines  333  and  336  in  FIG. 3 . The translation manager  342  then passes the policy settings obtained from the first computer  320  to the translator  344  to translate to configuration information that may be stored in a policy-related file  346  on the second computer  340 . In some embodiments, the translator  344  modifies configuration information stored in a plurality of files. The policy-related file  346  may not be exclusively dedicated to storing policy information. For example, the policy-related file  346  may contain non-policy data or code. In some embodiments, the operating system on the first computer  320  may provide an event notification system that notifies the translation manager  342  that changes have been made to the policy-related file  326  or the configuration information database  250 . 
         [0044]      FIG. 4  is schematic block diagram illustrating another embodiment of a policy management system  400  in accordance with the present invention. The policy management system  400  includes a server  410 , network  310 , a first computer  320 , and a second computer  340 . The server  410  includes a policy-related file  413 , and a configuration information database  416 . The first computer  320  includes a policy template  322 , a policy editor  324 , and a policy manager  230 . The second computer  340  includes a translation manager  342 , a translator  344 , and a policy-related file  346 . The policy management system  400  facilitates management of a group of computers having multiple operating systems by replicating configuration information from a server  410 , such as a directory server. The policy management system  400  depicted in  FIG. 4  represents a client-server-oriented embodiment of the present invention, where configuration information are stored on a server  410  and replicated to client workstations represented by the second computer  340 . 
         [0045]    As with the embodiment depicted in  FIG. 3 , an administrative user may use a policy template  322  and policy editor  324  to control the operation of the policy manager  230 . In this embodiment, however, the policy manager  230  may use a policy-related file  413  and settings in a configuration information database  416  to record the policy settings created by the administrative user on a server  410 . The translation manager  342  in the second computer  340  may be configured to obtain policy settings by reading from the policy-related file  413  and the configuration information database  416  on the server  410 , as represented by the dashed lines  433  and  436  in  FIG. 4 . The translation manager  342  then passes the policy settings obtained from the first computer  320  to the translator  344  to translate to configuration information that may be stored in a policy-related file  346  on the second computer  340 . 
         [0046]    The following schematic flow chart diagrams that follow are generally set forth as logical flow chart diagrams. As such, the depicted order and labeled steps are indicative of one embodiment of the presented method. Other steps, methods, and orderings may be conceived that are equivalent in function, logic, or effect to one or more steps, or portions thereof, of the illustrated method. 
         [0047]      FIG. 5  is a schematic flow chart diagram illustrating one embodiment of a provide translator method  500  in accordance with the present invention. The provide translator method  500  includes a provide policy template step  520 , and a provide policy translator step  530 . The provide translator method  500  provides modules that facilitate translation of policy settings from a native operating system to a foreign operating system. 
         [0048]    The provide policy template step  520  provides a policy template such as the policy template  322  to be used in conjunction with the policy editor  324 , or the like. As detailed in  FIG. 3  and elsewhere, the policy template  322  constrains policy editing, such that policies created by the policy editor  324  conform to requirements of the first computer  320 . For example, the policy template  322  may ensure that configuration information car delivered to the policy manager  230  conform to a required syntax, or that numerical values fall within a meaningful range. The provide policy template step  520  may provide a plug-in module to an operating system utility program. In some embodiments, the provide policy template step  520  provides a wizard program module that guides a user through the process of creating a policy. 
         [0049]    The provide policy translator step  530  provides a translator  344  that translates configuration information from the first computer  320  having a native operating system to the second computer  340  having a foreign operating system. The provide policy translator step  530  may place the translator  344  in a file system directory known to the translator manager  342 . In some embodiments, the provide policy translator step  530  may register the file system location of the translator  344  with the translator manager  342 . Upon completion of the provide policy translator step  530 , the provide translator method  500  ends  540 . 
         [0050]      FIG. 6  is a schematic flow chart diagram illustrating one embodiment of a policy translation method  600  in accordance with the present invention. The policy translation method  600  includes a provide policy step  620 , a receive policy step  630 , a translate policy step  640 , an update configuration step  650 , an update on start-up test  655 , a wait for start-up step  660 , an update on login test  665 , a wait for login step  670 , a refresh time test  675 , and a terminate test  685 . The policy translation method  600  translates policies on a first computer  320  having a native operating system to policies for a second computer  340  having a foreign operating system. 
         [0051]    The provide policy step  620  provides a policy on the first computer  320  having a native operating system. The provide policy step  620  may be performed by an administrative user using a policy template  322 , policy editor  324 , and/or policy manager  230 . The policy may be contained in a policy-related file  326  and a configuration information database  250  on the first computer  320 . In some embodiments, the policy may be contained in a policy-related file  413  and a configuration information database  416  on a server  410 , such as a directory server. 
         [0052]    The receive policy step  630  receives the policy on the second computer  340  having a foreign operating system. The receive policy step  630  may be performed by a translator manager  342  on the second computer  340 . The translator manager  342  may copy the policy from a policy-related file  326  and a configuration information database  250  on the first computer  320 . In other embodiments, the translator manager  342  may copy the policy from a policy-related file  413  and a configuration information database  416  on a server  410 , such as a directory server. The translator manager  342  transmits the policy to a translator  344 . 
         [0053]    The translate policy step  640  translates configuration information from the first computer  320  having a native operating system to the second computer  340  having a foreign operating system. The translate policy step  740  may be performed by a translator  344  on the second computer  340 . The translator  344  receives the policy from the translator manager  342  and translates the policy to foreign operating system configuration information used by the second computer  340 . 
         [0054]    The update configuration step  650  applies the configuration information translated by the translator  344 . The update configuration step  650  may be performed by a translator  344  on the second computer  340  having a foreign operating system. After translating the policy to foreign operating system configuration information, the translator  344  applies the policy by saving the configuration information in a policy-related file  346 . In some embodiments, configuration information may be saved in a plurality of policy-related files  346 . 
         [0055]    The update on start-up test  655  determines whether the policy is to be applied at workstation start-up. A policy may contain configuration information for all users of the second computer  340 . Many operating systems apply configuration information at workstation start-up. Updating configuration information on the second computer  340  during workstation start-up makes the updated settings available for application during the workstation start-up process. If the policy is to be updated at workstation start-up, the policy translation method  600  continues with the wait for start-up step  660 , otherwise the policy translation method  600  continues with the update on login test  665 . 
         [0056]    The wait for start-up step  660  waits for the second computer  340  to reach a point in the workstation start-up process where computer resources are available for the second computer  340  to receive the policy from the first computer  320 . The wait for start-up step  660  includes setting a configuration setting that causes the policy translation method  600  to continue with the receive policy step  630  at workstation start-up. The wait for start-up step  660  facilitates receiving the current version of the policy so that configuration information may be applied to the second computer  340  at workstation start-up, when many operating systems typically read configuration information. Updating a policy at workstation start-up is particularly advantageous to workstation-specific configuration information. 
         [0057]    The update on login test  665  determines whether the policy is to be applied at user login. A policy may contain configuration information that applies to a specific user or any of a group of users of the second computer  340 . In some embodiments, configuration information may be associated with network directory services containers and objects. For example, by associating configuration information with an organizational unit container, the behavior of an application can be controlled for all users in a company department. Updating configuration information on the second computer  340  makes the current version of the settings available for application for the user logging in. If the policy is to be updated at user login, the policy translation method  600  continues with the wait for login method  670 , otherwise the policy translation method  600  continues with the refresh time test  675 . 
         [0058]    The wait for login step  670  waits for a user to log in to the second computer  340  to receive the policy from the first computer  320 . The wait for login step  670  includes setting a configuration setting that causes the policy translation method  700  to continue with the receive policy step  630  at user login. The wait for login step  670  facilitates receiving the current version of the policy so that configuration information may be applied to the second computer  340  at user login, when many operating systems typically read configuration information. Updating a policy at user login is particularly advantageous to user-specific configuration information. 
         [0059]    The refresh time test  675  determines whether it is time to check for updates to the policy on the first computer  320 . In some embodiments, the refresh time test  675  polls the first computer  320  at periodic intervals for changes to the policy. The polling interval may be configurable by the user or may itself be a setting configurable by a policy. In some embodiments, the refresh time test  675  may include a means for the first computer  320  to notify the second computer  340  that a change has been made to the policy, and that the policy should be refreshed on the second computer  340 . If the refresh time has arrived, the policy translation method  600  continues with the receive policy step  630 , otherwise it continues with the terminate test  685 . 
         [0060]    The terminate test  685  determines whether the refresh time test  675  should be repeated, or if the policy translation method  600  should terminate. In some embodiments, the policy translation method  600  may be terminated to facilitate deallocation of memory or other computer resources when the second computer  340  is shut down, or to allow for system maintenance. If the policy translation method is not to be terminated, it continues with the refresh time test  675 , other wise it ends  690 . 
         [0061]      FIG. 7  is a text diagram illustrating one embodiment of policy translation example data in accordance with the present invention. The policy translation example data  700  includes policy template data  710 , policy manager input data  720 , native policy-related file data  730 , and translated policy-related file data  740 . The policy translation example data may be generated in accordance with the policy translation method  600  and the policy management system  300 . 
         [0062]    The policy template data  710  is one example of the policy template  322 . The policy template  322  may reside on the first computer  320  having a native operating system or on a third computer, such as an administrative workstation. The policy template data  710  may comprise plain ASCII text used to constrain data input accepted by the policy editor  324  by identifying names of data objects that the policy editor  324  will allow the user to edit. Policy template data  710  may also contain the text of prompts or other fields that control the user interface presented by the policy editor  324 . Using the policy template  322 , the policy editor  324  may accept input from an administrative user and generate input data for the policy manager  230 . 
         [0063]    Policy manager input data  720  illustrates the format of data that may be generated by the policy editor  324 . In various embodiments, in accordance with the provide policy step  620 , the policy manager  230  may accept the policy manager input data  720  from a file created by the policy editor  324 , from a file created by an administrative user, or communicated directly from the policy editor  324  to the policy manager  230  via interprocess communication. The policy manager  230  may alter the format or contents of the policy manager input data  720 . In some embodiments, the policy manager creates a policy-related file  326  and enters the location of the policy-related file  326  in the configuration settings database  250 . 
         [0064]    The native policy-related file data  730  is a textual representation of binary data in one embodiment of the policy-related file  326 . The native policy-related file data  730  is generated by the policy manager  230 , and in preparation for the receive policy step  630 , is stored in a format and location typically used with the native operating system in use on the first computer  320 . In the depicted embodiment, the native policy-related file data  730  comprises mixed binary and UNICODE text delimited by square brackets. 
         [0065]    The translated policy-related file data  740  is one example of the policy-related file  346 . In accordance with the translate policy step  640 , the translator  344  translates the policy data received from the translator manager  342  to data usable by the foreign operating system used by the second computer  340 . The depicted translated policy-related file data  740  is one example of a configuration file that a translator  344  has converted from mixed binary and UNICODE format to plain ASCII text format, and filtered to include only data usable by the foreign operating system in use on the second computer  340 . In the depicted example, the translated policy-related file data  740  comprises a list of user names that will be allowed to log in to the second computer  340 . 
         [0066]    The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.