We accept

A Cloud Founded Immune System For Computers Information Technology Essay

Cloud Computing is a Web-based processing, where services are hosted on the Internet. Resources like infrastructure, software, and information are given to computers and other devices on demand online.

It is in the 1960s that the idea of Cloud Computing first surfaced as defined by John McCarthy, "computation may someday be prepared as a general population utility". From your 1960s to the 1990s, Cloud Computing has barely increased. In the 1990s, there was a major growth of bandwidth that brought on the introduction of Cloud Processing. Salesforce. com, which arrived in 1999, presented the idea of distributing business software through websites. Four years later, Amazon Web Services expended the could-based services to storage area, computation as well as individuals intelligence. Amazon Web Services then built the first Cloud Computing infrastructure that now offers worldwide access. C:\Users\Kanika Agarwal\Desktop\Technology COMMUNICATIONS\300px-Cloud_processing. svg. png

Cloud computing has recently become an integral part of people's lives today. A search engine that people are use every day is the simplest example. As a recent technology, only few researches have been done in this area. Cloud Computing is still an including paradigm. Therefore, an accurate and comprehensive description of Cloud Processing happens to be unavailable.

Cloud security will involve the same fundamental issues as any computer security program. Included in these are: restricting access to authorized users, maintaining the integrity of data, and ensuring the option of data and services. When data and services reside on machines external to the campus, safeguarding those possessions involves additional matter. Encrypting data transit is important, as are the service provider's security techniques. Cloud processing typically uses server virtualization, in case the virtualization isn't secure, data in one segment of your server could escape into another area.

Cloud based immune system systems are very efficient in solving problems related to computer software which use the thought of cloud computing. Such softwares accumulate the data and information from the cloud to process its application. A new approach for managing pests in computer software, Dimmunix, has been developed by a team led by Prof. George Candea at EPFL. Deadlock immunity is a house where programs, once suffering from a deadlock routine, develop the ability to avoid future occurrences of this deadlock pattern. Overtime, programs with such an "immune system" steadily increase their resistance to deadlocks. Dimmunix is a tool for presenting software systems an disease fighting capability against deadlocks, with no assistance from programmers or users. It really is perfect for general purpose software (desktop and business applications, server software, etc. ) and a recent extension allows software neighborhoods to collaborate in reaching enhanced immunity. It also enables entire sites of computer systems to cooperate to be able to collectively prevent the manifestation of insects in software.

Literature Review

The Dependable Systems Laboratory at EPFL in Switzerland has developed a new IT tool, called "Dimmunix", which allows programs to prevent future recurrence of insects without any assistance from the users or programmers. The strategy, called "failure immunity", starts working for the first time a insect occurs. It saves the signature of the bugs, and then observes how the computer reacts and files a trace. When the bug is about to strike again, Dimmunix uses these trace to identify the problem and automatically changes the execution so that the program remains to run effortlessly. The usage of cloud processing technology means the tool that can protect the complete network of computer insects, even in an environment like the web. (Sparky3887, 2010)

With Dimmunix, the web web browser learns how to avoid freezing when the pests related to plug-ins happen. Moving a step further, using the latest version of cloud computing technology, they take an good thing about network and therefore immunize the whole areas of computer.

Dimmunix could be likened with the human immune system system. When the person is infected, the immune system develops antibodies. Then, when the immunity process encounters the same pathogen again, the body recognizes and understands how to effectively fight the disease.

Based on the process of cloud computing, the pcs engaging in the Dimmunix program community reap the benefits of vaccines automatically produced whenever the first manifestation of confirmed insect occurs within that community. The new version of Dimmunix programs is easily guarded from the bugs, even in surroundings as unreliable as the internet.

At present, for the computer developers, Dimmunix works for many programs used extensively by private individuals and companies. It pays to for programs written in Java and C / C + +, obtained on real systems software (JBoss, MySQL, ActiveMQ, Apache httpd, MySQL, JDBC, Java JDK, and Limewire). (Carron-Gasco, 2010)

If the web browser crashes or the application form offers up the ghost, it might be required to send an error report to the inventor of this program. Following crashes, one would probably start to wonder if the error reviews were even read. This isn't the situation for Dimmunix. It learns from accidents, bugs and errors without the help of the user or for a programmer, to automatically prevent replication of the same deadlock in the foreseeable future.

