Cloud computing

Information
Technologies
Bartosz Ziółko
Introduction
Dr inż. Bartosz Ziółko
Office C2-418
Phone 36-39
Lecture PDF files on:
http://upel.agh.edu.pl/weaiie
Acknowledgments: dr inż. Jacek Kołodziej
Wikipedia
Anonymous Google findings
3
What IT is?
Generally, integration of a few
technologies: hardware, software,
telecommunications
•applied for collecting information,
•selection,
•analysis,
•processing,
•security,
•managment,
•transfering information.
Homo sapiens, homo communicans
Information society
„An information society is
a society in which the creation,
distribution, diffusion, use,
integration and manipulation
of information is a significant
economic,
political, and
cultural activity. ”
-Wikipedia
Lectures
• Introduction to the aspects of information
society and information technologies
• Introduction to information storage and
processing
• Introduction to computer hardware
• Introduction to computational and
programming techniques
• Introduction to telecommunications,
multimedia, human - computer interaction
and IT in finances
• Test and student presentations
Software for FREE !!!
ELMS (E-Academy License Management
System)
elms.iisg.agh.edu.pl
You need an account on AGH student
server
Don’t use illegal software, especially if
you can have legal one for free !!!
Grades
• presence on the lectures (20%),
• final test (50%),
• preparing own document in LaTeX (10%),
• preparing a presentation (20%).
91 – 100% (5.0)
81 – 90% (4.5)
71 – 80% (4.0)
61 – 70% (3.5)
51 – 60% (3.0)
< 51% (2.0)
Extra 10% is possible for making a website
or multimedia content
Why IT?
• All major companies
depend on IT services
(banks,
telecommunications,
media, insurance, trade,
etc.),
• IT specialists earn in
average more then other
specialists,
• Even more will depend on
IT and on people who work
with IT in near future.
2020 – the era of 1 user and 1000
computers
Some photos from the following lectures
Topics for today
• Computer ergonomics
• Fundamentals of health and safety while working
with a computer and on the campus
• Copyrights and patents
• Searching for information in order to self-educate
and problem solving
• Ethical principles in the academic community and
among the engineers
• Different types of word processors
• The principles of good multimedia presentation
Computer ergonomics
14
Computer ergonomics
15
Computer ergonomics
16
17
Health and safety
You should be trained
regarding H&S for
each laboratory class
you attend
Law dictates that your future employer is
responsible for your safety and health
18
Health and safety
19
Health and safety
Several students and
staff members were
seriously or even
fatally wounded on
AGH university
properties
20
Copyright
is a set of exclusive rights granted by the law of a
jurisdiction to the author or creator of an original
work, including the right to copy, distribute and
adapt the work.
prawa autorskie vs. autorskie prawa majątkowe
books, maps, charts, engravings, prints, musical
compositions, dramatic works, photographs,
paintings, drawings, sculptures, motion pictures,
computer programs, sound recordings,
choreography and architectural works.
21
Privacy policies in Internet
22
34% of US GDP is
generated by intelectual
property trade.
Fundamentals in patent
law and strategy
Based on Jeffrey Schox
What are the types of intellectual property?
What are the sections of a patent?
What is the patent process?
Why should we file for a patent?
What is an invention?
Who is an inventor?
When should we file?
Where should we file?
What are the types of
intellectual property?
Trademarks
Utility Patents
Design Patents
Copyrights
Trade secrets
$2 000
$20 000
$2 000
$200
$2
Sections of a patent
Front page
Description
Claims
–
–
–
bibliographic
technical
legal
Patent process
1. File patent application.
2. Await examination.
3. Negotiate with patent office.
Why should we file for a patent?
Why should we file for a patent?
• Encourage investment.
• Protect competitive advantage.
• Avoid patent litigation.
What is an invention?
What is an invention?
Who is an inventor?
Who is an inventor?
„Someone who
contributed to the
original conception of
the claimed invention.”
When should we file?
Where should we file?
Where should we file?
• Made and used / sold
• US, EU, CN, JP, KR, AU
Requirements of a patent
Requirements of a patent
•Useful
•Novel
•Not an obvious combination of
known inventions
Is this invention patentable?
And this one?
Summary
An invention may be patentable if claims
can be written that distinguish the
invention from previous inventions.
Infringement of a patent
Whoever makes, uses or sells any
patented invention within a particular
region during a particular timeframe.
Would this product infringe?
Summary
A product (or method) may infringe a patent if
it contains all of the elements of a single
claim of the patent.
What is the relation between
patentability and infrigement?
Patentability and infringement
are unrelated issues.
2012 AGH Alumni
Searching for information in order to
self-educate and problem solving
• Where do you search for
information?
• How do you search?
• What are the risks of your
method?
• What do you do to solve a
problem?
Some people name it being clever
55
Some people name
it cheating
56
For me, it is an
academic offence !
Regulamin studiów AGH
§ 15 ZALICZENIA
6. Jeżeli w trakcie procedury zaliczania prowadzący stwierdzi
niesamodzielność pracy studenta lub korzystanie przez niego
z niedozwolonych materiałów, student otrzymuje ocenę
niedostateczną z tego zaliczenia.
§5 PRAWA I OBOWIĄZKI STUDENTA
6. Za naruszenie przepisów obowiązujących w Uczelni oraz za
czyny uchybiające godności studenta, student ponosi
odpowiedzialność dyscyplinarną przed Komisją Dyscyplinarną
albo przed właściwym Sądem Koleżeńskim, na zasadach
określonych w Ustawie. Za przewinienia mniejszej wagi Rektor
może wymierzyć karę upomnienia.
57
Plagiarism and self-plagiarism
?
Engineers responsibility
Word processor/ text editor
• What you see is what you get (WYSIWYG)
• Document markup language
Rules of editing
•
•
•
•
Interlines – 1,5 (official letters)
Margins – 2,5
Font size – 12
Shift+ctrl+space
• Headers
• Review mode
• Aa
LaTeX
•
•
•
•
•
•
•
•
•
•
Separation of content and style
Flexibility
Control
Quality
Scalability
Stability
Cost
Platform independent
Bibliography/reference package
Typesetting of mathematical formulae in a
convenient way
Disadvantages of LaTeX
(by Tobias Oetiker)
• LATEX does not work well for people who
have sold their souls . . .
• Although some parameters can be
adjusted within a predefined document
layout, the design of a whole new layout is
difficult and takes a lot of time.
• It is very hard to write unstructured and
disorganized documents.
• Your hamster might, despite some
encouraging first steps, never be able to
fully grasp the concept of Logical Markup.
LaTeX
DEMO
http://www.ctan.org/texarchive/info/lshort/english/lshort.pdf
LaTeX Homework
• Prepare a document with some
graphics and tables in LaTeX with
any, your own content.
• Put your name as the author.
• Send all necessary files (including
ready pdf) to [email protected] till
end of the month.
• It is 10% of the final grade.
PDF (Portable Document Format)
• Representing two-dimensional
documents in a manner independent
of the application software,
hardware, and operating system.
• Standard for printable documents on
the web.
• Content can be secured from
changing and copying.
The principles of good multimedia
presentation
• Not too long, not too short.
• Based on graphics and data not on text
(avoid slides with text only).
• Not too much animation and gadgets.
• Use some (but not much) sound effects.
• Easily readable (contrast of colour).
• Do not read your slides.
• Interesting, a bit funny or suprising.
• Try your presentation before.
• Minimal font size 24 pt.
Information processing
Topics
• Fundamentals of information
• Basic methods and formats of data in a
computer
• Analogue, digital, discrete signals and their
conversion
• Sampling, quantization, Nyquist frequency
• Spectrum, bandwidth
• Shannon-Kotielnikov theory and aliasing
• Number systems, representations of real and
negative numbers in computers
• Boolean logic, gates and De Morgan's laws
Bits, data, information
Information Theory
„I wrote this one [a letter] a bit longer, because I did not
have time to write it shorter” – Blaise Pascal (1623–
1662), Lettres Provinciales
Information theory characterises recording, storing and
using information in a mathematical way. There are
two main aims (opposite ones):
- to save a carrier,
- to keep the information safe during transmission.
Algorithms operating on numbers, are much easier and
faster then those operating on words.
Berry Paradox
by Russel:
„The smallest positive integer not definable
in under eleven words.”
… and that’s how we’ve just defined it …
The definition cannot be a part of an object
being described.
Information measure
Information is measured by
a probability of an event
related to that information
– Claude E. Shannon
Entropy
Less likely events carry more information
Information measure
• A unit of information is such its amount which we gain after
realising that one of two equally probable events occured.
• Message m, which can occur with probability p(m), contains
 1 

