SlideShare a Scribd company logo
Pattern Language for Service Discovery
자신이 원하는 정보를
어떻게 얻을 수 있을까 ?
1. 주변 지인에게 물어본다 .
2. 관련 광고를 통해 얻는다 .
3. 전문가에게 상담을 받는다 .
동적 네트워크 환경에서는
어떻게 정보를 얻을 수 있을까 ?
BackGround - Dynamic Network
- 동적 네트워크 안에 존재하는 노드는 들어오거나 떠날 수 있다 .
BackGround - Dynamic Network
- 동적 네트워크 안에 존재하는 노드는 들어오거나 떠날 수 있다 .
BackGround - Gnutella
- P2P 환경에서 클라이언트 간에 파일 교환을 위한 인터넷 서비스




            A   a.txt?
                         B
BackGround - Gnutella
- P2P 환경에서 클라이언트 간에 파일 교환을 위한 인터넷 서비스




            A   a.txt
                        B
BackGround - Napster
-   중앙 서버를 가진 P2P 환경에서 클라이언트가 요청한 정보에
    대해 매칭되는 노드와 연결시켜주는 인터넷 서비스


               B


          A   a.txt
BackGround - Napster
-   중앙 서버를 가진 P2P 환경에서 클라이언트가 요청한 정보에
    대해 매칭되는 노드와 연결시켜주는 인터넷 서비스


              B


          A   B
BackGround - Napster
-   중앙 서버를 가진 P2P 환경에서 클라이언트가 요청한 정보에
    대해 매칭되는 노드와 연결시켜주는 인터넷 서비스


                   B
              xt
           a.t




          A
BackGround – Kazza
-   특정 노드를 Super Peer 로 두어 중앙 서버의 역할을 수행할
    수 있도록 한 인터넷 서비스 .




                  S
                           S

                                    Transfers
                                    Searches
BackGround – Kazza
-   특정 노드를 Super Peer 로 두어 중앙 서버의 역할을 수행할
    수 있도록 한 인터넷 서비스 .




                  S


                                    Transfers
                                    Searches
BackGround – Kazza
-   특정 노드를 Super Peer 로 두어 중앙 서버의 역할을 수행할
    수 있도록 한 인터넷 서비스 .




            a.txt
                    S
       A                    S

                        B
BackGround – Kazza
-   특정 노드를 Super Peer 로 두어 중앙 서버의 역할을 수행할
    수 있도록 한 인터넷 서비스 .




                  S
       A                   S

                       B
BackGround – Kazza
-   특정 노드를 Super Peer 로 두어 중앙 서버의 역할을 수행할
    수 있도록 한 인터넷 서비스 .




                  S
             B
       A                   S

                       B
BackGround – Kazza
-   특정 노드를 Super Peer 로 두어 중앙 서버의 역할을 수행할
    수 있도록 한 인터넷 서비스 .




                      S
       A                      S
              a.txt

                          B
1. 주변 지인에게 물어본다 .
Ask Local Network
Context
- 노드는 상황에 따라 클라이언트가 되거나 서비스가 될 수
  있다 .
Context
- 노드는 상황에 따라 클라이언트가 되거나 서비스가 될 수
  있다 .
Context
- 노드는 상황에 따라 클라이언트가 되거나 서비스가 될 수
  있다 .
Problem
- 클라이언트는 서비스를 발견할 만큼의 정보를 가지고 있지
않다 .
                   How to
                  discover
                      ?
Solution
- 클라이언트는 원하는 정보를 얻기 위해 자신과 가까운 노드에
  게 질의를 보낸다 .
Resulting Context
- 클라이언트가 포함된 네트워크에는 해당 서비스가 없을 수 있
  다.
A road map of the pattern language

  ASK LOCAL
 NETWORK (1)




                How to
               discover?
Overlay Network
Context
- ASK LOCAL NETWORK 로 서비스 찾기




                          st
                    Re que


                    Requ
                         e   st
Problem
- 클라이언트가 속한 네트워크 영역에서는 찾고 있는 서비스가 없
다.
Problem
- 소수의 노드만 응답에 관련이 되어 있다 .
Solution
- OVERLAY NETWORK 를 활용한다 .

      A
                    B

             S               S

                                 C

                     S
Resulting Context
- 구현하기 복잡할 뿐만 아니라 , 클라이언트와 서비스 수가 많
  아지게
   될 경우 관리가 어려워진다 .
                        Resource,
                    Super Peer Seletion,
                             .
                             .
                             .




              S
A road map of the pattern language

      ASK LOCAL
     NETWORK (1)



  OVERLAY
NETWORK (2)         How to
                   discover?
2. 관련 광고를 통해 얻는다 .
Listen to
Advertisements
Context
- 노드는 상황에 따라 클라이언트가 되거나 서비스가 될 수
  있다 .
Context
- 노드는 상황에 따라 클라이언트가 되거나 서비스가 될 수
  있다 .
Problem
- 클라이언트는 서비스를 발견할 만큼의 정보를 가지고 있지
않다 .
                   How to
                  discover
                      ?
Problem
- 클라이언트는 새로운 서비스가 출현하거나 이전 서비스가
   없어졌을 때 어떻게 대처 해야 할지 알고 싶다 .


                     Is this the
                  latest version?
Solution
- 서비스는 정기적으로 클라이언트들에게 광고 메시지를 보낸
다.
Resulting Context
- 서비스는 더 많은 대역폭과 광고만을 위한 리소스가 필요하다 .
A road map of the pattern language
                         LISTEN TO
                     ADVERTISEMENTS (3)
      ASK LOCAL
     NETWORK (1)



  OVERLAY
NETWORK (2)         How to
                   discover?
Use Advertiser
Context
- 서비스를 찾기 위해 광고를 듣는 클라이언트




                         t io n
                 Informa



                Informa
                          tion
Problem
 - 서비스가 광고 자체를 할 수 없거나 안 할 수도
있다 .
Solution
- 서비스를 대표하여 광고를 할 수 있는 광고자에게 위임
한다 .




              o
           Inf
Resulting Context
- 서비스가 광고자를 찾기 위해 ASK LOCAL NETWORK, LISTEN TO
  ADVERTISEMENTS, CONSULT DIRECTORY 방법을 사용한다 .
A road map of the pattern language
                         LISTEN TO             USE
                     ADVERTISEMENTS (3)   ADVERTISER (4)
      ASK LOCAL
     NETWORK (1)



  OVERLAY
NETWORK (2)         How to
                   discover?
3. 전문가에게 상담을 받는다 .
Consult Directory
Context
- 많은 노드와 연결된 서비스가 있다 .
Problem
- 클라이언트는 서비스를 발견할 만큼의 정보를 가지고 있지
않다 .
                   How to
                  discover
                      ?
Solution
- 서비스의 정보를 관리 할 수 있는 디렉터리 서버를 이용
한다 .




              Request



              Response
Resulting Context
- 관리자 또는 서비스 프로토콜 개발자는 네트워크에서 어떠한
  방식으로 디렉토리를 운영할 것인지를 정해야 한다 .
Resulting Context
- 디렉토리 서버에 어떻게 서비스를 등록 할 것인지 고려한다 .




      Register             Find
A road map of the pattern language
                         LISTEN TO                  USE
                     ADVERTISEMENTS (3)        ADVERTISER (4)
      ASK LOCAL
     NETWORK (1)



  OVERLAY
NETWORK (2)         How to
                   discover?


                                  CONSULT
                               DIRECTORY (5)
