MJay

분산특론 본문

Cloud Computing

분산특론

MJSon 2017. 10. 18. 13:09
Edit

분산특론

Chapter 1

Characterization of Distributed Systems

Objectives

To be aware of the characteristics of concurrency, independent failure of components and lack of a global
clock, which necessarily arise in a distributed system consisting of components that coordinate their actions only by passing messages.

To gain a good understanding of the challenges related to heterogeneity, openness, security, scalability, failure handling, concurrency and transparency as they apply to distributed systems.

Points to emphasize

A distributed system is defined as one in which components at networked computers communicate and coordinate their actions only by passing messages. This definition allows for concurrent execution of programs, but prevents the possibility of a global clock and means that components can fail independently of one another.

The Internet is a very large distributed system that allows users throughout the world to make use of its services.

An intranet is a part of the Internet that is separately administered and uses a firewall to enforce
its own local security policies. Users in an intranet share data by means of file services.

Distributed systems techniques are equally applicable to mobile computing (involving laptops, PDAs and wearable computing devices) as well as ubiquitous computing (involving the small computers embedded in appliances).

Shared resources are managed by server processes, which provide client processes with access to those
resources via a well-defined set of operations. In a distributed system written in an object-oriented language, resources may be encapsulated as objects whose methods are invoked by client objects.

Scalability of services is a key aspect. The Web illustrates some of the approaches to addressing it (e.g.
the use of hierarchic naming, partitioned data, caching and replication).

Transparency hides the separation of components. Eight forms of transparency are defined on page 23.


What is a distrubted system

A distributed system is a collection of independent computers that appear to users as a single computer.

A system in which hardware and software components located on networked computers communicate and coordinate their actions only by passing messages.

Implication

Concurrency
No global clock
Independent failure of components


Ubiquitous computing

Ubiquitous computing
• The harnessing of many small, cheap computational devices that are present in user’s physical environments, including the home, office and elsewhere


Cloud Computing

Cloud computing
• A cloud is defined as a set of Internet-based application, storage and computing services sufficient to support most users’ needs.
• Clouds are generally implemented on cluster computers.


Heterogeneity

Many different sorts of network

Different representation of data types on different sorts of hardware

Different programming languages use different representations for characters and data structures.

이종성이라는게 여러 의미를 가질수 있습니다. ISA, 계산 능력, 전력 소모, 메모리 계층 구조, 마이크로아키텍처


Middleware

A software layer that provides a programming abstraction as well as masking the heterogeneity of the underlying networks, hardware, operating systems and programming languages.
• Solve the problems of heterogeneity

  • Most middleware is implemented over the Internet protocols.

Mobile Code

Code that can be sent from one computer to another and runt at the destination


Openness

The characteristic that determines whether the system can be extended and re-implemented in various ways.

Open systems are characterized by the fact that their key interfaces are published.

Open distributed systems are based on the provision of a uniform communication mechanism and published interfaces for access to shared resources.

Open distributed systems can be constructed from heterogeneous hardware and software.


Scalability

A system is scalable if it will remain effective when there is a significant increase in the number of resources and the number of users.


Failure handling

Failures in a distributed system are partial.

  • Detecting failures
  • Masking failures
  • Tolerating failures
  • Recovery from failures
  • Redundancy - 여분, 용장: 그것이 없어도 전체 정보의 본질적인 뜻이 변하지 않는 정보.

Concurrency(동시성)

Several clients will attempt to access a shared resource at the same time.
For high throughput, services and applications generally allow multiple client requests to be processed concurrently.
The consistency of data must be ensured in a concurrent environment. -> synchronization is needed


Transparency

The concealment of the separation of components in a distributed system, so that the system is perceived as a whole rather than as a collection of independent components.

Eight forms of transparency
Access transparency: enables local and remote resources to be accessed using identical operations.
Location transparency: enables resources to be accessed without knowledge of their location.
• Concurrency transparency: enables several processes to operate concurrently using shared resources without interference between them.
• Replication transparency: enables multiple instances of resources to be used to increase reliability and performance without knowledge of the replicas by users or application programmers.
• Failure transparency: enables the concealment of faults, allowing users and application programs to complete their tasks despite the failure of hardware or software components.
• Mobility transparency: allows the movement of resources and clients within a system without affecting the operation of users or programs.
• Performance transparency: allows the system to be reconfigured to improve performance as loads vary.
• Scaling transparency: allows the system and applications to expand in scale without change to the system structure or the application algorithms.

PS FM CR AL

The two most important transparencies
Access and location transparency


Quality of Service

Quality of service (QoS)

The main nonfunctional properties of systems that affect the QoS
• Reliability -> 확실하게 서비스가 제공되는지
• Security
• Performance -> 성능
• Adaptability -> 아무데서나 적용되는지 핸드폰, 노트북

ASAP ROCKY


Chapter 2 - Architectural Models

Physical Model

  • 정의

컴퓨터와 상호 연결 네트워크 측면에서 시스템의 하드웨어 구성을 표현하는 관점

Capture hardware composition in terms of computers and their interconnecting networks

  • Phsycial Model에서 바라보는 분산 시스템

네트워크로 연결된 컴퓨터에 있는 하드웨어 또는 소프트웨어 구성 요소가 메시지 전달만으로 통신하고 조정하는 것

Architectural models

-정의