This approach starts to be employed by the very first time an accident occurs. Dimmunix helps you to save a signature of the mistake, see how the computer reacts and songs a record. Next time the bug shows up, Dimmunix will be able to recognize the problem, part of and influence the application in order to not hit the same deadlock again. Dimmunix will not actually change the code or make an effort to fix the insect. It does not touch the program by any means. Dimmunix amends interleaving of program threads 'from below' the program in question, to be able to run this program without any deadlocks.

With subtle manipulations of this program schedules, the deadlocks can be averted without compromising the program code or influence the behavior of typical applications. The Dependable Systems Lab provides that Dimmunix has been proven to focus on many real systems, using all varieties of programming dialects such as MySQL, ActiveMQ, Apache and JDK forJava, while only adding modest performance over head. It has also proven itself to work in a test case of 100 mistakes, Dimmunix has were able to avoid all the deadlocks and run each test to completion.

The latest version of Dimmunix should go one step further. Influenced by the cloud processing, the software uses the activities and information from an entire connected community to share bug accounts and fixes.

This obviously opens the system up to web host of potential problems such as privateness worries and malicious denial-of-service problems. There is in fact no concern for privacy, because the deadlock signatures only contain a fingerprint of your section of execution and absolutely no data, neither of the user nor of this program itself. For malicious attacks, the new Dimmunix employs a quick verification technique that allows each Dimmunix runtime to get a deadlock personal and 'check' it before actually using it to avoid hangs. (Dark brown, 2010)

Results and Discussion

Case Study

The idea of cloud processing evokes different perceptions in various people. The word "Cloud" itself reflects the thought of how it works. In cloud computing, control is not in a given, known or in a static place. Cloud processing continues to be in the phase of a growing technology. Currently there have been some endeavors to utilize this technology in resolving the immunity problems in modern computers.

Cloud based immune systems are extremely efficient in handling problems related to software applications which use the idea of cloud processing. Such software gathers the data and information from the cloud to process its software. Included in these are:

Cloud software development program: software system to host cloud-based organization applications such as Glass windows Azure, Google

Software used to keep cloud established infrastructure (Machines, safe-keeping, security and databases) like Amazon Web services and Sun Microsystems etc.

These software integrate the approach of cloud computing in the backdrop to process their applications. The technique of how this software uses this particular technique will be reviewed below by randomly choosing a straightforward software additionally known as Home windows Azure.

Azure platform lessens its emphasis on the desktop by moving more resources to web-based products. It just uses the finish user computer to run the software. All of the data and information are stored in the cloud. In so doing it has an access to huge amount of data stored in the cloud. Since it is open to a vast market of cloud, the program has the ability to counter itself from mistakes that arise as it operates. (Tim Mther, 2009)

3. 1 Problems in Cloud Computing

There are a big number of problems/errors that the cloud based software faces in the current era of computing. These problems can be split into two main categories. They may be infections and issues due to immature technology. A few of them are the following:

Kernal setting rootkits: This uses the hypervisor technology to run. It affects the system by putting in itself as a hypervisor below the Operating-system. In so doing, it becomes more challenging to discover.

Viruses: There are two types of viruses. They are simply non-resident and resident infections. Non-resident resident trojans contain finding and replicating modules. Finder modules find new files and call the replicating module to infect that one file. Resident infections, when executed, insert into the recollection and execute whenever a particular data file of its interest start to run. (wikipedia, Computer Trojans)

Lock overhead: the excess resources using for locks like memory space allocated for hair, CPU time for you to initialise the lock and destroy a lock etc

Lock contention: This occurs whenever one process endeavors to get a lock presented by another process.

Deadlock: The situation when each of the two tasks is waiting for a lock that another process keeps. Unless something is done, the two responsibilities will wait permanently. (Wikipedia)

The above mentioned errors are some of the vulnerabilities that may be treated using cloud based mostly immune systems. Here, the deadlock will be analyzed in detail so as to spell it out how it could be solved using cloud centered systems. The pros and cons of the particular system may also be discussed below.


A deadlock refers to a particular condition where several demanding performance are waiting for one another to free a learning resource, or many actions are waiting around in a circular chain for learning resource. This brings about both the programs ceasing their function. When we consider multiprocessing, where many processes promote a particular kind of mutually exclusive reference, deadlock is commonly known as a "software lock" or "smooth lock". It really is tremendously vulnerable in the case where multiple threads coexist in the same address space of a system. Useless lock remains the ultimate bug when there is a trade-off among two problems. The deadlocks are troubling due to the fact there may be no solution to avoid them in support of possible way to strike such a predicament is by developing a deadlock detector and a breaking mechanism or system. (Deadlocks, 2011)

