How Distributed Computing Systems Are Going To Be Evolved in Future and Explain It Briefly Mentioning
How Distributed Computing Systems Are Going To Be Evolved in Future and Explain It Briefly Mentioning
How distributed computing systems are going to be evolved in future and explain it
briefly mentioning/citing with proper references.
. A distributed system is a collection of multiple autonomous computing elements that
appears to its users as a single comprehensible system (van Steen & Tanenbaum,
2016).The ultimate goal of distributed computing is to maximize performance by
connecting users and IT resources in a cost-effective, transparent and reliable manner.
The present computing paradigm is not scalable since it depends on "shared memory",
yet most physical systems work with message passing, so to gain progress you need to
convince people to surrender one for the other. You can bring down the baron the
progress by making Simultaneous Multiple processing work as a programming paradigm
on the top of message passing. Because of the quick advancement in PC equipment,
software, web, sensor networks, portable device communications, and interactive media
advances, distributed computing systems have evolved radically to improve and grow
various applications with better nature of administrations and lower cost, particularly
those involving human factors ( Yau Stephen, 2011). Besides reliability, performance and
availability, many other attributes, such as security, privacy, trustworthiness, situation
awareness, flexibility and rapid development of various applications, have also become
important. Distributed Computing System will serve and evolved in the long run. With
the rapid development of various emerging distributed computing technologies such as
Web services, Grid computing, and Cloud computing, computer networks become the
integrant of the next generation distributed computing systems. Therefore, integration of
networkinganddistributedcomputingsystemsbecomesanimportantresearchproblemfor
building the next-generation high performance distributed information infrastructure. In
the near future, distributed application frame works will support mobile code, multimedia
data streams, user and device mobility, and spontaneous networking (Coulouris, George
& Dollimore, J. & Kindberg, 2000). Looking further into the future, essential techniques
of distributed systems will be incorporated in to an emerging new area ,envisioning
billions of communicating smart devices forming a world-wide distributed computing
system several orders of magnitude larger than today’s Internet.
XML does not try to be the solution to every problem. There are some things it just
cannot do well, and it would be foolish to try to force it to do them. The foremost
requirement of XML is that it be universally accessible, a lowest common denominator
for applications. This necessarily throws out many optimizations that are necessary in
some situations.
XML is not optimized for access speed. XML documents are meant to be completely
loaded, and then used as a data source. The parser is required to do a syntax check every
time it reads in the markup. In contrast, modern databases are optimized for quick data
lookups and updates.
XML is not compact. There is no official scheme for compressing XML. XML parsers
expect uncompressed text. You either have to put up with large text files, or you have to
create a complex mechanism for compressing and decompressing on the fly, which will
add to your processing overhead. Most proprietary applications, like Microsoft Word and
Adobe Frame Maker, save data in a binary format by default, saving disk space and
perhaps speeding up file transfers. (HTTP offers compression for transmission, which
helps reduce this cost.)
Many kinds of data are not suited for embedded markup. XML is most useful for text
data with a hierarchical structure. It does not offer much for binary data. For example,
raster graphic images are long streams of binary data, unreadable to anyone until passed.
b. Limitation of SOA.
ncrease overhead
complex service management
high investment cost
Service Oriented Architecture (SOA), is most frequently used term, but people do not have
deep knowledge that what Service Oriented Architecture actually is. They get confused and
relate it with cloud computing. In the last few years, cloud computing has grown into one of the
emerging technologies in IT industry. The cloud computing is dynamically scalable resources,
where SOA is the concept of loosely coupled services. Each service is independent of the other;
together they can form a complete system. This paper gives an overview of cloud computing and
SOA and also proposes a solution that SOA should be merged with cloud to eliminate the SOA
limitations. Combining cloud with SOA will enhance the availability and reliability of SOA and
will reduce its messaging overhead.
C. Limitation of SOAP
SOAP does not mandate an underlying transport protocol, but HTTP has emerged as the most
widely used one for SOAP. Since SOAP can combine the strengths of XML and HTTP, it is an
attractive candidate for Grid communication. A common trade-off in computing is between the
needs of universality and high performance.
SOAP’s relied on HTTP for transport of XML data in the version 1.0 of its
specification.
HTTP requires a stateless request/response architecture that is not appropriate under all
circumstances. While one can work around the state problem it requires additional
coding.
All SOAP data is serialized and passed by value and currently there is no provision for
passing data by reference. This could lead to synchronization problems if multiple copies
of the same object are being passed at the same time.
SOAP is a protocol, not a system, it does not address security. While it is very desirable
to bypass the firewall woes experienced by competing distributed architectures, it is
imperative that the security concerns around SOAP be resolved before it can be expected
to gain predominance in the marketplace.
JAXB-JAXB cannot un mar shall XML into instances of my existing Java classes.
Unmarshalling only produces instances of JAXB-generated "content classes".
JAXB cannot unmarshall XML into instances of my existing Java classes. Unmarshalling only
produces instances of JAXB-generated "content classes".Granted, unmarshalling XML into
JAXB content classes, and then mapping these content classes into my own classes, may be a
little more elegant than our current method of just walking the DOM hierarchy.
. 2-phase locking:
According to the two-phase locking protocol, a transaction handles its locks in two distinct,
consecutive phases during the transaction's execution: Expanding phase (aka Growing phase):
locks are acquired and no locks are released (the number of locks can only increase)
(i) It is a concurrency control method which divides the execution phase of a transaction into
three parts.
Disadvantages:
⇒ Performance Issues.
⇒ State Inconsistency
3-Phase locking:
(ii) A new phase is introduced, known as pre-commit phase, in between the voting phase and
global decision phase.
Disadvantages
Most of the time developers give little importance to transaction management. As a result,
lots of code has to be reworked later or a developer implements transaction management
without knowing how it actually works or what aspect needs to be used in their scenario.
The most important aspect for developers is to understand how to implement transaction
management in an application, in the best way. So now let's explore different ways.
EntityManagerFactory factory =
Persistence.createEntityManagerFactory("PERSISTENCE_UNIT_NAME"); EntityManager
entityManager = entityManagerFactory.createEntityManager(); Transaction transaction =
entityManager.getTransaction() try { transaction.begin(); someBusinessCode();
transaction.commit(); } catch(Exception ex) { transaction.rollback(); throw ex; }
Pros:
Cons:
A lot of boilerplate needs to be written and if you want to call another method from this
method then again you need to manage it in the code.
Declarative transaction management: This means you separate transaction management from
the business code. You only use annotations or XML-based configuration to manage the
transactions.
5. What are different simulation/emulation frameworks available for distributed
computing platforms to simulate and compare and contrast its capabilities?
The different types of simulation frameworks are as follows.
(1). SimGrid is meant for distributed systems and grid computing. It studies
algorithms on distributed application.
2. Buyya et al. made CloudSim for working on cloud computing experiments. It
supports simulation of cloud environments and also helps in the simulation of many
data centers.
(3) TeachCloud was made for teaching purposes. It adds a GUI with many new
features.
Simulation is when you are replicating, by the means of software, the general behavior of
a system starting from a conceptual model.
Emulation is when you are replicating, in a different system, how the original system
actually internally works considering each function and their relations.
In other words: