PROGRAMS • The categories of programs for workgroup information systems are • system programs, including OS utilities, • DBMS, & • applications programs • (same as personal information systems)
Network OS • Each comp must have a local OS program - DOS & a network OS program. • The relationship between the Network OS • & other programs. • It also has a DBMS & database application • & also other application programs • The Network OS supports LAN processing & must match the processing style of the network cards in use.
Network Request Processing • LAN has to have a Network OS that does the functions of level 3 to 6 of OSI. • Remember this: • Topology & cabling --> layer 1 of OSI • Now Data-link protocol --> layer 2 of OSI
Network Request Processing • Suppose user transfer file CH9.doc from local drive • C: to network server device F: & place it in dir TEXT: • (COPY C:\CH9.DOC F:\TEXT) (consider previous figure) • 1. Command sent to DOS • (w/in DOS there is a piece of netw OS, which cuts through the command) • 2. If command involves network device (this ex yes), • netw OS keeps command & processes it on behalf of DOS. • If command doesn’t involve a netw device (ex copy file from 1 dir to another on device C:), then netw OS gives command back to DOS for processing.
Network Request Processing • The netw OS does levels 3 to 6 as follows: • - It encrypts (codes) the file(L6) • - It sets up a communication session by(L5) • breaking the copy request into smaller packets • - It formats each small packet to detect transmission errors(L4) • - It does routing on a LAN:(L3) • -All packets (msjs) are transmitted to all nodes • -Each node reads msj adr & if for that node reads msj, • if not ignores msj • - It passes each formatted data block to the netw card for transmission on the network
Distributed Database Processing • If the workgroup processes a database, then a multiuser DBMS is required. • 2 different architectures for processing databases on LAN: • resource - sharing • client/server
Resource-Sharing Database Processing • Each comp has DBMS • & server operates as disk manager • (all processing is done on user comps • & server only provides complete tables of data )
Client-Server Database Processing • DBMS is divided into 2parts: • -client DBMS (on user comps,contains user interface) • -server DBMS (on server, does all db processing in response to requests from client DBMS) • Client DBMS & appl progs access server DBMS from client comps
Adv of Client-Server Database Processing • 1. Requires only 1 copy of server DBMS • (client DBMS can be simpler & less expensive) • 2. Requires less transfer of data over LAN • (more data must be transmitted across LAN for resource-sharing) • 3. Provides better control of concurrent processing • (because a DBMS centralized on a single node provides this) • but permits less parallel processing • (i.e if 20 client PCs give requests to server at the same time, it affects server processing speed)
Application Programs in Distributed Systems • Types of application programs: • Horizontal application products: • - single-user versions • (ex: Lotus 1-2-3, Excel, Word, Word Perfect) • - multiuser versions • Vertical Application Products • (Custom developed applications by professionals)
Single-user Application Products • - can run on networked comp w/o change. • If it uses local disk for storage/retrieval, • then can be unaware of network’s existance • - if it uses server for storage/retrieval, then user must use server device name • - but due to uncoordinated update activity, leaves workgroup open to errors & problems
Multiuser Application Products • - provides features & functions for shared processing • - provides locks & other facilities to keep users from interfering w/ one another’s work • - when buying it must match network OS
Application Programs in Distributed Systems • For Word or Excel to obtain data from group database on server, • it formats its request in away that the server DBMS can process • (ex: Excel provides a utility called Q+E to access data from SQL server)
DATA • Some types of data sharing are easy to accomplish (ex: e-mail) • but some other types create data management problems • (ex: 2 users editing changes on same doc)
DATA • Data for workgroup applications is usually shared : • - nonconcurrently • - concurrently
Nonconcurrent Data Sharing • Data can be shared w/out being processed simultaneously. • It can be done by: • - data partitioning • - processing partitioning
Data Partitioning • Data is divided into groups, each of which is processed by a single user. • Ex: account receivable dept processes past due accounts, • it can partition these accounts into groups by company name (1 account representative is assigned company names A to J, 2nd representative K to S, etc)
Processing Partitioning • All the data is assigned to a single user for processing, but only for certain periods. • Ex: 1 user is authorized access to all data in the morning, & 2nd user in the afternoon
Concurrent Data Sharing • Data can be shared by multiple users during the same time period • It is of 2 types • (depending on level of granularity): • - Record-level sharing • - File-level sharing
Record-level Sharing • 3 situations with record-level sharing: • 1. read/read • (2 users read the same record concurrently - no problem) • 2. read/update • (1 user reads, 2nd user updates same record concurrently - • inconsistent read problem) • 3. update/update • (2 users updating the same record concurrently, lost update problem)
Read/UpdateInconsistent Read problem User A tries to get total # of refrigerators in all Ws, while user B is moving 3 refg from W1 to W2. Follow the steps above & see how user A gets wrong total of refg.
Update/UpdateLost update problem Follow the steps above & see how user A’s update is lost through a problem in concurrent processing. Note: changes made by 1st user are lost due to the update made by the 2nd user
Solution to Concurrent sharing • is record locking - records must be locked before they can be read for the purpose of update. • Record locking solves both • inconsistent read & • lost update problems, • but gives the problem of deadlock.
Deadlock User A & user B are each processing orders for a diamond necklace & a black velvet box. Follow the steps above & see how A & B have each blocked the other from completing their processing (Resolving deadlock requires a commit/rollback technique - ie canceling one of the order transactions & starting it over after the conflicting order is completed)
File-Level Sharing • Is the file level of granularity, where monolithic files are shared across the workgroup. • - files such as word processing, spreadsheets, publications,& graphic images • - these files are nonstructured and noncoded
File-Level Sharing • There are facilities for controlling such sharing • in the network OS • & in most multiuser products • Some programs dont have such capabilites, so user supplements this program control for sharing w/ manual procedures. (if user states that a file is not to be shared, the network OS won’t allow anyone to share it) (A word processor locks doc file as nonshareable when someone is editing the doc)
PROCEDURES • When programs do not provide facilities for coordinated access, • procdures need to be developed to coordinate the processing of workgroup members.
4 Categories of Procedures User’s need procedures for : Operations personnel need procedures for : backup