0% found this document useful (0 votes)
10 views

CBS 2014-2018

Uploaded by

hod cse
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views

CBS 2014-2018

Uploaded by

hod cse
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 11

Dynamic Programming

Dynamic Programming is mainly an optimization over plain recursion. Wherever we see a recursive
solution that has repeated calls for same inputs, we can optimize it using Dynamic Programming.
The idea is to simply store the results of subproblems, so that we do not have to re-compute them
when needed later. This simple optimization reduces time complexities from exponential to
polynomial. For example, if we write simple recursive solution for Fibonacci Numbers, we get
exponential time complexity and if we optimize it by storing solutions of subproblems, time
complexity reduces to linear.

Dynamic programming is basically, recursion plus using common sense. What it means is that
recursion allows you to express the value of a function in terms of other values of that function. Where
the common sense tells you that if you implement your function in a way that the recursive calls are
done in advance, and stored for easy access, it will make your program faster. This is what we call
Memoization - it is memorizing the results of some specific states, which can then be later accessed to
solve other sub-problems.

Fibonacci (n) = 1; if n = 0
Fibonacci (n) = 1; if n = 1
Fibonacci (n) = Fibonacci(n-1) + Fibonacci(n-2)

So, the first few numbers in this series will be: 1, 1, 2, 3, 5, 8, 13, 21... and so on!

Fibonacci (n) = 1; if n = 0
Fibonacci (n) = 1; if n = 1
Fibonacci (n) = Fibonacci(n-1) + Fibonacci(n-2)

So, the first few numbers in this series will be: 1, 1, 2, 3, 5, 8, 13, 21... and so on!
Applet

Basics
Let’s understand first how many Package does GUI support:
1. AWT(Abstract Window Toolkit)
2. Swing
Throwback of making GUI application:
Java was launched on 23-Jan-1996(JDK 1.0) and at that time it only supported CUI(Character User
Interface) application. But in 1996 VB(Visual Basic) of Microsoft was preferred for GUI programming.
So the Java developers in hurry(i.e within 7 days) have given the support for GUI from Operating
System(OS). Now, the components like button,etc. were platform-dependent(i.e in each platform
there will be different size, shape button). But they did the intersection of such components from all
platforms and gave a small library which contains these intersections and it is available in
AWT(Abstract Window Toolkit) technology but it doesn’t have advanced features like dialogue box,
etc.
Now to run Applet, java needs a browser and at that time only “Internet Explorer” was there of
Microsoft but Microsoft believes in monopoly. So “SUN Micro-System”(the company which
developed Java) contracted with other company known as “Netscape”(which developed Java Script)
and now the “Netscape” company is also known as “Mozilla Firefox” which we all know is a browser.
Now, these two companies have developed a technology called “SWING” and the benefit is that the
SWING components are produced by Java itself. Therefore now it is platform-independent as well as
some additional features have also been added which were not in AWT technology. So we can say
that SWING is much more advanced as compared to AWT technology.

What is Applet?
An applet is a Java program that can be embedded into a web page. It runs inside the web browser
and works at client side. An applet is embedded in an HTML page using the APPLET or OBJECT
tag and hosted on a web server.
Applets are used to make the web site more dynamic and entertaining.
Important points :
1. All applets are sub-classes (either directly or indirectly) of java.applet.Applet class.
2. Applets are not stand-alone programs. Instead, they run within either a web browser or an
applet viewer. JDK provides a standard applet viewer tool called applet viewer.
3. In general, execution of an applet does not begin at main() method.
4. Output of an applet window is not performed by System.out.println(). Rather it is handled with
various AWT methods, such as drawString().
Life cycle of an applet :
Distributed Operating system

A distributed operating system is a software over a collection of


