CLE Technical Design

91
CLE Technical Design CLE Technical Design David S. Condrey LAN Systems - DCIT Presented at: Technology Transfer Partners (TTP) 1998 Salt Lake City, Utah July 7, 1998 CLEMSON U N I V E R S I T

description

CLEMSON. U N I V E R S I T Y. CLE Technical Design. David S. Condrey LAN Systems - DCIT Presented at: Technology Transfer Partners (TTP) 1998 Salt Lake City, Utah. July 7, 1998. Agenda. Short Clemson Review 97-98 Recap CLE Overview User’s View Instructor Course Management - PowerPoint PPT Presentation

Transcript of CLE Technical Design

Page 1: CLE Technical Design

CLE Technical DesignCLE Technical Design

David S. CondreyLAN Systems - DCIT

Presented at:

Technology Transfer Partners (TTP) 1998

Salt Lake City, UtahJuly 7, 1998

CLEMSONU N I V E R S I T Y

Page 2: CLE Technical Design

AgendaAgenda

Short Clemson Review97-98 RecapCLE OverviewUser’s View Instructor Course ManagementThe DesignThe ImplementationThe Future

Page 3: CLE Technical Design
Page 4: CLE Technical Design

Introduction/BackgroundIntroduction/BackgroundClemson University-Upstate SC37,000 users in NDS with home

directories since 1995.NDS is centerpiece of security and

authentication.Big Development Shop~130 Netware 4.x serversAutomated account creation and

maintenance.

Page 5: CLE Technical Design

Automatic Userid System (AUS)Automatic Userid System (AUS)

MVS

UNIX

NDS

Personnel AdmissionsOther

Other

AUSAUS

Page 6: CLE Technical Design

Tree DesignTree Design

Users Organizations

ClemsonU

Page 7: CLE Technical Design

Every Person Has a PlaceEvery Person Has a Place

A to Z A to Z A to Z

Students Misc. Employee

ClemsonU

OrganizationsOrganizations

Page 8: CLE Technical Design

Every Group Has a PlaceEvery Group Has a Place

UsersUsers Athletics DCIT

Forestry Research Dean's office

CAFLS CES

ClemsonU

Page 9: CLE Technical Design

Personal Storage (User Data Personal Storage (User Data Servers)Servers)

EmployeDn

Any faculty or staff member

Any student

Office, lab, or dial-in

Dorm, lab, or dial-in

StudentDn

Page 10: CLE Technical Design

Collaborative Storage (Faculty &Collaborative Storage (Faculty &

EmployeD

Group server1 StudentD

App server

Students)Students)

Page 11: CLE Technical Design

Authentication ServerAuthentication Server

Mail authC

Web authC

mainframe authC

UNIX authC

NetWare authC

Sun authC

Windows NT authCOracle† authC

Page 12: CLE Technical Design

NDS

intraNetWare server BintraNetWare server A

AUTHSERV.NLM

intraNetWare server C

RACF

AuthClientAuthClient

POPd

AuthClient

Web site

WebApp

User workstation (Windows 95/Windows NT and Mac workstation)

Eudora TN3270 Netscape† LOGIN.EXE

AuthClient

Apache

WebApp

AUTHSERV.NLM AUTHSERV.NLM

OnlinesVTAM

Mainframe (MVS)MAIL (Solaris) NT Server OpenLinux

Page 13: CLE Technical Design

Using NDS Security Across the Using NDS Security Across the IntranetIntranet

AuthenticatedClient

ServerAuthClient

AuthenticationServer

NDS

Netscape IIS32-bitDLL

AUTHSERV.NLM

NDS

Page requestCheckEquiv

Check SecurityEquivalence

Locate user objectand run equivalencelist

NT 4.0

Page 14: CLE Technical Design

AUTHSERV Client FunctionsAUTHSERV Client Functions

Password checkPassword changeResolve to fully distinguished nameCheck security equivalenceReturn group membershipMiscellaneous administrative

functionsGet Effective Rights

Page 15: CLE Technical Design

Caldera OpenLinux and ApacheCaldera OpenLinux and Apache

Web gateway to NetWare file system

Caldera OpenLinux

FileServer

FileServer

FileServer

AuthC

Browser

Browser

Browser

BrowserAuthServer

FileServer

FileServer

Page 16: CLE Technical Design

Using NDS to Secure Web PagesUsing NDS to Secure Web Pages

