OBJECT CLASSES


GlobusTop OBJECT CLASS 
    MUST CONTAIN {
                objectclass::cis,# The objects type
                o::cis,# The organization
                lastupdate::cis# Time object was upload into the MDS
} MAY CONTAIN {
                subtreeaci::ces,# ACL for this object the DIT below this object
                ou::cis,# The organizational unit
                ttl::cis# Time to live
}


GlobusMDSAdministrator OBJECT CLASS 
    SUBCLASS OF GlobusTop 
    RDN = cn (commonName)  
    CHILD OF {
                organization;# GlobusOrganization
                organizationalUnit# GlobusOrganizationalUnit
} MUST CONTAIN {
                userPassword::cis
} MAY CONTAIN {
                seeAlso::dn# a GlobusMDSAdministrator
}


GlobusSoftware OBJECT CLASS 
    SUBCLASS OF GlobusTop 
    RDN = sw (software)  
    CHILD OF {
                GlobusOrganization
} MAY CONTAIN {
                description::cis,
                releaseTag::cis,
                releaseDate::cis,
                releaseMajor::cis,
                releaseMinor::cis,
                releasePatch::cis,
                releaseBeta::cis,
                configuration::cis,# Parameters given at configuration time
                installPrefix::cis,# Staring location of libraries, header files, etc.
                deployPrefix::cis,# Secondary install location for local software
                userId::cis,# Username in which the software runs.
                labeledURL::cis,# Specifies the URL to connect to the software
                validUser::cis# An entry in the globusmap.* file
}


GlobusOrganization OBJECT CLASS 
    SUBCLASS OF GlobusTop 
    RDN = o (organization)  
    CHILD OF {
                GlobusRoot
} MAY CONTAIN {
                globusAdministrator::cis,# Name of the person responsible for the Globus Software
                businessCategory::cis,# university
                description::cis,# A small description about the organization
                destinationIndicator::cis,# note: ?
                domainName::cis,# The DNS domain name for the organization or organization unit
                facsimileTelephoneNumber::cis,# specifies the facsimile number
                internationaliSDNNumber::cis,# specifies an iSDN number
                l::cis,# the location city/town/...
                physicalDeliveryOfficeName::cis,# the name of the office
                postOfficeBox::cis,# the office box, if any
                postalAddress::cis,# the postal adress of the organization
                postalCode::cis,# ...
                preferredDeliveryMethod::cis,# the preferres delivery method for information
                registeredAddress::cis,# note: ?
                searchGuide::cis,# note: ?
                seeAlso::cis,# note: ?
                st::cis,# note: ?
                streetAddress::cis,# the street adress of the organization
                telephoneNumber::cis,# the main telephon number for a contact
                teletexTerminalIdentifier::cis,# the teletex number
                telexNumber::cis,# the telexNumber
                userPassword::cis,# This passwd is encrypted and is used on to access LDAP
                x121Address::cis,# the x121 address
                longitude::cis,# East-west location of a site
                latitude::cis# North-east location of a site
}


GlobusOrganizationalUnit OBJECT CLASS 
    SUBCLASS OF GlobusOrganization 
    RDN = ou (organizationalUnit)  
    CHILD OF {
                organization# GlobusOrganization
}


GlobusPerson OBJECT CLASS 
    SUBCLASS OF GlobusTop 
    RDN = cn (commonName)  
    CHILD OF {
                organizationalUnit;
                organization;
                GlobusRoot
} MUST CONTAIN {
                sn::cis,# the surname of the person
                givenName::cis,# the given name of the person, first name
                mail::cis,# the mailadress of the person
                telephoneNumber::tel,# the telephone number of the person
                userPassword::cis# abilities on the password
} MAY CONTAIN {
                title::cis,# the title of the person
                organization::dn,# the organization the person is associated with
                organizationalUnit::dn,# the organizational unit the person is associated with
                labeledURL::cis,# a URL which points to the persons homepage
                fax::cis,# the fax number of the person
                street::cis,# the street adress of the person
                city::cis,# the city of the person for postal contact
                state::cis,# countries like germany do not need a state field
                postalCode::cis,# the postal code
                country::cis# the country
}


GlobusResourceAdministrator OBJECT CLASS 
    SUBCLASS OF GlobusPerson 
    RDN = cn (commonName)  
    MAY CONTAIN {
                administratedResource::cis,# the resources for which the administrator is responsible,
                responsibility::cis# administrator.
}


GlobusResourceProvider OBJECT CLASS 
    SUBCLASS OF GlobusPerson 
    RDN = cn (commonName)  
    MAY CONTAIN {
                providedResource::cis,# the resources which are provided by the person
                seeAlso::dn# resource
}


