C.3 - Distributed approaches to the web (6 hours)
C.3.1: Define the terms: mobile computing, ubiquitous computing, peer-2-peer network, grid computing.
Explanation
Mobile computing - typically a Smartphone - using a portable device without being stuck at a desk with a big machine.
Ubiquitous computing - when computing devices and systems are available "everywhere", and probably "invisible" or unnoticed or "taken for granted". Examples: tagged food items & biometric devices incorporated into clothing, smart cities
Peer-2-peer- when "equal" client devices exchange data directly, without using a server. Commonly used for illegal exchange of media files or software.
Grid computing - Grid computing (or the use of a computational grid) is applying 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.
Outreach - Grid Computing with example
C.3.2 - Compare the major features of: mobile computing, ubiquitous computing, peer-2-peer network, grid computing
Note - LINK Networks
Mobile Computing - howstuffworks
Ubiquitous Computing - howstuffworks
Introduction to peer-2-peer networks - Lifewire
How bitTorrent works - howstuffworks
How Grid Computing works - howstuffworks example: SETI (the Search for Extraterrestrial Intelligence)
---------------------------------------------------------------------------------------------------------------------
Assignment: Compare the major features of: mobile, ubiquitous & grid computing and peer-to-peer
C.3.3 - Distinguish between interoperability and open standards.
Interoperability must be distinguished from open standards. Although the goal of each is to provide effective and efficient exchange between computer systems, the mechanisms for accomplishing that goal differ. Open standards imply interoperability ab-initio, i.e. by definition, while interoperability does not, by itself, imply wider exchange between a range of products, or similar products from several different vendors, or even between past and future revisions of the same product. Interoperability may be developed post-facto, as a special measure between two products, while excluding the rest, or when a vendor is forced to adapt its system to make it interoperable with a dominant system. (Wikipedia Article)
C.3.4 - Describe the range of hardware used by distributed networks.
Note: Students should be aware of developments in mobile technology that have facilitated the growth of distributed networks.
This of course depends on the different types of distributed systems, but most generally speaking on a low level multiple CPUs need to be interconnected through some network, while at a higher level processes need to be able to communicate and coordinate. For each approach to distributed system, more specific types of hardware could be used:
Mobile computing: wearables (e.g. Fitbit), smartphones, tablets, laptops, but also transmitters and other hardware involved in cellular networks
Ubiquitous computing: embedded devices, IoT devices, mobile computing devices, networking devices
Peer-to-peer computing: usually PCs, but can include dedicated servers for coordination
Grid computing: PCs and servers
Content delivery networks (CDNs) is a system of distributed servers. They can cache content and speed up the delivery of content on a global scale
Blockchain technology(e.g. Bitcoin, Ethereum) are decentralised and based on multiple peers, which can be PCs but also server farms. Blockchain for beginners
Botnets can probably be considered a form of distributed computing as well, consisting of hacked devices, such as routers or PCs. Mariposa botnet - Spain 2010
C.3.5 - Explain why distributed systems may act as a catalyst to a greater decentralisation of the web.
Note: (INT-Decentralisation has increased international-mindedness).
Distributed systems consist of many different nodes that interact with each other. For this reason they are decentralised by design, which you can see in this comparison.
Figure 1: Comparison of centralised, decentralised and distributed networks
Therefore, the importance of distributed systems for a decentralised web lies in their benefits and disadvantages compared to classic centralised client-server models.
Benefits
higher fault tolerance
stability
scalability
privacy
data portability is more likely
independence from large corporations such as Facebook, Google, Apple or Microsoft
potential for high performance systems
Disadvantages
more difficult to maintain
harder to develop and implement
increased need for security
Possible conclusion
While some decentralised systems such as Bitcoins are gaining traction and some other systems like Git or Bittorrent have been around for a good time already, most part of the internet is still centralised, as most web applications follow the client-server model, which is further encouraged by corporations wanting to make profit.
This post from Brewster Kahle’s Blog on the topic very interesting.
C.3.6 - Distinguish between lossless and lossy compression.
Note: Students will not be required to study the detailed compression algorithms.
Lossy compression algorithms
Definition: Lossy compression or irreversible compression is the class of data encoding methods that uses inexact approximations and partial data discarding to represent the content. These techniques are used to reduce data size for storage, handling, and transmitting content.
General features:
Looks for common patterns in data to compress a file –> usually used for multimedia files (images, audio, video)
Part of original data are lost
Compresses to really low file sizes
Usually include settings for the compression quality –> allows for balance between quality and file size
As data become more compressed, the quality deteriorates –> to certain degree not noticeable by humans
Examples:
JPEG, GIF
MP3, MP4, OGG
H.264, WMV
Lossless compression algorithms
Lossless data compression algorithms usually exploit statistical redundancy to represent data without losing any information, so that the process is reversible.
You need lossless compression when compressing installation files and programs and it can only compress files by 50% of their original file size. But important is that the information/data that is compressed does not affect a loss in information.
Examples:
Images: BMP(Bitmap), PNG, RAW
Audio: WAV (Waveform Audio File Format), FLAC (Free Lossless Audio Codec), ALAC (Apple Lossless Audio Codec)
Graphics: PNG – Portable Network Graphics, TIFF – Tagged Image File Format, WebP – (high-density lossless or lossy compression of RGB and RGBA images)
7zip, WinRAR
Examples:
compression of music (mp3, flac, aiff)
compression of videos (mp4, flv)
compression of software (.zip)
C.3.7 - Evaluate the use of decompression software in the transfer of information.
Note: (Students can test different compression methods to evaluate their effectiveness.)
Evaluation of lossy compression
Significant reduction of file size –> important for file storage, transfer of data over the internet
e.g. image files can be reduced to be around 90% smaller before quality degradation is noticeable
Most important use is streaming multimedia files and VoIP –> bandwidth is usually limited
However, doesn’t work with all file types –> text files or binary data cannot be compressed in a lossy way, as the meaning of the data are lost
Different things to consider:
Compression speed
Decompression speed
Compression ratio
Think about streaming and reducing file size
Evaluation of lossless Compression
When compressing a file if decompressed will have the same data/Information as the initial file
Important when compressing an installation file and programs
It is required that the installation files and programs’ information is the same in the compressing and decompressing phase
No loss in quality in lossless compression in Images and Audio files
Larger file sizes than lossy compressions
Extra - Lossless/Lossy compression