NovellAuth onAuthName Novell TreeAuthType Basic <Limit GET POST>require user gmcochrrequire user kellenrequire group .resadmin.groups.employee.clemsonu</Limit>

Page 17: CLE Technical Design
Page 18: CLE Technical Design

What We’ve Been Doing Over What We’ve Been Doing Over the Past Yearthe Past Year

Site License from NovellStudentD/EmployeD splitUpgrade Everything to 4.11Convert Public Labs to ‘95BrainshareAppnotes and Developer NotesNetware 5/ZEN Testing

Page 19: CLE Technical Design

More of What We’ve Been DoingMore of What We’ve Been Doing

PAM Development for Authentication Server

Cisco PIX FirewallCollaborative Learning

Environment

Page 20: CLE Technical Design
Page 21: CLE Technical Design

DescriptionDescription

Collaborative Learning Environment (CLE) Provide a framework for collaborative

works between faculty and students as well as between students themselves.

This means managed and structured disk space that is easily accessible by both students and faculty.

Page 22: CLE Technical Design

Collaborative Learning Collaborative Learning Environment (CLE)Environment (CLE)Faculty member wants to put data on

the network that students can useStudent submission of work to facultyStudents collaborate on team projects

with assistance from faculty memberStudents and faculty collaborate on

projects or assignmentsPublish web pages as a team or class~6000 class sections per semester

Page 23: CLE Technical Design

Project GoalsProject Goals

Automate as much as possible.Limit required knowledge of the

instructor.Limit required knowledge of the student.Limit required CSG/SSG involvement.Limit required TSP involvementK.I.S.S.

Page 24: CLE Technical Design

MaximsMaxims

A class is an interaction of people not necessarily enrolled in a common course (CPSC 423/423H/623)

CLE is analogous to a classroom.The customer is the Instructor and the Student. The harder this is to explain to users, the harder

it is to implement and use. We don't have to get everything perfect the first

time.

Page 25: CLE Technical Design

TechnologyTechnology

Novell Directory Services (NDS)Student Databases on OS/390Netware File SystemNetware Application Launcher (NAL)Caldera NDS interface for LinuxApache Web server for LinuxAuthentication ServerLots of code for Management Automation

Page 26: CLE Technical Design

Development TechnologyDevelopment Technology

Borland C/C++ Version 5Netware SDK 15EXE2NLMNDSSNOOPPhoenix DocumentGNU CPerlHTML,JavaScript

Page 27: CLE Technical Design

NDSSnoopNDSSnoop

Page 28: CLE Technical Design
Page 29: CLE Technical Design

It Takes Two to TangoIt Takes Two to Tango

Page 30: CLE Technical Design

Direct File System AccessDirect File System Access

Page 31: CLE Technical Design

Become One with the ‘NetBecome One with the ‘Net

Page 32: CLE Technical Design

NAL as a Door to Direct File NAL as a Door to Direct File AccessAccess

List of enrolled courses.

Icons for each course abbreviation submitted by departments.

Not “applications” in the traditional sense.

Really runs “Explorer” and maps a drive.

Introduces the concept of NAL to instructors.

Page 33: CLE Technical Design

Explorer functions as “My Explorer functions as “My Computer”Computer”

Page 34: CLE Technical Design

What a Class Folder Looks Like What a Class Folder Looks Like to the Student (My Computer)to the Student (My Computer)

Page 35: CLE Technical Design

What a Class Folder Looks Like to What a Class Folder Looks Like to the Student (Windows Explorer)the Student (Windows Explorer)

Page 36: CLE Technical Design

Web AccessWeb Access

Page 37: CLE Technical Design

Web AuthenticationWeb Authentication

Page 38: CLE Technical Design

Class ScheduleClass Schedule

Page 39: CLE Technical Design

A Particular ClassA Particular Class

Page 40: CLE Technical Design

Conferencing - Multiple LevelsConferencing - Multiple Levels

Page 41: CLE Technical Design
Page 42: CLE Technical Design

Instructor Must AuthenticateInstructor Must Authenticate

Page 43: CLE Technical Design

Instructors Manage SemestersInstructors Manage Semesters

Page 44: CLE Technical Design

Default Grouping - 1:1Default Grouping - 1:1

Page 45: CLE Technical Design

Combine Courses - 2:1 GroupingCombine Courses - 2:1 Grouping

Page 46: CLE Technical Design

