Sun Java System Instant Messaging 7.2 관리 설명서

Instant Messaging 사용자 분할 영역 알고리즘

Instant Messaging은 배포 환경에서 사용자들을 최적으로 구분하는 방법을 결정하여 사용자의 그룹이나 분할 영역을 만듭니다. Instant Messaging에서 사용하는 알고리즘은 다음과 같습니다.

  1. 배포 환경에서 사용자 또는 사용자 네트워크 집합 중 하나 이상 및 해당 연결을 결정합니다. 그런 다음 리디렉션 서버에서 각 사용자를 사용자 네트워크에 매핑하는 사용자 대 네트워크 맵이라는 테이블을 만듭니다.

  2. 연결이 약한 구성 요소 각각의 최대 크기가 구성된 분할 영역 크기보다 크지 않도록 최대 분할 영역 크기보다 큰 사용자 네트워크를 가장 약한 연결을 기준으로 하여 분할합니다. 사용자 네트워크를 분할할 경우 사용자 네트워크 간의 연결 수가 적은 것을 약한 연결로 결정할 수 있지만 지리적 제약 조건, 사용자 네트워크당 연결 수, 관리자가 설정한 기타 제약 조건 등 다른 매개 변수도 고려할 수 있습니다.

  3. 크기가 대략 비슷하고 개수가 지정된 분할 영역에 집합을 배포합니다. 먼저 리디렉션 서버에서 이 프로세스의 일부로 네트워크 대 분할 영역 테이블을 만들고, 마지막으로 사용자 대 분할 영역 테이블을 만듭니다. 이러한 테이블은 모두 리디렉션 데이터베이스를 구성합니다. 리디렉션 데이터베이스에서는 분할 영역 아이디로 각 사용자가 매핑됩니다. rdadmin 명령줄 유틸리티를 사용하여 이 데이터베이스를 만들고 관리합니다.


예 7–1 Instant Messaging 리디렉션 이벤트 순서

이 예에서는 클라이언트 리디렉션이 성공하는 이벤트의 순서를 설명합니다.

  1. 관리자가 rdadmin을 실행하여 리디렉션 데이터베이스를 생성하거나 업데이트합니다.

  2. 사용자가 리디렉션 서버에 연결하여 인증을 시도합니다.

  3. 리디렉션 서버에서 사용자의 Identity를 확인한 다음 해당 사용자 아이디를 리디렉션 데이터베이스에서 찾습니다.

  4. 리디렉션 서버에서 사용자 아이디를 찾지 못하면 라운드 로빈 메커니즘으로 결정되는 다음 리디렉션 서버에 연결하여 해당 사용자 아이디를 포함한 리디렉션 데이터베이스를 찾습니다. 리디렉션 서버에서 사용자 아이디를 찾으면 사용자가 할당된 분할 영역 아이디를 가져옵니다.

  5. 리디렉션 서버에서 할당된 분할 영역 아이디를 기준으로 사용자를 리디렉션할 노드를 결정합니다.

  6. 리디렉션 서버에서 리디렉션할 노드가 있는 클라이언트에 오류를 반환하고 해당 클라이언트 연결을 닫습니다.

    리디렉션 서버에서 see-other-host 스트림 오류를 사용하여 클라이언트에 해당 정보를 반환합니다. 자세한 내용은 RFC 3920을 참조하십시오.

  7. 클라이언트에서 오류를 해석하여 오류와 함께 반환된 노드에 연결합니다.

  8. 리디렉션 서버에서 노드를 계속 모니터링하고 필요한 경우 분할 영역 대 호스트 테이블을 업데이트합니다.