GlobusResourceManager OBJECT CLASS 
    SUBCLASS OF GlobusTop 
    RDN = mn (managerName)  
    CHILD OF {
                GlobusRoot;
                testbed;
                organization;
                organizationalUnit
} MAY CONTAIN {
                hn::cis,# indicate the RDN of the host on which this manager is running
                contact::cis,# (current) format is hostname:port:manager-id
                apiType::cis,# condor, ...
                apiVersion::cis,# version of the manager API
                gramVersion::cis,
                gramVersionDate::cis,
                managedResources::dn,# specifies the resource which is managed by this manager
                freeNodes::cis,# specifies the number of
                totalNodes::cis,# specifies the total number of nodes managed
                scheduledJob::cis,# an active job which is scheduled by the manager
                status::cis,# see http://www.mcs.anl.gov/gregor/mds3.htm
                experimental0::cis,#temporary
                experimental1::cis,#temporary
                experimental2::cis,#temporary
                experimental3::cis,#temporary
                experimental4::cis,#temporary
                experimental5::cis,#temporary
                experimental6::cis,#temporary
                experimental7::cis#temporary
}


GlobusGroup OBJECT CLASS 
    SUBCLASS OF GlobusTop 
    RDN = gn (groupName)  
    CHILD OF {
                GlobusRoot;
                testbed;
                organization;
                organizationalUnit
}


GlobusPhysicalResource OBJECT CLASS 
    SUBCLASS OF GlobusTop 
    RDN = rn (resourceName)  
    MUST CONTAIN {
                imageObject::dn# pointer to the dn of the image object
} MAY CONTAIN {
                owner::dn,# that owns the physical element;
                administrator::dn,# the systems administrator
                provider::dn,# the person provides permission to resource
                description::cis,# textual description of the resource
                documentation::cis,# pointers to documentation (books, html, ...)
                localityName::cis,# e.g. state/city/.../floor/room/desk/...
                longitude::cis,# relative east-west geographical position
                latitude::cis# relative north-south geographical position
}


GlobusImageResource OBJECT CLASS 
    SUBCLASS OF GlobusTop 
    RDN = rn_image (resourceImageName)  
    MUST CONTAIN {
                type::cis,# view of provider/user/IP/OSI/...;
                imageOf::dn# pointer back to the physical resource
}


GlobusNetwork OBJECT CLASS 
    SUBCLASS OF GlobusPhysicalResource 
    RDN = nn (networkName)  
    CHILD OF {
                organizationalUnit;
                organization;
                groupName;
                testbed;
                GlobusRoot
} MUST CONTAIN {
                interface::dn# the dn of an interface that is attached to this network
} MAY CONTAIN {
                externalGateway::dn,#
                nwType::cis,# bus, ring, star, mesh, point-to-point
                media::cis,# copper, fiber optic, etc.
                speed::cis,# nominal bandwidth, e.g. 64 kbps
                traffic::cis,# (average) use in percent of nominal bandwidth
                configurationDate::cis,#uTCTimeSyntax,
                configurationHistory::cis# the configuration history
}


GlobusComputeResource OBJECT CLASS 
    SUBCLASS OF GlobusPhysicalResource 
    RDN = hn (hostName)  
    CHILD OF {
                organizationalUnit;
                organization;
                testbed;
                GlobusRoot
} MAY CONTAIN {
                canonicalSystemName::cis,# e.g., sparc-sun-solaris2.5.1
                manufacturer::cis,# the manufacturer of the compute resource
                model::cis,# the model of the compute resource
                serialNumber::cis,# the serial number of the compute resource
                machineHardwareName::cis,# as given out by the vendor
                hostID::cis,# the host id number as given by the vendor
                type::cis# between multiple nodes
}


GlobusOperatingSystemInformation OBJECT CLASS 
    SUBCLASS OF GlobusComputeResource 
    RDN = hn (hostName)  
    MAY CONTAIN {
                OSName::cis,# stores the name of the OS
                OSVersion::cis,# stores a version number
                OSRelease::cis,# stores the release version and release are sometimes differnet
                OSType::cis# ? POSIX, BSD, AT&T a feature which can be useful in future
}


GlobusMemoryInformation OBJECT CLASS 
    SUBCLASS OF GlobusComputeResource 
    RDN = hn (hostName)  
    MAY CONTAIN {
                physicalMemorySize::cis,# specifies the total size of the main memory in KB
                freePhysicalMemory::cis,# specifies the free main memory in KB
                physicalMemoryAccessTime::cis,# specifies the average access Time of the main memory in ms
                virtualMemorySize::cis,# note: define virtual memory
                freeVirtualMemory::cis,# specifies the free virtual memory in KB
                totalSwapSpace::cis,# specifies the total swap space in KB
                freeSwapSpace::cis,# specifies the free swap space
                pageFaultRate::cis# specifies the page fault rate
}


GlobusCacheInformation OBJECT CLASS 
    SUBCLASS OF GlobusComputeResource 
    RDN = hn (hostName)  
    MAY CONTAIN {
                totalDataCache::cis,# specifies the total data cache size
                totalInstructionCache::cis# specifies the total instruction cache size
}


