Upload
eva
View
313
Download
2
Embed Size (px)
Citation preview
Pattern Language for Service Pattern Language for Service DiscoveryDiscovery
자신이 원하는 정보를 자신이 원하는 정보를 어떻게 얻을 수 있을까어떻게 얻을 수 있을까 ??
1. 1. 주변 지인에게 물어본다주변 지인에게 물어본다 ..
2. 2. 관련 광고를 통해 얻는다관련 광고를 통해 얻는다 ..
3. 3. 전문가에게 상담을 받는다전문가에게 상담을 받는다 ..
동적 네트워크 환경에서는동적 네트워크 환경에서는 어떻게 정보를 얻을 수 있을까어떻게 정보를 얻을 수 있을까 ??
BackGround - Dynamic NetworkBackGround - Dynamic Network
- - 동적 네트워크 안에 존재하는 노드는 들어오거나 떠날 수 있다동적 네트워크 안에 존재하는 노드는 들어오거나 떠날 수 있다 ..
BackGround - Dynamic NetworkBackGround - Dynamic Network
- - 동적 네트워크 안에 존재하는 노드는 들어오거나 떠날 수 있다동적 네트워크 안에 존재하는 노드는 들어오거나 떠날 수 있다 ..
BackGround - BackGround - GnutellaGnutella
- P2P - P2P 환경에서 클라이언트 간에 파일 교환을 위한 인터넷 서비스환경에서 클라이언트 간에 파일 교환을 위한 인터넷 서비스
AB
a.txt?
BackGround - BackGround - GnutellaGnutella
AB
a.txt
- P2P - P2P 환경에서 클라이언트 간에 파일 교환을 위한 인터넷 서비스환경에서 클라이언트 간에 파일 교환을 위한 인터넷 서비스
BackGround - NapsterBackGround - Napster
- 중앙 서버를 가진 중앙 서버를 가진 P2PP2P 환경에서 클라이언트가 요청한 정보에 환경에서 클라이언트가 요청한 정보에 대해 매칭되는 노드와 연결시켜주는 인터넷 서비스대해 매칭되는 노드와 연결시켜주는 인터넷 서비스
B
A a.txt
BackGround - NapsterBackGround - Napster
B
A B
- 중앙 서버를 가진 중앙 서버를 가진 P2PP2P 환경에서 클라이언트가 요청한 정보에 환경에서 클라이언트가 요청한 정보에 대해 매칭되는 노드와 연결시켜주는 인터넷 서비스대해 매칭되는 노드와 연결시켜주는 인터넷 서비스
BackGround - NapsterBackGround - Napster
B
A
a.tx
t
- 중앙 서버를 가진 중앙 서버를 가진 P2PP2P 환경에서 클라이언트가 요청한 정보에 환경에서 클라이언트가 요청한 정보에 대해 매칭되는 노드와 연결시켜주는 인터넷 서비스대해 매칭되는 노드와 연결시켜주는 인터넷 서비스
BackGround – KazzaBackGround – Kazza
- 특정 노드를 특정 노드를 Super PeerSuper Peer 로 두어 중앙 서버의 역할을 수행할로 두어 중앙 서버의 역할을 수행할 수 있도록 한 인터넷 서비스수 있도록 한 인터넷 서비스 ..
SS
TransfersSearches
BackGround – KazzaBackGround – Kazza
S
TransfersSearches
- 특정 노드를 특정 노드를 Super PeerSuper Peer 로 두어 중앙 서버의 역할을 수행할로 두어 중앙 서버의 역할을 수행할 수 있도록 한 인터넷 서비스수 있도록 한 인터넷 서비스 ..
BackGround – KazzaBackGround – Kazza
A
B
SSa.txt
- 특정 노드를 특정 노드를 Super PeerSuper Peer 로 두어 중앙 서버의 역할을 수행할로 두어 중앙 서버의 역할을 수행할 수 있도록 한 인터넷 서비스수 있도록 한 인터넷 서비스 ..
BackGround – KazzaBackGround – Kazza
A
B
SS
- 특정 노드를 특정 노드를 Super PeerSuper Peer 로 두어 중앙 서버의 역할을 수행할로 두어 중앙 서버의 역할을 수행할 수 있도록 한 인터넷 서비스수 있도록 한 인터넷 서비스 ..
BackGround – KazzaBackGround – Kazza
A
B
SSB
- 특정 노드를 특정 노드를 Super PeerSuper Peer 로 두어 중앙 서버의 역할을 수행할로 두어 중앙 서버의 역할을 수행할 수 있도록 한 인터넷 서비스수 있도록 한 인터넷 서비스 ..
BackGround – KazzaBackGround – Kazza
A
B
SS
- 특정 노드를 특정 노드를 Super PeerSuper Peer 로 두어 중앙 서버의 역할을 수행할로 두어 중앙 서버의 역할을 수행할 수 있도록 한 인터넷 서비스수 있도록 한 인터넷 서비스 ..
a.txt
1. 1. 주변 지인에게 물어본다주변 지인에게 물어본다 ..
Ask Local Network Ask Local Network
ContextContext- 노드는 상황에 따라 클라이언트가 되거나 서비스가 될 수 있다노드는 상황에 따라 클라이언트가 되거나 서비스가 될 수 있다 . .
ContextContext- 노드는 상황에 따라 클라이언트가 되거나 서비스가 될 수 있다노드는 상황에 따라 클라이언트가 되거나 서비스가 될 수 있다 . .
ContextContext- 노드는 상황에 따라 클라이언트가 되거나 서비스가 될 수 있다노드는 상황에 따라 클라이언트가 되거나 서비스가 될 수 있다 . .
ProblemProblem- - 클라이언트는 서비스를 발견할 만큼의 정보를 가지고 있지 않클라이언트는 서비스를 발견할 만큼의 정보를 가지고 있지 않다다 ..
How todiscove
r?
SolutionSolution- 클라이언트는 원하는 정보를 얻기 위해 자신과 가까운 노드에게 클라이언트는 원하는 정보를 얻기 위해 자신과 가까운 노드에게
질의를 보낸다질의를 보낸다 ..
Resulting ContextResulting Context- 클라이언트가 포함된 네트워크에는 해당 서비스가 없을 수 있다클라이언트가 포함된 네트워크에는 해당 서비스가 없을 수 있다 ..
How todiscover?
ASK LOCAL NETWORK
(1)
A road map of the pattern A road map of the pattern languagelanguage
Overlay Network Overlay Network
ContextContext- ASK LOCAL NETWORKASK LOCAL NETWORK 로 서비스 찾기로 서비스 찾기
Request
Request
ProblemProblem- - 클라이언트가 속한 네트워크 영역에서는 찾고 있는 서비스가 없다클라이언트가 속한 네트워크 영역에서는 찾고 있는 서비스가 없다 ..
ProblemProblem- - 소수의 노드만 응답에 관련이 되어 있다소수의 노드만 응답에 관련이 되어 있다 ..
SolutionSolution- OVERLAY NETWORK- OVERLAY NETWORK 를 활용한다를 활용한다 ..
A
B
S
C
S
S
Resulting ContextResulting Context- 구현하기 복잡할 뿐만 아니라구현하기 복잡할 뿐만 아니라 ,, 클라이언트와 서비스 수가 클라이언트와 서비스 수가
많아지게 많아지게 될 경우 관리가 어려워진다될 경우 관리가 어려워진다 .. Resource,
Super Peer Seletion,
.
.
.
S
How todiscover?
ASK LOCAL NETWORK
(1)
OVERLAYNETWORK
(2)
A road map of the pattern A road map of the pattern languagelanguage
2. 2. 관련 광고를 통해 얻는다관련 광고를 통해 얻는다 ..
Listen to Listen to AdvertisementsAdvertisements
ContextContext- 노드는 상황에 따라 클라이언트가 되거나 서비스가 될 수 있다노드는 상황에 따라 클라이언트가 되거나 서비스가 될 수 있다 . .
ContextContext- 노드는 상황에 따라 클라이언트가 되거나 서비스가 될 수 있다노드는 상황에 따라 클라이언트가 되거나 서비스가 될 수 있다 . .
ProblemProblem- - 클라이언트는 서비스를 발견할 만큼의 정보를 가지고 있지 않클라이언트는 서비스를 발견할 만큼의 정보를 가지고 있지 않다다 ..
How todiscove
r?
ProblemProblem- 클라이언트는 새로운 서비스가 출현하거나 이전 서비스가 클라이언트는 새로운 서비스가 출현하거나 이전 서비스가 없어졌을 때 어떻게 대처 해야 할지 알고 싶다없어졌을 때 어떻게 대처 해야 할지 알고 싶다 ..
Is this the latest
version?
SolutionSolution- - 서비스는 정기적으로 클라이언트들에게 광고 메시지를 보낸다서비스는 정기적으로 클라이언트들에게 광고 메시지를 보낸다 . .
Resulting ContextResulting Context- 서비스는 더 많은 대역폭과 광고만을 위한 리소스가 필요하다서비스는 더 많은 대역폭과 광고만을 위한 리소스가 필요하다 . .
How todiscover?
ASK LOCAL NETWORK
(1)
OVERLAYNETWORK
(2)
LISTEN TOADVERTISEMENTS
(3)
A road map of the pattern A road map of the pattern languagelanguage
Use AdvertiserUse Advertiser
ContextContext- 서비스를 찾기 위해 광고를 듣는 클라이언트서비스를 찾기 위해 광고를 듣는 클라이언트
Information
Information
ProblemProblem - - 서비스가 광고 자체를 할 수 없거나 안 할 수도 있다서비스가 광고 자체를 할 수 없거나 안 할 수도 있다 . .
SolutionSolution- - 서비스를 대표하여 광고를 할 수 있는 광고자에게 위임한다서비스를 대표하여 광고를 할 수 있는 광고자에게 위임한다 ..
Info
Resulting ContextResulting Context- 서비스가 광고자를 찾기 위해 서비스가 광고자를 찾기 위해 ASK LOCAL NETWORK, ASK LOCAL NETWORK, LISTEN LISTEN
TO ADVERTISEMENTSTO ADVERTISEMENTS, CONSULT DIRECTORY , CONSULT DIRECTORY 방법을 방법을 사용한다사용한다 . .
How todiscover?
ASK LOCAL NETWORK
(1)
OVERLAYNETWORK
(2)
LISTEN TOADVERTISEMENTS
(3)
USEADVERTISER (4)
A road map of the pattern A road map of the pattern languagelanguage
3. 3. 전문가에게 상담을 받는다전문가에게 상담을 받는다 ..
Consult DirectoryConsult Directory
ContextContext- 많은 노드와 연결된 서비스가 있다많은 노드와 연결된 서비스가 있다 ..
ProblemProblem- - 클라이언트는 서비스를 발견할 만큼의 정보를 가지고 있지 않클라이언트는 서비스를 발견할 만큼의 정보를 가지고 있지 않다다 ..
How todiscove
r?
SolutionSolution- - 서비스의 정보를 관리 할 수 있는 디렉터리 서버를 이용한다서비스의 정보를 관리 할 수 있는 디렉터리 서버를 이용한다 ..
Request
Response
Resulting ContextResulting Context- 관리자 또는 서비스 프로토콜 개발자는 네트워크에서 어떠한 관리자 또는 서비스 프로토콜 개발자는 네트워크에서 어떠한
방식으로 디렉토리를 운영할 것인지를 정해야 한다방식으로 디렉토리를 운영할 것인지를 정해야 한다 ..
Resulting ContextResulting Context- 디렉토리 서버에 어떻게디렉토리 서버에 어떻게 서비스를 등록 할 것인지 고려한다서비스를 등록 할 것인지 고려한다 ..
Register Find
How todiscover?
ASK LOCAL NETWORK
(1)
OVERLAYNETWORK
(2)
LISTEN TOADVERTISEMENTS
(3)
USEADVERTISER (4)
CONSULTDIRECTORY
(5)
A road map of the pattern A road map of the pattern languagelanguage
Services Register In Services Register In DirectoryDirectory
ContextContext- 일반적으로 서비스는 하나 또는 소수의 디렉토리에 수록된다일반적으로 서비스는 하나 또는 소수의 디렉토리에 수록된다 . .
ProblemProblem- - 디렉토리는 서비스에 관련된 정보가 필요하다디렉토리는 서비스에 관련된 정보가 필요하다 ..
I needService
s.
SolutionSolution- - 서비스가 스스로 디렉토리에 등록하게 하라서비스가 스스로 디렉토리에 등록하게 하라 ..
Resulting ContextResulting Context- 서비스가 디렉토리 서버에 스스로 등록하기 위해서는 복잡한 구현 서비스가 디렉토리 서버에 스스로 등록하기 위해서는 복잡한 구현
방법이 요구된다방법이 요구된다 ..Category,Identity,
Find Server,
.
.
.
How todiscover?
ASK LOCAL NETWORK
(1)
OVERLAYNETWORK
(2)
LISTEN TOADVERTISEMENTS
(3)
USEADVERTISER (4)
CONSULTDIRECTORY
(5)
SERVICES REGISTER IN
DIRECTORY (6)
A road map of the pattern A road map of the pattern languagelanguage
Directory Finds Directory Finds ServicesServices
ContextContext- 서비스는 자신이 가진 쉽게 정보를 공개할 수 있다서비스는 자신이 가진 쉽게 정보를 공개할 수 있다 ..
Gangnam Style.mp3
Mable.jpg
One More night.mp3
Happy Sunday.avi
Screen Chart.doc
ProblemProblem- - 디렉토리는 서비스에 관련된 정보가 필요하다디렉토리는 서비스에 관련된 정보가 필요하다 ..
I needService
s.
ProblemProblem-- 서비스가 스스로 디렉토리 서버에 등록하는 것은 부담이다서비스가 스스로 디렉토리 서버에 등록하는 것은 부담이다 ..
Category,Identity,
Find Server,
.
.
.
SolutionSolution
- - 디렉토리가 직접 서비스를 찾게 하라디렉토리가 직접 서비스를 찾게 하라 ..
Resulting ContextResulting Context- 서비스는 자신의 정보가 변경됐을 경우 디렉토리 서버에 공지 할 서비스는 자신의 정보가 변경됐을 경우 디렉토리 서버에 공지 할
수 없기 때문에수 없기 때문에 , , 정보의 적시성은 문제가 될 수 있다정보의 적시성은 문제가 될 수 있다 ..
Is this the latest
information?
How todiscover?
ASK LOCAL NETWORK
(1)
OVERLAYNETWORK
(2)
LISTEN TOADVERTISEMENTS
(3)
USEADVERTISER (4)
CONSULTDIRECTORY
(5)
SERVICES REGISTER IN
DIRECTORY (6)
DIRECTORY FINDS SERVICES
(7)
A road map of the pattern A road map of the pattern languagelanguage
Align Directories Align Directories With OrganizationWith Organization
ContextContext- 각각 서비스는 보통 조직 또는 그것에 대한 책임이 있는 조직 각각 서비스는 보통 조직 또는 그것에 대한 책임이 있는 조직
유닛과 관련된다유닛과 관련된다 . .
Recruitment
Education
Allocation
Department of human resources
ProblemProblem
- - 디렉토리 서버를디렉토리 서버를 어디에 둘 것이며 누가 운영할 것인가어디에 둘 것이며 누가 운영할 것인가 ??
A
C
B
Which node is better?
SolutionSolution
- - 조직 단위가 별도의 디렉토리를 설치하도록 하라조직 단위가 별도의 디렉토리를 설치하도록 하라 ..
Resulting ContextResulting Context- 조직 정렬이 어렵거나 디렉토리에 대한 지원이 불확실조직 정렬이 어렵거나 디렉토리에 대한 지원이 불확실 할 수 있다할 수 있다 ..
How todiscover?
ASK LOCAL NETWORK
(1)
OVERLAYNETWORK
(2)
LISTEN TOADVERTISEMENTS
(3)
USEADVERTISER (4)
CONSULTDIRECTORY
(5)
ALIGN DIRECTORIESWITH ORGANIZATION
(8)SERVICES REGISTER
INDIRECTORY (6)
DIRECTORY FINDS SERVICES
(7)
A road map of the pattern A road map of the pattern languagelanguage
Place Directories Place Directories DynamicallyDynamically
ContextContext- 어떠한 정적 구조는 디렉토리와 노드간의 분류를 지원하지 어떠한 정적 구조는 디렉토리와 노드간의 분류를 지원하지 못한다못한다 ..
Black
Coffee
Choco
Doughnut
Coffee ordoughnut?
ProblemProblem
- - 디렉토리 서버를디렉토리 서버를 어디에 둘 것이며 누가 운영할 것인가어디에 둘 것이며 누가 운영할 것인가 ??
A
C
B
Which node is better?
SolutionSolution- - 모든 노드가 모든 노드가 디렉토리 서버를 수행하게 하라디렉토리 서버를 수행하게 하라 ..
Resulting ContextResulting Context- 디렉토리가 동적으로 위치하게 되면디렉토리가 동적으로 위치하게 되면 , , 클라이언트는 디렉토리를 클라이언트는 디렉토리를
찾아야 한다찾아야 한다 ..
Where is the server?
Resulting ContextResulting Context- 디렉토리 서버의 안정성은 떨어질 수 있다디렉토리 서버의 안정성은 떨어질 수 있다 ..
Turn off after 10 minutes.
How todiscover?
ASK LOCAL NETWORK
(1)
OVERLAYNETWORK
(2)
LISTEN TOADVERTISEMENTS
(3)
USEADVERTISER (4)
CONSULTDIRECTORY
(5)
PLACE DIRECTORIES
DYNAMICALLY (9)
ALIGN DIRECTORIESWITH ORGANIZATION
(8)SERVICES REGISTER
INDIRECTORY (6)
DIRECTORY FINDS SERVICES
(7)
A road map of the pattern A road map of the pattern languagelanguage
Separate Identity From Location
ContextContext- 클라이언트는 이전에 사용한 서비스를 또 다시 사용하기 위해 클라이언트는 이전에 사용한 서비스를 또 다시 사용하기 위해
관련 정보를 저장할 수 있다관련 정보를 저장할 수 있다 ..
I remember that he had Gangnam Style
ProblemProblem- - 차후 정보의 유용성을 재사용하기 위해서는 서비스의 어떠한 차후 정보의 유용성을 재사용하기 위해서는 서비스의 어떠한 정보를정보를 저장해야 될까저장해야 될까 ??
Who was he?
SolutionSolution
- - 클라이언트와 디렉토리가 식별자를 이용하게 하라클라이언트와 디렉토리가 식별자를 이용하게 하라 ..
QueryQueryQueryQuery
A.COMA.COMA.COMA.COM
A.com
B.com
C.com
SolutionSolution
- - 클라이언트와 디렉토리가 식별자를 이용하게 하라클라이언트와 디렉토리가 식별자를 이용하게 하라 ..
A.com
B.com
C.com
Resulting ContextResulting Context- 식별자를 사용하기 위해서는 네트워크 주소를 매핑하기 위한 식별자를 사용하기 위해서는 네트워크 주소를 매핑하기 위한 서비스가 필요하다서비스가 필요하다 . .
InfoInfoInfoInfo
InfoInfoInfoInfo
IdentityIdentityIdentityIdentity
DNS, SIP, …
How todiscover?
ASK LOCAL NETWORK
(1)
OVERLAYNETWORK
(2)
LISTEN TOADVERTISEMENTS
(3)
USEADVERTISER (4)
CONSULTDIRECTORY
(5)
PLACE DIRECTORIES
DYNAMICALLY (9)
ALIGN DIRECTORIESWITH ORGANIZATION
(8)SERVICES REGISTER
INDIRECTORY (6)
DIRECTORY FINDS SERVICES
(7)
SEPARATE IDENTITY
FROM LOCATION (10)
A road map of the pattern A road map of the pattern languagelanguage
Client Knows BestClient Knows Best
ContextContext- 클라이언트는 질의에 대해 많은 서비스에 관련된 정보를 받는클라이언트는 질의에 대해 많은 서비스에 관련된 정보를 받는
다다 ..
Query
ContextContext- 클라이언트는 질의에 대해 많은 서비스에 관련된 정보를 받는클라이언트는 질의에 대해 많은 서비스에 관련된 정보를 받는
다다 ..
A lot of Information
ProblemProblem- 클라이언트가 원하는 정보와 어떠한 서비스의 응답이 클라이언트가 원하는 정보와 어떠한 서비스의 응답이 가장 관련이 있는가가장 관련이 있는가 ??
I want best
answer
A lot of Information
SolutionSolution- 간단한 질의문을 이용한다간단한 질의문을 이용한다 ..
Coffee
Coffee?
Coffee?
Coffee?
Black Coffee
Espresso
Latte
SolutionSolution- 검색된 결과의 수가 많아도 클라이언트에게 모두 보낸다검색된 결과의 수가 많아도 클라이언트에게 모두 보낸다 ..
Information
Information
Informati
on
Request
Request
Request
Black Coffee
Espresso
Latte
Oh, espresso.That’s it.
Resulting ContextResulting Context- 클라이언트가 자신이 원하는 서비스를 선별하기엔 무리가 있다클라이언트가 자신이 원하는 서비스를 선별하기엔 무리가 있다 ..
Request
Request
Request
Too many
Service…
How todiscover?
ASK LOCAL NETWORK
(1)
OVERLAYNETWORK
(2)
LISTEN TOADVERTISEMENTS
(3)
USEADVERTISER (4)
CONSULTDIRECTORY
(5)
PLACE DIRECTORIES
DYNAMICALLY (9)
ALIGN DIRECTORIESWITH ORGANIZATION
(8)SERVICES REGISTER
INDIRECTORY (6)
DIRECTORY FINDS SERVICES
(7)
SEPARATE IDENTITY
FROM LOCATION (10)
CLIENT KNOWS BEST
(11)
A road map of the pattern A road map of the pattern languagelanguage
Server Does Heavy WorkServer Does Heavy Work
ContextContext- 디렉토리는 질의에 대해 많은 서비스의 정보를 얻는다디렉토리는 질의에 대해 많은 서비스의 정보를 얻는다 ..
InformationInformationInformationInformation
InformationInformationInformationInformation
InformationInformationInformationInformation
ProblemProblem- - 클라이언트의 요구사항에 대한 최적화된 응답을 어떻게 할 것인클라이언트의 요구사항에 대한 최적화된 응답을 어떻게 할 것인가가 ??
I want best
answer
Response
SolutionSolution- 디렉터리 서버가 복합적인 프로세스를 거쳐 검색운용을 디렉터리 서버가 복합적인 프로세스를 거쳐 검색운용을 수행하도록 하라수행하도록 하라 ..
Information
Information
Information
Information
InformationInformation
InformationInformation
RequestRequest
Searching
Searching
Resulting ContextResulting Context- 디렉터리 서버는 더 복합적이고디렉터리 서버는 더 복합적이고 ,, 자원 요구 사항은 증가한다자원 요구 사항은 증가한다 . .
client's preference,popular information,
.
.
.
How todiscover?
ASK LOCAL NETWORK
(1)
OVERLAYNETWORK
(2)
LISTEN TOADVERTISEMENTS
(3)
USEADVERTISER (4)
CONSULTDIRECTORY
(5)
PLACE DIRECTORIES
DYNAMICALLY (9)
ALIGN DIRECTORIESWITH ORGANIZATION
(8)SERVICES REGISTER
INDIRECTORY (6)
DIRECTORY FINDS SERVICES
(7)
SEPARATE IDENTITY
FROM LOCATION (10)
CLIENT KNOWS BEST
(11)
SERVER DOES HEAVY WORK
(12)
A road map of the pattern A road map of the pattern languagelanguage
SummarySummary
How to discover?How to discover?- 클라이언트가 분산처리 네트워크 상에서 정보를 찾는 방법은 클라이언트가 분산처리 네트워크 상에서 정보를 찾는 방법은 33 가지가 있다가지가 있다 ..
No.3 No.3 디렉토리 서버와 상담한다디렉토리 서버와 상담한다 ..
No.1 No.1 자신과 가까운 노드에게 물어본다자신과 가까운 노드에게 물어본다 .No.1 Ask Local NetworkNo.1 Ask Local Network
No.2 No.2 서비스의 광고를 듣고 정보를 얻는다서비스의 광고를 듣고 정보를 얻는다 ..No.2 Listen to AdvertisementsNo.2 Listen to Advertisements
No.3 No.3 Consult DirectoryConsult Directory
How to discover? – No. 1How to discover? – No. 1
Ask Local NetworkAsk Local Network
더 많은 노드에게 더 많은 노드에게 쿼리를 보내고 싶다면쿼리를 보내고 싶다면 ??
Overlay NetworkOverlay Network
How to discover? – No. 2How to discover? – No. 2
서비스가 스스로 광고할 서비스가 스스로 광고할 능력이 부족하다면능력이 부족하다면 ??
Listen to AdvertisementsListen to Advertisements
Use AdvertiserUse Advertiser
How to discover? – No. 3How to discover? – No. 3
Directory place or operate
Directory place or operate
Services registerServices register
RequestRequest ReuseReuseReuseReuse
Consult DirectoryConsult DirectoryConsult DirectoryConsult Directory
How to discover? – No. 3How to discover? – No. 3- - 디렉토리 서버에 서비스를 등록하는디렉토리 서버에 서비스를 등록하는 22 가지 패턴가지 패턴
Service Register Service Register in Directoryin Directory
Directory Finds Directory Finds ServicesServices
어 떤 종 류 의 서 비 스 를 제 공 해 야 하는지 , 언제 이 정보가 변하는지를 가장 잘 안다
서비스의 활용도를 단순화한다 .더 많은 서비스를 등록한다 .
서 비 스 스 스 로 디 렉 토 리 서 버 에 등록하게 한다 .
디 렉 토 리 서 버 가 서 비 스 를 찾 아 등록시킨다 .
How to discover? – No. 3How to discover? – No. 3- - 디렉토리 서버의 위치와 운용에 관련된 디렉토리 서버의 위치와 운용에 관련된 22 가지 패턴가지 패턴
Align Directories Align Directories with Organizationwith Organization
Place Directories Place Directories DynamicallyDynamically
각각 서비스는 보통 조직 또는 그것에 대한 책임이 있는 조직 단위와 관련된다 .
모든 네트워크 노드는 동등하게 유효하다 .
조직 단위가 디렉토리를 설치하도록 구성한 후 계층별 디렉토리를 연결시킨다 .
모든 노드가 디렉토리 서버를 수행 할 수 있도록 구성하고 , 이 중에서 특정 노드를 선택한다 .
How to discover? – No. 3How to discover? – No. 3
- - 서비스의 재사용을 목적으로 한 서비스 등록에 관련된 패턴서비스의 재사용을 목적으로 한 서비스 등록에 관련된 패턴
Separate Identity From LocationSeparate Identity From Location
동적 네트워크 환경에서 서버의 네트워크 주소는 동적으로 할당된다
DNS, SIP 와 같은 네트워크 식별자를 이용하여 서비스의 주소가 변경되어도 찾을 수 있도록 한다 .
How to discover? – No. 3
Client Knows BestClient Knows Best Server Does Heavy WorkServer Does Heavy Work
서비스와 디렉토리는 복잡한 쿼리와 우선 순위의 정보를 처리하는 방법을 모른다 .
클라이언트가 많은 선택사항 중에서 의사결정을 하기에는 무리가 있다 .
쿼리를 단순하게 하고 , 해당 쿼리에 대한 응답을 모두 클라이언트에게 보낸다 .
디렉터리 서버가 정보를 추려서 클라이언트에게 보낸다 .
- - 검색된 정보를 클라이언트에게 알려주는 검색된 정보를 클라이언트에게 알려주는 22 가지 패턴가지 패턴
Thank you!Thank you!