ODU CS 775 - Distributed System to Support a Retail-chain

Unformatted text preview:

CS775/875: Distributed SystemsSpring 2012Distributed System to Support a Retail-chainQ2. Display number of employeesFigure 1. Example Hierarchic StructureAvailability IssuesPerformance issuesDynamic SystemDesign choicesCS775/875: Distributed Systems Spring 2012 Course Project Distributed System to Support a Retail-chain Demo: April 18 and 23 in class Project team: Up to 2 members As you all know, a retail-chain has stores distributed all over a region, a state, a country, or even around the world. While each store in the chain has certain independence, in general, the chains within a region or a country, are bound to some rules. A central office may fix the prices, the inventory may be monitored and new supplies ordered from a central place, and the sales may also be monitored by a central place. In fact, the retail-stores may be operating in a hierarchic fashion. For example, a local office may coordinate all stores of a chain in Hampton Roads. All local offices within Southeastern Virginia may have another central control say in Richmond. All in Virginia may have one central office. May be all Southern States have a central controller. This may go on. In essence, there is a hierarchical management structure. This hierarchy could also be used for better utilization of resources. For example, if there is a heavy demand for raincoats and umbrellas in Virginia where it has been raining, and there is no demand and plenty of inventories in Texas due to drought, then it is probably better to transfer these goods from Texas to Virginia rather than ordering additional supplies from the manufacturer. Such structure could also be used to make decisions such as the location of new stores. Like any other distributed system, the main objectives of this system are: response time and availability. When a user has a query, the user should be provided an answer as quickly as possible. If there is a choice of providing slow but accurate information versus providing fast but approximate answer, then the user should be given an option to choose. However, it is also possible to have a default choice. What is being monitored by the system? The system basically keeps track of two types of information: merchandise and personnel. For each item carried by the retail-store, the system should keep track of the sale price, current stock, and sales for that day, last week, and last month. Obviously, each item will be identified by a unique identification and a description. In terms of personnel, the system keeps track of the employees at each of the locations including the administrative offices such as the zonal, regional, state, and national offices. For each employee, it will keep track of the employee ID, SSN, name, sex (male or female), job title, employment begin date, and current annual salary.The types of queries/updates you will be implementing to show the utility of the system are given below. Along with each query/update, the arguments to be provided to execute the query are also provided. U1. Change price: Item ID, Price, date effective (sale price being changed) U2. Add an item: Item ID, description, price. (A new item is to be added) U3. Add to Inventory: Item ID, quantity (Items arrived from manufacturer) U4. Sales: Item ID, quantity (A customer is purchasing) U5. Remove item: Item ID (Discontinue the item) U6. Inter store-transfers: Item ID, quantity, from-store-ID, to-store-ID (Transfer stock from one store to another) U7. Add a new employee: Employee ID, SSN, name, sex (male or female) , job title, employment begin date, and current salary. U8. Remove employee: Employee ID (Employee resigned or fired) Q1. Query item: Item ID (Customer service wants to know information about the item) Q2. Display number of employees Q3. Total monthly payroll (Sum of monthly salaries of all employees) Q4. Employee information: Employee ID (Given employee ID show all information pertaining to that employee) NR2R1 R3Z1 Z2RS1 RS2 RS3 RS4N National officeR Regional officeZ Zonal officeRS Retail-store Figure 1. Example Hierarchic Structure Scope of the Queries/UpdatesAt the retail-stores, all updates and queries (except U6) are allowed. At the higher level administrative office, however, only U1, U2, U5, Q1, Q2, Q3, and Q4 are possible. We now look at the semantics of each of these operations in detail. U1: When executed at a retail-store, price only at that store is changed. If executed at higher levels, all retail-stores below that node will implement that operation. For example, if R1 executes this command, then all retail stores under Z1 and Z2 implement the change in price. U2: All stores under the hierarchy implement the update. U3: This may be executed only at a retail store. U4: This may be executed only at a retail store. U5: All stores under the node which execute this command remove the item from their inventory. U6: This may be executed at any level. For simplicity, we assume that the from-store and the to-store will always be under the node that is executing it. So a retail-store cannot execute this command. Only higher level nodes can execute it. U7: Only a retail-store can execute. For simplicity, we assume that the system does not maintain employee information of the higher level nodes. It is only interested in the retail-store employees. U8: Can be executed only at a retail-store. Q1: This may be executed at any level. Since this information includes the inventory of an item at a retail-store, all retail-stores under a node that executes this command should return corresponding values. For example, if Q1(Umbrellas) is executed at R1, then the results should display information of this item at all retail stores in this region. When executed at a retail-store, it should only display that store’s information. Q2: Similar to Q1. Q3: Similar to Q1 Q4: May be executed at any node. Suppose an employee E1 is working at RS2, then Q4(E1) executed at RS2, Z1, R1, or N should give correct answer. In other words, a node can only enquire about employees only under its control and not everyone in the organization. (This simplifies your implementation) Availability IssuesIt is possible that some servers may crash. For example, if the server at R1 crashes, it should still be possible for N to reach Z1 and Z2 directly. At the retail-store level, I suggest you use replication (two-copies are adequate) to increase reliability. So when one fails, the other can execute the


View Full Document

ODU CS 775 - Distributed System to Support a Retail-chain

Download Distributed System to Support a Retail-chain
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Distributed System to Support a Retail-chain and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Distributed System to Support a Retail-chain 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?