Combine Courses - 2:1 Grouping (2)Combine Courses - 2:1 Grouping (2)

Page 47: CLE Technical Design

Combine Courses - 2:1 Grouping (3)Combine Courses - 2:1 Grouping (3)

Page 48: CLE Technical Design

Managing Teams - CreateManaging Teams - Create

Page 49: CLE Technical Design

Managing Teams - UnlimitedManaging Teams - Unlimited

Page 50: CLE Technical Design
Page 51: CLE Technical Design

The Big PictureThe Big Picture

ListMGR

Studentdatabase

GroupMGRNLM

NDS DiskSpace

Linux

Apache

CalderaGroupmgr

Student

Browser

Instructor

Browser

Linux

ApacheCaldera

WebAccess

DirectAccess

CLEManagement

MVSOS/390

Page 52: CLE Technical Design

CLE Setup has 2 PartsCLE Setup has 2 Parts

NDSFile System

Page 53: CLE Technical Design

NDS DesignNDS Design

Page 54: CLE Technical Design

Course abbreviation

Pointer to File Space

Semester number

Course number

Section number

Instructor(s)

Instructor managed teamsApplication object for NAL

ClassMember(s)

All Instructors&Classrolls

Page 55: CLE Technical Design

NDS Design - Course AbbreviationNDS Design - Course Abbreviation

Holds NDS Objects for all courses in “Electrical and Computer Engineering” (ECE)

160 different course abbreviations.

These are partition boundaries.

Page 56: CLE Technical Design

NDS Design - ShareDMONDS Design - ShareDMO

Everything uses the “PATH” property to find the file space that backs this course.

“Everyone” group has rights to read the PATH property.

Page 57: CLE Technical Design

NDS Design - EveryoneNDS Design - Everyone

Holds every person listed as a STUDENT in any class in any semester of ECE.

Holds every person listed as an INSTRUCTOR in any class in any semester of ECE.

Page 58: CLE Technical Design

NDS Design - Global InstructorsNDS Design - Global Instructors

Holds every person listed as an INSTRUCTOR in any class in any semester of ECE.

Page 59: CLE Technical Design

NDS Design - SemesterNDS Design - Semester

Holds NDS constructs for all ECE courses in a particular semester.

State (S) attribute is used for tracking updates.

Page 60: CLE Technical Design

NDS Design - Course NumberNDS Design - Course Number

Holds NDS constructs for all sections of “Electronics I” (ECE 320).

Page 61: CLE Technical Design

NDS Design - AdminNDS Design - Admin

Not currently in use. Intended to provide a

place to assign management duties to departmental personnel on a per course basis.

Ex: help manage all sections of Chem 101.

Page 62: CLE Technical Design

NDS Design - SectionNDS Design - Section

Holds NDS constructs for one section of “Electronics I” (ECE 320).

Description attr holds TTRB and other info.

Location attr holds pointer to ShareDMO and name of file system directory.

Page 63: CLE Technical Design

NDS Design - ClassRollNDS Design - ClassRoll

The people taking the class.

Member attr holds the userids of the people taking the class.

Description attr holds course title for NAL.

App:Association with SHARE application object for NAL.

Page 64: CLE Technical Design

NDS Design - InstructorNDS Design - Instructor The people teaching

the class. Member attr should

hold the userids of the instructors. See Also*

Description attr holds course title for NAL.

App:Association with SHARE application object for NAL.*

Page 65: CLE Technical Design

NDS Design - Teams ContainerNDS Design - Teams Container

Holds NDS groups for each team created by the instructor.

Page 66: CLE Technical Design

NDS Design - TeamsNDS Design - Teams

Instructor maintained groups.

No naming rules; at discretion of the prof.

Not accessed by the instructor directly. Uses web tool.

Member attr holds userids of people put in to the groups.

Page 67: CLE Technical Design

NDS Design - Share ApplicationNDS Design - Share Application

Title attr contains NAL title.

Executable is EXPLORER.EXE

Icon is unique to course abbreviation.

Command line parms “/root,k:\”

Cleans up network resources on exit.

Page 68: CLE Technical Design

NDS Design - Share Application (2)NDS Design - Share Application (2)

Description attr holds long description of course “Collaborative Learning Environment disk space for ELECTRICAL AND COMPUTER ENGINEERING 426 sec001 9804”

Mapped Drives attr holds rooted map of K: to the correct* ShareDMO.