h(m)  log 2 
 p ( m) 
units of information.

Let us define a unit of information to be a bit (binary digit)
if its source can transmit only one message, which contains
1
h(m)  log 2    0
1
bits of information.
after Zbigniew Bem
Bit
Simpler, bit is
the amount of
information that
can be stored by
a digital device
or other physical
system that can
usually exist in
only two
distinct states,
traditionally
called 0 and 1.
Byte and Word
1
0
0
1
1
0
0
0
Bit
MSB - most significat bit
LSB - least significat bit
Byte
Byte is a sequence of 8 bits used in computers as a
basic unit, on which the operations are conducted.
1 0 0 1 1 0 0 0 1 0 0 1 1 0 0 0
Word
Word is a sequence of 8, 16, 32 or 64 bits.
after Wojciech Kucewicz
Bytes and words
In IT we often need 16 digits.
A = 10, B = 11, C = 12, D = 13, E = 14, F = 15
Word size
8 bits
16 bits
32 bits
64 bits
The biggest number
255
65535
4 294 967 295
18 446 744 073 709 551 615
Letters as numbers – ASCII codes
- Wikipedia
Unicode
UTF-8 (8-bit Unicode Transformation Format) is
a variable-length character encoding for
Unicode. UTF-8 can represent every character
in the Unicode character set, and is backwardcompatible with ASCII.
The dominant character encoding
for files, e-mail, web pages and
software that manipulates textual
information.
ISO 8859-1 Latin - 1
Standard for
Western
European fonts.
Very similar to
Windows-1252.
ISO 8859-2
Central and
Eastern
European fonts
Sounds
For a computer it is a sequence of
numbers representing temporary
acoustic pressure sampled with
some frequency (8 kHz, 48 kHz, …)
Black and white images
Images can be
represented as a
matrix of points
(pixels).
Colour images
Colour images are represented
by 3 matrices. All of them have
the same size, equalled to the
size of a screen. Each pixel is
represented by three numbers.
Quattron technology
Analog to Digital
Analog signal
can have any values.
Real world is analog.
They are represented
by differentiable functions
(continuous).
Discrete signal
is defined for particular points in
time, usually because of sampling.
Typical for analysis of real world.
Digital signal
is discrete and in addition can take
only particular values.
This is Matrix.
Analog to Digital
Analog signal
can have any values.
Real world is analog.
They are represented
by differentiable functions
(continuous).
Discrete signal
is defined for particular points in
time, usually because of sampling.
Typical for analysis of real world.
Digital signal
is discrete and in addition can take
only particular values.
This is Matrix.
Example
6
Analog signal
Discrete signal
5
Digital signal
4
3
2
1
0
0
1
2
3
4
5
6
7
8
9
10
Example of different sampling
44 [kHz]
8 [kHz]
Adaptation of quantization and sampling
Analog to Digital and Digital to Analog
Nyquist Frequency
fs – sampling frequency - ratio of information
BW – BandWidth of a signal
fS>BW
Harry Nyquist
(1889-1960)
„The number of independent pulses that could be put through a
telegraph channel per unit time is limited to twice
the bandwidth of the channel”. Nyquist: Certain topics in
Telegraph Transmission Theory (1928).
What a spectrum (spectre ?) is ?
• It may present any signal in a
frequency domain (Hz)
• Allows better analysis for signal
processing and transmission
Signal Spectrum
Spectrum Corrector
Example of a speech signal
Speech signals
Bands
• Transmission band fT
• Signal band fS
fT >fS
Transmission bands
Frequency is limited, so expensive
Kotielnikov – Shannon Theory
Котельников 1933
Shannon 1949
They provided mathematical conditions (and proved
them) for digital-to-analog being possible. 1 df
t
 f s  2 f max ,
Can a sampled signal be restored to
analog one?
●
1 ●
●
●
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1 0
1
2
3
4
Aliasing
5
6
7
8
Examples of aliasing
original
44 100 Hz
limited bandwidth
with aliasing
sampling frequency
11 025 Hz
6 000 Hz
Representing numbers
Decimal numeral system
The system is positional
aj …a4 a3 a2 a1 a0 . a-1 a-2
MMVIII
where a is a symbol, and j is
an exponent of the base r
number  aj...a1 a0
.a-1 a-2
aj•rj + ...+ a1•101 + a0•100 + a-1•10-1 + a-2•10-2
Example:
4321 = 4•103 + 3•102 + 2•101 + 1•100 =
= 4000 + 300 + 20 + 1 = 432110
after Wojciech Kucewicz
Binary Numeral System
It uses only 2 symbols
0 and 1
The number of combinations is 2n for n digits.
Example:
10000111000012 :
1•212+ 0•211+ 0•210+ 0•29+ 0•28+ 1•27+ 1•26+ 1•25+ 0•24+ 0•23+ 0•22+ 0•21+ 1•20
= 4096+128+64+32+1= 432110
After Wojciech Kucewicz
Binary watch
Hexadecimal system
Hexadecimal number system uses 16 symbols:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
The combination of numbers is 16n for n digits.
Example:
10E116
1•163 + 0•162 + 14•161 + 1•160
= 4096+224+1= 432110
after Wojciech Kucewicz
Numbers in different systems
Decimal
Binary
Octal
Hexadecimal
00
0000
00
0
01
0001
01
1
02
0010
02
2
03
0011
03
3
04
0100
04
4
05
0101
05
5
06
0110
06
6
07
0111
07
7
08
1000
10
8
09
1001
11
9
10
1010
12
A
11
1011
13
B
12
1100
14
C
13
1101
15
D
14
1110
16
E
15
1111
17
F
Binary systems for +/- integers
Sign and magnitude
n 1
ASM  1bn1   bi  2i
i 0
n2
i


A


b

2

1

b