independent, networked, communicating, and physically separate computational nodes. They
handle jobs which are serviced by multiple CPUs.[1] Each individual node holds a specific
software subset of the global aggregate operating system. Each subset is a composite of two
distinct service provisioners.[2] The first is a ubiquitous minimal kernel, or microkernel, that
directly controls that node's hardware. Second is a higher-level collection of system
management components that coordinate the node's individual and collaborative activities.
These components abstract microkernel functions and support user applications.
These systems are referred as loosely coupled systems where each processor has its own local
memory and processors communicate with one another through various communication lines,
such as high speed buses or telephone lines. By loosely coupled systems, we mean that such
computers possess no hardware connections at the CPU - memory bus level, but are connected
by external interfaces that run under the control of software.
The Distributed Os involves a collection of autonomous computer systems, capable of
communicating and cooperating with each other through a LAN / WAN. A Distributed Os
provides a virtual machine abstraction to its users and wide sharing of resources like as
computational capacity, I/O and files etc.
The structure shown in fig contains a set of individual computer systems and workstations
connected via communication systems, but by this structure we can not say it is a distributed
system because it is the software, not the hardware, that determines whether a system is
distributed or not.
The users of a true distributed system should not know, on which machine their programs are
running and where their files are stored. LOCUS and MICROS are the best examples of
distributed operating systems.
Using LOCUS operating system it was possible to access local and distant files in uniform
manner. This feature enabled a user to log on any node of the network and to utilize the
resources in a network without the reference of his/her location. MICROS provided sharing of
resources in an automatic manner. The jobs were assigned to different nodes of the whole
system to balance the load on different nodes.
Below given are some of the examples of distributed operating systems:
l. IRIX operating system; is the implementation of UNIX System V, Release 3 for Silicon
Graphics multiprocessor workstations.
2. DYNIX operating system running on Sequent Symmetry multiprocessor computers.
3. AIX operating system for IBM RS/6000 computers.
4. Solaris operating system for SUN multiprocessor workstations.
5. Mach/OS is a multithreading and multitasking UNIX compatible operating system;
6. OSF/1 operating system developed by Open Foundation Software: UNIX compatible.
Distributed systems provide the following advantages:
1 Sharing of resources.
2 Reliability.
3 Communication.
4 Computation speedup
Data Mining and Data ware Housing

Data Warehousing Definition

Data Warehousing may be defined as a collection of corporate information and data derived from
operational systems and external data sources. A data warehouse is designed with the purpose
of inducing business decisions by allowing data consolidation, analysis, and reporting at different
aggregate levels. Data is populated into the DW by extraction, transformation, and loading.

Data Warehousing incorporates data stores and conceptual, logical, and physical models to
support business goals and end-user information needs. Creating a DW requires mapping data
between sources and targets, then capturing the details of the transformation in a metadata
repository. The data warehouse provides a single, comprehensive source of current and historical
information.

Data mining vs Data Warehousing

Quite often people confuse between Data mining and Data Warehousing. Well, the two concepts
are similar, they are not the same. The primary difference between data warehousing and data
mining is that Data Warehousing is the process of compiling and organizing data into one
common database, whereas data mining refers the process of extracting meaningful data from
that database. The two concepts are interrelated; data mining begins only after data
warehousing has taken place.

Data warehousing techniques and tools include DW appliances, platforms, architectures, data
stores, and spreadmarts; database architectures, structures, scalability, security, and services;
and DW as a service.

Introduction to Data Warehousing

How It Works

Data Warehousing combines information collected from multiple sources into one comprehensive
database. To cite an example from the business world, I might say that data warehouse
incorporates customer information from a company’s point-of-sale systems (the cash registers),
its website, its mailing lists, and its comment cards. Data Warehousing may also consider
confidential information about employee details, salary information, etc.

Companies use this information to analyze their customers. Data warehousing also related to
data mining which means looking for meaningful data patterns in the huge data volumes and
devise newer strategies for higher sales and profits.

Why It Matters
Companies with a dedicated Data Warehousing team think way ahead of others in product
development, marketing, pricing strategy, production time, historical analysis, and forecasting
and customer satisfaction. Though a slightly pricey option, it pays in the long run. However, data
warehouses can also be very expensive to design and implement, and sometimes their
construction makes them unwieldy.
Application Development