Services Register In Directory
Context
- 일반적으로 서비스는 하나 또는 소수의 디렉토리에 수록된
  다.
Problem
- 디렉토리는 서비스에 관련된 정보가 필요하다 .


                      I need
                     Services.
Solution
- 서비스가 스스로 디렉토리에 등록하게 하라 .
Resulting Context
- 서비스가 디렉토리 서버에 스스로 등록하기 위해서는 복잡한
  구현 방법이 요구된다 .
                      Category,
                       Identity,
                     Find Server,
                          .
                          .
                          .
A road map of the pattern language
                           LISTEN TO                 USE
                       ADVERTISEMENTS (3)       ADVERTISER (4)
      ASK LOCAL
     NETWORK (1)



  OVERLAY
NETWORK (2)          How to
                    discover?


                                   CONSULT
                                DIRECTORY (5)




                   SERVICES REGISTER IN
                      DIRECTORY (6)
Directory Finds
    Services
Context
- 서비스는 자신이 가진 쉽게 정보를 공개할 수 있다 .



                    Gangnam Style.mp3


                    Mable.jpg

                    One More night.mp3


                    Happy Sunday.avi


                    Screen Chart.doc
Problem
- 디렉토리는 서비스에 관련된 정보가 필요하다 .


                      I need
                     Services.
Problem
- 서비스가 스스로 디렉토리 서버에 등록하는 것은 부담이다 .

                       Category,
                        Identity,
                      Find Server,
                           .
                           .
                           .
Solution
- 디렉토리가 직접 서비스를 찾게 하라 .
Resulting Context
- 서비스는 자신의 정보가 변경됐을 경우 디렉토리 서버에 공지
  할 수 없기 때문에 , 정보의 적시성은 문제가 될 수 있다 .


                    Is this the latest
                      information?
A road map of the pattern language
                           LISTEN TO                     USE
                       ADVERTISEMENTS (3)           ADVERTISER (4)
      ASK LOCAL
     NETWORK (1)



  OVERLAY
NETWORK (2)          How to
                    discover?


                                   CONSULT
                                DIRECTORY (5)




                   SERVICES REGISTER IN         DIRECTORY FINDS
                      DIRECTORY (6)               SERVICES (7)
Align Directories
With Organization
Context
- 각각 서비스는 보통 조직 또는 그것에 대한 책임이 있는 조
  직 유닛과 관련된다 .

         Department of
        human resources




       Recruitment   Education   Allocation
Problem
- 디렉토리 서버를 어디에 둘 것이며 누가 운영할 것인가 ?


                         Which node
                         is better?
             A


                 B




                     C
Solution
- 조직 단위가 별도의 디렉토리를 설치하도록 하라 .
Resulting Context
- 조직 정렬이 어렵거나 디렉토리에 대한 지원이 불확실 할 수
  있다 .
A road map of the pattern language
                                    LISTEN TO                     USE
                                ADVERTISEMENTS (3)           ADVERTISER (4)
      ASK LOCAL
     NETWORK (1)



  OVERLAY
NETWORK (2)                   How to
                             discover?


                                            CONSULT
                                         DIRECTORY (5)


      ALIGN DIRECTORIES
    WITH ORGANIZATION (8)

                            SERVICES REGISTER IN         DIRECTORY FINDS
                               DIRECTORY (6)               SERVICES (7)
Place Directories Dynamica
Context
- 어떠한 정적 구조는 디렉토리와 노드간의 분류를 지원하지
   못한다 .
                           Coffee or
      Coffee               doughnut?




   Black
                   Doughnut




                  Choco
Problem
- 디렉토리 서버를 어디에 둘 것이며 누가 운영할 것인가 ?


                        Which node
                        is better?
            A


                B




                    C
Solution
- 모든 노드가 디렉토리 서버를 수행하게 하라 .
Resulting Context
- 디렉토리가 동적으로 위치하게 되면 , 클라이언트는 디렉토리
  를 찾아야 한다 .
                     Where is the
                     server?
Resulting Context
- 디렉토리 서버의 안정성은 떨어질 수 있다 .


                      Turn off after
                      10 minutes.
A road map of the pattern language
                                    LISTEN TO                     USE
                                ADVERTISEMENTS (3)           ADVERTISER (4)
      ASK LOCAL
     NETWORK (1)



  OVERLAY
NETWORK (2)                   How to
                             discover?

   PLACE DIRECTORIES
    DYNAMICALLY (9)                         CONSULT
                                         DIRECTORY (5)


      ALIGN DIRECTORIES
    WITH ORGANIZATION (8)

                            SERVICES REGISTER IN         DIRECTORY FINDS
                               DIRECTORY (6)               SERVICES (7)
Separate Identity
From Location
Context
- 클라이언트는 이전에 사용한 서비스를 또 다시 사용하기 위
  해 관련 정보를 저장할 수 있다 .


                 I remember that
                 he had Gangnam Style
Problem
- 차후 정보의 유용성을 재사용하기 위해서는 서비스의 어떠한
   정보를 저장해야 될까 ?


                  Who was he?
Solution
- 클라이언트와 디렉토리가 식별자를 이용하게 하라 .




                        A.com


           Query
           Query
                        B.com
           A.COM
           A.COM




                        C.com
Solution
- 클라이언트와 디렉토리가 식별자를 이용하게 하라 .




                        A.com



                        B.com




                        C.com
Resulting Context
- 식별자를 사용하기 위해서는 네트워크 주소를 매핑하기 위한
   서비스가 필요하다 .


                      DNS, SIP, …
           IInfo
             nfo



                        Identity
                         Identity


                 o
             IInffo
               n
A road map of the pattern language
                                    LISTEN TO                     USE
                                ADVERTISEMENTS (3)           ADVERTISER (4)
      ASK LOCAL
     NETWORK (1)



  OVERLAY
NETWORK (2)                   How to
                             discover?

   PLACE DIRECTORIES
    DYNAMICALLY (9)                         CONSULT
                                         DIRECTORY (5)
                                                                  SEPARATE IDENTITY
      ALIGN DIRECTORIES                                          FROM LOCATION (10)
    WITH ORGANIZATION (8)

                            SERVICES REGISTER IN         DIRECTORY FINDS
                               DIRECTORY (6)               SERVICES (7)
Client Knows Best
Context
- 클라이언트는 질의에 대해 많은 서비스에 관련된 정보를 받
  는다 .




               Query
Context
- 클라이언트는 질의에 대해 많은 서비스에 관련된 정보를 받
  는다 .




                A lot of
              Information
Problem
- 클라이언트가 원하는 정보와 어떠한 서비스의 응답이
   가장 관련이 있는가 ?

  I want
best answer




                A lot of
              Information
Solution
- 간단한 질의문을 이용한다 .




                        ee?
                    Coff
                              Black Coffee

        Coffee
                    Coffee?


                               Espresso
                    Coffee
                          ?




                                 Latt
                                 e
Solution
- 검색된 결과의 수가 많아도 클라이언트에게 모두 보낸다 .

                                           Oh, espresso.
                                             That’s it.
                I nf o
 Black Coffee         rm a
                          tion
                                 Request

                Information      Request

  Espresso
                                 Request
                      ation
                Inform




    Latt
    e
Resulting Context
- 클라이언트가 자신이 원하는 서비스를 선별하기엔 무리가 있다
  .

                        Too many
                        Service…


             Request

             Request

             Request
