IS451 Test 2
Caching, Web Cache, Web Cache Types, How a Typical Cache Works
Caching: Temporary/duplicated storage of frequently accessed data. It reduces access time/latency for clients, reduces bandwidth usage/load on a server and network traffic. ... Web Cache: Sits between origin server(s) and stores data/responses like HTML pages, images and other files so that they can be used again. .... Web Cache Types: Include Browser Cache, which is enabled by a single user within their browser like Chrome. It sets aside drive space for cache. Shared Cache, which is for multiple users is deployed by ISP. It includes Forward Proxy Cache & Reverse/Gateway Proxy Cache. They are intermediaries. Its not in your computer or in the website, its on the way, its between the users (clients) and the servers. ... Forward Proxy Cache: Its quicker & located closer to the client due to being stored on ISP (Internet provider) server for users, which is closer than the internet. It decreases bandwidth usage on websites. Reverse/Gateway Proxy Cache: Closer to the origin web servers (website you're trying to access) while forward is closer to users. Its deployed by an web hosting ISP (websites ISP) and decreases load on the web server. Several reverse proxy caches implemented can be combined to form a content delivery network. ... How a Typical Cache Works: 1) Freshness: Is how long the cache is the same as the origin website & no changes are made. 2) Validation: It compares cached document to origin document and updates the cache so that its back to being the same as the website.
Content Distribution Networks, VoIP, VoIP (Packet Loss, Delay), VoIP (Fixed Playout Delay)
Content Distribution Networks (Slide 24): Is it better to have a single large mega server or CDN? It's better to use a Content Delivery Network (CDN) which has multiple servers all over the world that have all of the same files so that whenever you request a file, it sends it from the closest server to you, which is faster. ... Voice-over-IP (VoIP): There can only be a certain amount of delay, it needs to be under 150 msec, otherwise the conversation will not flow well. Over 400 is horrible delay. VoIP only transmits data at 64 kbps when there's noise (talk spurt), not silence. Includes chunk + header, which is voice data + any additional data needed. .... VoIP (Packet Loss, Delay): Includes Network Loss (where congestion causes data loss), Delay Loss (when certain packets take too long to arrive & mess up order so they have to be dropped. get there it just throws that packet out, it drops it so it doesn't mess up the order. Delay over 400 is dropped) and Loss Tolerance (1% and 10% data loss tolerated). ... VoIP (Fixed Playout Delay): Try's to have a certain amount of delay in the beginning of the audio in order to ensure that all packets are received at the same time. Larger q means less packet loss, but smaller q means a better experience. Forward Error Correction (FEC) sends enough bits & adds redundant information to the packet stream to allow for recovery.
Directory Service, Directory Service Components, Common Directories, Directory Services Naming Model
Directory Service: A specialized distributed database that includes a collection of sources that are used to make information in a directory available to the users. X.509 is a directory service for public key certification and authentication. ... What is a Directory Service? Has a higher read-to-write ratio (info is more constantly accessed then updated unlike relational databases), is more easily extended, more widely distributed, replicated on a higher scale, has support for standards and has very different performance characteristics. ... Directory Service Components: Information, servers, clients, Hardware on which these clients and servers run, Policies governing access and procedures for maintenance & monitoring. ... Common Directories: Microsoft Active Directory, NetIQ eDirectory & Sun Microsystems OpenDS. .... Directory Services Naming Model: The directory blueprint is defined by schema where all network entities are implemented as objects/entries (e.g. a university) with attributes. Each attribute (e.g. courses) contains an attribute type (e.g. string, integer) & attribute value/s (e.g. IS310). Each attribute value(s) contain multiple values. All objects are arranged into a hierarchical tree structure (DIT). Each object has a Relative Distinguished Name ("RDN"), which is a simple object name that is unique within a tree level (e.g. Jensen). And each object is identified by its distinguished name (DN) which is unique name within the whole directory and is the entire file pathway to the file (e.g. C=DK; O=Fallit A/S; OU=Salg; CN= Jensen).
Directory Service Diagrams
Directory Services Naming Model Diagram (Slide 7): Jensen or Sales is a relative distinguished name ("RDN"). {C=DK; O=Fallit A/S; OU = Salg; CN = Jensen} is a distinguished name ("DN"). ... Distributed DIT Diagram (Slide 9): Means you can have different parts of the directory tree on different servers but still have them connect together logically. .... Distributed DIT Diagram (Slide 10): Distributed DIT allows you to not have too much load on one individual server due to there being multiple servers. You can logically split data and provide people with more dedicated access. .... Distributed DIT Diagram (Slide 11): Since the database doesn't change as much, you can have lots of replication for distributing load and redundancy. It's easy to put the same content on different directories so that they can provide the same services.
HTML tags vs. HTTP headers, HTTP headers, Validators, Proxy Server Software Examples
HTML tags vs. HTTP headers: Caches only look at document tags and headers. HTML Meta tags are within the HTML document (webpage your viewing in code), it describes/defines attributes, it is only useful & read for browser caching. HTTP headers aren't apart of and are sent before the HTML document, it is the metadata/basic generated information of the HTML document, it is used for all caching types, and can determine freshness. ... HTTP headers: These define the HTML document. Max-age= (Max amount of time cache has to check freshness in order to see if theres a new version of a web page), s-maxage= (Is max-age for only shared caches), *public (marks authenticated responses as cacheable; normally, if HTTP authentication is required, responses are automatically private.), *private (allows caches that are specific to one user to store the response; shared caches may not), no-cache (where a website is saying you cant cache at all), no-store (where a website is saying you cant store any files in the cache), must-revalidate (Enforces the max-age header.), and proxy-revalidate (Is must-revalidate for only proxy caches). ... Validators: Are used by caches to see if the cached document is fresh. If validator is not present, the document wont be cached and there's no way to know when the original website changes. Last-Modified HTTP header tells you the last time that the HTTP document was changed by comparing values within headers. And ETags are a digital finger print where if they match, cache document is fresh, if they don't match then a change occurred. ... Proxy Server Software Examples: Squid (Unix/Linux & Windows), Varnish (Web Accelerator), Apache Proxy Module & Cache Module, NGINX (HTTP (reverse)) & Email Proxy.
Interception Caching, Content Distribution Network, CDN Cluster Selection Strategy
Interception Caching: Allows users to use caching without having to configure the cache settings themselves. It can intercept traffic and point it directly to cache as well as redirect frequent requests to cache. Methods used are Inline cache (Has single point of failure, higher rate of failure), Layer 4 switch (Connect to web cache. Look at higher layered data to determine destination), WCCP (Protocol that advertises & diverts traffic towards cache), Policy-based routing (Uses configuration settings). Content Distribution Networks: Network of computers/servers that deliver content on the web. Improves internet performance, decreases bandwidth use and latency for clients. Consists of origin server (the original website) which connect to surrogate edge servers which duplicate & copy the original data. Caching and server load balancing techniques are used (distributing requests, makes sure one server isn't getting every request for data). ESI (Edge-Side Includes is a open standard markup language that helps with dynamic delivery and assembly of web documents). Content Distribution Networks: Used to store/serve multiple copies of data at multiple geographically distributed sites. Enter Deep (push CDN servers deep into many access networks...push them close to cluster of users.. used by Akamai; 1700 locations), Bring Home (has CDN servers farther away from users...smaller number of larger clusters in POPs near, not within, access networks; used by limelight). CDN Cluster Selection Strategy: Decision on how to route clients is based on geographic proximity(closest to client), real-time latency measurement (shortest delay/# of hops), IP anacyst (looks at IP address & routes it to next best hop), and let user pick the server they want.
Internet Multimedia (Streaming Approach), Server Multimedia (Streaming Approach), Streaming Multimedia (UDP), Streaming Multimedia (HTTP), Streaming Multimedia (DASH)
Internet Multimedia (Streaming Approach) Diagram (Slide 14): Where client uses HTTP (TCP) protocol to request the metafile (video information) from the web server, which uses HTTP to respond & send the metafile to the client. The client then passes the metafile to the media player and the media player uses the metafile to request the video file from web server. ... Server Multimedia (Streaming Approach) Diagram (Slide 15): Where client uses HTTP (TCP) protocol to request the metafile (video information) from the web server, which uses HTTP to respond & send the metafile to the client. The client then passes the metafile to the media player and the media player uses the metafile to request the video file from the streaming server. Media player doesn't use HTTP to get video file. Can use UDP. .... Streaming Multimedia (UDP): Server sends at whatever rate the client can handle. If the client has a low connection, then it sends at a lower rate. Often the send rate = the encoding rate = the constant rate. UDP it doesn't adjust the rate if there's more congestion, may not go through firewalls, it uses error recovery where possible and uses short playout delay. RTP is used to encapsulate video over UDP (HTTP encapsulates over TCP.) and RTSP is used for connection control (play, pause). ... Streaming Multimedia (HTTP): Server sends at maximum possible rate under TCP. It adjusts the rate if there's more congestion, it passes more easily through firewalls and it has a larger playout delay to provide smoother delivery rate. ... Streaming Multimedia (DASH): Stands for Dynamic, Adaptive Streaming over HTTP. It's where instead of having one video file, it takes it and splits it up into small pieces, sends them at different times and for each time it checks the connection to adjust its fill rate. This allows it to send more efficiently and faster if possible. The Manifest File is DASH's version of a metafile. "Intelligence" at client is where the client determines when to request chunk, what encoding rate to request, and where to request chunk.
LDAP, Difference between LDAP & DAP, LDAP Security Model, SASL
LDAP: Provides access to directory, uses TCP/IP, it's structure is based on the X.500 standard and it includes a informational/naming/functional/security model. Its operations/functional model is divided into authentication, interrogation & update. Authentication includes open (opens connection to LDAP server), bind (connects to LDAP tree), and unbind (disconnects to LDAP tree). Interrogation includes search (search through LDAP tree) and compare (compare different parts of tree). Update includes add, modify and delete. .... Difference between LDAP & DAP: LDAP is a higher level protocol and is lighter because it uses TCP/IP. DAP is heavier and uses the OSI model to bundle all layers together. ... LDAP Security Model: Includes Authentication (Ensuring people are who they say they are. No authentication means anyone can look at the contents of the tree. E.g. phonebook), Integrity (Assuring information hasn't been changed.), Confidentiality (Using data encryption to protect information from unauthorized eyes.), and Authorization (Assuring people are allowed to do what they are requesting to do. This step is not apart of LDAP Version 3.). SASL: Simple Authentication & Security Layer provides additional authentication and use SSL and TLS to secure LDAP.
Multimedia Networking Applications, Streaming, Streaming Stored Multimedia, Streaming Stored Video Diagram, Client-side Buffering/playout diagram, Interactive Real-Time Multimedia
Multimedia Networking Applications: Include 1) Streaming Stored Multimedia (Uses best effort. Includes client buffering, rate adaption. e.g. youtube), Streaming Live Multimedia (ex. Real-time soccer game), and Interactive Real-time Multimedia (ex. Skype). These applications are typically delay sensitive, end-to-end delay is loading delay while delay jitter is packet delay variability. These applications are also loss tolerant, meaning they tolerate small amounts of data loss which can cause minor glitches and decrease in quality. .... Streaming: When loading, delay can take between 1 to 10 seconds, this is end to end delay. .... Streaming Stored Multimedia: Where clients request multimedia from servers (source). Clients play media begins before all data has arrived. Clients can pause, rewind, etc. It takes 10 seconds to start playing a video initially. 1-2 second until command effect is OK. Challenges for Video are that once the video starts playing, it needs to receive all of the video at the same speed or there will be jitters. You need a buffer so you can try to reduce jitter. Playout Delay Compensation (Slide 13) can be used to delay the start of a video until it has enough video loaded so it can keep playing without pausing. Network Added Delay is where the network causes the video not to load 100% right away. Other challenges are when users click past the parts of the video that aren't loaded yet like fast forwarding, this can cause jitter. Also, video packets may be lost due to temporary loss of connection etc. Challenges are streaming applications typical delay is 5-10 seconds, but congestion (too many people at once) decreases streaming quality, this is known as transoceanic. ... Streaming Stored Video Diagram (Slide 13): Where the video is put on a server, then it goes from the server to your computer. The network delay is how long it takes for the video to get from the server to your computer. .... Client-side buffering, playout Diagram (Slide 18): Variable fill rate is how long it's going to take to fill the buffer. Fill the buffer means completely load the video. .... Interactive Real-Time Multimedia: Is like a phone conversation or video conference. Clients control operations (play, pause etc.) and it's two way where you can interact with someone and they can interact with you. It has a more strict delay requirement than streaming and is unidirectional. E.g. skype, VoIP. Unidirectional Real-Time is non-interactive, one way and is just for listening/viewing. E.g. real-time soccer game. Challenges include that Real-Time Interactive requirements satisfy delay/jitter by over-provisioning, which is giving people more bandwidth than they think they need. When no more bandwidth but more requests, this causes congestion & decreases in quality/performance.
Multimedia Networking, Audio, Audio Compression, Digital Video, Video
Multimedia Networking: Use analog continuous media to encode, decode and playback. Challenges are TCP/UDP/IP use best effort and have no guarantees for packet delivery. .... Audio: Analog audio signal is sampled at constant rate where each sample is quantized and is represented in bits. When bits are converted back to analog signal, this can cause some quality reduction. Includes Quantization Error whereas the error gets larger, sound quality decreases. Quantizing are the pieces within a sample. The higher number of pieces that can fit within the analog signal equal better quality. ... Why Audio Compression? Because audio requires too much bandwidth. Compression reduces the size in order to remove redundancy and details that humans tend not to perceive. ... Digital Video: When retelling the original video or sampling the analog signal, each sample is an image and the sample is at some fixed rate. When quantizing each sample, each image is represented as an array of picture elements where each pixel is a mixture of colors. .... Video: Is a sequence of images displayed at a constant rate. With a digital image, each pixel is made up of bits. Coding: Uses redundancy to decrease the #bits used to make up an image. It uses the same code from existing pixels(color values) instead of creating new pixels (color values) each time. There is spatial which is when the code from the original pixel is used within the same image and temporal when the code from the original pixel is used within another image. Spatial coding is when you send two values: color value, number of repeated values.
Temporal Coding, VOIP loss recovery methods, How is a directory database different from a traditional database?, Streaming Live Multimedia, Disadvantages of UDP, Compare and contrast LDAP and X.500,
Temporal Coding: Reference image is the keyframe. Images after are keyframe + i ; where i is the number of the consecutive images. ... VOIP loss recovery methods include FEC & Interleaving (where you send non-sequential data chunks so that if any chunks are loss, communication can continue mostly intact.) ... 9) How is a directory database different from a traditional database? Directory databases have a higher read to write ratio than traditional databases. And support for standards is more important in directory databases. Directory database data is more static and is hierarchical. ... 10) Streaming Live Multimedia: Does not wait for client to download, its a live transmission ex. event broadcast (sports game). Requires source media, an encoder, media publisher and CDN. No interactivity. ... 11) Disadvantages of UDP: Doesn't go through firewalls, has a short playout delay which doesn't provide a smoother delivery rate, it doesn't adjust to congestion, needs a protocol for everything, unreliably data transport, best effort. ... 12) Compare and contrast LDAP and X.500 standards: Both define a hierarchical directory with objects/entries with attributes and include interrogation & update operations. LDAP's structure is based on X.500 standards, uses TCP/IP and is simple. X.500 can not run over TCP/IP.
How is a directory service database centralized yet distributed?, What is a quantization error & what causes it?, Name 3 codecs used to compress speech, why does TCP/UDP create challenges for multimedia delivery?, Operations/Functional Model, How have ISPs dealt with real-time requirements on delay and jitter?, How does streaming work with regards to internet multimedia?, HTTP headers, What is LDAP informational model?, Hierarchical Tree Structure (DIT), Video, 3 systems of streaming, Reverse Caches.
When describing Directory Service database, we refer to it as a centralized information repository, but also as a "distributed" database. Explain those seemingly conflicting characteristics: A directory service is logically centralized but it can be physically distributed among multiple servers. Directory services will seem centralized to a user. ... What is a quantization error? What causes it? It's found between the analog signal and the quantized value of analog value. Quantization error occurs when you convert analog to digital. ... Name 3 codecs used to compress speech (audio formats), and their bitrates: GSM (13 kbps), G.729 (8), G.723.3 (6.4, 5.3). ... Why does TCP/UDP create challenges for multimedia delivery? They provide a best-effort service with no guarantees of expectation or variance of packet delay. ... Operations/Functional Model {Authentication includes open (connects user to DSA), bind (begins protocol session with DSA & authenticates who user is) and unbind(terminates session)}. Interrogation (compare ~ returns boolean response). LDAP security model....within authentication....there can either be no authentication...basic authentication (password based) or simple authentication/SASL (extra authentication). ... How have ISPs dealt with real-time requirements on delay and jitter thus far? Overprovisioning (providing lots of bandwidth). ... How does streaming work with regards to internet multimedia? Client uses HTTP protocol to request metafile from server, server uses HTTP to respond and sent metafile......etc. Also streaming in regards to streaming server ... HTTP headers: public (where cached content is shared) and private (where cached content isn't shared and is only intended for a single user/browser only) ... What is the LDAP informational model: Directory blueprint defined by schema... ... Hierarchical Tree Structure (DIT): Top of tree is always called "root". A object/entry acts as a level within DIT. ... Video has a high bandwidth requirement, best effort...no packet delivery guarantee. ... 3 systems of streaming: UDP, HTTP, DASH ... Reverse Caches: Aren't set by users or ISPs, they are instead created/configured by the websites. Used to determines freshness: HTML meta tags & HTTP headers
X.500 Components & Protocols( LDAP, DAP, DSP, DISP, DOP, DUA, DSA), Diagram
X.500 Components & Protocols: Include LDAP (Lightweight Directory Access Protocol), DAP (Directory Access Protocol), DSP (Directory System Protocol), DISP (Directory Information Shadowing Protocol), DOP (Directory Operational Binding Management Protocol), DUA (Directory User Agent), and DSA (Directory System Agent). .... X.500 Components & Protocols Diagram (Slide 14): LDAP clients use LDAP to connect to the DSA. DUA's use DAP(entire OSI model) to connect to the DSA. When a DAP request/response is forwarded from one DSA to another, it is enveloped by DSP. DSA holds the directory tree/information like your address and phone number. The different protocols that can be run between DSA are DSP, DISP, & DOP. X.500 can include any amount of DSA's. The DSAs communicate with DISP. DOP controls the flow of data & establishes relationships between 2 DSAs. DUA & LDAP are used to communicate from the end server (user/interface) to the DSAs. DISP governs X.500 allowing one DSA to shadow information held by another DSA.