Platforms attr is ‘95 and NT.

Page 69: CLE Technical Design

File System DesignFile System Design

Page 70: CLE Technical Design

What a Class Folder Looks LikeWhat a Class Folder Looks Like

E_C_E

General

101_9806.001

426_9806.001

Share

Teams

101_9806.002A1Team1

Handouts Classwrk

Resource

ToDo

TurnIn

Reviewed

ALAYTON

ALAYTON

A1Team2

xxxxx

….

463_9806.010

860_9806.043

…….

ProfOnly Public.www

Page 71: CLE Technical Design

RightsRights

RF

ALL*ALL*ALL*ALL*ALL*ALL*

Instructor

RWCEF

RFRF

RFALL*

ClassRoll

CRF

cstoneb

RF

CRF

dandrew

RF

ALL*

P2Team2

RF

PublicWeb

* - All but Supervisor

Page 72: CLE Technical Design

Instructor

User CSTONEB

Class Roll

User DANDREW

Team P2TEAM2

Team P2TEAM1

Public Web

Library Staff

Read Access

Write Access

Create-Only Access

Page 73: CLE Technical Design
Page 74: CLE Technical Design

MVS OS/390

Automated Distribution ListsAutomated Distribution Lists

ListMGRListMGR

popD ListDMail

server

TCP/IP

Class rolesDepartments

Studentdatabase

Employeedatabase

Page 75: CLE Technical Design

Automated NDS Group Automated NDS Group MembershipMembership

MVS OS/390

ListMGR

popDpopD ListDListD MailServer

MailServer

TCP/IP

Class Roles

NDS GroupMGRNLM

TCP/IP

Studentdatabase

Page 76: CLE Technical Design

Course IdentifierCourse Identifier

9808SPAN_H321006-LSection Number

Course Number

Prefix

Course Abbreviation

Semester Number

‘_’ - Standard‘H’ - Honors‘L’ - Lab‘T’ - Telecampus‘C’ - Consortium

Page 77: CLE Technical Design

Transaction Data FormatsTransaction Data Formats

Based on Listserv commandsPUT - Snapshot of an entire courseOPT - Options for a course ADD - Drop/Add Classroll members

for a courseDEL - Course Cleanup

Page 78: CLE Technical Design

Transaction Data Transaction Data Format - PUTFormat - PUT

Create course or set instructors & classroll.

If course exists already, make changes as appropriate.

‘Owner=‘ names instructor(s)

NOP Ticket Tracking

PUT 9806E_C_E_891001-L.LIST PW=M00NWALKER** E C E 891 001** SEND= PRIVATE* SERVICE= LOCAL* SUBSCRIPTION= CLOSED* CONFIDENTIAL= YES* PW= E00218* REPLY-TO= SENDER,RESPECT* DEFAULT-OPTIONS= REPRO,NOACK* VALIDATE= YES,CONFIRM* REVIEW= OWNERS,POSTMASTER* LOOPCHECK= NOSPAM* ERRORS-TO= OWNERS,POSTMASTER* OWNER= [email protected]* OWNER= [email protected] BAUM CARL [email protected]@CLEMSON.EDU BAUM CARL [email protected] BLOCK FREDERICK [email protected] COLWELL MICHAEL T <some deleted>[email protected] STIVERS FRED S [email protected] WYSOCARSKI JEFFREY [email protected] YOUNG JOHN CALVIN&&&&&NOP 0003454

Page 79: CLE Technical Design

Transaction Data Format - OPTTransaction Data Format - OPTSets ‘options” for a course.TTRB - Title, Time, Room, BuildingNOP Ticket Tracking

QUIET SET 9806ECON__101001-L REPRO,NOACK FOR *@* TTRBQUIET SET 9806ECON__101002-L REPRO,NOACK FOR *@* TTRBQUIET SET 9806ECON__101003-L REPRO,NOACK FOR *@* TTRB QUIET SET 9806ECON__201001-L REPRO,NOACK FOR *@* TTRBQUIET SET 9806ECON__320001-L REPRO,NOACK FOR *@* TTRBQUIET SET 9806ECON__320002-L REPRO,NOACK FOR *@* TTRBQUIET SET 9806ECON__455001-L REPRO,NOACK FOR *@* TTRBQUIET SET 9806ECON__655001-L REPRO,NOACK FOR *@* TTRBQUIET SET 9806ECON__814001-L REPRO,NOACK FOR *@* TTRBNOP 0003845

