구글 웨이브 페더레이션 프로토콜

Google Wave Federation Protocol

Wave Federation Protocol(이전의 Google Wave Federation Protocol)은 Apache Wave에서 사용되는 XMPP(Extensible Messaging and Presence Protocol)의 확장인 개방형 프로토콜입니다.컴퓨터가 지원하는 공동 작업 웨이브 서버 간의 거의 실시간 통신을 위해 설계되었습니다.

개요

현재 개발 중인 Wave Federation Protocol은 전자 메일 프로토콜의 개방성과 병행하여 전자 메일이 인터넷 [1][2][3][4][5]통신의 지배적인 형태로 계승될 수 있도록 의도된 개방형 프로토콜입니다.

유용성

프로토콜이 열려 있기 때문에 누구나 전파 공급자가 되어 다른 사람과 전파를 공유할 수 있습니다.e-메일과 마찬가지로 프로바이더에 구애받지 않고 통신이 가능합니다.예를 들어 조직은 구성원의 전파 공급자로, 개인은 개인 또는 가족 구성원을 위해 사설 전파 서버를, 인터넷 서비스 공급자는 이메일, IM, FTP 등의 보충물로 사용자를 위한 다른 인터넷 서비스로서 전파 서비스를 실행할 수 있습니다.이 모델에서 Google Wave는 많은 웨이브 [4][5]프로바이더 중 하나입니다.

"Google Wave Federation 프로토타입 서버"의 Java 소스 코드는 Apache License 2.0으로 2009년 [6][7]7월에 Mercurial 저장소에 공개되었습니다.

프레임워크

Wave Federation Protocol에 의해 상속되는 Extensible Messaging and Presence Protocol의 기능으로는 Domain Name System(DNS) SRV 레코드사용한IP 주소 및 포트 번호 검출, TLS 인증 및 접속 암호화 등이 있습니다.XMPP 트랜스포트는 트랜스포트레벨로 동작을 암호화합니다.따라서 서로 직접 연결된 서버 간의 암호화 보안만 제공합니다.암호화의 추가 레이어는 암호화 서명과 증명서를 사용하여 웨이브 프로바이더 간에 엔드 투 엔드 인증을 제공하여 모든 웨이브릿 프로바이더가 조작의 속성을 검증할 수 있도록 합니다.따라서 다운스트림웨이브 프로바이더는 웨이브릿 동작이 스푸핑되지 않았는지 확인할 수 있습니다.Wavelet 조작이 다른 Wave Provider의 유저로부터 발신되었다고, 또는 다른 컨텍스트에서 발신되었다고 잘못 주장할 수 없습니다.이를 통해 서로 다른 신뢰할 수 있는 Wave Provider의 2명의 사용자가 악의적인 프로바이더에서 호스트되는 Wavelet의 참가자가 되는 상황을 해결할 수 있습니다.프로토콜에서는 각 참가자가 자체 인증서로 사용자의 작업에 서명해야 합니다.호스트가 전송하는 모든 작업의 시그니처는 참가자에 의해 평가됩니다.이는 악의적인 호스트가 다른 서비스 사용자의 메시지 내용을 변경하거나 스푸핑하는 것을 방지하기 위한 것입니다.모든 서명과 검증은 최종 [4][5]사용자의 클라이언트소프트웨어가 아니라 Wave 프로바이더에 의해 이루어집니다.

모든 wave 및 wavelet(자파)은 도메인 이름 및 ID 문자열인 글로벌하게 고유한 wave id로 식별됩니다.도메인 이름은 웨이브가 발생한 웨이브 공급자를 식별합니다.웨이브와 웨이브렛은 크리에이터의 웨이브 프로바이더에 의해 호스트 됩니다.동일한 웨이브의 웨이브릿은 다른 웨이브 프로바이더에 의해 호스트 될 수 있습니다.그러나 사용자 데이터는 연합되지 않습니다. 즉, 다른 전파 공급자와 공유되지 않습니다.개인 응답 웨이브릿도 가능하며, 다른 참가자는 이 웨이브릿에 대한 지식이나 액세스 권한이 없습니다.프라이빗 웨이브렛이 같은 웨이브 프로바이더상의 유저간에 송신되는 경우는, 부모 웨이브가 [4][5]호스트 되고 있는 장소에 관계없이 페더레이션 되지 않습니다.

