3 What? Internet is evolving The Internet is evolving into a network that is always on, multi-directional, and executable Servers PCs
4 Network Applications will utilize Client-server and peer-to-peer interaction as needed What? P2P and Client/Server will Co-exist Client/ServerPeer to Peer Peer-to-peer applications and web applications are currently isolated from each other Server to Server Peer to Peer Client/Server P2P technology has potential to reshape corporate computing architecture but it will start with augmenting existing infrastructures.
5 What? Use clients AND servers Some tasks make more sense on a client; some make more sense on a server Server: Search, databases, financial transactions Client: file transfer, publishing/sharing, storage
6 What? New class of applications Putting this together, Network Applications are a new class of applications that execute on and leverage the resources of all parts of the network… Clients Servers Files Services Machines Devices Users
Why? Benefits to making your application a Network Application
8 Why? Decreased friction Make publishing easier –Avoid uploading, layout, provisioning, maintenance Increase application usage –Users share more resources if they dont have to upload them to a remote server Ad-hoc collaboration with minimal IT support, but still IT oversight Result: greater productivity – better information X-Outlook Share documents peer- to-peer from within an application people already use. No need to email documents back and forth. Photo Sharing Share photos directly between user machines. No need to take the time to upload photos to share them.
9 Why? Control of own resources User creates, manages and shares data in natural environment (his PC) Give administrators a "server-like" view on distributed resources Result: blend best of centralized and decentralized control (yet central administration) X-Outlook The user interacts with files on the server as if they were on his own desktop or laptop PC. When he takes his laptop on a trip, all of his contacts and appointments are on his laptop. Applications On a PC
10 Why? Aggregate and buffer unreliable resources Treat servers and PCs as one reliable resource Access information whether source is available or not Result: reliable network out of unreliable components Enterprise Storage Store enterprise data redundantly on end-user machines. Leverage network resources more effectively. =
11 Why? Improve cost-structure and scalability Store applications and data on end-user machines Queue resources on servers as needed to maintain user experience Result: reduced server costs Photo Sharing Photo sharing services reduce storage costs and maintain quality of service. $$$ $
12 Why? Improved performance, less bandwidth Distributed systems handle traffic peaks more effectively Download from server, propagate via clients Result: improved peak performance Anti-Virus Distribute enterprise virus definition files (.DAT files) peer-to- peer. Improve speed of virus update propagation when new viruses attack.
13 Why? Use web applications everywhere Web applications are currently only useful when users are online Network Application seamlessly … –Stores data and executes application locally when offline –Leverages central database and new services when online Sales Force Automation ASP Allow sales force to access SFA application locally if not connected to the corporate network. Disconnected Connected
How? Seven things you need to make your application a Network Application
15 How? IP is like Parking South of Market A recent SOMA Parking Study (SPUR, Jul 19, 2000) Shows: Parking Spaces: 23,830 Parking Demand: 27,250 Shortfall: 3420 Servers are the tenants with fixed IP addresses Clients are visitors, who drive around until someone pulls out Tens of millions of new devices need IP addresses
16 How? Resource addressability Resource addressability Need to be able to easily address resources –files, applications, people, machines and devices Consistent namespace mechanism across applications Logical abstraction between names and physical location Handle intermittent nature of clients Like DNS, but handle dynamic IP and other resources Allow for selection of "best" source of a resource 1 1 net.acme.com/sales/pricelist.pdf 18.104.22.168 22.214.171.124 126.96.36.199 X 188.8.131.52
18 How? Security Security Distributed systems are more complicated to secure –No central point of control User authentication –Ensure that users are whom they claim to be Permissions –Control access to resources Encryption –Prevent unauthorized access to resources –DES 128 or AES Content validation –Digital Signature - MD5 or SHA-1 –Ensure resources cannot be manipulated and presented as original 3 3
20 How? Reliability Reliability Integrating with mission critical applications As important as system features –Reliability – minimal downtime for application –Scalability – cost and effort to accommodate usage growth –Performance – experience and latency for end-users Look for solution that can grow with application 5 5
21 How? Application Design Application Design Determine optimal application architecture What goes on the server? –Database, directory, high bandwidth, cache, etc. What goes on the clients/peers? –User data, distributed traffic, remote/untethered operation Partition code to run at respective places Create client-side code to manage peer functions 6 6 Cache Server Application Client Application Directory Server DBMS
22 How? Easy integration Easy integration Decide on user interface –Web browser, standalone application or integrated into existing application Minimal change required by end-user –Don t make user learn a new application Seek simple integration with existing application Support for standard protocols and development models –SOAP/XML, Java, http, URLs Consider Microsoft.NET and Sun ONE, UDDI, other Web services approaches 7 7
23 How? Natural Layers Not everyone builds the entire "stack" Make vs. buy decision for each layer O/S Addressability, Caching, Security Search, DRM, Billing, Payments Workgroup CRM, etc. Photo Sharing Network Applications Stack Applications Services Infrastructure System O/S Web Server, Application Server Search, CND, Caching, ad serving PortalsASP Web Applications Stack
24 What? Why? How? Network Applications What? –New class of applications –Leverage all of the resources of the network –Improve applications and their delivery Why? –Better leverage of existing resources –Improved experience for user –More efficient cost structure How? –Examine 7 key issues –Make versus buy decisions
25 To turn your application into a Network Application, visit