2
U1 (One’s complement) U 1
i
n 1
n 1
U2 (Two's complement)
i 0
n2
AU 2  bn 1  2 n 1   bi  2i
i 0
You can easily find the one's complement of a binary
number by inverting the number (changing 1s into 0s and
0s into 1s). To determine the two's complement of a
number, first take the ones's complement of the number
and then add 1 to this number.
Comparision of binary integer systems
Type
Binary notification
Byte
min
min
zero
max
NBC
00..0
00..0
11..1
0
255
0
65535
0
4294967295
U2
10..0
00..0
01..1
-128
127
-32768
32767
-2147483648
2147483647
SM
11..1
00..0
10..0
01..1
-127
127
-32767
32767
-2147483647
2147483647
U1
10..1
00..0
10..0
01..0
-127
127
-32767
32767
-2147483647
2147483647
Biased
00..0
01..1
11..1
-127
128
-32767
32768
-2147483647
2147483648
2
max
32-bit word
min
0
max
16-bit word
1+2
min
2+4
Max
2+4+8
Fractions in binary
Binary real numbers
Floating point standard
Floating point describes a system for
representing numbers that would be too large or
too small to be represented as integers.
significant digits × baseexponent
The base for the scaling is normally 2, 10 or 16.
It can support a much wider range of values.
Fixed-point representation (7 decimal digits with 2
decimal places), can represent the numbers
12345.67, 123.45, 1.23 and so on.
Floating-point representation with 7 decimal digits
could in addition represent 1.234567, 123456.7,
0.00001234567, 1234567000000000, and so on.
Types of data in Intel x87 Floating
Point Unit
http://www.intel.com
Data in computer memory
• A size of a word can be larger then single byte — for
example modern computers can operate on 64-bit
words. It means that a particular instruction can modify
64 bits at once.
• The memory architecture is addresed in a binary way.
SPARC, Motorola 68000,
PowerPC 970, IBM System/360,
Siemens SIMATIC S7
Intel x86, AMD64, DEC VAX
More natural for a computer
then human
Boolean algebra
De Morgan's laws
NOT (P OR Q) = (NOT P) AND (NOT Q)
NOT (P AND Q) = (NOT P) OR (NOT Q)
Introduction to computer hardware
•
•
•
•
•
•
•
•
Moore's law
The first computing devices
Turing machine
Von Neumann architecture
The development of personal computers
Computer memory types
Elements of a computer
Computer peripherals
Hardware
A printer consists of three main parts: the
case, the jammed paper tray and the
blinking red light.
(Attrib.) Todd Van Hoosear
s
or
ist ip
s
n h
Tra r c
pe
More, More, Moore
Critic s have predicted the imm inent
10,000,000,000
demise of Moore’s law ever since
Gordon Moore stated it in 1965.
s
1,000,000,000
th
Electric al Engineers continue to
on
m
4
defy physical c hallenges,
2
Ita nium2
y
er
592 Million
v
squeezing ever more
e
100,000,000
Ita nium 2
es
l
b
220
Million
u
circuitry into less spac e
d o Pentium 4
ip 42 Million
Xeon 42 Million
and making inform ation
ch
a
10,000,000
Ita nium 25 Million
n Pentium II
fly ever more
so
r
7.5
Million
Celeron
7.5 Million
o
ist
swiftly.
s
5.5
Millio
n
Pentium Pro
n
1,000,000
100,000
1958
Jac k Kilby (TI) &
Robert Noyc e
(intel) Invent
Integrated
Circuit
1965
Gordon Moore
States his fam ous
axiom , later c alled
Moore’s law
1,000
o
M
8080 4,500
8008 3,500
4004
First
 proc essor
2,000
1960
sit
tra
Pentium 3.1 Million
486 1.2 Million
386 275,000
286 134,000
8088 29,000
10,000
1947
Transistor
Invented
1947 1950
e
Th
:
aw
sL
’
e
or
n
de
f
yo
1970
1977
Apple II
1980
1999
1996 Blac kberry
DVD
Players
1991
Kodak
First
Digital Cam era
1983
Motorola
First
Mobile Phone
1990
2000
2010
Transistors in processors
Intel Core i7 - 731M
transistors
How many are a milliard ?
Milliard = 1000 * 106
It is a lot, but how many actually?
A pile of money notes would have
76.2 km of height
1 milliard seconds are 32.5
years!
Comparison
The Eiffel Tower consists of 18 084
parts connected with 2.5 milions rivets
after Software defined radio, Frideric Harris
Do we eat a lot of rice ?
There are more transistors being
produced then rice grains all
over the world!
Wow!
0.13-micron, Intel Pentium 4
300-mm silicon wafer.
Long Grain
Jasmine Rice
Evolution of computers
Evolution of computers
Evolution of a computer
Adam @ Home
Brian Basset
History of computations
Codex Madrid
Logarithms
John Napier of Merchiston (1550 – 1617)
Napier’s bones
Slide rule
Invented in 1632 by Williama Oughtreda.
Improved by E. Wingate, S. Patridge and A.
Mennheim.
In common use up to 80’.
A shot from „Apollo 13”
Wilhelm Schickard (1592-1635)
Based on Neper’s bones
Used by Kepler
Blaise Pascal (1623-1662)
Made to help in tax calculations
Gottfied Leibniz (1646 – 1716)
Binary system
1st multiplying mechanical machine
Joseph-Marie Jacquard (1752-1834)
Programmable loom
(weaving)
Charles Babbage (1791 - 1871)
Concept of a programmable computer
Herman Hollerith (1860-1929)
Applying electricity to computations
Punched card
Hollerith built machines under contract
for the Census Office
Alan Turing (1912-1954)
• In 1936 revolutionary work on the
theory of computation machines and
algorithms.
• Turing declared that his machine is able to
conduct any algorithm. It was never disproven.
John von Neumann (1903-1957)
1946 - EDVAC project
(Electronic Discrete Variable
Automatic Computer)
Software content
Memory
Arithmetic Logic
Unit
Modern computers are built
with his architecture
Control unit
Input/Output
ENIAC
1947 – transistor (William Bradford Shockley, J.
Bardeenem and W.H. Brattainem) – Nobel prize
1953 – IBM 650, first mass production computer
(using punched cards)
1955 - Bell Telephone Labs made the first computer
based on transistors
1956 – First hard drive (IBM)
What is it?
1972 - Intel 8008 (200 kHz) 1st 8-bit processor
Intel museum
Intel museum
Intel musuem
Microsoft 1975
BASIC for Atari
1977 - Microsoft
provides BASIC to
almost every new
microcomputer: Apple,
Commodore, Radio
Shack, …
more then 1000 computers all over the world
Amiga 500
A computer with 16- bit procesor 68000 (1987)
Random-access memory (RAM)
Integrated circuits that allow
stored data to be accessed in any
order (i.e., at random). "Random"
refers to the idea that any piece of
data can be returned in a constant
time, regardless of its physical
location and whether or not it is
related to the previous piece of
data.
Volatile – requires power
Read-only memory (ROM)
It is mainly used to distribute firmware
(software that is very closely tied to
specific hardware, and unlikely to require
frequent updates).
Non-volatile
EPROM - can be erased and re-programmed
multiple times.
USB 2.0 (Universal Serial Bus)
Pin 1
Pin 2
Pin 3
Pin 4
VCC (+5V)
DataData+
Ground
60 MB/s (40 MB/s)
156
157
Hard drive
158
Hard disk
A pair of mated head sliders with their platter removed.
You can see that the tension of the head arms has
caused them to press against each other.
This illustration gives you some idea of just how small the flying
height of a modern hard disk is (and today's hard disks have
flying heights significantly lower than 3-7 millionths of an inch!
159
Task manager on Windows
DEMO
160
FAT 32 (File Allocation Table)
161
NTFS (New Technology File System)
162
Partitions
163
PenDrive
• Flash EEPROM
• USB
164
SD (Secure Digital)
165
CD
166
CD ROM
167
CD ROM
168
DVD Digital Versatile Disc
169
DVD
170
Blu-Ray
25 GB (single-layer)
50 GB (dual-layer)
171
First mouse
172
Mouse
173
New mouse-keyboard
174
UPS (Uninterruptible Power Supply)
175
ESD (Electro-Static Discharge)
176
Synchronic and asynchronic
transmission
177
Simplex and duplex transmission
178
Introduction to computational and
programming techniques
• Operational systems
• Parallel processing
• Supercomputing
181
Software
• Programming today is a race between software
engineers striving to build bigger and better
idiot-proof programs, and the universe trying to
produce bigger and better idiots. So far, the
universe is winning.
Rick Cook, Wizardry Compiled
• I would love to change the world, but they
won’t give me the source code.
Unknown
• Software is like sex — it’s better when it’s free.
(attrib.) Linus Torvalds, creator of the Linux
kernel
Software
Software is the collection of computer programs and
related data that provide the instructions telling
a computer what to do.
• Application software
• Middleware controls and
coordinates distributed systems
• Programming languages and tools
• System software
• Testware
• Firmware is treated like hardware and run
by other software programs
• Device drivers
Operating systems
BIOS (Basic Input/Output System)
• firmware
• the first code run by a PC when
powered on (booting)
• the primary function of the BIOS is
to load and start an operating
system
• to initialise and identify system devices
such as the video display card, keyboard and
mouse, hard disk, CD/DVD drive and other hardware
• locates software held on a peripheral device
(designated as a 'boot device'), such as a hard disk or
a CD, and loads and executes that software, giving it
control of the PC.
186
Big O notation
187
Complexity of problems
The abbreviation NP refers to
"nondeterministic polynomial time„
Intuitively, NP is the set of all decision
problems for which the 'yes'-answers
have efficiently verifiable proofs of the fact
that the answer is indeed 'yes'. More
precisely, these proofs have to
be verifiable in polynomial time (T(n) =
O(nk) for some constant k by
a deterministic Turing machine.
For example, an
algorithm that runs for
2n steps on an input
of size n requires
superpolynomial time
(more specifically,
exponential time).
! (Factorial)
188
Traveling salesman problem (NP)
189
Parallel processing – Amdahl’s law
AL is used to find the maximum expected improvement to
an overall system when only part of the system is
improved. It is often used in parallel computing to predict
the theoretical maximum speedup using multiple
processors.
The speedup of a program using multiple processors in
parallel computing is limited by the time needed for the
sequential fraction of the program. If a program needs 20
hours using a single processor core, and a particular
portion of 1 hour cannot be parallelised, while the
remaining promising portion of 19 hours (95%) can be
parallelised, then regardless of how many processors we
devote to a parallelised execution of this program, the
minimum execution time cannot be less than that critical 1
190
hour.
Amdahl’s Law
191
Programming of parallelisation
Parallelisation of computing requires using special
libraries like MPI. Special markups have to be
set to define what should be parallel and to
establish some communication between different
threads.
It seems to be unlikely that this job will ever be
done automatically by a compiler. A computer
cannot predict exact times of running particular
parts of programmes. Some threads need
results of other threads so they are not
independent of each other.
192
Parallel Processing
• In real life situation there are some
additional operations which have to be
conducted in case of parallelisation to keep
order of the parallel structure.
• Processors reached level where they can
not become faster without considering
additional physical effects because of a
ratio between frequency and size of a
microprocessor and too low speed of
electrons.
193
Super linear speedup
• Sometimes a speedup of more
than p when using p processors is
observed.
• One possible reason for a super linear
speedup is the cache effect (cache is
memory in a processor, which can be
accesed faster then RAM).
• Super linear speedups can also occur when
performing backtracking in parallel: One
thread can prune a branch of the
exhaustive search that another thread
would have taken otherwise.
194
FLOPS, MIPS
• FLOPS (FLoating point Operations Per Second) – a unit of
measuring computer computation efectiveness. It is a number
of floating point operations per second.
–
–
–
–
1
1
1
1
MFLOPS
GFLOPS
TFLOPS
PFLOPS
• MIPS (Million Instructions Per Second) – a measure of
CPU efectiveness. It describes the number of millions of
fixed point operations per second made by the particular
unit.
• A similar one is Milion Operations per Second (MOPS).
195
Cyfronet - Zeus
The most powerful computer in Poland
• OS: Scientific Linux
• Configuration: HP
Cluster Platform 3000 BL
2x220
• RAM: 8 TB
• Processors: Intel Xeon
• Hard drives: 640 TB
55 Tflops
http://www.cyfronet.pl/?a=komunikat20101011196
What are supercomputers used for?
• Simmulation of new chemical particles,
catalysts, etc.
• Designing new medicaments,
• Studying proteins,
• Geological calulations,
• Simmulations in physics, especially nuclear,
• Virtual experiments,
• Linguistic calculations,
• Network simmulations.
197
Supercomputer – Cray - 1A
CRAY-1 in EPFL
(École Polytechnique
Fédérale de Lausanne)
198
Supercomputer – Cray-2
199
Supercomputer – Cray-XT4

Multiprocessor system

Processors AMD connected directly to a communication bus Cray XT4
with SeaStar2™ (routing and communication system) with speed
6.4 GB/s (HyperTransport™) in 3D topology
200
Supercomputer– Cray-XT4
201
TOP 500
• A website presenting a list of 500 most efficient
computers was established in 1993 year:
– Computational power is measured using
LINPACK benchmark.
– It is updated 2 times per year.
• www.top500.org
We estimate, that a brain is able to
conduct around quadrillion (1015)
operations per second.
202
TOP 500, 1st place
US
TOP 500, 2nd
Kobe, Japan
TOP 500, 3rd
US
TOP 500, 4th
Germany
TOP 500, 5th
China
Poland in TOP500
TOP 500
providers
segments
continents
countries
Operating
system
family
Operating
systems
Mercedes in Nasza Klasa
215
TOP 500 Blue Gene
• IBM Watson Research Center
architecture
• Second generation Blue Gene/P
– 294 912 IBM PowerPC450 cores,
850 MHz, a processor has 4 cores.
– 1 PFLOPS (petaflops - 1015
operations per second) 100 000
times faster then a desktop PC.
– 32 procesors on a chip.
– 32 chips in a rack.
– A supercomputer can have up to
216 racks (884 736 cores) and
have 3 petaflops as a result.
216
TOP 500 Blue Gene
217
TOP 500 Blue Gene
218
TOP 500
BSC-CNS Barcelona Supercomputing Center
National Supercomputing Facility in Spain
Torre Girona Cathedral
219
BSC-CNS
220
BSC-CNS
221
BSC-CNS
http://www.bsc.es
222
Computer clusters
•
•
•
•
Applications with databases are not easly paralelised,
Clusters are architectures highly integrated, localised in one building,
Used for safety,
And for efficiency as well.
Columbia, (2004)
supercomputer,
20 clusters SGI Altix ,
10240 CPU in total
223
Clusters - Beowulf
– Efficient PCs as nodes,
– GNU/Linux,
– Paraller processing
software (MPI, PVM).
Beowulf
224
Clusters
BlueGene/L uses a three-dimensional (3D)
torus network
225
Grid computing
Grid computing concerns
the application of the
resources of many
computers in a network to
a single problem at the
same time - usually to a
scientific or technical
problem that requires a
great number of computer
processing cycles or access
to large amounts of data.
226
First virtual constructs similar to grids
• GIMPS (Great Internet Mersenne
Prime Search)
• SETI@home (Search for Extra-Terrestrial
Intelligence)
• Berkeley Open Infrastructure for Network
Computing
http://boinc.berkeley.edu/
227
Grid computing
Grid computing requires the
use of software that can
divide and farm out pieces
of a program to as many as
several thousand
computers. Grid computing
can be thought of as
distributed and large-scale
cluster computing and as a
form of network-distributed
parallel processing.
It can be confined to the network of computer workstations within
a corporation or it can be a public collaboration (in which case it is
also sometimes known as a form of peer-to-peer computing).228
229
Middleware
At the core of grid computing is the middleware: it consists of a
series of software components that realise the interface between
the distributed resources on one side, and the applications on
the other side. These components include resource discovery,
job scheduling, authentication and authorization, data logging,
data transfer and replication etc.
230
Very large scale projects
231
Grid computing is driven by
five big areas (after Gridcafe)
• Global sharing is the very essence of grid computing.
• Trust between resource providers and users is essential,
especially when they don't know each other. Sharing resources
conflicts with security policies in many individual computer
centers, and on individual PCs, so security is crucial.
• Efficient, balanced use of computing resources
• Distance should make no difference: you should be
able to access to computer resources from whereever you are.
• Open standards: Interoperability between different grids is a
big goal, and is driven forward by the adoption of open standards
for grid development, making it possible for everyone to contribute
constructively to grid development. Standardisation also
encourages industry to invest in developing commercial grid
services and infrastructure.
232
Grid users
233
Examples of grids
234
Grid computing
235
236
CERN
237
Cloud computing
„We didn’t care where the messages
went… the cloud hid it from us.”
– Kevin Marks, Google
238
Cloud computing ? ? ?
239
How did it start?
Amazon had a problem:
- To loose potential buyers during Xmas … or
- To keep computers being used only during
Xmas
240
How did it start?
They solved it by renting out computers when they
don’t use them, but physically keeping them. To
achieve it, they had to be able to do things
Amazon wouldn’t expect people may need.
241
Cloud computing
Cloud computing is a computing paradigm where
services and data reside in shared resources in
scalable data centers, and those services and
data are accessible by any authenticated device
over the Internet. It is one the most significant
trend today, and is getting a lot of praise as an
approach to rapidly include new computing
facility and reduction of costs. Many enterprises
and companies like Intel and AMD are working
hard to determine how best can they expand this
immature, but already profitable, technology
called cloud.
242
Introduction to Cloud Computing
243
Essential Cloud Characteristics
• On-demand self-service
• Broad network access
• Resource pooling
– Location independence
• Rapid elasticity
• Measured service
244
245
Cloud computing
246
Cloud computing
247
Service Models

Cloud Software as a Service (SaaS). The capability provided to the consumer
is to use the provider’s applications running on a cloud infrastructure. The
applications are accessible from various client devices through a thin client
interface such as a web browser (e.g., web-based email). The consumer does
not manage or control the underlying cloud infrastructure including network,
servers, operating systems, storage, or even individual application capabilities,
with the possible exception of limited user-specific application configuration
settings.

Cloud Platform as a Service (PaaS). The capability provided to the consumer
is to deploy onto the cloud infrastructure consumer-created or acquired
applications created using programming languages and tools supported by the
provider. The consumer does not manage or control the underlying cloud
infrastructure including network, servers, operating systems, or storage, but
has control over the deployed applications and possibly application hosting
environment configurations.

Cloud Infrastructure as a Service (IaaS). The capability provided to the
consumer is to provision processing, storage, networks, and other fundamental
computing resources where the consumer is able to deploy and run arbitrary
software, which can include operating systems and applications. The
consumer does not manage or control the underlying cloud infrastructure but
has control over operating systems, storage, deployed applications, and
248
possibly limited control of select networking components (e.g., host firewalls)
Cloud computing
249
Cloud computing
250
251
Cloud computing is simple
252
Clouds are in containers

Clouds can be quickly built
using shipping containers,
pulled by trucks, and parked
near electric utilities and
rivers.

Medium sized data center
requires 50 mega-watts and
evaporates 4M Litre of
“chilled” fresh water / day.
Conditioned air is also
needed. Also, this does not
consider bandwidth concerns.

Result: Physical targets
253
254
Possible effects of cloud computing
• Small enterprises use public SaaS and
public clouds and minimise growth of
data centers.
• Large enterprise data centers may evolve
to act as private clouds.
• Large enterprises may use hybrid cloud
infrastructure software to leverage both
internal and public clouds.
• Public clouds may adopt standards in
order to run workloads from competing
255
hybrid cloud infrastructures.
Computing as a commodity,
like water and electricity
256
Data structures &
Databases
Data structures
•
•
•
•
Stack
Queue
List
Tree
258
Stack
http://www.csanimated.com/animation.php?t=Stack
259
Queue
http://www.csanimated.com/animation.php?t=Queue
260
List
http://www.csanimated.com/animation.php?t=Linked_list
261
Tree
262
Databases
263
Database models
264
Flat files
•
•
•
•
•
•
•
good for non-technicians
simple to open and interprete
encoding issues
hard to navigate
no indexing
loose schema
low expressiveness
265
Hierarchical model
In a hierarchical model, data is organised
into a tree-like structure, implying a single
upward link in each record to describe the
nesting, and a sort field to keep the
records in a particular order in each samelevel list.
266
Relational model
The basic data structure of the relational model is
the table, where information about a particular
entity (say, an employee) is represented in rows
and columns. Thus, the "relation" in "relational
database" refers to the various tables in the
database; a relation is a set of rows. The columns
enumerate the various attributes of the entity
(the employee's name, address or phone
number, for example), and a row is an actual
instance of the entity (a specific employee) that
is represented by the relation. As a result, each
row of the employee table represents various
attributes of a single employee.
267
Key in a relational model
Tables can also have a designated single
attribute or a set of attributes that can act
as a "key", which can be used to uniquely
identify each row in the table.
ID
Email
PESEL
…
268
SQL (Structured Query Language)
SELECT *
FROM Book
WHERE price > 100.00
ORDER BY title;
269
Relational database vs. object oriented
databases
• well known to developers
• strict schema
• support for transactions, concurrency,
disaster recovery, etc.
• SQL
• client-server architecture
Think of a library (with books) or an encyclopedia.
You don’t need all the information, but you might
need any piece of it.
270
SQL vs noSQL
SQL – Structured Query Language –
relational data bases (MySQL, Ms SQL,
Oracle, SQLite ...)
NoSQL - „not only SQL” - all other –
key-value store, document store, graph DB,
object DB, tabular ,… (BerkeleyDB, BigTable,
CouchDB, Tokyo Cabinet, HODB …)
Dawid Skurzok
Choice of database engine
Parallel trans.
Relational
Key-Value
Tabular
Document
Tokyo Cabinet,
CouchDB,
Cassandra
RDBMS (MySQL,
Postgres, MS SQL)
Pick any two!
Changes
BerkeleyDB,
BigTable (Google),
MongoDB
Scalability
Dawid Skurzok
Interfaces
GUI (graphical user interface)
Typically GUI is responsible in 50%
for a commercial success of software
274
Why ? ? ?
275
Old GUI
276
Human oriented interfaces
277
Principles of Good GUI Design
By James Hobart
Understand People
Applications must reflect the perspectives
and behaviors of their users. To understand
users fully, developers must first understand
people because we all share common
characteristics. People learn more easily by
recognition than by recall. Always attempt to
provide a list of data values from which the
user can select, rather than having the user
key in values from memory. The average
person can recall about 2,000 to 3,000
words, yet can recognize more than 50,000
words.
278
Principles of Good GUI Design
By James Hobart
Be Careful of Different Perspectives
Many designers unwittingly fall into the perspective trap when it comes to
icon design or the overall behavior of the application. I recently saw an
icon designed to signify "Rolled Up" totals for an accounting system. To
show this function, the designer put a lot of artistic effort into creating an
icon resembling a cinnamon roll. Unfortunately, the users of the system
had no idea what metaphor the icon was supposed to represent even
though it was perfectly intuitive from the designer's perspective. A
reserved icons table containing standard approved icons, such as the
one shown in Figure 1, will help eliminate these problems.
279
Principles of Good GUI Design
By James Hobart
Design for Clarity
GUI applications often are not clear to end users. One effective
way to increase the clarity of an application is to develop and use
a list of reserved words. A common complaint among users is
that certain terms are not clear or consistent. I often see
developers engaging in spirited debates over the appropriate
term for a button or menu item, only to see this same debate
occurring in an adjacent building with a different set of
developers.
When the application is released, one
screen may say "Item," while the
next screen says "Product," and a
third says "Merchandise", when all
three terms denote the same thing.
This lack of consistency ultimately
leads to confusion and frustration.
280
Principles of Good GUI Design
By James Hobart
Design for Consistency
Good GUIs use consistent behavior throughout the
application and build upon a user's prior knowledge of other
successful applications. When writing software for business
applications, provide the user with as many consistent
behaviors as possible. For example, both the Embassy
Suites and Courtyard Marriot hotel chains are growing
rapidly due to their popularity among business travelers
who know that they will be provided with a familiar room
and a consistent set of amenities. The bottom line is that
business travelers are not looking for a new and
exciting experience in each new city. Business users of
your software have similar needs. Each new and exciting
experience you provide in the software can become an
anxiety-inducing experience or an expensive call to your
281
help desk.
Principles of Good GUI Design
By James Hobart
Provide Visual Feedback
If you've ever found yourself mindlessly staring at
the hourglass on your terminal while waiting for an
operation to finish, you know the frustration of poor
visual feedback. Your users will greatly appreciate
knowing how much longer a given operation will
take before they can enjoy the fruits of their
patience. As a general rule, most users like to have
a message dialog box with a progress
indicator displayed when operations are going
to take longer than seven to ten seconds. This
number is highly variable based on the type of user
and overall characteristics of the application.
282
Principles of Good GUI Design
By James Hobart
Be Careful With Audible Feedback
Last week, I had the opportunity to ride in elevators in which a
pleasant voice informed riders which floor they were on. The
building was fairly new, and at first, employees thought the voice
was cute. After six months of traveling floor to floor, employees
are sure to ignore the voice and see it as more of an annoyance
than a help. The same thing can happen with your GUls, except
the annoying sounds are not contained within the walls of an
elevator, but instead are available to everyone within earshot of
the worker's cubicle. Put sound on a few hundred workstations,
and a real cacophony emerges in the open-air cubicle
environment. However, audible feedback can be useful in cases
where you need to warn the user of an impending serious
problem, such as one in which proceeding further could cause loss
of data or software. Allow users to disable audio feedback,
283
except in cases when an error must be addressed.
Boring ???
284
Principles of Good GUI Design
By James Hobart
•
•
•
•
•
Keep Text Clear
Provide Traceable Paths
Provide Keyboard Support
Watch the Presentation Model
Use Modal vs. Modeless Dialogs
Appropriately
• Use Controls Correctly
http://www.classicsys.com/css06/cfm/article
.cfm?articleid=20
285
The last example
286
Calculations and
programming
Calculations
•
•
•
•
•
Mathematica
Matlab
C/C++
GPU, CUDA
FPGA
Wolfram Mathematica
AC transformers
Allocation of bandwidth
Crane model
Dim city
Effective resistance of network
Fractal curves
Frequency of a noisy signal
Knots
Line through 2 points
Location of Complex Roots
Model of shell growth
Optimal queue of cars
Straightening up an image
Towers of Hanoi
Matlab
Matlab
Matlab
Matlab
Matlab Toolboxes
http://www.mathworks.com/products/product_listing/
http://www.mathworks.com/help/
Real computations should be in C/C++
• Matlab, Mathematica and several other
tools are designed for allow easy work but
not for time efficiency
• No compilation
• No computations on cache
• Doubly embeded loops are very slow
comparing to compiled C/C++ software
• Matlab, etc. are for prototypes mainly
Graphics processing unit (GPU)
• is a specialized microprocessor that
offloads and accelerates 3D or 2D graphics
rendering from the microprocessor,
• very fast,
• very multithread,
• bad acess to memory
• nowadays often used for non-graphics
calculations,
• Cyfronet owns Playstations for
computations!
CUDA
Field Programmable Gate Array (FPGA)
• FPGA is an integrated circuit designed to be
configured by the customer or designer
after manufacturing—hence "fieldprogrammable".
• Configuration is generally specified using
a hardware description language (HDL)
• Reprograming is slow
• Calculations are fast
Programing languages
•
•
•
•
•
•
•
•
1 gen – machine languages
2 gen – assembler
3 gen – Lisp, Cobol, Fortran
4 gen – specific purpose
5 gen – COBOL
C
C++ - object oriented
Java, C# and .Net
There is no best language!
The most modern languages like Java and
C# are wrong for several applications, even
C++ is not optimal.
In critical safety
systems there is no
place for dynamic
allocation!
Every function has to
be hard coded and
memory granted at the
start of the program.
Dynamic and static programing
int data [10];
int *p;
int size;
cin >> size;
p = new int[size];
delete [] p;
Object oriented programming - class
OOP is a programming paradigm that uses "objects"
– data structures consisting of data
fields and methods together with their
interactions – to design applications and
computer programs.
Microsoft Visual
Microsoft Visual
Java
Garbage collector
• In classic approach a software engineer
has to take care of memory usage,
• Non used variables have to be deleted to
free memory,
• Risk of memory leakage,
• In Java and several other modern
languages special hidden software is
running all the time to take care of it –
garbage collector,
• Extra computations, still not perfect, but
allows to focus on other issues.
Code optimisation for time efficiency
while (a<b) {
%processing changing a and b for different i
= 1…100 000
}
Sorting – depending on exact algorithm, time
efficiency varies a lot
Good code optimisation reduces time down
to half or 10% or even less, depending on
a project.
Testing
•
•
•
•
•
Regular testers
Results of even minor faults of important systems
Critical safety systems tests
Checking all scenarios
Mathematical proofs of correctness
Markup languages
One person and one computer ?
• One computer for computations and the
other for current tasks (often with the
same screen)
OR
• 2 programists with one computer – pair
programming. (Active) detailed view for
one and general scope for the other
(passive). When first became confused,
they swap roles.
Agile methods vs traditional one
•
•
•
•
Amount of documentation
Rapid prototyping
Changing roles in a team
Meetings (including clients) vs
documentation
SCRUM
• Scrum team
• ScrumMaster
• Product owner
The procedure of making
information systems
Version Control
(CVS and SubVersioN)
Version Control
(CVS and SubVersioN)
Version Control
(CVS and SubVersioN)
Version Control
(CVS and SubVersioN)
Dining Philosophers Problem
Project management (group work)
1. Choose and specify a topic.
2. Brainstorming (do not criticise any
ideas, only create new ones).
3. Analyse possibilities and resources.
4. Focus on timing, in IT tasks typically
take 2-3 times more then originally
expected.
Project management (group work)
5. Take care that all group members know
what they are expected to do and that
their tasks do not overlap.
6. Keep the timing schedule.
7. Inform each other about progress and
problems in particular tasks
8. Leave some time for combining of the
results.
Student projects
• Very useful to gain practical
engineering skills.
• For several employers well done
projects are the main criterion while
recruting.
Gantt charts
• Microsoft Access
Exercise for group work and prototyping
• You have 12 minutes to prepare a
prototype from paper, tape and a chair
• The ball has to be transported as many
times as possible in 1 minute from a table
to the basket
• The ball cannot be touched by a hand
IT and Finances
IT and stock markets
• Modern stocks do not exist as papers, they are
virtual. They exist only in stockmarket computers
memory with additional copies on computers of
stock traders.
• Financial transactions are shifting records between
stock traders.
• An investor receives a confirmation from their
stock trader but does not receive any documents.
• It is the same with some part of money – they are
virtual transactions between banks.
• Delays of system on the 1st day of selling GPW on
GPW. There were 4 transactions/second just on
this paper, which is one of around 400 papers.
Candlestick chart
•
•
•
•
18th century by Japanese rice trader Homma Munehisa
Popularised by Charles Dow around 1900
White – rises
Black - falls
Computer traders
• Much more then half stock trades in USA are
computer decisions.
• Computers can analyse trends (using candlestick
charts) considering more data and take decisions
much faster then a human.
• There are large international companies which are
present at once on a few stockmarkets. Some
computers search for any differences in prices of
these stocks and use them.
• Stop losses is automatic selling
in case of losses to avoid higher
losses in case of crash of a market.
New trend in computer trade
• Trades offerts are accepted and
displayed continuously but matched
discretly (in ms)
• It is possible to write software which
uses information about incoming
offerts before they are resolved
• New offerts can be added before the
analysed one are resolved so they can
fit them and they will be resolved in
the same discrete time
• Time of calculations and connecting
with the stockmarket is crucial
Forex (foreign exchange market)
•
•
•
•
•
global
worldwide
decentralised
currencies trading
assists international
trade and investment,
• speculation
• 24 h
• allows high leverage
IT in insurances and risk calculation
• A house costs 1 000 000 $
• You estimate that there is 0.01% chance it
burns
• How much should it cost to insure it to
earn some money?
• Real cases are much more complex, it
depends on months, political and
economical situations, etc.
• PZU insurance company used to assume
that there is a flood causing serious
financial problems every 17 years.
• Complex calculations
Risk calculation was started by Blaise
Pascal
IT in accounting
• Modern accounting is all about proper
using of databases.
• People tend to think that accounting is
very difficult.
• My friend, who is an account manager told
me, that engineers are wrong, thinking it
is not possible to do it without account
manager.
• But she is very happy to have her job
because they belive so …
CAD
CAD (Computer Aided Design)
• is the use of computer technology for the
process of design and designdocumentation
• automotive, shipbuilding, and aerospace
industries, industrial and architectural
design, prosthetics
• to produce computer animation for special
effects in movies, advertising and technical
manuals
CAD - Techology
• Originally software for Computer-Aided Design systems
was developed with computer languages such
as Fortran, but with the advancement of objectoriented programming methods this has radically
changed.
• Typical modern parametric feature based
modeler and freeform surface systems are built around
a number of key C modules with their own APIs
(Application Programming Interface).
• A CAD system can be seen as built up from the
interaction of a graphical user interface (GUI)
with NURBS (Non-uniform rational basis
spline) geometry and/or boundary representation (Brep) data via a geometric modeling kernel.
NURBS (Non-uniform rational basis
spline)
Examples of using CAD
Examples of using CAD
Examples of using CAD
Examples of using CAD
Networks and protocols
Local Area Network (LAN)
is a computer network that connects computers and devices
in a limited geographical area such as home, school,
computer laboratory or office building.
• high data-transfer
rates
• no leased
telecommunication
lines
Local Area Network (LAN)
Protocols:
• Ethernet over
twisted
pair cabling
• ARCNET
• Token Ring
TCP/IP
Can be
constructed on
Wi-Fi
Larger LANs
• use of redundant links with
switches using the spanning
tree protocol to prevent
loops
• ability to manage differing
traffic types via quality of
service (QoS) and to
segregate traffic
with VLANs.
• wide variety of network
devices such as switches,
firewalls, routers, load
balancers, and sensors.
Wide Area Network (WAN)
is a computer network that
covers a broad area (any
network whose
communications links cross
metropolitan, regional, or
national boundaries)
WANs are often built
using leased lines, circuit
switching or packet
switching methods
Packet over SONET/SDH, MPLS, ATM, Frame relay, X.25
Wide Area Network (WAN)
Client and server architecture
is a distributed
application structure
that partitions tasks or
workloads between
the providers of a
resource or service,
called servers, and
service requesters,
called clients.
Client and server architecture
clients
include:
• web
browsers,
• email
clients,
• online
chat
clients
servers include:
• web servers,
• ftp servers,
• application servers,
• database servers,
• name servers,
• mail servers,
• file servers,
• print servers,
• terminal servers.
Most web services are
also types of servers.
Peer-to-peer networking (P2P)
is a distributed application architecture that
partitions tasks or work loads between peers.
Peers are equally privileged, equipotent
participants in the application.
Skype
File sharing systems
They typically
use distributed hash
table-based (DHT)
indexing
Sharing of resources
Sharing of resources
Intranet
is a private computer
network that
uses Internet
Protocol technologies
to securely share any
part of an
organisation's
information or network
operating
system within that
organisation.
Intranet
Extranet
is a computer
network that allows
controlled access from
the outside, for specific
business or educational
purposes. An extranet
can be viewed as an
extension of a
company's intranet that is
extended to users outside
the company, usually
partners, vendors, and
suppliers.
Extranet
Internet
is a global system of
interconnected computer
networks that use the
standard Internet Protocol
Suite (TCP/IP)
Internet
ARPANET – 1st Internet
WWW
is a system of interlinked hypertext
documents accessed via Internet.
Using concepts from earlier hypertext
systems, English engineer and
computer scientist Sir Tim BernersLee wrote a proposal in March 1989
for what would eventually become
the World Wide Web.
At CERN in Geneva, Switzerland, Berners-Lee
and Belgian computer scientist Robert Cailliau
proposed in 1990 to use "HyperText ... to link
and access information of various kinds as a web
of nodes in which the user can browse at will",
and publicly introduced the project in December.
Hypertext Transfer Protocol
(HTTP)
is a networking
protocol for
distributed,
collaborative,
hypermedia
information systems
Hypertext Transfer Protocol
(HTTP)
HTTP functions as a request-response protocol in
the client-server computing model.
High-traffic
websites often
benefit from web
cache servers
that deliver
content on
behalf of the
original, socalled origin
server to
improve
response time.
File Transfer Protocol (FTP)
is a standard network protocol used to copy a file from
one host to another over a TCP/IP-based network
Secure Shell
(SSH)
is a network protocol that
allows data to be
exchanged using a secure
channel between two
networked devices.
SSH uses public-key
cryptography to authenticate the remote computer
and allow the remote
computer to authenticate
the user, if necessary.
Secure Shell (SSH)
Hypertext Transfer Protocol
Secure (HTTPS)
is a combination of
the Hypertext Transfer
Protocol with
the SSL/TLS protocol to
provide encrypted
communication and
secure identification of a
network web server.
Transport Layer Security (TLS) and its
predecessor, Secure Sockets Layer (SSL),
are cryptographic protocols that "provide
communications security over the Internet.
Virtual Private Network (VPN)
is a computer network that uses a public
telecommunication infrastructure such as
the Internet to provide remote offices or
individual users with secure access to
their organization's network. It aims to
avoid an expensive system of owned or
leased lines that can be used by only one
organisation.
Virtual Private Network (VPN)
Integrated Services Digital
Network (ISDN)
is a set of
communications
standards for
simultaneous digital
transmission of voice,
video, data, and other
network services over
the traditional circuits
of the public switched
telephone network.
Asymmetric Digital Subscriber
Line (ADSL)
is a a data communications technology that enables
faster data transmission over copper telephone
lines than a conventional voiceband modem can
provide. It does this by utilising frequencies that are
not used by a voice telephone call.
Cellular communication
Cellular network
Time division multiple access (TDMA)
Frequency division multiple access
(FDMA)
Global System for Mobile Communications,
Groupe Spécial Mobile (GSM)
BSC - Base Station Controller
Enhanced Data Rates for GSM
Evolution (EDGE)
• is a digital mobile phone technology that allows
improved data transmission rates as a backwardcompatible extension of GSM.
• for example, Blueconnect.
• EDGE requires no hardware or software changes
to be made in GSM core networks.
• EDGE can carry a bandwidth up to 236.8 kbit/s
(with end-to-end latency of less than 150 ms) for
4 timeslots (theoretical maximum is 473.6 kbit/s
for 8 timeslots) in packet mode
Transfer rates
• In telecommunications and computing, bit
rate [bit/s or bps] is the number
of bits that are conveyed or processed per
unit of time
Security holes
Data safety
• Against loosing (several copies on different
machines, preferably in different
geographic locations)
• Against stealing (cryptography, consider
structure of permsions to a file, preferably
out of Internet connections, away from
untrusted software, data from a screen can
be stolen in another room by power cable)
• The simplest way to hack is by using
Internet, so think before you connect
Computer safety and human factor
?
384
Hacking
Brute force attack
The most common
hackers activity to to
block a certain website
by generating abnormal
amount of connections
and requests from it. It
cause networking to drop
a service of such
website.
Example:
http://www.rozstaje.pl/
E-commerce …
… consists of the buying and selling
of products or services over electronic
systems such as the Internet and
other computer networks.
• Virtual (premium content of a website, items in
games, etc.)
• Physical items
2010: US eCommerce and Online Retail sales
projected to reach $173 billion, an increase of 7
386
percent over 2009.
Multimedia &
Human – Computer
Interaction
Multimedia
388
Multimedia content forms
Multimedia is media and content that uses
a combination of different content forms.
Text
Audio
Still images
Animation
Video
Interactivity
389
Linear and non-linear multimedia
• Cinema
Scenario does
not depend on
a customer will
• Computer game
• Interactive training
• Hypermedia
A customer has an impact
on the scenario
Multimedia can be both, live or recorded.
390
Stabilisation
391
Emarging technologies in multimedia
• Data-driven
• Object-oriented
• Personalised
392
Emarging technologies in multimedia
• Taste and smell (?)
393
Wearable computers
394
Haptic technology
is a tactile feedback technology that takes
advantage of a user's sense of touch by applying
forces, vibrations, and/or motions to the user.
395
Haptic technology
396
Virtual reality (predicted by Lem)
397
Virtual reality
398
Wii controller
399
Wii
http://www.ted.com/talks/lang/en/johnny_lee_
demos_wii_remote_hacks.html
400
Follow instructions on the video
401
Senses are very selective
You should consider
selectiveness of senses
whenever designing any
multimedia
402
Regions of brain
403
One more visual trick
404
MPEG
The I-frames are intra coded, they
can be reconstructed without any
reference to other frames. The Pframes are forward predicted from
the last I-frame or P-frame. It is
impossible to reconstruct them
without the data of another frame (I
or P). The B-frames are both,
forward predicted and backward
predicted from the last/next Iframe or P-frame. Two other
frames are necessary to
reconstruct them. P-frames and Bframes are referred to as inter
coded frames.
405
MPEG „prediction”
Imagine an I-frame showing a triangle
on white background. A following Pframe shows the same triangle but at
another position. Prediction means to
supply a motion vector which declares
how to move the triangle on I-frame to
obtain the triangle in P-frame.
This motion vector is part of the MPEG
stream and it is divided in a horizontal
and a vertical part. These parts can be
positive or negative. A positive value
The parts of the motion
means motion to the right or motion
vector are in a range of downwards, respectively. A negative
64 ... +63. So the
value means motion to the left or
referred area can be up
motion upwards, respectively.
406
to 64x64 pixels away.
MPEG error compensation
407
Image coding
Every macro block contains 4 luminance
blocks and 2 chrominance blocks. Every block
has a dimension of 8x8 values. The luminance
blocks contain information of the brightness of
every pixel in macro block. The chrominance
blocks contain color information. Because of
some properties of the human eye it isn't
necessary to give color information for every
pixel. Instead 4 pixels are related to one color
value. This color value is divided into two
parts. The first is in Cb color block the second
is in Cr color block. The color information is to
be applied as shown in the picture to the left.
408
Discrete Cosine Transform (DCT)
The magnitude of each DCT coefficient indicates the
contribution of a particular combination of horizontal and
vertical spatial frequencies to the original picture block.
It expresses a sequence of finitely many data points in
terms of a sum of cosine functions oscillating at different
frequencies.
409
DCT Example
410
Two microphones systems for listening
to and voice source localisation
d
c
Microphone 1
l1
b
a
Microphone 2
l2
by R. Samborski
411
Microphone array
m4
m3
m2
m1
412
Microphone array
m4
m3
m2
m1
413
Two directions possible at once
m4
m3
m2
m1
414
Speech signal extraction
Wiener
Filter
Human-computer interaction
416
Opportunities given by speech
technologies
Speech recognition
Speech synthesis
Speaker verification
Dialogue systems
Machine translation
Emotion detection
Learning of foreign
languages
417
Speech synthesis
http://www.ivona.com/index.php
418
Speaker verification and identification
source: http://www.fachowyelektryk.pl
VERIFICATION
IDENTIFICATION
source: PAP
419
Dialogue system
420
AIML: Artificial Intelligence
Markup Language
421
Facade
• http://www.interactivestory.net/
• Download and play
422
Machine Translation
http://translate.google.pl/
423
Speech understanding and
recognition
424
Human vs Computer
Human vs Computer
Speech recognitiona by a
human
•Hearing a sound
Speech recognitiona by a
human
•Fitting to
known words
Speech recognitiona by a
human
•Fitting to a
sense of a
sentence
Computer has
to do the
same steps
Phoneme segmentation
Single phoneme („a”)
Pronounciation
varies for different
people and a
computer has to
deal with it.
Fitting to known
words
•
•
•
•
•
„Nasza”
„Kasza”
„NASA”
„Masa”
...
How often words appear next
to each other
I helped Apple wreck a nice beach.
I helped Apple recognise speech.
435
Meanings by Compositionality
Robert Berwick (MIT)
436
But there are exceptions
437
Word statistics
1) się 1 780 825 (2,6%)
9) że 760 078
17) tak 279 877
2) i 1 632 596 (2,4%)
10) a 479 713
18) za 263 700
3) w 1 569 027 (2,3%)
11) o 396 011
19) od 225 843
4) nie 1 445 832 (2,1%)
12) jak 368 386
20) jego 219 587
5) na 1 283 268 (1,9%)
13) ale 343 482
21) go 217 036
6) z 1 116 819 (1,6 %)
14) po 330 381
22) już 201 735
7) do 816 874 (1,2 %)
15) co 329 270
23) tym 199 894
8) to 801 472 (1,2 %)
16) jest 302 011
24) czy 196 565
438
Word statistics
1) się w 116 446 (0,17%) 10) to nie 39 087 19) nie jest 31 615
20) a potem 31 196
2) się na 93 751 (0,14%) 11) się i 38 772
3) się z 83 610 (0,12%)
12) się nie 38 622 21) nigdy nie 31 082
4) się do 83 524 (0,12%) 13) i nie 38 177
22) mu się 27 209
5) się że 57 126 (0,08%)
14) ale nie 35 241 23) po prostu 26 047
6) że nie 50 222 (0,07%)
15) na to 34 259
24) w tej 25 461
7) w tym 48 035 (0,07%) 16) że to 34 171 25) to co 24 661
8) nie ma 43 633 (0,06%) 17) mi się 33 441 26) w końcu 23 863
9) o tym 42 041 (0,06%) 18) nie było 31682 27) co się 23 762
439
Word statistics
1) w ten sposób 10 119 (0,015%)
2) na to że 8 619 (0,012%)
3) w tej chwili 8 121 (0,012%)
10) zwrócił się do 5 349
11) wydaje mi się 4 855
12) od czasu do 4 742
4) w każdym razie 7 587 (0,011%) 13) się z nim 4 609
5) po raz pierwszy 7 266 (0,010%) 14) to nie jest 4 538
6) mi się że 6 395 (0,009%)
15) czasu do czasu 4 470
7) sobie sprawę że 5 514 (0,008%) 16) w tym momencie 4 455
8) mam nadzieję że 5 499 (0,008%) 17) po drugiej stronie 4 445
9) w takim razie 5 462 (0,008%)
18) w ogóle nie 4 309
440
For people speech recognition
is not a big problem
Speech structure
pragmatics
Frames
syntax
acoustics
Sentences
Words
Syllables
Phonemes
semantics
Speech
Statements
442
443
Automatic speech recognition
today
Automatic Call – Centre (information in ZTM in
Warsaw)
Dictation of credit cards in USA (very popular)
Voice interfaces with limited number of
commands
Media monitoring
Transcribing but with errors
444
Future of automatic speech
recognition
445
Future of automatic speech
recognition
HAL 9000 in Space Odyssey
446
Chatting with a virtual agent
(SEMAINE FP7 Project)
447
448
Emotion recognition
449
Kismet emotional robot
450
Geminoid
451
Geminoid
452
Geminoid
453
Touch screens
According to Microsoft
future of humancomputer interfaces.
So far without
commercial
successes, apart from
mobile devices.
454
Current applications
455
Touch screen
456
How does it work?
457
Touch tables
Microsoft Surface - a new
$10,000 touchscreen table. 458
Microsoft Surface
459
Problems with touch tables
Microsoft Touch table was
supposed to be a revolution in
hardware of corporations.
However, very few of them
were sold.
- it is too focused on group
work,
- to revolutionary in
ergonomics – not only
removing of a keyboard but
also looking down the screen.
460
Snap Keys
461
Detection of muscle activity and
bioacoustic information
462
Screen on an arm
463
RFID (Radio-frequency identification)
464
RFID applications
Security in shops,
Animal identification,
Documents authorisation,
Access control,
People marking (?)
- for example – elder people and new born kids
465
GPS (Global Positioning System)
Cars without drivers
Anti-thief systems for
cars
466
EEG – Thoughts detection
Currently mainly for paralysed
people – for example 4 different
thoughts instead of using a
mouse (left hand, right hand, left
leg, right leg).
467
Human computer interaction with
shadow
468
Challenges of HCI
469
3D video
470
3D video
471
3D video
472
3D video
473
3D video
474
3D video
475
3D video
476
Cars without drivers
477
Cars without drivers
There are already law regulations
regarding autonomous cars in
Nevada and California, for example,
speed limit.
FILMIK ZE STANFORD UNIVERSITY