동시 페더레이션

웨이브 프로바이더는 하나 이상의 네트워크 서버상에서 웨이브 서비스를 동작시킨다.웨이브 서비스의 중심 부분은 웨이브렛 연산을 저장하는 웨이브 스토어와 웨이브렛 연산을 운영 변환에 의해 해결하고 웨이브렛 연산을 쓰고 웨이브 스토어에서 읽어내는 웨이브 서버입니다.일반적으로 Wave 서비스는 Wave 서비스 프런트엔드에 접속하는 Wave Provider 사용자에게 Wave를 제공합니다.연합을 위해 Wave 서비스는 이러한 Wave Provider의 서버와 통신함으로써 다른 프로바이더의 참가자와 Wave를 공유합니다.웨이브렛의 복사본은 주어진 웨이브렛에 참여하는 모든 웨이브 프로바이더에 배포됩니다.특정 공급자의 웨이브릿 복사본은 로컬 또는 원격일 수 있습니다.이 두 가지 유형의 웨이브릿 복사를 가리킬 때 이 용어를 사용합니다(두 경우 모두 웨이브릿 복사를 가리킵니다만, 웨이브릿을 가리킬 수는 없습니다).Wave 뷰에는 로컬 및 원격 웨이브릿 복사본을 [4][5]동시에 포함할 수 있습니다.

발신측 웨이브 서버는 로컬 참가자와 다른 웨이브 프로바이더의 리모트 참가자가 제출한 웨이브릿 조작의 호스팅과 처리를 담당합니다.웨이브 서버는, 동작 변환을 사용해 송신된 웨이브 렛 조작을 서로 상대적으로 순서화하는 것에 의해서, 동시성 제어를 실시합니다.또한 로컬 웨이브릿에 [4][5]적용하기 전에 작업을 검증합니다.

리모트 웨이브릿은 다른 프로바이더가 호스트하고 로컬 프로바이더가 리모트호스트로부터 취득한 웨이브릿 조작으로 캐시 및 갱신됩니다.로컬 참가자가 웨이브릿 조작을 리모트 웨이브릿에 송신하면, 웨이브 서버는 그 조작을 호스팅 프로바이더의 웨이브 서버에 전송 합니다.그런 다음 변환되고 적용된 작업이 에코백되어 캐시된 [4][5]복사본에 적용됩니다.

웨이브 서비스는 페더레이션게이트웨이와 페더레이션프록시 컴포넌트를 사용하여 다른 웨이브 프로바이더와 통신하고 웨이브를 공유합니다.페더레이션 게이트웨이는 로컬 웨이브릿 조작을 통신하고, 다른 참가자의 리모트 웨이브릿 프로바이더에 새로운 로컬 웨이브릿 조작을 푸시하고, 오래된 웨이브릿 조작의 요구를 이행하고, 웨이브릿 조작의 송신 요구를 처리합니다.페더레이션 프록시는 원격 웨이브릿 작업을 통신하며 원격 공급자의 페더레이션 게이트웨이와 통신하는 웨이브 공급자의 구성 요소입니다.다른 프로바이더로부터 푸시된 새로운 웨이브릿 조작을 수신하고 오래된 웨이브릿 조작을 요구하며 웨이브릿 조작을 다른 [4][5]프로바이더에 송신합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ 유튜브 동영상
  2. ^ "Google Wave Federation Protocol". Archived from the original on 2009-05-30. Retrieved 2009-05-29.
  3. ^ Hachman, Mark (2009-05-28). "Google Reinvents Email, Docs with Google Wave". www.pcmag.com. Retrieved 2009-06-02.
  4. ^ a b c d e f g h "Archived copy". Archived from the original on 2013-03-30. Retrieved 2009-06-05.{{cite web}}: CS1 maint: 제목으로 아카이브된 복사(링크)
  5. ^ a b c d e f g h "Archived copy". Archived from the original on 2013-03-30. Retrieved 2009-06-05.{{cite web}}: CS1 maint: 제목으로 아카이브된 복사(링크)
  6. ^ "Google Wave Federation Protocol and Open Source Updates".
  7. ^ "Google Code Archive - Long-term storage for Google Code Project Hosting".

외부 링크