An architectural model of a distributed system simplifies and abstracts the functions of the individual components of a distributed system.

Architectural elements
  1. Communication entities
    -System-oritned entities -> Nodes, Process
    -Problem-oriented entities -> Objects , Components , Web services
  2. Communication paradigms - 분산시스템 안에서 어떻게 통신하는지
    1. Interprocess Communication -> Message Passing , Sockets , Multicast
    2. Remote Invocation(원격 호출 ) -> Request-reply, RPC, RMI
    3. Indirect Communication ->발신자는 누구에게 송신하지는 알 필요가 없어지고, 송수신자가 같은 시간에 존재할 필요도 없게 되었습니다. Group communication, Publish-subscribe, Message Queues, Tuple spaces, DSM
  3. Roles and reposnbilities
    Peers are both suppliers and consumers of resources, in contrast to the traditional client-server model in which the consumption and supply of resources is divided.
    • Client-Server
    • Peer to peer
  4. Placement
    개체 또는 서비스와 같은 엔티티가 임의의 복잡서을 가진 네트워크로 상호 연결된 많은 수의 컴퓨터로 구성되는 기본 물리적 분산 인프라에 어떻게 매핑할건지입니다
    • Mapping of services to multiple servers - 서비스는 클라이언트 프로세스에 서비스를 제공하기 위해 필요에 따라 상호작용하는 개별 호스트 컴퓨터의 여러 서버 프로세스로 구현될 수 있음
    • Caching - 캐시는 오브젝트 자체보다는 하나의 클라이언트 또는 특정 클라이언트 세트에 가까운 최근 사용된 데이터오브젝트의 store이다.
    • Mobile Code - 호스트에서 클라이언트에서 다른컴퓨터로 전송되어 다른 사람 대신 실행되는 코드
      네트워크 통신과 관련된 대역폭의 지연이나 가변성을 겪지 않기에 좋은 대화형 응답을 제공할 수 있다는 것
    • Mobile agents - 모바일 에이전트는 코드 및 데이터를 모두 포함하는 실행중인 프로그램
Architectural patterns

아키텍쳐 패턴은 위에서 논의된 보다 간단한 아키텍쳐 요소를 기반으로 하며 주어진 상황에서 잘 작동하는 것으로 표시된 복합 반복구조를 제공합니다.

1 Layering
- 복잡한 시스템은 여러 계층으로 분할되어 주어진 계층. 하나의 계층은 그 아래 계층에서 제공하는 서비스를 사용

2 Tiered Architecture
- 보완합니다 layering은 수직구성을 추상화 계층으로 처리하지만 tiering은 주어진 계층의 기능을 구성하고 이 기능을 적절한 서버에 배치하고 보조 고려사항으로 물리적 노드에 배치까지 하는 기술

3 Thin clients
- APP를 실행하거나 원격 컴퓨터에서 서비스에 엑세스 하는동안 사용자에게 로컬인 창기반 사용자 인터페이스를 지원하는 SW계층
- 자신의 계산 역할을 충족시키기 위해 다른 일부 컴퓨터(서버)에 크게 의존하는 컴퓨터

Fundamental Model

formal description of the properties that are common in all of the architectural models.

3 aspects of DS

  • Interaction
  • Failure
  • Security

FIS

Interaction Model


• Computation occurs within processes.
• Processes interact by passing messages.

• 2 results of interaction

  • Communication: information flow
  • Coordination: synchronization and ordering of activities

DSs are composed of multiple processes.

Performance characteristics of communication over a network

  • Latency
  • Bandwidth

• Latency

  • The delay between the start of a message’s transmission from one
    process and the beginning of its receipt by another

• Bandwidth

  • the total amount of information transmittable in a given time
  • Communication channels using the same network, have to share the
    available bandwidth.

• Jitter

  • the variation in the time taken to deliver a series of messages
  • Jitter is very relevant to multimedia data.
  • 2) 예를 들면 IP 통신에서는 패킷의 도달 시간이 지연이 일정한 1 milli sec이어야하는데 이런 지연값이 다양하게 달라질 때,
    3) 이것은 packet delay variation 이라고 하며 이것을 Jitter 라고 표현할 수 있다.

Clock drift rate: the rate at which a computer clock differs from a perfect reference clock


• In DS, it is hard to set time limits on the time taken for process execution, message delivery or clock drift.
• 2 opposing extreme positions

  • Synchronous DS: strong assumption of time, hard to achieve
  • Asynchronous DS: No assumptions, NO bounds

Failure Model

The correct operation of DS is threatened whenever a fault occurs in either the computers or the network.
• Failure model defines and classifies the faults.

• Hadzilacos and Toueg [1994] provide a taxonomy

  • Omission failures - : cases when a process or communication channel fails to perform actions that it is supposed to do

    • 2 types
      • Process omission failures
      • Communication omission failures
  • Arbitrary failures

    • It arbitrarily omits intended processing steps or takes unintended
      processing steps.
  • Timing failures

    • In synchronous DSs, timing failures are applicable where time limits are set.

Security Model

• The modular nature of DS and their openness exposes them to attacks.
• Security model defines and classifies the attacks.

• Main techniques of secure systems

  • Cryptography and shared secrets
  • Authentication
  • Secure channels -> Encryption and authentication are used to build secure channels.
    A secure channel is a communication channel connecting a pair of
    processes. , VPNs, SSL