Page 80: CLE Technical Design

Transaction Data Format - ADDTransaction Data Format - ADDDrop/Add classroll for a course.NOP Ticket Tracking

QUIET DEL 9806CP_SCL120003-L PW=J011EYMA1NT [email protected] DEL 9806CP_SC_241001-L PW=J011EYMA1NT [email protected] ADD 9806CP_SC_481002-L PW=J011EYMA1NT [email protected] QUIET ADD 9806CP_SC_481002-L PW=J011EYMA1NT [email protected] QUIET ADD 9806CP_SC_481002-L PW=J011EYMA1NT [email protected] NOP 0003665

Page 81: CLE Technical Design

Transaction Data Format - DELTransaction Data Format - DELDelete a course.NOP Ticket Tracking

/DELETE 9805CP_SC_320001-L PW=J011EYMA1NT/DELETE 9805CP_SC_320002-L PW=J011EYMA1NT/DELETE 9805CP_SC_320003-L PW=J011EYMA1NT/DELETE 9805CP_SC_653001-L PW=J011EYMA1NT/DELETE 9805CP_SC_814001-L PW=J011EYMA1NT/DELETE 9805CP_SC_822001-L PW=J011EYMA1NTNOP 0003997

Page 82: CLE Technical Design

NDS Server PlacementNDS Server PlacementClemsonU

OrganizationsOrganizationsUsersUsers CLECLE

CLExCLEx

5 Dell 4200 w/ 512MB RAM

250 GB RAID-5Switched 100mbit

GroupMGRNLM

CU-ROOT-1CU-ROOT-1

Page 83: CLE Technical Design

Transaction Tracking - TicketsTransaction Tracking - Tickets

NOP nnnnnnn record on OPT, PUT, ADD, and DEL files.

nnnnnnn is unique ticket number that was started at 0000001 on the first file on the first day of production and is incremented for each transaction file.

Assures transactions are processed in order intended.

Page 84: CLE Technical Design

The Spanish-Nursing ProblemThe Spanish-Nursing Problem

If an instructor groups courses from 2 different course abbreviations, we must choose one server to hold the data.

SPAN_ NURS_

?

Page 85: CLE Technical Design

The 64 Security Equivalence LimitThe 64 Security Equivalence Limit

There is a ‘limit’ of 64 explicit and implicit security equivalances in Netware 4.x.

Explicits are easy to see in NDS.Implicits are [Public] and each of your

ancestor containers.Netware 4.x uses ‘sliding window’ algorithm*.Fixed in 5.x, will not be fixed in 4.x.This is a problem for CLE.

Page 86: CLE Technical Design

CLE Circumvention for the ProblemCLE Circumvention for the Problem

Set ‘See Also’ in each Instructor User object to the ‘Instructor’ group for the course.

Set ‘See Also’ in the ‘Instructor’ group for the course to the user object for each listed instructor.

Do explicit Rights and application assignments to each instructor user object instead of the group.

Page 87: CLE Technical Design

CLE Circumvention for the ProblemCLE Circumvention for the Problem

#IFDEF NETWARE5 if (CUAddUserToGroup(context,member,group,1)!=0) numerrors++;#ELSE // Setup Application association between User and SHARE App section=strchr((char *)group+1,'.'); sprintf(appObject,".SHARE%s",section); err=SetUpAssn(context,appObject,member); // Add user to SeeAlso attribute of group err=PutNDSAttr(context,(char *)group,"See Also",member,"ADD"); …..another couple hundred lines...#ENDIF

Page 88: CLE Technical Design

Access for the NAL-ChallengedAccess for the NAL-Challenged

Mac - Folder of Aliases, one for each course abbreviation pointing to the same path as the ShareDMO for that course abbreviation.

DOS - Folder of BAT files, one for each course abbreviation pointing to the same path as the ShareDMO for that course abbreviation.

--Does not address Spanish-Nursing.

Page 89: CLE Technical Design
Page 90: CLE Technical Design

Things to DoThings to DoTrainingIntegration with Course Content

Management Application such as WebCT, TopClass, etc.

Get User Feedback & Make enhancements.Move to Netware 5 to resolve 64 SE limit.Load Balance and Tune CLE and NDS

ServersBuckle chinstrap and hold on tight.

Page 91: CLE Technical Design

[email protected]

http://people.clemson.edu/lansystems