A road map of the pattern language
                                    LISTEN TO                     USE
                                ADVERTISEMENTS (3)           ADVERTISER (4)
      ASK LOCAL
     NETWORK (1)



  OVERLAY
NETWORK (2)                   How to
                             discover?
                                                                    CLIENT KNOWS
                                                                      BEST (11)
   PLACE DIRECTORIES
    DYNAMICALLY (9)                         CONSULT
                                         DIRECTORY (5)
                                                                  SEPARATE IDENTITY
      ALIGN DIRECTORIES                                          FROM LOCATION (10)
    WITH ORGANIZATION (8)

                            SERVICES REGISTER IN         DIRECTORY FINDS
                               DIRECTORY (6)               SERVICES (7)
Server Does Heavy Work
Context
- 디렉토리는 질의에 대해 많은 서비스의 정보를 얻는다 .




                         attion
                             ion
                IInfforrm a
                  nom



                 Information
                  Information



                Informati
                 Information
                          on
Problem
- 클라이언트의 요구사항에 대한 최적화된 응답을 어떻게 할 것
인가 ?
     I want
   best answer




                 Response
Solution
- 디렉터리 서버가 복합적인 프로세스를 거쳐 검색운용을
   수행하도록 하라 .

                         Searchin
                         Searchin
                            g
                            g



      IInffo
        n orm
             rmat
               atiion
                   on



      Information
       Information              Request
                                Request



               ation n
      IInfforrm atio
        nom
Resulting Context
- 디렉터리 서버는 더 복합적이고 , 자원 요구 사항은 증가한다 .


                   client's preference,
                   popular information,
                              .
                              .
                              .
A road map of the pattern language
                                    LISTEN TO                     USE
                                ADVERTISEMENTS (3)           ADVERTISER (4)
      ASK LOCAL
     NETWORK (1)


                                                             SERVER DOES
  OVERLAY                                                   HEAVY WORK (12)
NETWORK (2)                   How to
                             discover?
                                                                    CLIENT KNOWS
                                                                      BEST (11)
   PLACE DIRECTORIES
    DYNAMICALLY (9)                         CONSULT
                                         DIRECTORY (5)
                                                                  SEPARATE IDENTITY
      ALIGN DIRECTORIES                                          FROM LOCATION (10)
    WITH ORGANIZATION (8)

                            SERVICES REGISTER IN         DIRECTORY FINDS
                               DIRECTORY (6)               SERVICES (7)
Summary
How to discover?
- 클라이언트가 분산처리 네트워크 상에서 정보를 찾는 방법은
   3 가지가 있다 .

  No.1 Ask Local Network
  No.1 자신과 가까운 노드에게 물어본다 .


  No.2 Listen to광고를 듣고 정보를 얻는다 .
       서비스의 Advertisements


  No.3 Consult Directory
  No.3 디렉토리 서버와 상담한다
  .
How to discover? – No. 1


         Ask Local Network

                    더 많은 노드에게
                    쿼리를 보내고 싶다면 ?




          Overlay Network
How to discover? – No. 2

     Listen to Advertisements


                    서비스가 스스로 광고할
                    능력이 부족하다면 ?




         Use Advertiser
How to discover? – No. 3
                                  Directory
                                  Directory
   Services
   Services                       place or
                                  place or
   register
   register                       operate
                                   operate



              Consult Directory
              Consult Directory




  Request
  Request                            Reuse
                                     Reuse
How to discover? – No. 3
- 디렉토리 서버에 서비스를 등록하는 2 가지 패턴


    Service Register    Directory Finds
      in Directory          Services
어떤 종류의 서비스를 제공해야 하 서비스의 활용도를 단순화한다 .
는지 , 언제 이 정보가 변하는지를 더 많은 서비스를 등록한다 .
가장 잘 안다

서비스 스스로 디렉토리 서버에 등 디렉토리 서버가 서비스를 찾아 등
록하게 한다 .           록시킨다 .
How to discover? – No. 3
- 디렉토리 서버의 위치와 운용에 관련된 2 가지 패턴


    Align Directories       Place Directories
    with Organization          Dynamically
각각 서비스는 보통 조직 또는 그      모든 네트워크 노드는 동등하게 유
것에 대한 책임이 있는 조직 단위      효하다 .
와 관련된다 .

조직 단위가 디렉토리를 설치하도       모든 노드가 디렉토리 서버를 수행
록 구성한 후 계층별 디렉토리를       할 수 있도록 구성하고 , 이 중에
연결시킨다 .                 서 특정 노드를 선택한다 .
How to discover? – No. 3
- 서비스의 재사용을 목적으로 한 서비스 등록에 관련된 패턴




          Separate Identity From Location
    동적 네트워크 환경에서 서버의 네트워크 주소는
    동적으로 할당된다


    DNS, SIP 와 같은 네트워크 식별자를 이용하여 서비스의
    주소가 변경되어도 찾을 수 있도록 한다 .
How to discover? – No. 3
- 검색된 정보를 클라이언트에게 알려주는 2 가지 패턴




    Client Knows Best     Server Does Heavy Work
서비스와 디렉토리는 복잡한 쿼리와      클라이언트가 많은 선택사항 중에서
우선 순위의 정보를 처리하는 방법      의사결정을 하기에는 무리가 있다 .
을 모른다 .

쿼리를 단순하게 하고 , 해당 쿼리     디렉터리 서버가 정보를 추려서 클
에 대한 응답을 모두 클라이언트에      라이언트에게 보낸다 .
게 보낸다 .
Thank you!

More Related Content

Viewers also liked

일신오토클레이브 프레스 소개서
일신오토클레이브 프레스 소개서일신오토클레이브 프레스 소개서
일신오토클레이브 프레스 소개서
ilshinautoclave
 
2013 천문연구원 여름호
2013 천문연구원 여름호2013 천문연구원 여름호
2013 천문연구원 여름호carpediemrds
 
Design experiment
Design experimentDesign experiment
Design experimentsilver35
 
북일고등학교 화학실험 평형 상수 구하기(2조)
북일고등학교 화학실험 평형 상수 구하기(2조)북일고등학교 화학실험 평형 상수 구하기(2조)
북일고등학교 화학실험 평형 상수 구하기(2조)
태훈 정
 
Subject Guide in Chemistry(201502)
Subject Guide in Chemistry(201502)Subject Guide in Chemistry(201502)
Subject Guide in Chemistry(201502)
Yulee Kwon
 
[동그라미재단] 2014ㄱ찾기_모두 커뮤니케이션즈_화학생명공학과
[동그라미재단] 2014ㄱ찾기_모두 커뮤니케이션즈_화학생명공학과[동그라미재단] 2014ㄱ찾기_모두 커뮤니케이션즈_화학생명공학과
[동그라미재단] 2014ㄱ찾기_모두 커뮤니케이션즈_화학생명공학과
thecirclefoundation
 
유기화학레포트2
유기화학레포트2유기화학레포트2
유기화학레포트2Hongaelim
 
Science Experiments on Tablets
Science Experiments on TabletsScience Experiments on Tablets
Science Experiments on Tablets
Monica Burns
 
E sci presentation
E sci presentationE sci presentation
E sci presentation
Kianna Navarrosa
 
Top 10 Interesting Facts About Solar System
Top 10 Interesting Facts About Solar SystemTop 10 Interesting Facts About Solar System
Top 10 Interesting Facts About Solar System
Tenfact
 

Viewers also liked (10)

일신오토클레이브 프레스 소개서
일신오토클레이브 프레스 소개서일신오토클레이브 프레스 소개서
일신오토클레이브 프레스 소개서
 
