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

---------------------------------------------------------------------------------------------------------------------

Assignment: Compare the major features of: mobile, ubiquitous & grid computing and peer-to-peer

networks

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