There are four essential and satisfactory conditions known as "Coffman Conditions" for a deadlock to occur. These include:

Mutual exclusion condition-A particular source of information that cannot be used by more than one program at a time

Hold and hold out condition-Process which holds some resources but at exactly the same time requests for new ones

No pre-emption condition-Resources can't be forcibly taken off a process positioning them but can only be released by the explicit action of the process.

Circular hang on condition: More than one processes form a round string where each process waits for a resource while the following process for the reason that chain retains.

3. 2. 1 Avoidance or Prevention

Removing the common exclusion condition is one way to avoid the inactive lock. One other way is by demanding a process, to request for all the resources they'll need prior to starting up. As it will never be an efficient use of resources, it is better to utilize algorithms such as lock-free and wait-free algorithms, optimistic concurrency control and solution, that permit pre-emption and avoid circular waits. Deceased locks can be averted if certain information about procedures is accessible beforehand, but also for many systems, it is impossible to learn the required tool information well in advance. (Detecting and Ending Deadlocks)

3. 2. 2 Technology against deadlock occurrence

Algorithms which are used mainly to steer clear of the useless lock are:

Banker's algorithm-This can be used for the dead lock avoidance but requires the advance knowledge of resource limit, which is impossible the majority of the time.

Wait/Pass away and Wound/Hold out algorithms-This uses a symmetry-braking technique. It could avoid the lifeless lock event but it is merely by allowing one of the procedures to be an unsafe condition.

In most deadlock detections, process restarts are being used by using an algorithm to remove the deadlock by checking learning resource allocation and process state governments. For the reason that detecting the probability of the deadlock before it happen is very hard. The deadlock diagnosis techniques such as Deadlock Checker Tool and Model verifying and detecting and Stopping Deadlocks are good examples. (Deadlocks, 2011)

Model checking-It constructs a ' finite status -model' on which it performs analysis to determine all possible terminal models in the model, in which each of them represents a dead lock.

Deadlock Checker Tool-It performs a variety of investigations on parallel programs written in CSP to be able to establish liberty from deadlock.

Detecting and Finishing Deadlocks-The SQL Server Repository Engine picks up deadlock cycles within the Server and decides one of the periods as a deadlock sufferer to be terminated.

3. 3 Dimmunix : AN INSTRUMENT for DEADLOCK

Operating reliably without any effect by insects is one of the biggest difficulties in Cloud Computing. Prof. George Candea and Cristian Zamfir worked on a project to solve this problem and came up with a solution, which was produced by DSL (Dependable Systems Laboratory) at Ecole Polytechnique Fdrale de Lausanne (EPFL) in Switzerland. More commonly known as "Dimmunix", it has a self-healing mechanism and is called "failure immunity". It studies the inability which occurs due to pests for the first time and will save bug's digital signature. It also observes what sort of computer reacts subsequently in order to conquer the failing and trace the tabs on the response.

Dimmunix functions on an on-going basis. When the program threads make the technique message or calls, Dimmunix observes its order in which they occur. It then identifies the precise method-call sequences that results in dead-lock. Utilizing the identified method phone calls and program-execution processes, Dimmunix traces and stores it as a digital personal. (A Cloud-Based DISEASE FIGHTING CAPABILITY For Personal computers). Once the bug will try to enter the system again, Dimmunix uses this signature to identify the bug and traces the keep track of to prevent the machine from deadlock which happened before by the same bug. It can so by causing changes in the series where threads run, to prevent the issues that can cause deadlock in the variety system. So the system is constantly on the work smoothly without the interruption as it functioned before the bug entered the system. (Failure Immunity Mechanisms for Embedded Software in Consumer Devices).

