Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Task 1:
- a)The Internet used to consist of only 4 Systems. It has since
- grown considerably, making the Client-Server model obsolete in
- many cases. This increase in end systems has lead to increasingly
- widespread adoption of distributed models of computing and
- communication. Also, it has made an extension of the IP Addressspace
- unavoidable. b)There are many different areas where new technology
- is needed.
- * Back in the day only big Mainframes had internet access. The
- internet was not as accessible to the general public making
- security a lesser priority. The increase in personal computing and
- personal internet access entails a whole new array of demands,
- such as e.g. privacy, security, reliability, scalability. *
- Many (mobile) devices have Internet connectivity nowadays. Hence,
- wireless technology and corresponding protocols, and scalability
- solutions are necessary. This extends to endsystems as well
- as infrastructure. * Nowadays, the internet is often used for
- personal reasons, such as social networking etc as opposed to
- being a research or corporate network. * Data transmission has
- changed in several areas. For mobility reasons many devices use
- wireless technologies. Also cablebound protocols have changed
- significantly in the past, in respect to efficiency and a growing
- number of endsystems (users), see IPv6.
- c)
- The most common model for personal internet access is ADSL
- by far. This skews the traffic on personal endsystems towards
- downstream heavy applications. For a lot of applications, this
- makes sense, as the user generally wants to pull in information
- from some remote source, e.g. a webserver or "the cloud". But
- especially in recent years, upstream has become more and more
- relevant for users, since the focus is often placed on user
- contributed data. This comes in many forms, like for example
- uploading a photo album to a social network or doing live
- (potentially mobile) audio (and often even video) streaming.
- With increasing use of such features, capacities of centralized
- ressources, e.g. webservers, are used up very quickly, which is
- why many services have started incorporating P2P technology. Many
- video streaming services use the upstream bandwidth of the users
- (peers) to broadcast their data in order to lessen ressource
- requirements on their backends. This is also true for intrisically
- person-to-person based services, like instant messengers, voip
- calls etc. Modern P2P filesharing networks are pretty much the
- epitome of this development, trading in distributed usage of
- ressources for increased robustness of the network (eliminating
- central servers as a single point of failure).
- Task 2:
- a) * Scalability:
- Modern internet applications generally have a lot of users and
- high interaction between these users. This is very ressource
- intensive, especially in a centralized model. This problem
- is not always remedied by throwing money at it (i.e. buy
- more servers etc), which often makes a deeper analysis
- necessary. New protocols, more efficient procedures and
- potentially P2P technology are often needed.
- * Security:
- The internet being very much open to the public introduces
- a whole new category of security considerations. Protocols
- have to be designed robustly, and implemented in a secure
- fashion. Authentication technologies are indispensable. And
- a whole new class of attacks, like e.g. DDoS attacks, have
- to be dealt with properly. The increasing proliferation of
- "social networking" aspects in internet applications also
- calls into question issues of privacy.
- * Reliability:
- The applications should always be accessible and should act
- as expected. This means that single points of failure should
- be eliminated or at least minimized. Also, the application
- should be built in a robust fashion in order to be able to
- withstand unexpected failures of components without degrading
- the user experience.
- b) Obviously, Scalability and Reliability are closely
- linked. Increasing realiability, for example by introducing
- redundancies, makes scalability harder, because the redundancy
- solutions have to scale as well. Also, redundancies can pose a
- security risk, because the failure mitigation procedures could
- pontentially be exploited. Thus a more reliable system is often harder
- to make secure. Security and Scalability are also somewhat related,
- as security constraints forbid certain designs that would make an
- application more scalable, for example possibly sensitive user data
- can not necessarily be stored in a distributed system because of
- privacy issues. Also, security technologies like for example SSL/TLS
- cause additional overhead, thus further complicating the challenge
- of scalability.
- Furthermore, none of these challenges are necessarily more
- important than any other, because failing to overcome any one
- of them will cause the entire application to fail. But as they
- all influence each other, there cannot be a perfect solution. A
- compromise has to be made.
- c) The problems of security and scalability are very important
- ones. If the users can't be/aren't confident in the security and
- most of all the privacy of their data, they will not be as willing
- to submit it, potentially causing loss of income. Also, the service
- must be scalable, because the goal is to get as many users as possible
- using the services as much as possible. Thus, if the application is
- not scalable, its success will be its failure. Long waiting times,
- maintenance downtimes etc all degrade the user experience and are
- thus detrimental to my income.
- Task #3:
- a) Even though most end user nowdays have flat rates, traffic for
- service providers is expensive. By letting the consumers redristrube
- the content the service can save a significant amount of money. i.e
- every megabyte one peer uploads to another is a megabyte the service
- provider doesn't have to pay for. Similar things can be said
- about cpu time for cpu-heavy P2P systems. These advantages transfer
- to the end user of course, by virtue of a pontentially faster/more
- responsive service (especially in data distribution applications).
- b) Distributing data is one of the best use cases for P2P-systems. Useing
- BitTorrent for example to disribute "World of Warcraft" patches
- or Linux Distributions has almost no downsides for consumers
- and only upsides (minimizing traffic costs) for the provider.
- The Client/Server model thought still has its upsides when it
- comes to latency or cases where one needs absolute control and 100%
- consistancy in the data.
- c) Managing the balance of a skype account
- in the cloud might not be a good idea as users could easily change
- it - or if not for themself at least for other users. Storing the
- username in the cloud would be rather complicatied because there
- has to be a way to lookup and exchange public keys. (And one don't
- want to endeavor a second communcition tool (like email) to exchange
- that information) However the most important reasons for Skype to
- rely on central servers is to keep control over the system. (This,
- and some weird obfuscation of the protocol.)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement