Introduction to Cyberspace Joel crichlow, ph.d.
We will talk about: A definition of Cyberspace Cloud Computing The Computer Network Some Services Key Design Issues Software Architecture
What is Cyberspace? The communication environment supported by computer networks. Cloud
Cloud computing Pay-per-use service alias Pay-as-you-go model Uses a multi-tenant architecture to deliver several categories of service Software as a Service (SaaS) Delivers a single application Platform as a Service (PaaS) Delivers development environments Infrastructure as a Service (Iaas) Delivers storage, virtual machines, etc
The Computer Network Hosts and Communications Subnet WAN – Wide Area Network LAN – Local Area Network PSNs – Packet Switching Nodes switches, hubs, bridges, gateways, routers Computer network (hidden) network User’s computer
The Computer Network Protocols Arpanet – Advanced Research Projects Agency Network Internet ISO/OSI – International Organization for Standardization/Open Systems Interconnection TCP/IP – Transmission Control Protocol/Internet Protocol Computer network (hidden) network User’s computer
Protocols
Services Email and Messaging WWW DNS – Domain Name System SMTP – Simple Mail Transfer Protocol TCP/IP – Transmission Control Protocol/Internet Protocol WWW HTML – HyperText Markup Language HTTP – HyperText Transfer Protocol XML – eXtensible Markup Language
Domain Naming system
Html web display
Html file
Services Social Networking Facebook, Twitter, LinkedIn Short Message Service (SMS) Open source software LAMP web application software stack Linux, Apache, MySQL and PHP In-house development HipHop, Thrift and Cassandra Memcached: a distributed memory caching system
Services Social networking
Services Multimedia Transfer Distributed Computation MPEG – Motion Picture Experts Group MP3 - MPEG Audio Layer 3 Distributed Computation
Services Distributed Transaction Processing network Transaction trans manager Replica network trans Data database
Services E-Commerce Request 1 2 3 4 5 payer payee Acquiring institution Issuing Flow of money network authorization Payment order notification Request 1 2 3 4 5
Services Distributed Real-Time Processing Sensor Dev ice Comp Actuator Network
Issues Naming Sharing Availability and reliability Replication Globally unique, Domains, Location Sharing Authentication, Access rights Scheduling, Coordinating, Synchronizing Resolving conflicts Availability and reliability Up-time, Responsive, Correct Replication Copies made and stored at separate sites Load sharing, Improved throughput, Improved availability
Issues Privacy and Security Communication Passwords, Access Control Lists, Capabilities Encryption, Memory Protection Intrusion blockers Communication Protocols aplenty Concurrency and Synchronization Race Conditions Critical Regions Locks
Issues Time and Coordination Fault Tolerance and Recovery What is the time? Ordering of events Fault Tolerance and Recovery Redundant elements Logging schemes Back-ups Time-outs Retransmissions
Issues Scalability User-System Interface Cannot assume a static configuration Plan for growth How about reduction? User-System Interface Look and Feel
Software architecture Process Groups Process – The executing program Messages must be delivered to all the processes Activities of the processes must be synchronized Group Membership Membership List Join Leave
Software Architecture Client-Server For example: A database Shared resource Server Workstations Client Network Client Client Client
Software architecture P2P: peer-to-peer Symmetrical Arrangement peer peer client client client client client Server Server network For example: File sharing
We covered: A definition of Cyberspace Cloud Computing The Computer Network Some Services Key Design Issues Software Architecture