• Denial of service

  • This is a form of attack in which the enemy interferes with the activities of
    authorized users by making excessive and pointless invocations on services or message transmissions in a network, resulting in overloading of physical resources. (delaying or preventing actions)

• Mobile code

  • Mobile code raises new and interesting security problems for any process
    that receives and executes program code from elsewhere, such as the
    email attachment. (refer to 1.5.3)
  • Trojan horse role
%23%20%uBD84%uC0B0%uD2B9%uB860%0A@%28Marxico%29%5Btistory%5D%0A%0A%0A%23%20Chapter%201%0A%0A%23%23Characterization%20of%20Distributed%20Systems%0A%23%23%23Objectives%0A%0ATo%20be%20aware%20of%20the%20characteristics%20of%20**concurrency**%2C%20**independent%20failure%20of%20components**%20and%20lack%20of%20a%20global%0A**clock**%2C%20which%20necessarily%20arise%20in%20a%20distributed%20system%20consisting%20of%20components%20that%20coordinate%20their%20actions%20only%20by%20**passing%20messages**.%0A%0ATo%20gain%20a%20good%20understanding%20of%20the%20challenges%20related%20to%20**heterogeneity**%2C%20**openness**%2C%20**security**%2C%20**scalability**%2C%20**failure%20handling**%2C%20**concurrency**%20and%20**transparency**%20as%20they%20apply%20to%20distributed%20systems.%0A%0APoints%20to%20emphasize%0A%0AA%20distributed%20system%20is%20defined%20as%20one%20in%20which%20components%20at%20networked%20computers%20communicate%20and%20coordinate%20their%20actions%20only%20by%20**passing%20messages**.%20This%20definition%20allows%20for%20concurrent%20execution%20of%20programs%2C%20but%20**prevents%20the%20possibility%20of%20a%20global%20clock**%20and%20means%20that%20components%20can%20fail%20independently%20of%20one%20another.%0A%0AThe%20**Internet**%20is%20a%20very%20large%20distributed%20system%20that%20allows%20users%20throughout%20the%20world%20to%20make%20use%20of%20its%20services.%0A%0AAn%20**intranet**%20is%20a%20part%20of%20the%20Internet%20that%20is%20separately%20administered%20and%20uses%20a%20firewall%20to%20enforce%0Aits%20own%20local%20security%20policies.%20Users%20in%20an%20intranet%20share%20data%20by%20means%20of%20file%20services.%0A%0ADistributed%20systems%20techniques%20are%20equally%20applicable%20to%20mobile%20computing%20%28involving%20laptops%2C%20PDAs%20and%20wearable%20computing%20devices%29%20as%20well%20as%20**ubiquitous%20computing**%20%28involving%20the%20small%20computers%20embedded%20in%20appliances%29.%0A%0AShared%20resources%20are%20managed%20by%20server%20processes%2C%20which%20provide%20client%20processes%20with%20access%20to%20those%0Aresources%20via%20a%20well-defined%20set%20of%20operations.%20In%20a%20distributed%20system%20written%20in%20an%20object-oriented%20language%2C%20**resources%20may%20be%20encapsulated**%20as%20objects%20whose%20methods%20are%20invoked%20by%20client%20objects.%0A%0A**Scalability**%20of%20services%20is%20a%20key%20aspect.%20The%20Web%20illustrates%20some%20of%20the%20approaches%20to%20addressing%20it%20%28e.g.%0Athe%20use%20of%20hierarchic%20naming%2C%20partitioned%20data%2C%20caching%20and%20replication%29.%0A%0A**Transparency**%20hides%20the%20separation%20of%20components.%20Eight%20forms%20of%20transparency%20are%20defined%20on%20page%2023.%0A%0A%0A----------%0A%0A%23%23%23%23%20What%20is%20a%20distrubted%20system%0A%0AA%20distributed%20system%20is%20a%20collection%20of%20independent%20computers%20that%20appear%20to%20users%20as%20a%20single%20computer.%0A%0A%0AA%20system%20in%20which%20hardware%20and%20software%20components%20located%20on%20networked%20computers%20communicate%20and%20coordinate%20their%20actions%20only%20by%20passing%20messages.%0A%0A%3E%23%23%23%23%23%20Implication%0AConcurrency%0ANo%20global%20clock%0AIndependent%20failure%20of%20components%0A%0A%0A----------%0A%0A%23%23%23%23%20Ubiquitous%20computing%0A%0AUbiquitous%20computing%0A%u2022%20The%20harnessing%20of%20many%20small%2C%20cheap%20computational%20devices%20that%20are%20present%20in%20user%u2019s%20physical%20environments%2C%20including%20the%20home%2C%20office%20and%20elsewhere%0A%0A%0A----------%0A%0A%23%23%23%23%20Cloud%20Computing%0A%0ACloud%20computing%0A%u2022%20A%20cloud%20is%20defined%20as%20a%20set%20of%20Internet-based%20application%2C%20storage%20and%20computing%20services%20sufficient%20to%20support%20most%20users%u2019%20needs.%0A%u2022%20Clouds%20are%20generally%20implemented%20on%20cluster%20computers.%0A%0A%21%5BAlt%20text%5D%28./1507274277609.png%29%0A%0A----------%0A%0A%23%23%23%23%20Heterogeneity%0A%0AMany%20different%20sorts%20of%20network%0A%0ADifferent%20representation%20of%20data%20types%20on%20different%20sorts%20of%20hardware%0A%0ADifferent%20programming%20languages%20use%20different%20representations%20for%20characters%20and%20data%20structures.%0A%0A%20%uC774%uC885%uC131%uC774%uB77C%uB294%uAC8C%20%uC5EC%uB7EC%20%uC758%uBBF8%uB97C%20%uAC00%uC9C8%uC218%20%uC788%uC2B5%uB2C8%uB2E4.%20ISA%2C%20%uACC4%uC0B0%20%uB2A5%uB825%2C%20%uC804%uB825%20%uC18C%uBAA8%2C%20%uBA54%uBAA8%uB9AC%20%uACC4%uCE35%20%uAD6C%uC870%2C%20%uB9C8%uC774%uD06C%uB85C%uC544%uD0A4%uD14D%uCC98%0A%20%0A----------%0A%0A%23%23%23%23%23%23%20Middleware%0A%0AA%20software%20layer%20that%20provides%20a%20programming%20abstraction%20as%20well%20as%20masking%20the%20heterogeneity%20of%20the%20underlying%20networks%2C%20hardware%2C%20operating%20systems%20and%20programming%20languages.%0A%u2022%20Solve%20the%20problems%20of%20heterogeneity%0A*%20Most%20middleware%20is%20implemented%20over%20the%20Internet%20protocols.%0A%0A%23%23%23%23%20Mobile%20Code%0A%0ACode%20that%20can%20be%20sent%20from%20one%20computer%20to%20another%20and%20runt%20at%20the%20destination%0A%0A----------%0A%0A%23%23%23%23%20Openness%0A%0AThe%20characteristic%20that%20determines%20whether%20the%20system%20can%20be%20**extended%20and%20re-implemented**%20in%20various%20ways.%0A%0AOpen%20systems%20are%20characterized%20by%20the%20fact%20that%20their%20key%20interfaces%20are%20published.%0A%0AOpen%20distributed%20systems%20are%20based%20on%20the%20provision%20of%20a%20**uniform%20communication%20mechanism%20and%20published%20interfaces%20for%20access%20to%20shared%20resources.**%0A%0AOpen%20distributed%20systems%20can%20be%20constructed%20from%20heterogeneous%20hardware%20and%20software.%0A%0A%0A----------%0A%0A%23%23%23%23%20Scalability%0A%0AA%20system%20is%20scalable%20if%20it%20will%20remain%20effective%20when%20there%20is%20a%20significant%20increase%20in%20the%20number%20of%20resources%20and%20the%20number%20of%20users.%0A%0A%0A----------%0A%0A%23%23%23%23%20Failure%20handling%0A%0AFailures%20in%20a%20distributed%20system%20are%20partial.%0A%0A*%20%20**D**etecting%20failures%0A*%20%20**M**asking%20failures%0A*%20%20**T**olerating%20failures%0A*%20%20**R**ecovery%20from%20failures%20%0A*%20%20**R**edundancy%20-%20%uC5EC%uBD84%2C%20%uC6A9%uC7A5%3A%20%uADF8%uAC83%uC774%20%uC5C6%uC5B4%uB3C4%20%uC804%uCCB4%20%uC815%uBCF4%uC758%20%uBCF8%uC9C8%uC801%uC778%20%uB73B%uC774%20%uBCC0%uD558%uC9C0%20%uC54A%uB294%20%uC815%uBCF4.%0A%0A%0A----------%0A%0A%23%23%23%23%20Concurrency%28%uB3D9%uC2DC%uC131%29%0A**Several%20clients%20will%20attempt%20to%20access%20a%20shared%20resource%20at%20the%20same%20time.**%0AFor%20high%20throughput%2C%20services%20and%20applications%20generally%20allow%20multiple%20client%20requests%20to%20be%20processed%20concurrently.%0A**The%20consistency%20of%20data%20must%20be%20ensured%20in%20a%20concurrent%20environment.**%20-%3E%20**synchronization**%20is%20needed%0A%0A%0A----------%0A%0A%23%23%23%23%20Transparency%0A%0AThe%20**concealment%20of%20the%20separation%20of%20components%20in%20a%20distributed%20system**%2C%20so%20that%20the%20system%20is%20perceived%20as%20a%20whole%20rather%20than%20as%20a%20collection%20of%20independent%20components.%0A%0A%3E%20Eight%20forms%20of%20transparency%0A%u2022%20**Access%20transparency**%3A%20enables%20local%20and%20remote%20resources%20to%20be%20accessed%20using%20**identical%20operations.**%0A%u2022%20**Location%20transparency**%3A%20enables%20resources%20to%20be%20accessed%20without%20knowledge%20of%20their%20location.%0A%u2022%20Concurrency%20transparency%3A%20enables%20several%20processes%20to%20operate%20concurrently%20using%20shared%20resources%20without%20interference%20between%20them.%0A%u2022%20Replication%20transparency%3A%20enables%20multiple%20instances%20of%20resources%20to%20be%20used%20to%20increase%20reliability%20and%20performance%20without%20knowledge%20of%20the%20replicas%20by%20users%20or%20application%20programmers.%0A%u2022%20Failure%20transparency%3A%20enables%20the%20concealment%20of%20faults%2C%20allowing%20users%20and%20application%20programs%20to%20complete%20their%20tasks%20despite%20the%20failure%20of%20hardware%20or%20software%20components.%0A%u2022%20Mobility%20transparency%3A%20allows%20the%20movement%20of%20resources%20and%20clients%20within%20a%20system%20without%20affecting%20the%20operation%20of%20users%20or%20programs.%0A%u2022%20Performance%20transparency%3A%20allows%20the%20system%20to%20be%20reconfigured%20to%20improve%20performance%20as%20loads%20vary.%0A%u2022%20Scaling%20transparency%3A%20allows%20the%20system%20and%20applications%20to%20expand%20in%20scale%20without%20change%20to%20the%20system%20structure%20or%20the%20application%20algorithms.%0A%0A%3E%20%20PS%20FM%20CR%20AL%0A%0AThe%20two%20most%20important%20transparencies%20%0A%u2022%20**Access%20and%20location%20transparency**%0A%0A----------%0A%0A%23%23%23%23%20Quality%20of%20Service%0A%0AQuality%20of%20service%20%28QoS%29%0A%0AThe%20main%20nonfunctional%20**properties**%20of%20systems%20that%20affect%20the%20QoS%0A%20%u2022%20Reliability%20%20-%3E%20%uD655%uC2E4%uD558%uAC8C%20%uC11C%uBE44%uC2A4%uAC00%20%uC81C%uACF5%uB418%uB294%uC9C0%0A%20%u2022%20Security%0A%u2022%20Performance%20-%3E%20%uC131%uB2A5%0A%u2022%20Adaptability%20-%3E%20%uC544%uBB34%uB370%uC11C%uB098%20%uC801%uC6A9%uB418%uB294%uC9C0%20%uD578%uB4DC%uD3F0%2C%20%uB178%uD2B8%uBD81%20%0A%0A%0A**ASAP%20ROCKY**%0A%0A%0A----------%0A%0A%23Chapter%202%20-%20Architectural%20Models%0A%0A%23%23%23%23%20%20Physical%20Model%0A%0A-%20%uC815%uC758%0A%3E%uCEF4%uD4E8%uD130%uC640%20%uC0C1%uD638%20%uC5F0%uACB0%20%uB124%uD2B8%uC6CC%uD06C%20%uCE21%uBA74%uC5D0%uC11C%20%uC2DC%uC2A4%uD15C%uC758%20%uD558%uB4DC%uC6E8%uC5B4%20%uAD6C%uC131%uC744%20%uD45C%uD604%uD558%uB294%20%uAD00%uC810%0A%0A%3ECapture%20hardware%20composition%20in%20terms%20of%20computers%20and%20their%20interconnecting%20networks%0A%0A-%20Phsycial%20Model%uC5D0%uC11C%20%uBC14%uB77C%uBCF4%uB294%20%uBD84%uC0B0%20%uC2DC%uC2A4%uD15C%0A%0A%3E%uB124%uD2B8%uC6CC%uD06C%uB85C%20%uC5F0%uACB0%uB41C%20%uCEF4%uD4E8%uD130%uC5D0%20%uC788%uB294%20%uD558%uB4DC%uC6E8%uC5B4%20%uB610%uB294%20%uC18C%uD504%uD2B8%uC6E8%uC5B4%20%uAD6C%uC131%20%uC694%uC18C%uAC00%20%uBA54%uC2DC%uC9C0%20%uC804%uB2EC%uB9CC%uC73C%uB85C%20%uD1B5%uC2E0%uD558%uACE0%20%uC870%uC815%uD558%uB294%20%uAC83%0A%0A%0A%23%23%23%23%20Architectural%20models%0A%0A-%uC815%uC758%0A%3EAn%20architectural%20model%20of%20a%20distributed%20system%20simplifies%20and%20abstracts%20the%20functions%20of%20the%20individual%20components%20of%20a%20distributed%20system.%0A%0A%23%23%23%23%23Architectural%20%20elements%0A%0A%3E1.%20Communication%20entities%0A%09-System-oritned%20entities%20-%3E%20Nodes%2C%20Process%0A%09-Problem-oriented%20entities%20-%3E%20Objects%20%2C%20Components%20%2C%20Web%20services%0A%3E2.%20Communication%20paradigms%20-%20%uBD84%uC0B0%uC2DC%uC2A4%uD15C%20%uC548%uC5D0%uC11C%20%uC5B4%uB5BB%uAC8C%20%uD1B5%uC2E0%uD558%uB294%uC9C0%0A%091.%20Interprocess%20Communication%20-%3E%20Message%20Passing%20%2C%20Sockets%20%20%2C%20Multicast%0A%092.%20Remote%20Invocation%28%uC6D0%uACA9%20%uD638%uCD9C%20%29%20-%3E%20Request-reply%2C%20RPC%2C%20RMI%0A%093.%20Indirect%20Communication%20-%3E%uBC1C%uC2E0%uC790%uB294%20%uB204%uAD6C%uC5D0%uAC8C%20%uC1A1%uC2E0%uD558%uC9C0%uB294%20%uC54C%20%uD544%uC694%uAC00%20%uC5C6%uC5B4%uC9C0%uACE0%2C%20%uC1A1%uC218%uC2E0%uC790%uAC00%20%uAC19%uC740%20%uC2DC%uAC04%uC5D0%20%uC874%uC7AC%uD560%20%uD544%uC694%uB3C4%20%uC5C6%uAC8C%20%uB418%uC5C8%uC2B5%uB2C8%uB2E4.%20%20Group%20communication%2C%20Publish-subscribe%2C%20Message%20Queues%2C%20Tuple%20spaces%2C%20DSM%0A%3E3.%20Roles%20and%20reposnbilities%0APeers%20are%20both%20suppliers%20and%20consumers%20of%20resources%2C%20in%20contrast%20to%20the%20traditional%20client-server%20model%20in%20which%20the%20consumption%20and%20supply%20of%20resources%20is%20divided.%0A%09-%20Client-Server%20%0A%09-%20Peer%20to%20peer%0A%3E4.%20Placement%0A%uAC1C%uCCB4%20%uB610%uB294%20%uC11C%uBE44%uC2A4%uC640%20%uAC19%uC740%20%uC5D4%uD2F0%uD2F0%uAC00%20%uC784%uC758%uC758%20%uBCF5%uC7A1%uC11C%uC744%20%uAC00%uC9C4%20%uB124%uD2B8%uC6CC%uD06C%uB85C%20%uC0C1%uD638%20%uC5F0%uACB0%uB41C%20%uB9CE%uC740%20%uC218%uC758%20%uCEF4%uD4E8%uD130%uB85C%20%uAD6C%uC131%uB418%uB294%20%uAE30%uBCF8%20%uBB3C%uB9AC%uC801%20%uBD84%uC0B0%20%uC778%uD504%uB77C%uC5D0%20%uC5B4%uB5BB%uAC8C%20%uB9E4%uD551%uD560%uAC74%uC9C0%uC785%uB2C8%uB2E4%0A%09-%20Mapping%20of%20services%20to%20multiple%20servers%20-%20%uC11C%uBE44%uC2A4%uB294%20%uD074%uB77C%uC774%uC5B8%uD2B8%20%uD504%uB85C%uC138%uC2A4%uC5D0%20%uC11C%uBE44%uC2A4%uB97C%20%uC81C%uACF5%uD558%uAE30%20%uC704%uD574%20%uD544%uC694%uC5D0%20%uB530%uB77C%20%uC0C1%uD638%uC791%uC6A9%uD558%uB294%20%uAC1C%uBCC4%20%uD638%uC2A4%uD2B8%20%uCEF4%uD4E8%uD130%uC758%20%uC5EC%uB7EC%20%uC11C%uBC84%20%uD504%uB85C%uC138%uC2A4%uB85C%20%uAD6C%uD604%uB420%20%uC218%20%uC788%uC74C%0A%09-%20Caching%20-%20%uCE90%uC2DC%uB294%20%uC624%uBE0C%uC81D%uD2B8%20%uC790%uCCB4%uBCF4%uB2E4%uB294%20%uD558%uB098%uC758%20%uD074%uB77C%uC774%uC5B8%uD2B8%20%uB610%uB294%20%uD2B9%uC815%20%uD074%uB77C%uC774%uC5B8%uD2B8%20%uC138%uD2B8%uC5D0%20%uAC00%uAE4C%uC6B4%20%uCD5C%uADFC%20%uC0AC%uC6A9%uB41C%20%uB370%uC774%uD130%uC624%uBE0C%uC81D%uD2B8%uC758%20store%uC774%uB2E4.%20%0A%09-%20Mobile%20Code%20-%20%uD638%uC2A4%uD2B8%uC5D0%uC11C%20%uD074%uB77C%uC774%uC5B8%uD2B8%uC5D0%uC11C%20%20%uB2E4%uB978%uCEF4%uD4E8%uD130%uB85C%20%uC804%uC1A1%uB418%uC5B4%20%20%uB2E4%uB978%20%uC0AC%uB78C%20%uB300%uC2E0%20%uC2E4%uD589%uB418%uB294%20%uCF54%uB4DC%0A%09%uB124%uD2B8%uC6CC%uD06C%20%uD1B5%uC2E0%uACFC%20%uAD00%uB828%uB41C%20%uB300%uC5ED%uD3ED%uC758%20%uC9C0%uC5F0%uC774%uB098%20%uAC00%uBCC0%uC131%uC744%20%uACAA%uC9C0%20%uC54A%uAE30%uC5D0%20%uC88B%uC740%20%uB300%uD654%uD615%20%uC751%uB2F5%uC744%20%uC81C%uACF5%uD560%20%uC218%20%uC788%uB2E4%uB294%20%uAC83%0A%09-%20Mobile%20agents%20-%20%uBAA8%uBC14%uC77C%20%uC5D0%uC774%uC804%uD2B8%uB294%20%uCF54%uB4DC%20%uBC0F%20%uB370%uC774%uD130%uB97C%20%uBAA8%uB450%20%uD3EC%uD568%uD558%uB294%20%uC2E4%uD589%uC911%uC778%20%uD504%uB85C%uADF8%uB7A8%0A%09%09%0A%23%23%23%23%23%20Architectural%20patterns%0A%0A%3E%uC544%uD0A4%uD14D%uCCD0%20%uD328%uD134%uC740%20%uC704%uC5D0%uC11C%20%uB17C%uC758%uB41C%20%uBCF4%uB2E4%20%uAC04%uB2E8%uD55C%20%uC544%uD0A4%uD14D%uCCD0%20%uC694%uC18C%uB97C%20%uAE30%uBC18%uC73C%uB85C%20%uD558%uBA70%20%uC8FC%uC5B4%uC9C4%20%uC0C1%uD669%uC5D0%uC11C%20%uC798%20%uC791%uB3D9%uD558%uB294%20%uAC83%uC73C%uB85C%20%uD45C%uC2DC%uB41C%20%uBCF5%uD569%20%uBC18%uBCF5%uAD6C%uC870%uB97C%20%uC81C%uACF5%uD569%uB2C8%uB2E4.%20%0A%0A%3E1%20Layering%0A%09-%20%20%uBCF5%uC7A1%uD55C%20%uC2DC%uC2A4%uD15C%uC740%20%uC5EC%uB7EC%20%uACC4%uCE35%uC73C%uB85C%20%uBD84%uD560%uB418%uC5B4%20%uC8FC%uC5B4%uC9C4%20%uACC4%uCE35.%20%uD558%uB098%uC758%20%uACC4%uCE35%uC740%20%uADF8%20%20%uC544%uB798%20%uACC4%uCE35%uC5D0%uC11C%20%uC81C%uACF5%uD558%uB294%20%uC11C%uBE44%uC2A4%uB97C%20%uC0AC%uC6A9%0A%21%5BAlt%20text%5D%28./1508034964245.png%29%0A%0A%3E2%20Tiered%20Architecture%0A%09-%20%uBCF4%uC644%uD569%uB2C8%uB2E4%20layering%uC740%20%uC218%uC9C1%uAD6C%uC131%uC744%20%uCD94%uC0C1%uD654%20%uACC4%uCE35%uC73C%uB85C%20%uCC98%uB9AC%uD558%uC9C0%uB9CC%20tiering%uC740%20%uC8FC%uC5B4%uC9C4%20%uACC4%uCE35%uC758%20%uAE30%uB2A5%uC744%20%uAD6C%uC131%uD558%uACE0%20%uC774%20%uAE30%uB2A5%uC744%20**%uC801%uC808%uD55C%20%uC11C%uBC84%uC5D0%20%uBC30%uCE58**%uD558%uACE0%20%uBCF4%uC870%20%uACE0%uB824%uC0AC%uD56D%uC73C%uB85C%20**%uBB3C%uB9AC%uC801%20%uB178%uB4DC%uC5D0%20%uBC30%uCE58**%uAE4C%uC9C0%20%uD558%uB294%20%uAE30%uC220%0A%21%5BAlt%20text%5D%28./1508035098473.png%29%0A%0A%3E3%20Thin%20clients%0A%09-%20APP%uB97C%20%uC2E4%uD589%uD558%uAC70%uB098%20%uC6D0%uACA9%20%uCEF4%uD4E8%uD130%uC5D0%uC11C%20%uC11C%uBE44%uC2A4%uC5D0%20%uC5D1%uC138%uC2A4%20%uD558%uB294%uB3D9%uC548%20%uC0AC%uC6A9%uC790%uC5D0%uAC8C%20**%uB85C%uCEEC%uC778%20%uCC3D%uAE30%uBC18%20%uC0AC%uC6A9%uC790%20%uC778%uD130%uD398%uC774%uC2A4%uB97C%20%uC9C0%uC6D0**%uD558%uB294%20SW%uACC4%uCE35%0A%09-%20%uC790%uC2E0%uC758%20%uACC4%uC0B0%20%uC5ED%uD560%uC744%20%uCDA9%uC871%uC2DC%uD0A4%uAE30%20%uC704%uD574%20%uB2E4%uB978%20%uC77C%uBD80%20%uCEF4%uD4E8%uD130%28%uC11C%uBC84%29%uC5D0%20%uD06C%uAC8C%20%uC758%uC874%uD558%uB294%20%uCEF4%uD4E8%uD130%0A%21%5BAlt%20text%5D%28./1508035144106.png%29%0A%0A%23%23%20Fundamental%20Model%0A%0Aformal%20description%20of%20the%20properties%20that%20are%20common%20in%20all%20of%20the%20architectural%20models.%0A%0A3%20aspects%20of%20DS%0A-%20Interaction%0A-%20Failure%0A-%20Security%0A%0A**FIS**%0A%0A%23%23%23%20Interaction%20Model%0A%0A%0A----------%0A%0A%0A%u2022%20Computation%20occurs%20within%20processes.%0A%u2022%20Processes%20interact%20by%20passing%20messages.%0A%0A%u2022%202%20results%20of%20interaction%0A-%20Communication%3A%20information%20flow%0A-%20Coordination%3A%20synchronization%20and%20ordering%20of%20activities%0A%0A%0A----------%0A%0A%0ADSs%20are%20composed%20of%20multiple%20processes.%20%0A%0APerformance%20characteristics%20of%20communication%20over%20a%20network%0A-%20Latency%0A-%20Bandwidth%0A%0A%u2022%20Latency%0A-%20The%20delay%20between%20the%20start%20of%20a%20message%u2019s%20transmission%20from%20one%0Aprocess%20and%20the%20beginning%20of%20its%20receipt%20by%20another%0A%0A%u2022%20Bandwidth%0A-%20the%20total%20amount%20of%20information%20transmittable%20in%20a%20given%20time%0A-%20Communication%20channels%20using%20the%20same%20network%2C%20have%20to%20share%20the%0Aavailable%20bandwidth.%0A%0A%u2022%20Jitter%0A-%20the%20variation%20in%20the%20time%20taken%20to%20deliver%20a%20series%20of%20messages%0A-%20Jitter%20is%20very%20relevant%20to%20multimedia%20data.%0A-%202%29%20%uC608%uB97C%20%uB4E4%uBA74%20IP%20%uD1B5%uC2E0%uC5D0%uC11C%uB294%20%uD328%uD0B7%uC758%20%uB3C4%uB2EC%20%uC2DC%uAC04%uC774%20%uC9C0%uC5F0%uC774%20%uC77C%uC815%uD55C%201%20milli%20sec%uC774%uC5B4%uC57C%uD558%uB294%uB370%20%uC774%uB7F0%20%uC9C0%uC5F0%uAC12%uC774%20%uB2E4%uC591%uD558%uAC8C%20%uB2EC%uB77C%uC9C8%20%uB54C%2C%0A3%29%20%uC774%uAC83%uC740%20packet%20delay%20variation%20%uC774%uB77C%uACE0%20%uD558%uBA70%20%uC774%uAC83%uC744%20Jitter%20%uB77C%uACE0%20%uD45C%uD604%uD560%20%uC218%20%uC788%uB2E4.%0A%0A----------%0A%0AClock%20drift%20rate%3A%20the%20rate%20at%20which%20a%20computer%20clock%20differs%20from%20a%20perfect%20reference%20clock%0A%0A%0A----------%0A%0A%0A%u2022%20In%20DS%2C%20it%20is%20hard%20to%20set%20time%20limits%20on%20the%20time%20taken%20for%20process%20execution%2C%20message%20delivery%20or%20clock%20drift.%0A%u2022%202%20opposing%20extreme%20positions%0A-%20Synchronous%20DS%3A%20strong%20assumption%20of%20time%2C%20hard%20to%20achieve%0A-%20Asynchronous%20DS%3A%20No%20assumptions%2C%20NO%20bounds%0A%0A%0A----------%0A%0A%0A%23%23%23%20Failure%20Model%0A%0AThe%20correct%20operation%20of%20DS%20is%20threatened%20whenever%20a%20fault%20occurs%20in%20either%20the%20computers%20or%20%20the%20network.%0A%u2022%20Failure%20model%20defines%20and%20classifies%20the%20faults.%0A%0A%u2022%20Hadzilacos%20and%20Toueg%20%5B1994%5D%20provide%20a%20taxonomy%0A-%20Omission%20failures%20-%20%3A%20cases%20when%20a%20process%20or%20communication%20channel%20fails%20to%20perform%20actions%20that%20it%20is%20supposed%20to%20do%0A%09-%202%20types%0A%09%09-%20Process%20omission%20failures%0A%09%09-%20Communication%20omission%20failures%0A%0A%0A%0A-%20Arbitrary%20failures%0A%09-%20It%20arbitrarily%20omits%20intended%20processing%20steps%20or%20takes%20unintended%0Aprocessing%20steps.%0A%0A-%20Timing%20failures%0A%09-%20In%20synchronous%20DSs%2C%20timing%20failures%20are%20applicable%20where%20time%20limits%20are%20set.%0A%0A%23%23%23%20Security%20Model%0A%0A%u2022%20The%20modular%20nature%20of%20DS%20and%20their%20openness%20exposes%20them%20to%20attacks.%0A%u2022%20Security%20model%20defines%20and%20classifies%20the%20attacks.%0A%0A%u2022%20Main%20techniques%20of%20secure%20systems%20%0A-%20Cryptography%20and%20shared%20secrets%0A-%20Authentication%0A-%20Secure%20channels%20-%3E%20Encryption%20and%20authentication%20are%20used%20to%20build%20secure%20channels.%0AA%20secure%20channel%20is%20a%20communication%20channel%20connecting%20a%20pair%20of%0Aprocesses.%20%2C%20VPNs%2C%20SSL%0A%0A%21%5BAlt%20text%5D%28./1508038705488.png%29%0A%0A%0A----------%0A%0A%0A%u2022%20Denial%20of%20service%0A-%20This%20is%20a%20form%20of%20attack%20in%20which%20the%20enemy%20interferes%20with%20the%20activities%20of%0Aauthorized%20users%20by%20making%20excessive%20and%20pointless%20invocations%20on%20services%20or%20message%20transmissions%20in%20a%20network%2C%20resulting%20in%20overloading%20of%20physical%20resources.%20%28delaying%20or%20preventing%20actions%29%0A%0A%0A%u2022%20Mobile%20code%0A-%20Mobile%20code%20raises%20new%20and%20interesting%20security%20problems%20for%20any%20process%0Athat%20receives%20and%20executes%20program%20code%20from%20elsewhere%2C%20such%20as%20the%0Aemail%20attachment.%20%28refer%20to%201.5.3%29%0A-%20Trojan%20horse%20role

'Cloud Computing' 카테고리의 다른 글

MKL용 AMI 만드는 법  (0) 2017.11.30
Matrix multiplication on GPU using CUDA with CUBLAS, CURAND and Thrust | Solarian Programmer 사본  (0) 2017.11.20
Spearmint  (0) 2017.09.12
더블 버퍼링  (0) 2017.08.29
행렬에서의 BFS,DFS  (0) 2017.07.26