Application development is the process of creating a computer program or a set of programs


to perform the different tasks that a business requires. From calculating monthly expenses to
scheduling sales reports, applications help businesses automate processes and increase
efficiency. Every app-building process follows the same steps: gathering requirements, designing
prototypes, testing, implementation, and integrationRapid Application Development:
What is it?
Conventionally, Rapid Application Development (RAD) is a software development model, in
which individual application modules are developed in parallel and assembled into a finished
product.

Low-code platforms represent the latest trend in RAD methodology, wherein these platforms
are used to swiftly create and develop web and mobile apps. It is a relatively new approach
to development, and is characterized by intuitive, easy-to-use user interfaces.

Why do businesses need RAD?


The low-code revolution is responsible for empowering citizen developers by making it
possible for them to quickly create custom apps.

To businesses, this means their IT departments get to focus on more productive projects,
rather than fielding queries from non-technical staff. On a large scale, this saves time and
effort, which translates to an overall boost in productivity for the business as a whole.
Commercially, RAD tools allow vendors to develop, test, and publish apps faster, giving
them a much-needed edge over competitors.

Java Script

JavaScript (JS) is a lightweight, interpreted, or just-in-time compiled programming language with first-
class functions. While it is most well-known as the scripting language for Web pages, many non-browser
environments also use it, such as Node.js, Apache CouchDB and Adobe Acrobat. JavaScript is
a prototype-based, multi-paradigm, dynamic language, supporting object-oriented, imperative, and
declarative (e.g. functional programming) styles. Read more about JavaScript.
This section is dedicated to the JavaScript language itself, and not the parts that are specific to Web
pages or other host environments. For information about APIs specific to Web pages, please see Web
APIs and DOM.
The standard for JavaScript is ECMAScript. As of 2012, all modern browsers fully support ECMAScript
5.1. Older browsers support at least ECMAScript 3. On June 17, 2015, ECMA International published the
sixth major version of ECMAScript, which is officially called ECMAScript 2015, and was initially referred to
as ECMAScript 6 or ES6. Since then, ECMAScript standards are on yearly release cycles. This
documentation refers to the latest draft version, which is currently ECMAScript 2020.
Do not confuse JavaScript with the Java programming language. Both "Java" and "JavaScript" are
trademarks or registered trademarks of Oracle in the U.S. and other countries. However, the two
programming languages have very different syntax, semantics, and uses.ex program for java script
<!DOCTYPE html>

<html>

<body>

<h2>My First JavaScript</h2>

<button type="button"

onclick="document.getElementById('demo').innerHTML = Date()">

Click me to display Date and Time.</button>

<p id="demo"></p>

<body>

</html>

Why Study JavaScript?


JavaScript is one of the 3 languages all web developers must learn:

1. HTML to define the content of web pages

2. CSS to specify the layout of web pages

3. JavaScript to program the behavior of web pages

Web pages are not the only place where JavaScript is used. Many desktop and server
programs use JavaScript. Node.js is the best known. Some databases, like MongoDB and
CouchDB, also use JavaScript as their programming language.
CRT Monitor

CRT. Stands for "Cathode Ray Tube." CRT is the technology used in traditional computer monitors and
televisions. The image on a CRT display is created by firing electrons from the back of the tube to
phosphors located towards the front of the display.
Stands for "Cathode Ray Tube." CRT is the technology used in traditional computer monitors
and televisions. The image on a CRT display is created by firing electrons from the back of
the tube to phosphors located towards the front of the display. Once the electrons hit the
phosphors, they light up and are projected on the screen. The color you see on the screen is
produced by a blend of red, blue, and green light, often referred to as RGB.
The stream of electrons is guiding by magnetic charges, which is why you may get
interference with unshielded speakers or other magnetic devices that are placed close to a
CRT monitor. Flat screen or LCD displays don't have this problem, since they don't require a
magnetic charge. LCD monitors also don't use a tube, which is what enables them to be
much thinner than CRT monitors. While CRT displays are still used by graphics professionals
because of their vibrant and accurate color, LCD displays now nearly match the quality of
CRT monitors. Therefore, flat screen displays are well on their way to replacing CRT monitors
in both the consumer and professional markets.
CRT Monitors
PREV NEXT

A CRT monitor contains millions of tiny red, green, and blue phosphor dots that glow when struck by an electron beam that travels across the
screen to create a visible image. The illustration below shows how this works inside a CRT.

The terms anode and cathode are used in electronics as synonyms for positive and negative terminals. For example, you could refer to the
positive terminal of a battery as the anode and the negative terminal as the cathode.

In a cathode ray tube, the "cathode" is a heated filament. The heated filament is in a vacuum create
Ecalyptus

Eucalyptus is an open source Linux based software architecture which provides an EC2-
compatible cloud computing platform and S3-compatible cloud storage platform. It implements scalable,
efficient-enhancing and private and hybrid clouds within and organization's IT infrastructure.Nov 26, 2011
Eucalyptus
Eucalyptus is an open source Linux based software architecture which provides an EC2-compatible cloud computing platform and S3-compatible cloud
storage platform. It implements scalable, efficient-enhancing and private and hybrid clouds within and organization’s IT infrastructure. It gives an
Infrastructure as a Service (IaaS) solution. Users can use commodity hardware.
Eucalyptus was developed to support the high performance computing (HPC). Eucalyptus can be deployed without modification on all major Linux OS
distributions, including Ubuntu, RHEL/CentOS, openSUSE, and Debian.
Eucalyptus Features
For implementing, managing and maintaining the virtual machines, network and storage Eucalyptus has variety of features.
 SSH Key Management
 Image Management
 Linux-based VM Management
 IP Address Management
 Security Group Management
 Volume and Snapshot Management

Eucalyptus Fundamental Architecture


Components of Eucalyptus:
1. Cluster Controller (CC) Cluster Controller manages the one or more Node controller and responsible for deploying and managing instances
on them. It communicates with Node Controller and Cloud Controller simultaneously. CC also manages the networking for the running instances under
certain types of networking modes available in Eucalyptus.
2. Cloud Controller (CLC) Cloud Controller is front end for the entire ecosystem. CLC provides an Amazon EC2/S3 compliant web
services interface to the client tools on one side and interacts with the rest of the components of the Eucalyptus infrastructure on the other side.
3. Node Controller (NC) It is the basic component for Nodes. Node controller maintains the life cycle of the instances running on each nodes.
Node Controller interacts with the OS, hypervisor and the Cluster Controller simultaneously.
4. Walrus Storage Controller (WS3) Walrus Storage Controller is a simple file storage system. WS3 stores the the machine images and
snapshots. It also stores and serves files using S3 APIs.
5. Storage Controller (SC) Allows the creation of snapshots of volumes. It provides persistent block storage over AoE or iSCSI to the instances.

Eucalyptus Architecture
Mobile Adhoc Networks

A wireless ad hoc network[1] (WANET) or Mobile ad hoc network (MANET) is a decentralised type
of wireless network.[2][3][4][5][6] The network is ad hoc because it does not rely on a pre-existing
infrastructure, such as routers in wired networks or access points in managed (infrastructure) wireless
networks.[7] Instead, each node participates in routing by forwarding data for other nodes, so the
determination of which nodes forward data is made dynamically on the basis of network connectivity and
the routing algorithm in use.[8]
In the Windows operating system, ad-hoc is a communication mode (setting) that allows computers to
directly communicate with each other without a router. Wireless mobile ad hoc networks are self-
configuring, dynamic networks in which nodes are free to move.
Wireless networks lack the complexities of infrastructure setup and administration, enabling devices to
create and join networks "on the fly" – anywhere, anytime.[9]
Each device in a MANET is free to move independently in any direction, and will therefore change its links
to other devices frequently. Each must forward traffic unrelated to its own use, and therefore be a router.
The primary challenge in building a MANET is equipping each device to continuously maintain the
information required to properly route traffic. [10] Such networks may operate by themselves or may be
connected to the larger Internet. They may contain one or multiple and different transceivers between
nodes. This results in a highly dynamic, autonomous topology.[10]
MANETs usually have a routable networking environment on top of a Link Layer ad hoc network.
MANETs consist of a peer-to-peer, self-forming, self-healing network. MANETs circa 2000–2015 typically
communicate at radio frequencies (30 MHz – 5 GHz).
The cathode-ray tube (CRT) is a vacuum tube that contains one or more electron guns and a ... In all
modern CRT monitors and televisions, the beams are bent by magnetic deflection, a varying magnetic
field generated by coils and driven
Mobile application development is the set of processes and procedures involved in writing software for
small, wireless computing devices such as smartphones or tablets. Mobile application development is
similar to Web application development and has its roots in more traditional software development
Highly Productive Software Development With Transparent Pricing and Full Service. Scale Bespoke
Software Without Having to Build it Yourself. Talk to an Expert Today. Real-Time Pricing. 5% Discount.
Drag + Drop Builder. Real Time Monitoring. 2x as Fast. 1/3 the cost.
Mobile app development is the act or process by which a mobile app is developed for mobile ... This
functionality is supported by mobile enterprise application platforms or
integrated development environments (IDEs). Mobile UIs, or front-ends,
Real time business Intelligence

Real-time business intelligence (RTBI) is a concept describing the process of delivering business
intelligence (BI) or information about business operations as they occur. Real time means near to
zero latency and access to information whenever it is required.[1]
The speed of today's processing systems has allowed typical data warehousing to work in real-time. The
result is real-time business intelligence. Business transactions as they occur are fed to a real-time BI
system that maintains the current state of the enterprise. The RTBI system not only supports the classic
strategic functions of data warehousing for deriving information and knowledge from past enterprise
activity, but it also provides real-time tactical support to drive enterprise actions that react immediately to
events as they occur. As such, it replaces both the classic data warehouse and the enterprise application
integration (EAI) functions. Such event-driven processing is a basic tenet of real-time business
intelligence.[2]
In this context, "real-time" means a range from milliseconds to a few seconds (5s) after the business
event has occurred. While traditional BI presents historical data for manual analysis, RTBI compares
current business events with historical patterns to detect problems or opportunities automatically. This
automated analysis capability enables corrective actions to be initiated and/or business rules to be
adjusted to optimize business processes.

RTBI is an approach in which up-to-a-minute data is analyzed, either directly from operational sources or
feeding business transactions into a real time data warehouse and Business Intelligence system.

Decision-making[edit]

With high consumer expectations in the competitive market, decisions that are based on the most real
time data available improve customer relationships, increase revenue, increased efficiency for business
reporting and maximize operational efficiency.[3] Real-time business intelligence systems mainly provide
the information necessary to tactical take advantage of events as they occur.
At analysis level, BI systems provide consolidated information that users can detail and filter, also
provides forecasts analyses and trend analyses to develop new business insights (based on the raw
data).

Latency[edit]

All real-time business intelligence systems have some latency, [4] but the goal is to minimize the time from
the business event happening to a corrective action or notification being initiated. Analyst Richard
Hackathorn describes three types of latency:[5]

 Data latency; the time taken to collect and store the data
 Analysis latency; the time taken to analyze the data and turn it into actionable information
 Action latency; the time taken to react to the information and take action
Real-time business intelligence technologies are designed to reduce all three latencies to as close to zero
as possible, whereas traditional business intelligence only seeks to reduce data latency and does not
address analysis latency or action latency since both are governed by manual processes.
Some commentators have introduced the concept of right time business intelligence which proposes that
information should be delivered just before it is required, and not necessarily in real-time.

You might also like