Application-layer protocols

  • Transport-layer service models: Transport-layer sends data (TCP, UDP)
  • Client-server paradigm (HTTP)
  • Peer-to-peer paradigm (BitTorrent)

HTTP

Web

Web page consists of objects, which can be HTML file, JPEG image, audio file, etc.
Web page consists of base HTML-file which includes several referenced objects, each addressable by a URL.

Read more »

Perpetual intermediates

Most people are perepetually intermediate - only few beginners and experts

Design should target intermediates!

Interaction Design

  • The design of spaces for human communication and interaction. (Winograd, 1997)
  • Designing interactive products to support the way people communicate and interact in their everyday and working lives. (Sharp, Rogers and Preece, 2011)
Read more »

Hierarchical modeling

Model complex objects by combinig simple primitives. (e.g. triangles, box, cylinders, spheres)

Static Hierarchical Model

Relative transformations do not change. (e.g. car)

Dynamic Hierarchical Model

Read more »

Two types of packets

  • UDP: unreliable datagram
  • TCP: reliable byte stream

Actually it takes the same amount of time to send UDP packet and TCP packet!!
Even streaming services uses TCP these days.

UDP

  • no handshaking before sending data (no connection!)
  • sender explictly attaches IP destination address and port number to each packet
  • receiver extracts sender IP address and port number from received packet
Read more »

History of Computer

Early Example: Astrolabe

In middle age, astrolabe can calculate people the time of the day, sun, star, season, latitude, etc.
Easier to use, but need to learn how to use astrolabe.

Babbage Difference Engine

  • First mechanical calculator
  • Can solve 7th-order polynomial equations!
Read more »

Google TPU

Google TPU Version 1.0 does 64,000 multiplication per cycle!
It can multiply 256x256 matrix!

Two important things in parallel computing are making small unit and providing new data every cycle.
How does Google TPU multiply 256x256 matrix?

Systolic array

Systolic Array

Read more »

Moore's law

Computer abilities are doubled each 2 years. But human abilities are almost in place...

AI has nearly caught up with human performance!

HCI

Human-Computer Interaction is a discipline concerned with the analysis, design, implementation, and evaluation of interactive computing systems for human use and with the study of major phenomena surrounding them.

Read more »

Recall) Linear transformation

Linear transformation TLT_L is a mapping between vector spaces.
Linear combination is invariant under TLT_L.

TL(i=0Ncivi)=c0TL(v0)++cNTL(vN)T_L\left(\sum_{i=0}^{N}c_i\mathbf{v}_i\right) = c_0T_L(\mathbf{v}_0) + \cdots + c_NT_L(\mathbf{v}_N)

In 3D space, TLT_L can be represented by a 3x3 matrix AA.

TL(v)=A3×3v3×1T_L(\mathbf{v}) = A_{3 \times 3}\mathbf{v}_{3 \times 1}

Read more »

2D/3D Geometry Representation

Basic elements: vertices, edges

A vector represents an edge, and a point represents a vertex.
In computer view, vectors and points are represented as tuple.
But they are totally different!!!

Points are actually vector from origin.
If we change origin, sum of two points will be different.
Adding points is coordinate-dependent!
We should use only coordinate-free operations.

Recall) Vector space

Read more »

What is internet?

Nuts and Bolts view

  • Billions of connected computing devices (hosts)
  • Packet switches that forawrds packets (routers, switches)
  • Communication links (fiber, copper, radio, satellite)
  • Networks: Collection of devices, routers, links that is managed by an organization

Internet is a network of networks - interconnected Internet Service Providers (ISPs)

  • Protocols that defines format and order of the messages sent and received
    e.g. HTTP, TCP, IP, Ethernet, etc.
  • Internet standards
    • RFC: Request for Comments
    • IETF: Internet Engineering Task Force
Read more »
0%