GlobusBenchmarkInformation OBJECT CLASS 
    SUBCLASS OF GlobusComputeResource 
    RDN = hn (hostName)  
    MAY CONTAIN {
                SPECint92::cis,# GlobusComputeResource.
                SPECfloat92::cis,# GlobusComputeResource.
                lapack100::cis,# GlobusComputeResource for solving a Matrix of size 100.
                lapack500::cis,# GlobusComputeResource for solving a Matrix of size 500.
                lapack1000::cis,# GlobusComputeResource for solving a Matrix of size 1000.
                mflops::cis# GlobusComputeResource.
}


GlobusCpuInformation OBJECT CLASS 
    SUBCLASS OF GlobusComputeResource 
    RDN = hn (hostName)  
    MAY CONTAIN {
                cpuType::cis,# Pentium, Sparc, RS6000, MIPS, ...
                fpuType::cis,# the type of the floating point processor
                cpuCount::cis,# the number of CPU's in the compute resource
                cpuSpeed::cis,# the clockrate of the CPU's
                cpuLoad1::cis,# the load average in the last minute
                cpuLoad5::cis,# the load average in the last five minutes
                cpuLoad15::cis,# the load average in the last fiveteen minutes
                cpuLoad_ttl::cis,# cpuLoadIdle :: cis,
                NWS_current_cpu::cis,# % of cpu per process
                NWS_current_cpu_prediction::cis,# predicted % cpu per process
                NWS_current_cpu_MSE::cis,# mean square error (MSE) of the prediction
                NWS_weighted_cpu::cis,
                NWS_weighted_cpu_prediction::cis,
                NWS_weighted_cpu_MSE::cis,
                topd_neighbor::cis# This informationis provided via the topologyd daemon
}


GlobusSystemDynamicInformation OBJECT CLASS 
    SUBCLASS OF GlobusComputeResource 
    RDN = hn (hostName)  
    MAY CONTAIN {
                heartBeat::cis,# the last time the resource was known to be alive
                bootTime::cis,# the last time the resource was known to be rebooted
                numberOfInteractiveUsers::cis#How does this differ (if at all) from numberOfBatchUsers, etc.
}


GlobusNetworkInterface OBJECT CLASS 
    SUBCLASS OF GlobusPhysicalResource 
    RDN = nin (networkInterfaceName)  
    CHILD OF {
                hostName# name derived from the logical device, e.g., le0, COM1
} MUST CONTAIN {
                connectedNetwork::dn# this networkInterface is connected to
} MAY CONTAIN {
                networkInterfaceAddress::cis# e.g. Ethernet board number
}


GlobusNetworkImage OBJECT CLASS 
    SUBCLASS OF GlobusImageResource 
    RDN = nn_image (networkImageName)  
    CHILD OF {
                groupName;
                organizationalUnit;
                organization;
                GlobusRoot
} MUST CONTAIN {
                interface::dn
}


GlobusNetworkPerformance OBJECT CLASS 
    SUBCLASS OF GlobusTop 
    RDN = hs (hostSet)  
    CHILD OF {
                nn_image
} MUST CONTAIN {
                source::dn,
                destination::dn,
                serviceProvider::dn,# a dn pointer to a service such as the NWS
                throughput::cis,# Megabits per second
                throughput_prediction::cis,# Megabits per second
                throughput_MSE::cis,# Mean square error of the predicted value
                latency::cis,# Milliseconds
                latency_prediction::cis,# Milliseconds
                latency_MSE::cis# Mean square error of the predicted value
}


GlobusComputeResourceImage OBJECT CLASS 
    SUBCLASS OF GlobusImageResource 
    RDN = hn_image (hostNameImage)  
    CHILD OF {
                networkImageName
} MAY CONTAIN {
                hn::dn,
                hostName::dn
}


GlobusNetworkInterfaceImage OBJECT CLASS 
    SUBCLASS OF GlobusImageResource 
    RDN = nin_image (networkInterfaceImageName)  
    CHILD OF {
                hostNameImage
} MUST CONTAIN {
                networkInterfaceAddress::cis,# e.g. IP number
                connectedNetwork::dn# pointer to GlobusNetworkImage
}


GlobusManagerInformation OBJECT CLASS 
    SUBCLASS OF GlobusComputeResource 
    RDN = hn (hostName)  
    MAY CONTAIN {
                accessMethod::cis,# eg. when the machine can be reseraved, or accessed, ...
                rm::dn,
                resourceManager::dn,# the dn pointing to the resource manager
                pm::dn,
                processManager::dn# the dn pointing to the process manager
}


GlobusTestBed OBJECT CLASS 
    SUBCLASS OF GlobusTop 
    RDN = tn (testbed)  
    CHILD OF {
                GlobusRoot
} MAY CONTAIN {
                description::cis,# a url (the url should be in its own field)
                mail::cis,# the mail adress for the testbed, this is a broadcast adress
                administrator::cis,# the administartor of the testbed
                adminPassword::cis# the pasword is only read and writable by the administrator
}