Ποιό σύστημα θα χρησιμοποιήσουμε για ηλεκτρονικό φόρουμ στο ΕΠΛ425;! Μοοdle Διάλεξη 2η! Piazza! Blackboard! Email Πόσα bits έχει μια διεύθυνση IPv4 και πόσα μια διεύθυνση IPv6q 32 bits;! 36 και 72! 32 και 64! 32 και 128! 16 και 32 Πού βρίσκεται η προδιαγραφή ενός διαδικτυακού πρωτοκόλλου;! Στο Διεθνές Γραφείο Ευρασιτεχνιών! Σε ένα RFC! Σε ένα FAQ! Σε μια επιστημονική δημοσίευση
Ο ιστός ως κατανεμημένο σύστημα Παγκόσμιος Ιστός - Συστατικά στοιχεία Client/ architecture where client programs interact with web s Addressing system (Uniform Resource Locators) http://domain/directory/file.html Application-level network protocol Παγκόσμιος Ιστός: Βασικά Χαρακτηριστικά Διαδικτυακό Σύστημα Ανάκτησης Υπερμεσικών Πληροφοριών A wide-area hypertext, multimedia information retrieval system that provides access to a large universe of documents Ενιαίος τρόπος πρόσβασης και απεικόνισης πληροφοριών στο Διαδίκτυο A uniform way of accessing and viewing some information on the Internet Ένας χώρος μέσα στον οποίο κάθε πληροφοριακό στοιχείο διαθέτει αναγνωριστικό / όνομα / ταυτότητα, μέσω της οποίας μπορούμε να αποκτήσουμε πρόσβαση επάνω του The WWW creates a world in which information has a reference by which it can be accessed! subsumes the capabilities of ftp, gopher, wais and news Architecture Client-Server Architecture Browser Internet Site 6 HTTP, Hypertext Transfer Protocol, is the language understood by browsers and web s designed to move quickly from document to document Markup Language every web understands and every browser displays 3-tier Architecture Presentation Tier Appl. Logic Tier DB Persistence Tier includes support for HyperText and multimedia 7 8
s?and?browsers Αρχιτεκτονικό Μοντέλο Πελάτη/Εξυπηρετητή Εξυπηρετητής Ιστού/Διαθέτης [web ]: software that listens for web page requests: Apache,Microsoft Internet Information Server (IIS) (part of Windows) Terminals PCs Macs X Windows Multiplatform browsers (clients) Εξυπηρετητής Εφαρμογών [application ]: Software framework that provides an environment where applications can run: Apache, Glassfish, Sphere, Logic Addressing scheme (URL) + Protocols (HTTP, etc.) + Format Negotiation (MIME) HTTP Πλοηγός / Φυλλομετρητής Ιστού [web browser]: fetches/displays documents from web s: Mozilla Firefox, Microsoft Internet Explorer (IE), Apple Safari, Google Chrome, Opera FTP Gopher NNTP Mechanisms Servers for each protocol Mechanisms: URL, HTTP etc., MIME 10 9 Δομοστοιχεία Ιστού και Αλληλεπιδράσεις Intranet Data Source Internet Σε μια αλληλεπίδραση Ιστού, ποιό μέρος αναλαμβάνει την πρωτοβουλία σύνδεσης; Data Source Proxy PC! Browser Data Source Data Source 11! Ο πελάτης (client)! O εξυπηρετητής ()! Ο εξυπηρετητής εφαρμογών (appl. )! O πυρήνας του Διαδικτύου
Domain Name System (DNS) a set of s that map written names to IP addresses Example: www.cs.washington.edu 128.208.3.88 many systems maintain a local cache called a hosts file Windows: C:\Windows\system32\drivers\etc\hosts Mac: /private/etc/hosts Linux: /etc/hosts More advanced URLs anchor: jumps to a given section of a web page http://www.textpad.com/download/index.html#downloads fetches index.html then jumps down to part of the page labeled downloads port: for web s on ports other than the default 80 http://www.cs.washington.edu:8080/secret/money.txt query string: a set of parameters passed to a web program http://www.google.com/search?q=miserable+failure&start=10 parameter q is set to "miserable+failure" parameter start is set to 10 13 Uniform Resource Locator (URL) RFC1738 an identifier (αναγνωριστικό / όνομα) for the location of a document on a web site a basic URL: http: // www.aw-bc.com / info/regesstepp/index.html protocol host path upon entering this URL into the browser, it would: ask the DNS for the IP address of www.aw-bc.com connect to that IP address at port 80 (οpen socket) ask the to GET /info/regesstepp/index.html display the resulting page on the screen URL Syntax Scheme, followed by a colon http:, ftp:, mailto:, telnet: Double slash (only for http, ftp, wais, gopher) // Internet domain name (or IP address) Port number (optional) - eg. www.cs.ucy.ac.cy:8080 Default ports:! HTTP is 80! FTP is 21! SMTP is 25! IMAP is 143 Path - e.g. /users/mdd 14 15 16
Ποιά από τις παρακάτω ΔΕΝ είναι έγκυρη διεύθυνση URL! https://www.gll.com! mailto://cs89mg@scs.com! http://www.ebai.com/cgi-bin/foo?error=9 Hypertext Transport Protocol (HTTP) the set of commands understood by a web and sent from a browser some HTTP commands (your browser sends these internally): GET filename : download POST filename : send a web form response PUT filename : upload simulating a browser with a terminal window:! file://foo/moo/index.html 18 HTTP error codes when something goes wrong, the web returns a special "error code" number to the browser, possibly followed by an HTML document common error codes: Internet media ("MIME") types sometimes when including resources in a page (style sheet, icon, multimedia object), we specify their type of data Number 200 OK Meaning 301-303 page has moved (permanently or 403 temporarily) you are forbidden to access this page 404 page not found 500 internal error complete list Lists of MIME types: by type, by extension 19 20
Σε μια αλληλεπίδραση Ιστού, ποιό μέρος αναλαμβάνει την πρωτοβουλία σύνδεσης;! Ο πελάτης (client)! O εξυπηρετητής ()! Ο εξυπηρετητής εφαρμογών (appl. )! O πυρήνας του Διαδικτύου O Ιστός ως γράφος languages / technologies Hypertext Markup Language (HTML): used for writing web pages Cascading Style Sheets (CSS): stylistic info for web pages PHP Hypertext Processor (PHP): dynamically create pages on a web JavaScript: interactive and programmable web pages Asynchronous JavaScript and XML (Ajax): accessing data for web applications extensible Markup Language (XML): metalanguage for organizing data Structured Query Language (SQL): interaction with databases Hypertext - Yπερκείμενο Regular text, with the additional feature of links to related documents As you read documents and follow links, you traverse a web of interconnections 22 by A. Lincoln Fourscore and seven years ago, our fathers brought forth upon this continent a new nation, conceived in liberty and dedicated to the proposition that all men are created equal. We are now engaged in a great Civil War, testing whether that nation or any other nation so conceived and so dedicated can long endure. States by Eric Barnes, McGraw-Hill Declaration of Independence When in the course of human events it becomes necessary for one... Emancipation Proclamation... all persons found as slaves within any State,... 24
Μοντέλο Δεδομένων Παγκόσμιου Ιστού Κατευθυνόμενος γράφος (graph) όπου οι κόμβοι είναι έγγραφα/αρχεία (documents) και οι ακμές είναι ζεύξεις (links) Static page Hyperlink My home page Searching Education University of Wisconsin home page Search for faculty John Smith Submit Hyperlink Search Link Yahoo Find information about trains Submit Professor John Smith s home page My Courses My Research Dynamic page Search Link Static pages Index of material on trains Hyperlink Description of a specific train Η γραφοειδής μορφή του Ιστού Κόμβοι = στατικές ιστοσελίδες ~1 δις (circa 2009) Ακμές = στατικές ζεύξεις (υπερσύνδεσμοι) ~ 10 δις «Αραιός» γράφος: ~ 7 ακμές/σελίδα κατά μέσο όρο Μερικά ερωτήματα: Είναι συνεκτικός γράφος; Μπορούμε πάντοτε να τον διασχίσουμε από τον ένα κόμβο στον άλλο; Μπορεί η γνώση της συνδεσμολογίας των ζεύξεων να βελτιώσει την αποδοτικότητα της αναζήτησης (search); Αν παρακολουθήσουμε την αλλαγή του γράφου ανά τον χρόνο, τι συμπεράσματα μπορούμε να βγάλουμε για τις κοινωνικές διεργασίες παραγωγής ιστιακού περιεχομένου; 25 A. Broder, R. Kumar, et al. Graph structure in the web. 9th WWW Conference, 2000. http://www9.org/w9cdrom/160/160.html 26 Μερικοί αλγόριθμοι για γράφους Ισχυρή Συνεκτική Συνιστώσα (Strongly connected component/scc) Ένας μέγιστος υπογράφος ενός κατευθυνόμενου γράφου, τέτοιος ώστε ζευγάρι κόμβων (u, v), υπάρχει ένα κατευθυνόμενο μονοπάτι από το u στο v και ένα κατευθυνόμενο μονοπάτι από το v στο u. Ασθενής Συνεκτική Συνιστώσα (Weakly connected component/wcc) Ένας μέγιστος υπογράφος ενός κατευθυνόμενου γράφου, τέτοιoς ώστε ζευγάρι κόμβων (u, v), υπάρχει ένα μη κατευθυνόμενο μονοπάτι από το u στο v και ένα κατευθυνόμενο μονοπάτι από το v στο u. Ο υπολογισμός των WCC και SCC ενός γράφου μπορεί να γίνει με αλγορίθμους με γραμμική πολυπλοκότητα. Διάμετρος του γράφου: Το μήκος του «μακρύτερου μικρότερου μονοπατιού» ανάμεσα σε οποιουσδήποτε δύο κόμβους του γράφου, ή αλλοιώς ο μεγαλύτερος αριθμός κόμβων, τους οποίους πρέπει να διασχίσουμε ώστε να πάμε από έναν κόμβο σε κάποιον άλλο, αγνοώντας οπισθοδρομήσεις, παρακάμψεις ή βρόχους. 27! 1! 0! 5! 3 Πόση είναι η διάμετρος του εικονιζόμενου γράφου; Β Γ Α Κ Δ Ι Ε Ζ Θ Η
Το πρόβλημα της κλίμακας Ένας τυπικός αλγόριθμος υπολογισμού της διαμέτρου ενός γράφου χρειάζεται O(κόμβοι x ακμές) βήματα για να τερματίσει. Για τον ιστό: ~(ιστοσελίδες x ζεύξεις) Για 1 δις ιστοσελίδες, 10 δις ζεύξεις και περίπου 0.1 μsec/ βήμα, θα χρειαστούν 1δις δευτερόλεπτα, δηλαδή 10 εκατομύρια ημέρες.. Η σάρωση του Ιστού από την AltaVista τον Μάιο 1999 έδωσε: 220 εκατομύρια ιστοσελίδες (μετά την αφαίρεση αντιγράφων) Ένα τεράστιο WCC με ~186 εκατομύρια ιστοσελίδες Ένα τεράστιο SCC με ~56 εκατομύρια ιστοσελίδες! Το αμέσως επόμενο SCC είχε ~156 K ιστοσελίδες Ανεξάρτητες σαρώσεις έδωσαν παρόμοια αποτελέσματα Ανατομία του Παγκόσμιου Ιστού Τυχαιότητα; Κατανομή εισερχομένων ακμών Κατανομή εξερχομένων ακμών Χαρακτηριστικά κόμβων Υπάρχουν κάποιοι κόμβοι πιό κεντρικοί από άλλους Δυναμική συμπεριφορά Power laws, scale-free behavior A. Broder, R. Kumar, et al. Graph structure in the web. 9th WWW Conference, 2000. 29 Το πρόβλημα της «προσβασιμότητας» Πόσες ιστοσελίδες είναι προσβάσιμες από μια τυχαία ιστοσελίδα; Ξεκίνα από μια τυχαία ιστοσελίδα Βρες τους γείτονές της και βάλε τους στη λίστα Επανέλαβε τη διαδικασία για κάθε γείτονα, αποφεύγοντας τους βρόχους και τα αδιέξοδα Υπολόγισε τον αριθμό των προσβάσιμων ιστοσελίδων σαν συνάρτηση της απόστασης d από την αρχική ιστοσελίδα. Πειραματισμός: ξεκινώντας από 1000 τυχαίες ιστοσελίδες, κατασκευάστε για την κάθε μιά το BFS δένδρο της. Παρατήρηση: Κάποιες αναζητήσεις «πεθαίνουν» γρήγορα Κάποιες άλλες μας οδηγούν σε «συνδυαστική έκρηξη» (combinatorial explosion), φθάνοντας σε 100 εκατομύρια ιστοσελίδες. Διαδίκτυο, Ιστός, ΠΠΠ: Κοινά Στοιχεία Διαδικτυακό Σύστημα Ανάκτησης Υπερμεσικών Πληροφοριών A wide-area hypertext, multimedia information retrieval system that provides access to a large universe of documents and data Ενιαίος τρόπος πρόσβασης και απεικόνισης πληροφοριών στο Διαδίκτυο A uniform way of accessing and viewing some information on the Internet Ένας χώρος μέσα στον οποίο κάθε πληροφοριακό στοιχείο αποκτά ταυτότητα, μέσω της οποίας μπορούμε να αποκτήσουμε πρόσβαση επάνω του A world in which information has a reference by which it can be accessed 30 31 32
Deep 33