Dimmunix can be compared with our disease fighting capability, where both have similar functions. When we are afflicted, the human disease fighting capability develops antibodies to safeguard us from infectious brokers. If the body encounters the same agent again, the disease fighting capability will identify the pathogen and struggle effectively to conquer the illness. Dimmunix also reacts for bugs in the same manner as the way the immune system reacts for pathogen, and avoids system from deadlocks which includes been detailed in the aforementioned section. (Deadlock). Dimmunix need no assistance from developers or users and can act as an disease fighting capability in software systems to do something against deadlock. For standard goal, softwares such as desktop Operating-system, server software, and venture applications, Dimmunix is suitable. A recent expansion of Dimmunix can even allow the program neighborhoods to collaborate in obtaining superior immunity. (Garber) Quoting the lines of Teacher George Candea, director of Dependable Systems Lab "We do not touch this program by any means. Dimmunix modifies the interleaving of program threads 'from underneath' the program in question, in order to essentially trick the program into jogging without deadlocking. It's almost as if this program is rolling down the hill, at risk of a collision with a tree, and with hook impulse from the medial side you adjust the program's trajectory just enough for it to avoid hitting the tree and continue running as if it was never in peril. " (wired. co. uk, 2010)

Dimmunix is a prototype tool which will not desire a central sever, platform-independent, and even operates on cellular devices. It has been built to work with request written in encoding dialects like Java, C and C++. It is, also, effective on various systems that consist of MySQL, SQLite directories, Limewire peer to-peer file-sharing customer JBoss program server, Apache ActiveMQ message broker, and Java Development Kit(JDK).

3. 3. 1 Dimmunix and Cloud processing technology

After the Dependable Systems Laboratory of Switzerland developed the technology called Dimmunix, it includes undergone various kinds of tests in enhancing that one technology. One particular experiment is the incorporation of cloud processing into the Dimmunix. What is cloud computing and exactly how is it being integrated into Dimmunix? These are both important questions in this circumstance.

"Cloud processing is computation, software, data access and storage space services that not require end-user understanding of the physical location and settings of the system that http://upload. wikimedia. org/wikipedia/commons/thumb/b/b5/Cloud_computing. svg/300px-Cloud_computing. svg. png

delivers that services" (wikipedia, cloud computing). Number X shows the cloud processing conceptual diagram. Cloud computing is actually a byproduct of the ease of access to distant processing sites provided by the internet. It always works in the form of web based application or tools. Customers can use these tools through internet web browsers in such a way that they were installed locally on their own computers.

The key characteristics of cloud computing would be that the cloud is in the cloud itself. That is the processing of the data is not taking place in a given static places.

When Dimmunix integrates this technology, it can do magic. In cloud processing, once Dimmunix is installed in the personal computers, it acts just like a vaccine for the complete system in cloud. Once the signature of any bug is saved, it will be exchanged among other Dimmunix servers in the cloud and the entire cloud will be guarded from a deadlock. The deadlocks need not occur in every single computer in the network for the first time. If it has took place in any work area in a cloud, it is enough to safeguard the cloud from the same deadlock again. (Dimmunix: A crowdsourced immune system for personal computers)

This integration of cloud processing in Dimmunix starts the system up to a coordinator of potential problems such as privateness worries and destructive denial of service problems. Professor Candea ensures that "there is in fact no matter for level of privacy, because the deadlock signatures contain solely a fingerprint of a section of execution [and] absolutely no data, neither of an individual nor of this program itself. "

As for destructive episodes, "the new Dimmunix uses a quick confirmation technique which allows each Dimmunix runtime to receive a deadlock signature and 'check' it before actually utilizing it to avoid hangs. " (wired. co. uk, 2010)


Users can install the Dimmunix on specific computers as an efficient immune system against deadlock as it does not need a central server for its function.

According to Researcher George Candea, associate professor and director of EPFL's Dependable Systems Lab, Dimmunix technology is platform-independent and may even operate on cellular devices. (Garber)


Dimmunix is not user friendly as it can't be used by everybody who is a computer literate.

Dimmunix can't avoid the deadlock occurrence. It needs a particular inactive lock to occur at least once in order to develop the immunity. That is, the machine must experience a bug-related deadlock before the tool can create defences. It can be regarded as Dimmunix' key weakness.

Another incapability of the Dimmunix is the fact that, its particular approach to handle deceased lock situations does not work with deterministic pests. For the reason that deterministic pests can cause accidents under specific circumstances regardless of thread schedules. (Garber)


Currently Dimmunix is only being used to solve deadlock problems. But as observed in section x, there are a lot other pests out in this computer world. It might be better if the technology can be developed in such a way that it can used to apply as an disease fighting capability to such a massive variety of problems.

More than 7 000 students trust us to do their work
90% of customers place more than 5 orders with us
Special price $5 /page
Check the price
for your assignment