2013 천문연구원 여름호
2013 천문연구원 여름호2013 천문연구원 여름호
2013 천문연구원 여름호
 
Design experiment
Design experimentDesign experiment
Design experiment
 
북일고등학교 화학실험 평형 상수 구하기(2조)
북일고등학교 화학실험 평형 상수 구하기(2조)북일고등학교 화학실험 평형 상수 구하기(2조)
북일고등학교 화학실험 평형 상수 구하기(2조)
 
Subject Guide in Chemistry(201502)
Subject Guide in Chemistry(201502)Subject Guide in Chemistry(201502)
Subject Guide in Chemistry(201502)
 
[동그라미재단] 2014ㄱ찾기_모두 커뮤니케이션즈_화학생명공학과
[동그라미재단] 2014ㄱ찾기_모두 커뮤니케이션즈_화학생명공학과[동그라미재단] 2014ㄱ찾기_모두 커뮤니케이션즈_화학생명공학과
[동그라미재단] 2014ㄱ찾기_모두 커뮤니케이션즈_화학생명공학과
 
유기화학레포트2
유기화학레포트2유기화학레포트2
유기화학레포트2
 
Science Experiments on Tablets
Science Experiments on TabletsScience Experiments on Tablets
Science Experiments on Tablets
 
E sci presentation
E sci presentationE sci presentation
E sci presentation
 
Top 10 Interesting Facts About Solar System
Top 10 Interesting Facts About Solar SystemTop 10 Interesting Facts About Solar System
Top 10 Interesting Facts About Solar System
 

Similar to 서비스 발견을 위한 패턴언어

Basics for understanding the cloud
Basics for understanding the cloudBasics for understanding the cloud
Basics for understanding the cloud
재성 고
 
Linked Data 기반 데이터 검색 서비스의 현황과 과제 (KSWC2010)
Linked Data 기반 데이터 검색 서비스의 현황과 과제 (KSWC2010)Linked Data 기반 데이터 검색 서비스의 현황과 과제 (KSWC2010)
Linked Data 기반 데이터 검색 서비스의 현황과 과제 (KSWC2010)
Channy Yun
 
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?
VMware Tanzu Korea
 
클라우드 기반의 시맨틱 웹 검색 서비스 사례 (플랫폼데이 2010)
클라우드 기반의 시맨틱 웹 검색 서비스 사례 (플랫폼데이 2010)클라우드 기반의 시맨틱 웹 검색 서비스 사례 (플랫폼데이 2010)
클라우드 기반의 시맨틱 웹 검색 서비스 사례 (플랫폼데이 2010)Channy Yun
 
Daum내부 Hadoop 활용 사례 | Devon 2012
Daum내부 Hadoop 활용 사례 | Devon 2012Daum내부 Hadoop 활용 사례 | Devon 2012
Daum내부 Hadoop 활용 사례 | Devon 2012Daum DNA
 
