Tuesday, December 10, 2019

Distributed Systems Principles and Development

Questions: 1.Differentiate between Distributed systems, mobile distributed systems and Non-distributed systems? 2.Definition and explanation of theoretical aspects of communication in distributed systems? 3.Compare and Contrast the fault-tolerance requirements in distributed system and mobile distributed system? 4.Main social issues arising from the use of ubiquitous distributed systems? Answers: Introduction The report mainly focuses on the comparison of distributed and non-distributed system. According to Murphy et al., (2014), distributed systems are defined as a piece of software, which enables collection of different independent computers that appear as a single coherent system for its users: whereas, in non- distributed system all the processing are completed by using a single processor with the help of single processing site. The assignment discusses the theoretical aspects of communication in distributed systems and the characteristics of interprocess communication. The report illustrates the social issues related with the use of ubiquitous distributed system, which increases the cyber security threats. The report also provides number of methods for resolving the issues associated with the distributed system. Definition of distributed systems According to Kavousi-FardandSamet (2013), distributed system are defined as software in which various components are situated at networked computers for communicating as well as coordinating their actions only by passing messages. The distributed systems have some specific characteristics, which includes concurrency of components, independent failures of components and lack of global clock (Kopetz 2014). Distributed systems help in sharing various resources and capabilities for providing users single as well as integrated coherent network. Some examples of modern distributed applications include multiplayer online games, web search and financial trading systems. Difference between distributed systems and mobile distributed systems The table below reflects the difference between the distributed system and mobile distributed system Serial No. Distributed System Mobile Distributed System 1. Distributed system is defined as a piece of software that helps in enabling a collection of various independent computers that appears as a single coherent system for its users (Chandhoke et al., 2013). Different technological development in miniaturization of various devices and wireless networking leads to the integration of different types of small as well as portable devices of commuting into the distributed system, which is known as mobile distributed system (Ostroukh Pomazanov 2014) 2. Distributed system includes devices like financial trading system Mobile distributed system includes devices like mobile phones and smart phones. 3. The main application of distributed system includes aggregate level simulation protocol, distributed database and multi model database. The main application of mobile distributed system includes cellular digital packet data, emergency services, stock information control, credit card verification and many more (Wu et al., 2013, p.331). Ubiquitous distributed system Ubiquitous distributed system contains the idea of embedding various computational powers into the daily environment in such a way that it helps in adding functionality to the environment in a very useful as well as unobtrusive manner. It is stated by Bott (2012), that it helps in harnessing very small, cheap computational devices, which are located in the physical environment of the users including home and office (Goswami Kundu, 2013, p.29). The device that utilizes the system must have constant availability, and as a result, they are connected completely. It mainly focuses on learning by eliminating the different complexities of computing. The main key features of ubiquitous distributed system include use of large umber expensive processors, capturing of various real time attributes and use of converging network. How Ubiquitous system is different from non-distributed system The table below illustrates the factors that differentiate Ubiquitous system from non-distributed system. Serial No. Ubiquitous System Non-Distributed System 1. A ubiquitous system is a network, which comprises of autonomous computers, connected by utilizing a distribution middleware (Sambasivan et al., 2014). All the processing is completed by a single processor with the help of single site processing or single site data, which are situated on a mainframe. The data as well information are stored in the hard disk of hosts computer. This type of configuration is defined as non-distributed system (Ostroukh Pomazanov 2014) 2. Distributed system helps in supporting various types of clients by giving a shared middle tier. Non-distributed system helps in supporting the implementation of object oriented design. (David et al. 2014). 3. Security is considered as a big challenge in the environment of ubiquitous system, especially while using public networks. One of the big challenges for the non-distributed system is that the whole application runs on a single server and as a result it cannot help in freely allocating the different physical layers (Francalanza, Gauci Pace 2013). Type and characteristics of interprocess communication According to De Palma et al., (2012), Interprocess Communication is a method, using which two or more processes communicate for exchanging data by synchronizing their activities. There are different types of interprocess communication available, which are as follows: Local interprocess Communication: It helps in allowing one or more processes to communicate with one another using a single system. The local interprocess communication includes: Pipe: It is stated by that David et al., (2014) that pipe helps in passing information from one process to another process. The pipes are categorized into two types, which include named pipes and unnamed pipes. Signals: Signals are defined as an interrupt, which are software generated. They are generally sent to the process when an event occurs. Message Queuing: Ruiz-Lpez et al., (2013) stated that, message queuing helps in allowing processes by utilizing a message queue Shared Memory: It assists sharing of memory segments among various processes for having proper communication in order to exchange data between them. Sockets: They are considered as the end for having proper communication between different processes (Barcelos, Rigo Barbosa, 2015). It helps in allowing communication between various program of the client and a server. Remote interprocess communication: Qiu et al., (2013) opined that remote interprocess communication helps in allowing more than two procedures for communication among each other on different systems. Different types of networking protocol are implemented in various remote interprocess communications. (Rajguru Apte, 2012, p.2279). The interprocess communication utilizes: Internet-domain-specific- socket The Transport Layer Interface (TLI) Remote Procedure Calls (RPCs). The characteristics of interprocess communication include: Message Passing: According to Kavousi-Fardand Samet 2013), the message, which is passed between two processes, is supported by two-message communication operations, which includes send and receive. Synchronous form of communication: In this form of communication, send as well as receive are considered as blocking operations. Asynchronous form of communication: In asynchronous form, the send options is considered as non- blocking and receive operation is considered as blocking operations. Fixed Internet Address: VermeulenandRath (2013) explain that fixed internet addresses are utilized in order to avoid one between the two approaches for providing better location transparency. The approaches include client program referral to various services by using the name and the operating system. Reliable Communication: It helps in providing validity as well as integrity. According to Deng et al., (2015, p.720), for achieving proper validity, point to point message service must be required for describing the message as reliable when they are guaranteed for delivering. On the other hand, Kekatos Giannakis, (2013, p.1618) claim that integrity can be achieved if the messages have arrived uncorrupted as well as without duplication. Support provided by Java Programming Language in the use of interprocess communication primitives inapplication development. Interprocess communication is very much important in the programming environment of Java for addressing different issues. RMI and COBRA are the two approaches that helps in allowing exchange of various objects for dynamically invoking various methods as well as procedures at runtime. Java helps in providing support in application development by using the different interprocess primitive (Kavousi-Fard Samet, 2013), However, the RMI, as well as COBRA cannot be used under some of the circumstances and therefore in that situation, plain old sockets can be used for communicating between various applications of Java. Objects are serialized as well as transmitted over sockets by using two different classes including ObjectInputStreamand ObjectOutputStream (Barcelos, Rigo Barbosa, 2015).Sockets are much simpler than RMI or COBRA and therefore one can define everything by utilizing the communication protocol. Lock files can also be utilized for communication. They are considered as primitiv e methods of communication between various procedures on the same system. Lock files are quite simple for communicating between two or more processes for the well-known file or file system. This is such a primitive approach, that it is not considered as a legitimate form of interprocess communication The process and communication failures to be considered In the distributed system, both the process, as well as communication channel, may fail. The failure model of distributed system helps in defining the ways or the procedures of failures in order to provide proper and effective understanding of failure. The failure model of distributed system is categorized as omission failure, arbitrary failure and timing failure. According to David et al., (2014), omission failures occur when the process or the communication channel of distributed system fails in performing the actions, which it supposed to do. On the other hand, Bott (2012) stated that arbitrary failure occurs when there is any type of error present within a process and the timing failures are present as well as applicable in distributed system for liming the execution time. On the other hand, it is stated by Vermeulen and Rath (2013), that typical failure in the process, as well as communication of mobile distributed system include node failures, loss of packets and connectivity failures. The connectivity failure mainly arises when the wireless network is unable to get connected with the network. Connectivity failures in MDS are due to unavailability of connection to the various access points. It helps in identifying other failures, including partitioning as well as isolation failures. Additional failures that are considered in case of mobile distributed system Mobile Distributed System has a number of additional failures as compared to distributed system. The distributed system have three types of failure modes, which includes omission failure, arbitrary failure and timing failure; whereas the mobile distributed system have three different modes of failure which include node failure, connectivity failure and loss of packets due to very weak wireless links (Francalanza, Gauci Pace 2013) According to Ruiz-Lpez et al., (2013, p.26), the performance of the system is affected due to the failure that occurs. Some of the fault in the distributed system is narrowed down due to failure in the hardware as well as software. The errors, which have occurred in the distributed system, are mainly separated using some of the components such as omission, performance, timing as well as crash. On the other hand, Vermeulen Rath (2013) stated that in mobile distributed system failures are dependent on the tolerance of connectivity, access point and node failures. Social issues reported from the use of ubiquitous distributed system, which arises from cyber security The extended functionalities which are offered by ubiquitous computing from cyber security raises number of social issues which include: Privacy issues: According to De Palma et al. (2012, p.331), privacy has become one of the perverse tasks due to physical outreach of various ubiquitous computing. The computing capabilities, as well as extra intelligent spaces, are supplied mainly with the help of natural construction. The spaces are used for context information and therefore the system helps in forming a distributive observation system, which has the ability to capture information about users and thus donates confidence for tracking prevention of different users (Francalanza, Gauci Pace 2013). Trust issue: Due to the loss of information or due to any other privacy issue, the trust which is an association between two entities weakens (Sambasivan et al., 2014).The privacy issue rises due to de-Anonymization attack or due to leakage of information through poor setting or by any other method. The leakage of information reduces trust and it creates lot of issues. User interaction issue: According to Francalanza, GauciandPace (2013, p. 187) the nature of group interaction is not possible in the space possible due to absence of proper information from the users of the system. As a result the users face problems in communication or interacting properly. It is quite important to overcome this type of issue. Measures used in software application development for reducing the impact of social issues. There are some measures which help in reducing the social issues: Platform Safety: According to Bott (2012), Ubiquitous networks have a capability to download different applications, which allow proportional update as well as reconfiguration. Therefore, limitations from downloaded source must be present so that the malicious information cannot enter or reconfigure different instruments. Therefore, it is quite important to protect the platform from various attacks. Single Sign on: It is very much important to have single sign in ubiquitous system. It helps in reforming the initiation of various entries by authenticating all the network domains for including different leaving as well as joining of ubiquitous network without having any disturbance. Content safety: It is the opinion of Murphy et al., (2014), that the ubiquitous system helps in delivering various capabilities of different services. Therefore, the assurance of being safe as well as protected for the providers in the digital environment is provided using the system of Digital right Management. Conclusion It can be concluded that distributed system as well as non-distributed system differs from each other in various aspects. Distributedsystem helps in supporting various types of clients by providing a shared middle tier; whereas,non-distributed system helps in supporting the simplest architecture of different web applications. It has been identified that there are number of risks associated with ubiquitous distributed systems, which includes privacy issues, trust issues as well as user interaction issues. The problems or challenges can be resolved if proper methodology for application development can be followed. The report discusses various measures including platform safety, content safety as well as single sign on for reducing the impact of social issues due to the use of ubiquitous distributed system. References Barcelos, A, Rigo, S.J Barbosa, J.L 2015, June, Ubiquitous System for Stroke Monitoring and Alert, In2015 IEEE 28th International Symposium on Computer-Based Medical Systems, pp. 330-333. Bott, R 2012, Intelligent placement and delivery of mobile advertisements and electronic coupons via a distributed system in a mobile network, U.S. Patent Application 13/572,582. Chandhoke, S, Mohrmann, L.E, Ullrich, A.CGreenstreet, R.D National Instruments Corporation 2013,Clock distribution in a distributed system with multiple clock domains over a switched fabric, U.S. Patent 8,583,957. David, K, Geihs, K, Leimeister, J.M, Ronagel, A, Schmidt, L, Stumme, GWacker, A 2014,Socio-technical Design of Ubiquitous Computing Systems, Springer, pp.353. De Palma, N, Hagimont, D, Boyer, FBroto, L 2012, Self-protection in a clustered distributed system,IEEE Transactions on Parallel and Distributed Systems,23(2), pp.330-336. Deng, Q, Nie, R.S, Jia, Y.L, Huang, X.Y, Li, J.M. Li, H.K 2015, A new analytical model for non-uniformly distributed multi-fractured system in shale gas reservoirs,Journal of Natural Gas Science and Engineering,27, pp.719-737. Francalanza, A, Gauci, APace, G.J 2013, Distributed system contract monitoring, J. Log.Algebr. Program.,82(5-7), pp.186-215. Goswami, S Kundu, C 2013, XML based advanced distributed database: implemented on library system.International Journal of Information Management,33(1), pp.28-31. Kavousi-Fard, A Samet, H 2013, Multi-objective performance management of the capacitor allocation problem in distributed system based on adaptive modified honey bee mating optimization evolutionary algorithm,Electric Power Components and Systems,41(13), pp.1223-1247. Kavousi-Fard, A Samet, H 2013, Multi-objective performance management of the capacitor allocation problem in distributed system based on adaptive modified honey bee mating optimization evolutionary algorithm,Electric Power Components and Systems,41(13), pp.1223-1247. Kekatos, V Giannakis, G.B 2013, Distributed robust power system state estimation,IEEE Transactions on Power Systems,28(2), pp.1617-1626. Kopetz, H 2014, A Communication infrastructure for a fault tolerant distributed real-time System, Distributed Computer Control Systems 1994, p.13. Murphy, B.T, Scheifler, R.W, Pan, Z, Waldo, J.H,Wollrath, A.M Arnold, K.C Oracle America, Inc, 2014,Dynamic lookup service in a distributed system,U.S. Patent 8,713,089. Ostroukh, A Pomazanov, A 2014,Realtime Development and Testing of Distributed Data Processing System for Industrial Company, Middle East Journal of Scientific Research,20(12), pp.2184-2193. Qiu, M, Zhang, L, Ming, Z. Chen, Z, Qin, X. Yang, L.T 2013, Security-aware optimization for ubiquitous computing systems with SEAT graph approach,Journal of Computer and System Sciences,79(5), pp.518-529. Rajguru, A. A Apte, S.S, 2012, A comparative performance analysis of load balancing algorithms in distributed system using qualitative parameters,International Journal of Recent Technology and Engineering (IJRTE) ISSN,1(3), pp.2277-3878. Ruiz-Lpez, T, Garrido, J.L, Supakkul, S Chung, L, 2013, A Pattern Approach to Dealing with NFRs in Ubiquitous Systems, InCAiSE Forumpp. 25-32. Sambasivan, R.R, Fonseca, R, Shafer, I Ganger, G.R 2014,So, you want to trace your distributed system? Key design insights from years of practical experience(Vol. 102), Technical Report, CMU-PDL-14. Vermeulen, A.H Rath, T.A, Amazon Technologies, Inc. 2013,System and method for checkpointing state in a distributed system, U.S. Patent 8,458,517. Wu, G, Zhang, H, Qiu, M, Ming, Z, Li, J Qin, X 2013, A decentralized approach for mining event correlations in distributed system monitoring,Journal of parallel and Distributed Computing,73(3), pp.330-340. Distributed Systems Principles and Development Question: Discuss about Distributed Systems Principles and Development. Answer: System architecture The constructed system is represented here as an architecture, base on logical system. For developing the restaurant architecture, the programmer uses the particular architecture presented here. Figure 1: System architecture Test plan In this part of the study, few steps were utilized for testing the developed client server restaurant application. In the initial run of the server, it gets ready for receiving request from the client. In terms of proceeding with the client request, the client must send a request first to the server and the server develops a thread. From the above context, it is clear that the server develops threads every time the client sends request. The following figures are the proof of the expected outcome of the experiment. Figure 2: Success of evidence of server Figure 3: Success of evidence of client Figure 4: Success of evidence fetching data from server through a client User Instructions The user for placing all the java files will use a particular package folder within the project folder. In regards of holding all the data, a data structure will be created through the code, which will be in the Menu food class. The server class is responsible for establishing proper communications. The database connection is created and the data are being fetched from the database through the database utility class. All the three-java classes are stored in same package where all data fetch, store in link list and send to the client. Presently the customer class is another piece of this anticipates where the customer will know the port number and web convention to interface with the server program. The client needs to put these in two diverse bundles, in the wake of setting all records in a proper area set the database in MySQL. The MySQL segments are precisely same as give in the task material (CSV document). Now comes the part of developing the project utilizing the NetBeans IDE to ol. The tools is automatic in terms of running server file regarding this project. The user is required to run the client file. A menu option is provided to the user after running the client program. The menu will be providing the options regarding choosing a menu and continue until the user do not invoke exit option. Bibliography Bown, O., Young, M. and Johnson, S., 2013.A JAVA-BASED REMOTE LIVE CODING SYSTEM FOR CONTROLLING MULTIPLE RASPBERRY PI UNITS. Ann Arbor, MI: Michigan Publishing, University of Michigan Library. Brabson, R.F., Christensen, A.B. and Kassimis, C., International Business Machines Corporation, 2015.Binding multiple addresses to a socket in a network system. U.S. Patent 9,148,455. Ciubotaru, B. and Muntean, G.M., 2013.Advanced Network ProgrammingPrinciples and Techniques: Network Application Programming with Java. Springer Science Business Media. Funabiki, N., Matsushima, Y., Nakanishi, T., Watanabe, K. and Amano, N., 2013. A Java programming learning assistant system using test-driven development method.IAENG International Journal of Computer Science,40(1), pp.38-46. Kalita, L., 2014. Socket Programming.International Journal of Computer Science and Information Technologies,5(3). Liu, X., Tong, W., ZhiRen, F. and WenZhao, L., 2013. BSPCloud: A Hybrid Distributed-memory and Shared-memory Programming Model.International Journal of Grid and Distributed Computing,6(1), pp.87-97. Malik, M.H. and Ali, Y., 2014. Java Socket programming: From Theory to Practical with complete implementation code of Video Conferencing. Sanderson, D., 2015.Programming Google App Engine with Java: Build Run Scalable Java Applications on Google's Infrastructure. " O'Reilly Media, Inc.". Sawant, A.A. and Meshram, B.B., 2013. Network programming in Java using Socket.Network,3(1). Schindelin, J., Arganda-Carreras, I., Frise, E., Kaynig, V., Longair, M., Pietzsch, T., Preibisch, S., Rueden, C., Saalfeld, S., Schmid, B. and Tinevez, J.Y., 2012. Fiji: an open-source platform for biological-image analysis.Nature methods,9(7), pp.676-682. Sharma, N. and Deswal, N., 2014. Advanced Java: Networking with Java (Socket Programming).International Journal of Research,1(9), pp.1089-1092. Taboada, G.L., Ramos, S., Expsito, R.R., Tourio, J. and Doallo, R., 2013. Java in the High Performance Computing arena: Research, practice and experience.Science of Computer Programming,78(5), pp.425-444. Wang, L., Bhattacharya, P., Chen, Y.M., Joshi, S. and Cheng, J., 2016, March. End-to-End Java Security Performance Enhancements for Oracle SPARC Servers. InProceedings of the 7th ACM/SPEC on International Conference on Performance Engineering(pp. 159-166). ACM. Xu, C.W., Lei, H. and Xu, D., 2014. Networked Games based on Web Services.GSTF Journal on Computing (JoC),1(1). Yalagi, P.S. and Apte, S.S., 2015. Parallelization of Annotated Java code in a Distributed Network.International Journal of Computer Applications,110(7).

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.