MSA와 infra
MSA와 infraMSA와 infra
MSA와 infra
Je Hun Kim
 
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Larva - 멀티클라우드 인프라 및 응용을 위한 네트워킹 (Networking f...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Larva - 멀티클라우드 인프라 및 응용을 위한 네트워킹 (Networking f...Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Larva - 멀티클라우드 인프라 및 응용을 위한 네트워킹 (Networking f...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Larva - 멀티클라우드 인프라 및 응용을 위한 네트워킹 (Networking f...
Cloud-Barista Community
 
CDN overview
CDN overviewCDN overview
CDN overview
Yoohyun Kim
 
Cloud 강의자료 20151012_정욱재
Cloud 강의자료 20151012_정욱재Cloud 강의자료 20151012_정욱재
Cloud 강의자료 20151012_정욱재
Jeong, Wookjae
 
구글의 공룡화
구글의 공룡화구글의 공룡화
구글의 공룡화juhyun
 
Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos
uEngine Solutions
 
4 crazy about cloud
4 crazy about cloud4 crazy about cloud
4 crazy about cloudDo Un Kim
 
Daum 내부 빅데이터 및 클라우드 기술 활용 사례- 윤석찬 (2012)
Daum 내부 빅데이터 및 클라우드 기술 활용 사례- 윤석찬 (2012)Daum 내부 빅데이터 및 클라우드 기술 활용 사례- 윤석찬 (2012)
Daum 내부 빅데이터 및 클라우드 기술 활용 사례- 윤석찬 (2012)Channy Yun
 
google dinos
google dinosgoogle dinos
google dinosjuhyun
 
NoSQL
NoSQLNoSQL
NoSQL
Gruter
 
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 및 응용을 위한 네트워크 (CB-Larva)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 및 응용을 위한 네트워크 (CB-Larva)Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 및 응용을 위한 네트워크 (CB-Larva)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 및 응용을 위한 네트워크 (CB-Larva)
Cloud-Barista Community
 
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Larva - Cloud-Barista 인큐베이터(Cloud-Barista Incu...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Larva - Cloud-Barista 인큐베이터(Cloud-Barista Incu...Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Larva - Cloud-Barista 인큐베이터(Cloud-Barista Incu...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Larva - Cloud-Barista 인큐베이터(Cloud-Barista Incu...
Cloud-Barista Community
 
[웨비나] 우리가 데이터 메시에 주목해야 할 이유
[웨비나] 우리가 데이터 메시에 주목해야 할 이유[웨비나] 우리가 데이터 메시에 주목해야 할 이유
[웨비나] 우리가 데이터 메시에 주목해야 할 이유
confluent
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
수보 김
 
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution
OpenStack Korea Community
 

Similar to 서비스 발견을 위한 패턴언어 (20)

Basics for understanding the cloud
Basics for understanding the cloudBasics for understanding the cloud
Basics for understanding the cloud
 
Linked Data 기반 데이터 검색 서비스의 현황과 과제 (KSWC2010)
Linked Data 기반 데이터 검색 서비스의 현황과 과제 (KSWC2010)Linked Data 기반 데이터 검색 서비스의 현황과 과제 (KSWC2010)
Linked Data 기반 데이터 검색 서비스의 현황과 과제 (KSWC2010)
 
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?
 
클라우드 기반의 시맨틱 웹 검색 서비스 사례 (플랫폼데이 2010)
클라우드 기반의 시맨틱 웹 검색 서비스 사례 (플랫폼데이 2010)클라우드 기반의 시맨틱 웹 검색 서비스 사례 (플랫폼데이 2010)
클라우드 기반의 시맨틱 웹 검색 서비스 사례 (플랫폼데이 2010)
 
Daum내부 Hadoop 활용 사례 | Devon 2012
Daum내부 Hadoop 활용 사례 | Devon 2012Daum내부 Hadoop 활용 사례 | Devon 2012
Daum내부 Hadoop 활용 사례 | Devon 2012
 
MSA와 infra
MSA와 infraMSA와 infra
MSA와 infra
 
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Larva - 멀티클라우드 인프라 및 응용을 위한 네트워킹 (Networking f...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Larva - 멀티클라우드 인프라 및 응용을 위한 네트워킹 (Networking f...Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Larva - 멀티클라우드 인프라 및 응용을 위한 네트워킹 (Networking f...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Larva - 멀티클라우드 인프라 및 응용을 위한 네트워킹 (Networking f...
 
CDN overview
CDN overviewCDN overview
CDN overview
 
Cloud 강의자료 20151012_정욱재
Cloud 강의자료 20151012_정욱재Cloud 강의자료 20151012_정욱재
Cloud 강의자료 20151012_정욱재
 
구글의 공룡화
구글의 공룡화구글의 공룡화
구글의 공룡화
 
Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos
 
4 crazy about cloud
4 crazy about cloud4 crazy about cloud
4 crazy about cloud
 
Daum 내부 빅데이터 및 클라우드 기술 활용 사례- 윤석찬 (2012)
Daum 내부 빅데이터 및 클라우드 기술 활용 사례- 윤석찬 (2012)Daum 내부 빅데이터 및 클라우드 기술 활용 사례- 윤석찬 (2012)
Daum 내부 빅데이터 및 클라우드 기술 활용 사례- 윤석찬 (2012)
 
google dinos
google dinosgoogle dinos
google dinos
 
NoSQL
NoSQLNoSQL
NoSQL
 
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 및 응용을 위한 네트워크 (CB-Larva)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 및 응용을 위한 네트워크 (CB-Larva)Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 및 응용을 위한 네트워크 (CB-Larva)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 및 응용을 위한 네트워크 (CB-Larva)
 
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Larva - Cloud-Barista 인큐베이터(Cloud-Barista Incu...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Larva - Cloud-Barista 인큐베이터(Cloud-Barista Incu...Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Larva - Cloud-Barista 인큐베이터(Cloud-Barista Incu...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Larva - Cloud-Barista 인큐베이터(Cloud-Barista Incu...
 
[웨비나] 우리가 데이터 메시에 주목해야 할 이유
[웨비나] 우리가 데이터 메시에 주목해야 할 이유[웨비나] 우리가 데이터 메시에 주목해야 할 이유
[웨비나] 우리가 데이터 메시에 주목해야 할 이유
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
 
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution
 

More from eva

Bash-as-a-Interpreter
Bash-as-a-InterpreterBash-as-a-Interpreter
Bash-as-a-Interpreter
eva
 
Scalable web architecture and distributed systems
Scalable web architecture and distributed systemsScalable web architecture and distributed systems
Scalable web architecture and distributed systems
eva
 
Heartbeat pattern
Heartbeat patternHeartbeat pattern
Heartbeat pattern
eva
 
Unit of mitigation Pattern
Unit of mitigation PatternUnit of mitigation Pattern
Unit of mitigation Pattern
eva
 
[EVA] 4.9 Escalation - Patterns for Fault Tolerant Software
[EVA] 4.9 Escalation - Patterns for Fault Tolerant Software[EVA] 4.9 Escalation - Patterns for Fault Tolerant Software
[EVA] 4.9 Escalation - Patterns for Fault Tolerant Software
eva
 
Fault tolerance 1장
Fault tolerance 1장Fault tolerance 1장
Fault tolerance 1장eva
 
[FTP] 4-10 fault observer
[FTP] 4-10 fault observer[FTP] 4-10 fault observer
[FTP] 4-10 fault observereva
 
Fault tolerant 4_5
Fault tolerant 4_5Fault tolerant 4_5
Fault tolerant 4_5
eva
 
Software update
Software updateSoftware update
Software updateeva
 
02. Fault Tolerance Pattern 위한 mindset
02. Fault Tolerance Pattern 위한 mindset02. Fault Tolerance Pattern 위한 mindset
02. Fault Tolerance Pattern 위한 mindseteva
 
꿈을 찾아서1.4
꿈을 찾아서1.4꿈을 찾아서1.4
꿈을 찾아서1.4eva
 
git, git flow
git, git flowgit, git flow
git, git floweva
 
안드로이드로 풀어보는 플러그인 패턴이야기
안드로이드로 풀어보는 플러그인 패턴이야기안드로이드로 풀어보는 플러그인 패턴이야기
안드로이드로 풀어보는 플러그인 패턴이야기
eva
 

More from eva (13)

Bash-as-a-Interpreter
Bash-as-a-InterpreterBash-as-a-Interpreter
Bash-as-a-Interpreter
 
Scalable web architecture and distributed systems
Scalable web architecture and distributed systemsScalable web architecture and distributed systems
Scalable web architecture and distributed systems
 
Heartbeat pattern
Heartbeat patternHeartbeat pattern
Heartbeat pattern
 
Unit of mitigation Pattern
Unit of mitigation PatternUnit of mitigation Pattern
Unit of mitigation Pattern
 
[EVA] 4.9 Escalation - Patterns for Fault Tolerant Software
[EVA] 4.9 Escalation - Patterns for Fault Tolerant Software[EVA] 4.9 Escalation - Patterns for Fault Tolerant Software
[EVA] 4.9 Escalation - Patterns for Fault Tolerant Software
 
Fault tolerance 1장
Fault tolerance 1장Fault tolerance 1장
Fault tolerance 1장
 
[FTP] 4-10 fault observer
[FTP] 4-10 fault observer[FTP] 4-10 fault observer
[FTP] 4-10 fault observer
 
Fault tolerant 4_5
Fault tolerant 4_5Fault tolerant 4_5
Fault tolerant 4_5
 
Software update
Software updateSoftware update
Software update
 
02. Fault Tolerance Pattern 위한 mindset
02. Fault Tolerance Pattern 위한 mindset02. Fault Tolerance Pattern 위한 mindset
02. Fault Tolerance Pattern 위한 mindset
 
꿈을 찾아서1.4
꿈을 찾아서1.4꿈을 찾아서1.4
꿈을 찾아서1.4
 
git, git flow
git, git flowgit, git flow
git, git flow
 
안드로이드로 풀어보는 플러그인 패턴이야기
안드로이드로 풀어보는 플러그인 패턴이야기안드로이드로 풀어보는 플러그인 패턴이야기
안드로이드로 풀어보는 플러그인 패턴이야기
 

서비스 발견을 위한 패턴언어

  • 1. Pattern Language for Service Discovery
  • 3. 1. 주변 지인에게 물어본다 .
  • 4. 2. 관련 광고를 통해 얻는다 .
  • 6. 동적 네트워크 환경에서는 어떻게 정보를 얻을 수 있을까 ?
  • 7. BackGround - Dynamic Network - 동적 네트워크 안에 존재하는 노드는 들어오거나 떠날 수 있다 .
  • 8. BackGround - Dynamic Network - 동적 네트워크 안에 존재하는 노드는 들어오거나 떠날 수 있다 .
  • 9. BackGround - Gnutella - P2P 환경에서 클라이언트 간에 파일 교환을 위한 인터넷 서비스 A a.txt? B
  • 10. BackGround - Gnutella - P2P 환경에서 클라이언트 간에 파일 교환을 위한 인터넷 서비스 A a.txt B
  • 11. BackGround - Napster - 중앙 서버를 가진 P2P 환경에서 클라이언트가 요청한 정보에 대해 매칭되는 노드와 연결시켜주는 인터넷 서비스 B A a.txt
  • 12. BackGround - Napster - 중앙 서버를 가진 P2P 환경에서 클라이언트가 요청한 정보에 대해 매칭되는 노드와 연결시켜주는 인터넷 서비스 B A B
  • 13. BackGround - Napster - 중앙 서버를 가진 P2P 환경에서 클라이언트가 요청한 정보에 대해 매칭되는 노드와 연결시켜주는 인터넷 서비스 B xt a.t A
  • 14. BackGround – Kazza - 특정 노드를 Super Peer 로 두어 중앙 서버의 역할을 수행할 수 있도록 한 인터넷 서비스 . S S Transfers Searches
  • 15. BackGround – Kazza - 특정 노드를 Super Peer 로 두어 중앙 서버의 역할을 수행할 수 있도록 한 인터넷 서비스 . S Transfers Searches
  • 16. BackGround – Kazza - 특정 노드를 Super Peer 로 두어 중앙 서버의 역할을 수행할 수 있도록 한 인터넷 서비스 . a.txt S A S B
  • 17. BackGround – Kazza - 특정 노드를 Super Peer 로 두어 중앙 서버의 역할을 수행할 수 있도록 한 인터넷 서비스 . S A S B
  • 18. BackGround – Kazza - 특정 노드를 Super Peer 로 두어 중앙 서버의 역할을 수행할 수 있도록 한 인터넷 서비스 . S B A S B
  • 19. BackGround – Kazza - 특정 노드를 Super Peer 로 두어 중앙 서버의 역할을 수행할 수 있도록 한 인터넷 서비스 . S A S a.txt B
  • 20. 1. 주변 지인에게 물어본다 .
  • 22. Context - 노드는 상황에 따라 클라이언트가 되거나 서비스가 될 수 있다 .
  • 23. Context - 노드는 상황에 따라 클라이언트가 되거나 서비스가 될 수 있다 .
  • 24. Context - 노드는 상황에 따라 클라이언트가 되거나 서비스가 될 수 있다 .
  • 25. Problem - 클라이언트는 서비스를 발견할 만큼의 정보를 가지고 있지 않다 . How to discover ?
  • 26. Solution - 클라이언트는 원하는 정보를 얻기 위해 자신과 가까운 노드에 게 질의를 보낸다 .
  • 27. Resulting Context - 클라이언트가 포함된 네트워크에는 해당 서비스가 없을 수 있 다.
  • 28. A road map of the pattern language ASK LOCAL NETWORK (1) How to discover?
  • 30. Context - ASK LOCAL NETWORK 로 서비스 찾기 st Re que Requ e st
  • 31. Problem - 클라이언트가 속한 네트워크 영역에서는 찾고 있는 서비스가 없 다.
  • 32. Problem - 소수의 노드만 응답에 관련이 되어 있다 .
  • 33. Solution - OVERLAY NETWORK 를 활용한다 . A B S S C S
  • 34. Resulting Context - 구현하기 복잡할 뿐만 아니라 , 클라이언트와 서비스 수가 많 아지게 될 경우 관리가 어려워진다 . Resource, Super Peer Seletion, . . . S
  • 35. A road map of the pattern language ASK LOCAL NETWORK (1) OVERLAY NETWORK (2) How to discover?
  • 36. 2. 관련 광고를 통해 얻는다 .
  • 38. Context - 노드는 상황에 따라 클라이언트가 되거나 서비스가 될 수 있다 .
  • 39. Context - 노드는 상황에 따라 클라이언트가 되거나 서비스가 될 수 있다 .
  • 40. Problem - 클라이언트는 서비스를 발견할 만큼의 정보를 가지고 있지 않다 . How to discover ?
  • 41. Problem - 클라이언트는 새로운 서비스가 출현하거나 이전 서비스가 없어졌을 때 어떻게 대처 해야 할지 알고 싶다 . Is this the latest version?
  • 42. Solution - 서비스는 정기적으로 클라이언트들에게 광고 메시지를 보낸 다.
  • 43. Resulting Context - 서비스는 더 많은 대역폭과 광고만을 위한 리소스가 필요하다 .
  • 44. A road map of the pattern language LISTEN TO ADVERTISEMENTS (3) ASK LOCAL NETWORK (1) OVERLAY NETWORK (2) How to discover?
  • 46. Context - 서비스를 찾기 위해 광고를 듣는 클라이언트 t io n Informa Informa tion
  • 47. Problem - 서비스가 광고 자체를 할 수 없거나 안 할 수도 있다 .
  • 48. Solution - 서비스를 대표하여 광고를 할 수 있는 광고자에게 위임 한다 . o Inf
  • 49. Resulting Context - 서비스가 광고자를 찾기 위해 ASK LOCAL NETWORK, LISTEN TO ADVERTISEMENTS, CONSULT DIRECTORY 방법을 사용한다 .
  • 50. A road map of the pattern language LISTEN TO USE ADVERTISEMENTS (3) ADVERTISER (4) ASK LOCAL NETWORK (1) OVERLAY NETWORK (2) How to discover?
  • 53. Context - 많은 노드와 연결된 서비스가 있다 .
  • 54. Problem - 클라이언트는 서비스를 발견할 만큼의 정보를 가지고 있지 않다 . How to discover ?
  • 55. Solution - 서비스의 정보를 관리 할 수 있는 디렉터리 서버를 이용 한다 . Request Response
  • 56. Resulting Context - 관리자 또는 서비스 프로토콜 개발자는 네트워크에서 어떠한 방식으로 디렉토리를 운영할 것인지를 정해야 한다 .
  • 57. Resulting Context - 디렉토리 서버에 어떻게 서비스를 등록 할 것인지 고려한다 . Register Find
  • 58. A road map of the pattern language LISTEN TO USE ADVERTISEMENTS (3) ADVERTISER (4) ASK LOCAL NETWORK (1) OVERLAY NETWORK (2) How to discover? CONSULT DIRECTORY (5)
  • 59. Services Register In Directory
  • 60. Context - 일반적으로 서비스는 하나 또는 소수의 디렉토리에 수록된 다.
  • 61. Problem - 디렉토리는 서비스에 관련된 정보가 필요하다 . I need Services.
  • 62. Solution - 서비스가 스스로 디렉토리에 등록하게 하라 .
  • 63. Resulting Context - 서비스가 디렉토리 서버에 스스로 등록하기 위해서는 복잡한 구현 방법이 요구된다 . Category, Identity, Find Server, . . .
  • 64. A road map of the pattern language LISTEN TO USE ADVERTISEMENTS (3) ADVERTISER (4) ASK LOCAL NETWORK (1) OVERLAY NETWORK (2) How to discover? CONSULT DIRECTORY (5) SERVICES REGISTER IN DIRECTORY (6)
  • 65. Directory Finds Services
  • 66. Context - 서비스는 자신이 가진 쉽게 정보를 공개할 수 있다 . Gangnam Style.mp3 Mable.jpg One More night.mp3 Happy Sunday.avi Screen Chart.doc
  • 67. Problem - 디렉토리는 서비스에 관련된 정보가 필요하다 . I need Services.
  • 68. Problem - 서비스가 스스로 디렉토리 서버에 등록하는 것은 부담이다 . Category, Identity, Find Server, . . .
  • 69. Solution - 디렉토리가 직접 서비스를 찾게 하라 .
  • 70. Resulting Context - 서비스는 자신의 정보가 변경됐을 경우 디렉토리 서버에 공지 할 수 없기 때문에 , 정보의 적시성은 문제가 될 수 있다 . Is this the latest information?
  • 71. A road map of the pattern language LISTEN TO USE ADVERTISEMENTS (3) ADVERTISER (4) ASK LOCAL NETWORK (1) OVERLAY NETWORK (2) How to discover? CONSULT DIRECTORY (5) SERVICES REGISTER IN DIRECTORY FINDS DIRECTORY (6) SERVICES (7)
  • 73. Context - 각각 서비스는 보통 조직 또는 그것에 대한 책임이 있는 조 직 유닛과 관련된다 . Department of human resources Recruitment Education Allocation
  • 74. Problem - 디렉토리 서버를 어디에 둘 것이며 누가 운영할 것인가 ? Which node is better? A B C
  • 75. Solution - 조직 단위가 별도의 디렉토리를 설치하도록 하라 .
  • 76. Resulting Context - 조직 정렬이 어렵거나 디렉토리에 대한 지원이 불확실 할 수 있다 .
  • 77. A road map of the pattern language LISTEN TO USE ADVERTISEMENTS (3) ADVERTISER (4) ASK LOCAL NETWORK (1) OVERLAY NETWORK (2) How to discover? CONSULT DIRECTORY (5) ALIGN DIRECTORIES WITH ORGANIZATION (8) SERVICES REGISTER IN DIRECTORY FINDS DIRECTORY (6) SERVICES (7)
  • 79. Context - 어떠한 정적 구조는 디렉토리와 노드간의 분류를 지원하지 못한다 . Coffee or Coffee doughnut? Black Doughnut Choco
  • 80. Problem - 디렉토리 서버를 어디에 둘 것이며 누가 운영할 것인가 ? Which node is better? A B C
  • 81. Solution - 모든 노드가 디렉토리 서버를 수행하게 하라 .
  • 82. Resulting Context - 디렉토리가 동적으로 위치하게 되면 , 클라이언트는 디렉토리 를 찾아야 한다 . Where is the server?
  • 83. Resulting Context - 디렉토리 서버의 안정성은 떨어질 수 있다 . Turn off after 10 minutes.
  • 84. A road map of the pattern language LISTEN TO USE ADVERTISEMENTS (3) ADVERTISER (4) ASK LOCAL NETWORK (1) OVERLAY NETWORK (2) How to discover? PLACE DIRECTORIES DYNAMICALLY (9) CONSULT DIRECTORY (5) ALIGN DIRECTORIES WITH ORGANIZATION (8) SERVICES REGISTER IN DIRECTORY FINDS DIRECTORY (6) SERVICES (7)
  • 86. Context - 클라이언트는 이전에 사용한 서비스를 또 다시 사용하기 위 해 관련 정보를 저장할 수 있다 . I remember that he had Gangnam Style
  • 87. Problem - 차후 정보의 유용성을 재사용하기 위해서는 서비스의 어떠한 정보를 저장해야 될까 ? Who was he?
  • 88. Solution - 클라이언트와 디렉토리가 식별자를 이용하게 하라 . A.com Query Query B.com A.COM A.COM C.com
  • 89. Solution - 클라이언트와 디렉토리가 식별자를 이용하게 하라 . A.com B.com C.com
  • 90. Resulting Context - 식별자를 사용하기 위해서는 네트워크 주소를 매핑하기 위한 서비스가 필요하다 . DNS, SIP, … IInfo nfo Identity Identity o IInffo n
  • 91. A road map of the pattern language LISTEN TO USE ADVERTISEMENTS (3) ADVERTISER (4) ASK LOCAL NETWORK (1) OVERLAY NETWORK (2) How to discover? PLACE DIRECTORIES DYNAMICALLY (9) CONSULT DIRECTORY (5) SEPARATE IDENTITY ALIGN DIRECTORIES FROM LOCATION (10) WITH ORGANIZATION (8) SERVICES REGISTER IN DIRECTORY FINDS DIRECTORY (6) SERVICES (7)
  • 93. Context - 클라이언트는 질의에 대해 많은 서비스에 관련된 정보를 받 는다 . Query
  • 94. Context - 클라이언트는 질의에 대해 많은 서비스에 관련된 정보를 받 는다 . A lot of Information
  • 95. Problem - 클라이언트가 원하는 정보와 어떠한 서비스의 응답이 가장 관련이 있는가 ? I want best answer A lot of Information
  • 96. Solution - 간단한 질의문을 이용한다 . ee? Coff Black Coffee Coffee Coffee? Espresso Coffee ? Latt e
  • 97. Solution - 검색된 결과의 수가 많아도 클라이언트에게 모두 보낸다 . Oh, espresso. That’s it. I nf o Black Coffee rm a tion Request Information Request Espresso Request ation Inform Latt e
  • 98. Resulting Context - 클라이언트가 자신이 원하는 서비스를 선별하기엔 무리가 있다 . Too many Service… Request Request Request
  • 99. A road map of the pattern language LISTEN TO USE ADVERTISEMENTS (3) ADVERTISER (4) ASK LOCAL NETWORK (1) OVERLAY NETWORK (2) How to discover? CLIENT KNOWS BEST (11) PLACE DIRECTORIES DYNAMICALLY (9) CONSULT DIRECTORY (5) SEPARATE IDENTITY ALIGN DIRECTORIES FROM LOCATION (10) WITH ORGANIZATION (8) SERVICES REGISTER IN DIRECTORY FINDS DIRECTORY (6) SERVICES (7)
  • 101. Context - 디렉토리는 질의에 대해 많은 서비스의 정보를 얻는다 . attion ion IInfforrm a nom Information Information Informati Information on
  • 102. Problem - 클라이언트의 요구사항에 대한 최적화된 응답을 어떻게 할 것 인가 ? I want best answer Response
  • 103. Solution - 디렉터리 서버가 복합적인 프로세스를 거쳐 검색운용을 수행하도록 하라 . Searchin Searchin g g IInffo n orm rmat atiion on Information Information Request Request ation n IInfforrm atio nom
  • 104. Resulting Context - 디렉터리 서버는 더 복합적이고 , 자원 요구 사항은 증가한다 . client's preference, popular information, . . .
  • 105. A road map of the pattern language LISTEN TO USE ADVERTISEMENTS (3) ADVERTISER (4) ASK LOCAL NETWORK (1) SERVER DOES OVERLAY HEAVY WORK (12) NETWORK (2) How to discover? CLIENT KNOWS BEST (11) PLACE DIRECTORIES DYNAMICALLY (9) CONSULT DIRECTORY (5) SEPARATE IDENTITY ALIGN DIRECTORIES FROM LOCATION (10) WITH ORGANIZATION (8) SERVICES REGISTER IN DIRECTORY FINDS DIRECTORY (6) SERVICES (7)
  • 107. How to discover? - 클라이언트가 분산처리 네트워크 상에서 정보를 찾는 방법은 3 가지가 있다 . No.1 Ask Local Network No.1 자신과 가까운 노드에게 물어본다 . No.2 Listen to광고를 듣고 정보를 얻는다 . 서비스의 Advertisements No.3 Consult Directory No.3 디렉토리 서버와 상담한다 .
  • 108. How to discover? – No. 1 Ask Local Network 더 많은 노드에게 쿼리를 보내고 싶다면 ? Overlay Network
  • 109. How to discover? – No. 2 Listen to Advertisements 서비스가 스스로 광고할 능력이 부족하다면 ? Use Advertiser
  • 110. How to discover? – No. 3 Directory Directory Services Services place or place or register register operate operate Consult Directory Consult Directory Request Request Reuse Reuse
  • 111. How to discover? – No. 3 - 디렉토리 서버에 서비스를 등록하는 2 가지 패턴 Service Register Directory Finds in Directory Services 어떤 종류의 서비스를 제공해야 하 서비스의 활용도를 단순화한다 . 는지 , 언제 이 정보가 변하는지를 더 많은 서비스를 등록한다 . 가장 잘 안다 서비스 스스로 디렉토리 서버에 등 디렉토리 서버가 서비스를 찾아 등 록하게 한다 . 록시킨다 .
  • 112. How to discover? – No. 3 - 디렉토리 서버의 위치와 운용에 관련된 2 가지 패턴 Align Directories Place Directories with Organization Dynamically 각각 서비스는 보통 조직 또는 그 모든 네트워크 노드는 동등하게 유 것에 대한 책임이 있는 조직 단위 효하다 . 와 관련된다 . 조직 단위가 디렉토리를 설치하도 모든 노드가 디렉토리 서버를 수행 록 구성한 후 계층별 디렉토리를 할 수 있도록 구성하고 , 이 중에 연결시킨다 . 서 특정 노드를 선택한다 .
  • 113. How to discover? – No. 3 - 서비스의 재사용을 목적으로 한 서비스 등록에 관련된 패턴 Separate Identity From Location 동적 네트워크 환경에서 서버의 네트워크 주소는 동적으로 할당된다 DNS, SIP 와 같은 네트워크 식별자를 이용하여 서비스의 주소가 변경되어도 찾을 수 있도록 한다 .
  • 114. How to discover? – No. 3 - 검색된 정보를 클라이언트에게 알려주는 2 가지 패턴 Client Knows Best Server Does Heavy Work 서비스와 디렉토리는 복잡한 쿼리와 클라이언트가 많은 선택사항 중에서 우선 순위의 정보를 처리하는 방법 의사결정을 하기에는 무리가 있다 . 을 모른다 . 쿼리를 단순하게 하고 , 해당 쿼리 디렉터리 서버가 정보를 추려서 클 에 대한 응답을 모두 클라이언트에 라이언트에게 보낸다 . 게 보낸다 .

Editor's Notes

  1. 첫번째는 주변 지인에게 물어보는 방법입니다 . 제 주변 인물들은 대부분 최신 가전제품에 관심이 많아서 관련 정보를 얻는 게 어려울 거 같지는 않습니다 . 그래서 제가 물어봤을 때 관련된 정보를 알고 있으면 저한테 알려줄 것입니다 . 그러나 제 기대와는 다르게 제 주변 사람들 중에서는 제가 원하는 정보를 알고 있는 사람이 없을 수도 있습니다 .
  2. 첫번째는 주변 지인에게 물어보는 방법입니다 . 제 주변 인물들은 대부분 최신 가전제품에 관심이 많아서 관련 정보를 얻는 게 어려울 거 같지는 않습니다 . 그래서 제가 물어봤을 때 관련된 정보를 알고 있으면 저한테 알려줄 것입니다 . 그러나 제 기대와는 다르게 제 주변 사람들 중에서는 제가 원하는 정보를 알고 있는 사람이 없을 수도 있습니다 .
  3. 두번째는 각종 매체를 통해 갤럭시 3 에 관련된 광고를 보는 것입니다 . 광고나 홍보물은 제가 알고 싶은 최신 정보를 담고 있을 것입니다 . 그런데 만약 제가 광고메체를 접할 수 없는 지역이거나 갤럭시와 관련된 광고를 중단할 경우 정보 습득에 어려움이 있을 수 있습니다 .
  4. 세번째는 가까운 휴대폰 판매점에 찾아가 판매원에게 상담을 받는 것입니다 . 판매원의 경우 자신이 판매할 휴대폰에 대해 많은 정보를 가지고 있으며 , 가격을 비롯하여 여러 항목에 대해 가장 최근 정보를 가지고 있을 것입니다 . 그렇지만 주변에 가까운 판매점이 어디인지 , 매장 오픈 시간은 언제인지 등을 알아야 할 것입니다 . 이렇게 몇몇 사항을 제외하고 크게 이 3 가지 방법들을 통해 원하고자 하는 정보를 얻을 수 있습니다 .
  5. 첫번째는 주변 지인에게 물어보는 방법입니다 . 제 주변 인물들은 대부분 최신 가전제품에 관심이 많아서 관련 정보를 얻는 게 어려울 거 같지는 않습니다 . 그래서 제가 물어봤을 때 관련된 정보를 알고 있으면 저한테 알려줄 것입니다 . 그러나 제 기대와는 다르게 제 주변 사람들 중에서는 제가 원하는 정보를 알고 있는 사람이 없을 수도 있습니다 .
  6. 클라이언트가 어떤 서비스를 원하는지 알고있으나 , 서비스를 발견할 만큼의 충분한 정보를 가지고 있지 않다 .
  7. 클라이언트는 클라이언트와 가까운 곳 ( 네트워크에서 ) 에 있는 노드로 어떤 서비스를 찾고 있는지 질문을 보낸다 . 질문은 멀티캐스트 또는 브로드캐스트 메시지 같은 것을 일반적으로 보내진다 . 모든 서비스는 이러한 메시지를 듣지만 , 질문과 관련된 정보를 가지고 있는 노드만 실제로 응답할 것이다 .
  8. 두번째는 각종 매체를 통해 갤럭시 3 에 관련된 광고를 보는 것입니다 . 광고나 홍보물은 제가 알고 싶은 최신 정보를 담고 있을 것입니다 . 그런데 만약 제가 광고메체를 접할 수 없는 지역이거나 갤럭시와 관련된 광고를 중단할 경우 정보 습득에 어려움이 있을 수 있습니다 .
  9. 클라이언트가 어떤 서비스를 원하는지 알고있으나 , 서비스를 발견할 만큼의 충분한 정보를 가지고 있지 않다 .
  10. 새로운 서비스가 네트워크에 나왔을 때와 이전 서비스가 없어졌을 때 클라이언트는 어떠한 서비스가 이용 가능한지를 알고싶어한다 .
  11. 서비스를 찾기 위해 Listen To ADVERTISEMENTS (3) 를 시도한 클라이언트들 ( 서비스를 찾기 위해 광고를 듣는 클라이언트들 ).
  12. 서비스가 광고 자체를 할수없거나 안할 수도 있다 .
  13. 세번째는 가까운 휴대폰 판매점에 찾아가 판매원에게 상담을 받는 것입니다 . 판매원의 경우 자신이 판매할 휴대폰에 대해 많은 정보를 가지고 있으며 , 가격을 비롯하여 여러 항목에 대해 가장 최근 정보를 가지고 있을 것입니다 . 그렇지만 주변에 가까운 판매점이 어디인지 , 매장 오픈 시간은 언제인지 등을 알아야 할 것입니다 . 이렇게 몇몇 사항을 제외하고 크게 이 3 가지 방법들을 통해 원하고자 하는 정보를 얻을 수 있습니다 .
  14. 클라이언트가 어떤 서비스를 원하는지 알고있으나 , 서비스를 발견할 만큼의 충분한 정보를 가지고 있지 않다 .
  15. 클라이언트가 어떤 서비스를 원하는지 알고있으나 , 서비스를 발견할 만큼의 충분한 정보를 가지고 있지 않다 .
  16. 디렉토리는 클라이언트와 공유할 서비스 관련한 정보가 필요하다 . .
  17. 서비스가 디렉토리들에 스스로를 등록하게 하시오 . 그 디렉토리들은 서비스가 정보를 제공하게 할 수 있게 하는 특별한 서비스 등록 인터페이스를 제공해야한다 .
  18. 네트워크에서 서비스를 찾기 위해 CONSULT 디렉토리 (5) 를 시도한 클라이언트 . 어떤 스태틱 구조도 서비스 검색 환경에서 노드 , 나아가서 디렉토리와 레귤러 노드의 분류를 지원하기 위해 존재하지 않는다 .