KR20060094854A - 애플리케이션의 하나의 사용자 클래스에 그 애플리케이션의다른 사용자 클래스가 시각적으로 경험하고 있는 것의뷰를 제공하기 위한 시스템 및 방법 - Google Patents

애플리케이션의 하나의 사용자 클래스에 그 애플리케이션의다른 사용자 클래스가 시각적으로 경험하고 있는 것의뷰를 제공하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20060094854A
KR20060094854A KR1020060001813A KR20060001813A KR20060094854A KR 20060094854 A KR20060094854 A KR 20060094854A KR 1020060001813 A KR1020060001813 A KR 1020060001813A KR 20060001813 A KR20060001813 A KR 20060001813A KR 20060094854 A KR20060094854 A KR 20060094854A
Authority
KR
South Korea
Prior art keywords
application
user
pip view
class
computing device
Prior art date
Application number
KR1020060001813A
Other languages
English (en)
Other versions
KR101201191B1 (ko
Inventor
제레미 맥스 스티븐스
칸찬 미트라
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20060094854A publication Critical patent/KR20060094854A/ko
Application granted granted Critical
Publication of KR101201191B1 publication Critical patent/KR101201191B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1827Network arrangements for conference optimisation or adaptation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Digital Computer Display Output (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

애플리케이션의 하나의 사용자 클래스에, 동일한 애플리케이션의 다른 사용자 클래스에서의 통상적인 사용자가 시각적으로 경험하고 있는 것의 뷰를 제공하기 위한 기술이 제공된다. 애플리케이션과 상호작용하는 클라이언트 애플리케이션은, 애플리케이션에 의해 지원되는 다른 사용자 클래스들 중 하나에서의 통상적인 사용자가 시각적으로 경험하고 있는 것의 PIP 뷰를 갖는 옵션을 사용자에게 제공한다. 사용자가, 동일한 애플리케이션의 다른 사용자 클래스들 중 특정된 것에서의 통상적인 사용자가 보고 있는 것을 표현하는 PIP 뷰를 디스플레이하도록 요청하면, PIP 뷰 윈도는 사용자의 디스플레이 화면 상에 자동으로 렌더링된다. PIP 뷰 윈도는 다른 사용자 클래스들 중 특정된 것에서의 통상적인 사용자가 보고 있는 것을 표현하지만, 사용자가 애플리케이션과 상호작용할 수 있는 "활성(active)" 인터페이스가 아니다.
PIP(picture-in-picture), 애플리케이션, 사용자 클래스, 디스플레이, 클라이언트, 서버, 컴퓨팅 장치

Description

애플리케이션의 하나의 사용자 클래스에 그 애플리케이션의 다른 사용자 클래스가 시각적으로 경험하고 있는 것의 뷰를 제공하기 위한 시스템 및 방법{SYSTEM AND METHOD FOR PROVIDING ONE CLASS OF USERS OF AN APPLICATION A VIEW OF WHAT ANOTHER CLASS OF USERS OF THE APPLICATION IS VISUALLY EXPERIENCING}
도 1은 기재된 기술들이 동작할 수 있는 환경을 예시하는 고레벨 블록도.
도 2는 일 실시예에 따라, 협업 클라이언트 애플리케이션, 의사 클라이언트 컴포넌트 및 협업 서버 애플리케이션 사이의 예시적인 정보의 흐름을 도시하는 블록도.
도 3은 일 실시예에 따라, PIP 뷰 윈도(view window)를 디스플레이하는 샘플 발표자의 디스플레이 화면을 예시하는 디스플레이 도면.
도 4는 일 실시예에 따라, 협업 클라이언트 애플리케이션, 루프백 컴포넌트, 의사 클라이언트 컴포넌트 및 협업 서버 애플리케이션 사이의 예시적인 정보의 흐름을 도시하는 블록도.
도 5는 일 실시예에 따라, 루프백 컴포넌트의 프로세싱을 예시하는 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
102: 서버 애플리케이션
104, 106, 108: 클라이언트 애플리케이션
202, 402: 협업 클라이언트 애플리케이션
204, 404: 클라이언트 컴퓨팅 장치
206, 406: 협업 서버 애플리케이션
208, 408: 서버 컴퓨팅 장치
210, 312: 의사 클라이언트 컴포넌트
302: 참가자의 디스플레이 화면
304: 참석자 데스크톱
306: 발표자의 디스플레이 화면
308: 발표자 데스크톱
310: PIP 뷰 윈도
개시된 기술은 일반적으로 서로 다른 사용자 클래스들에 서로 다른 사용자 인터페이스들을 제공하는 애플리케이션 프로그램들에 관한 것으로, 특히, 하나의 사용자 클래스에 다른 사용자 클래스가 시각적으로 경험하고 있는 것의 뷰(view)를 제공하는 것에 관한 것이다.
컴퓨터의 확산 및 인터넷의 출현에 의하여, 특히, 월드 와이드 웹(World Wide Web)("web")의 성장에 의하여, 컴퓨터 시스템들을 통한 대화 참가자들 간의 실시간 대화들이 점점 일반화되고 있다. 컴퓨터 네트워크들을 거쳐서 가상적으로 일어나는 이 대화들은, 종래의 얼굴을 마주보고 대화하는 것(face-to-face meeting)을 점차 대신하고 있다.
잠재적으로 지리적으로 분산된 사람들 사이에서 이들 가상 미팅들을 수행하기 위하여 MICROSOFT LIVE MEETING과 같은 협업(collaboration) 애플리케이션들의 이용이 증가하고 있다. 예를 들어, 미팅 오거나이저(meeting organizer)는 협업 서비스 서버로 미팅을 스케줄링하고, 미팅 참가자들의 목록을 제공할 수 있다. 다음으로, 미팅 오거나이저는 사람들에게 초대장을 전송함으로써 스케줄링된 미팅에 참석하도록 참가자들을 초대한다. 초대장은, 참가자가 미팅에 참석해야 할 미팅 시간, 미팅 위치, 즉, URL(universal resource locator), 미팅 식별자 및 미팅 패스워드와 같은 특권부여 정보(privileged information)를 포함한다.
이들 협업 애플리케이션들은 전형적으로 다수의 참가자 클래스를 제공한다. 예를 들어, 가상 미팅의 하나의 참가자 클래스는 "발표자들(presenters)"일 수 있고, 다른 참가자 클래스는 "참석자들(attendees)"일 수 있다. 참가자 클래스들은 사용권한(permission)에 기초하여 구별될 수 있으며, 발표자들은 참석자들보다 미팅 동안에 추가 또는 더 많은 기능을 수행하도록 하는 사용권한을 갖는다. 서로 다른 사용권한을 제공하기 위하여, 협업 애플리케이션은 보통 참석자들에게 제공되는 애플리케이션 뷰와 다른 애플리케이션 뷰 - 사용자 인터페이스(user interface: UI) - 를 발표자들에게 제공한다.
서로 다른 참가자 클래스에 서로 다른 데스크톱을 제공하는 것에 대한 하나의 문제점은, 하나의 참가자 클래스, 예를 들어, 발표자들은 종종 다른 참가자 클 래스, 예를 들어, 참석자들이 보고 있는 것에 관하여 양호한 피드백을 제공받지 않는다는 점이다. 예를 들어, 가상 미팅 경험(experience) 동안, 참석자들은 발표자들과의 미팅에서 이용가능한 UI 컴포넌트들 전부를 보기 위한 사용권한을 갖지 않을 수 있다. 따라서, 미팅과 함께 수행되는 음성 대화들 동안, 발표자들은 참석자가 볼 수 있는 것을 정확하게 알지 못할 수 있고, 참석자들이 실제로 할 수 있는 것에 관하여 혼동할 수 있다.
참가자의 데스크톱 또는 그 데스크톱의 일부의 뷰가 협업 세션에서 다른 참가자들과 공유되는 다른 문제점이 발생한다. 예를 들어, 애플리케이션 공유는, 특정 발표자, 예를 들어, 호스트가 미팅에서 다른 참가자들과 자신의 화면의 일부를 공유할 수 있게 한다. 공유되어 있는 이미지는 다른 참가자들의 컴퓨터 화면들에 대하여 접속을 통해, 통상적으로는 컴퓨터 네트워크를 통해 이용가능하게 된다. 공유되어 있는 이미지는, 통상적으로 네트워크를 거쳐서, 애플리케이션 공유 호스트의 컴퓨터로부터 다른 참가자들의 컴퓨터들로 전송하는 것에 의해 이용가능하게 되기 때문에, 네트워크 전송 대기시간 및/또는 감속과 컴퓨터 성능 차이 등의 문제들이, 미팅의 참가자들의 일부 또는 전부로 하여금, 애플리케이션 공유 세션의 호스트에 대하여 디스플레이되고 있는 것보다 현저하게 늦어지게 할 수 있다. 따라서, 애플리케이션 공유 세션을 호스팅하고 있는 발표자는 미팅에서의 다른 참가자들이 보고 있는 것을 아는데에 어려움이 있다.
협업 세션에서 하나의 참가자 클래스, 즉, 발표자들이, 다른 참가자 클래스, 즉, 참석자들이 협업 세션 동안 시각적으로 경험하고 있는 것의 뷰를 가질 수 있게 하는 기술을 갖는 것이 바람직하다.
애플리케이션의 하나의 사용자 클래스에, 동일한 애플리케이션의 다른 사용자 클래스에서의 통상적인 사용자가 시각적으로 경험하고 있는 것의 뷰(본원에서는 PIP(picture-in-picture) 뷰로서 지칭됨)를 제공하기 위한 방법 및 시스템이 제공된다. 일 실시예에 있어서, 다수의 사용자 클래스를 지원하는 애플리케이션은, 하나의 클래스의 사용자들에게, 다른 클래스의 사용자들이 현재 보고 있는 것을 모방하는 PIP 뷰를 사용자들의 컴퓨팅 장치 디스플레이 화면 상에 디스플레이하기 위한 옵션을 제공한다. 애플리케이션은 사용자 클래스들이 협업 애플리케이션과 같은 애플리케이션을 통해 서로 통신하는 것이다. 애플리케이션은 사용자 클래스에 기초하여 서로 다른 애플리케이션 그래픽 사용자 인터페이스들(graphical user interfaces: GUIs) 또는 데스크톱들(desktops)을 제공할 수 있다. "데스크톱"이라는 용어는, 애플리케이션에 의해 발생/생성/제공되는 하나 이상의 윈도 또는 프레임의 모음(collection)을 지칭한다. 예를 들어, 애플리케이션은, 사용자에게 사용자 식별자 및 패스워드와 같은 자격증명(credential)을 제공하도록 요구할 수 있고, 제공된 자격증명에 기초하여, 그 사용자를, 지원되는 사용자 클래스들 중 하나에 할당하고, 할당된 사용자 클래스에 적절한 데스크톱을 그 사용자에게 제시할 수 있다.
비록 하나의 클래스에서의 애플리케이션의 사용자들에게, 다른 클래스에서의 애플리케이션의 사용자들이 현재 경험하고 있는 것을 모방하는 PIP 뷰를 제공하기 위한 기술들이 협업 서버 애플리케이션과 협업 클라이언트 애플리케이션의 동작과 관련하여 더 개시되어 있지만, 이 기술분야의 당업자는, 설명된 기술들은 다수의 사용자 클래스를 지원하는 임의의 애플리케이션에 용이하게 적용될 수 있다는 것을 알 것이다. 이 기술분야의 당업자는 또한 설명된 기술들은 클라이언트-서버 패러다임 이외의 애플리케이션들에도 용이하게 적용될 수 있다는 것을 알 것이다. 예를 들어, 애플리케이션은 사용자 클래스에 따라 서로 다른 사용자 인터페이스를 제공할 수 있고, 사용자 인터페이스들은 하기에서 더 논의되는 의사 클라이언트 컴포넌트(pseudo client component) 또는 루프백 컴포넌트를 포함할 수 있다.
일 실시예에 있어서, 협업 서버 애플리케이션은 하나의 클래스의 사용자들에게, 다른 클래스의 사용자들이 현재 보고 있는 것을 모방하는 PIP 뷰를 사용자의 디스플레이 화면 상에 디스플레이하기 위한 옵션을 제공한다. 예를 들어, 협업 서버 애플리케이션은 참가자들 및 참석자들과 같은 사용자 클래스들을 지원할 수 있고, 협업 서버 애플리케이션은 협업 세션에서의 발표자들에게, 협업 세션에서의 참석자들이 현재 보고 있는 것을 모방하는 PIP 뷰를 발표자의 디스플레이 화면 상에 디스플레이하는 옵션을 제공할 수 있다. PIP 뷰는 통상의 참석자들의 시각적 경험이 되는 것을 모방하고, 실제 참석자의 데스크톱의 모사(replica)가 아니다. 다른 실시예들에 있어서, 협업 서버 애플리케이션은 또한 협업 세션에서의 참석자들에게, 협업 세션에서의 발표자들 또는 다른 사용자 클래스가 현재 보고 있는 것을 모방하는 PIP 뷰를 참석자들의 디스플레이 화면 상에 디스플레이하는 옵션을 제공할 수 있다.
일 실시예에 있어서, 사용자가 컴퓨팅 장치에서 협업 클라이언트 애플리케이션을 실행하고, 예를 들어, 협업 세션에서의 발표자로서 협업 서버 애플리케이션에 등록한 경우, 협업 서버 애플리케이션은 발표자의 컴퓨팅 장치에 의사 클라이언트 컴포넌트를 다운로드할 수 있다. 다른 실시예에 있어서, 의사 클라이언트 컴포넌트는 협업 클라이언트 애플리케이션에 포함될 수 있다. 협업 세션에서의 발표자가 PIP 뷰를 요청하면, 의사 클라이언트 컴포넌트는 자동으로 협업 서버 애플리케이션과의 새로운 제2 접속, 즉, 통신 채널을 확립하고, 참석자로서 협업 세션에 합류하도록 요청한다. 접속을 확립하면, 협업 서버 애플리케이션은 의사 클라이언트 컴포넌트를 협업 세션에서의 다른 참석자로서만 취급하고, 의사 클라이언트 컴포넌트에 협업 세션 메타데이터(metadata)를 전송하기 시작한다. 의사 클라이언트 컴포넌트는 메타데이터를 수신하고, 그 메타데이터를, 참석자의 컴퓨팅 장치에서 그 프로세싱이 일어나고 있는 것처럼 처리하고, 그 메타데이터를, 발표자의 디스플레이 화면 상에 디스플레이되는 윈도로 렌더링(rendering)한다. 일 실시예에서, 그 윈도의 패널들 및 서브윈도들에 디스플레이된 데이터는 통상적인 참석자의 데스크톱에 실제로 디스플레이되는 데이터의 표현(representation)일 수 있다. 예를 들어, PIP 디스플레이에서의 "질의응답(Question & Answer)" 패널은 응답되고 있는 질의들의 단편들(snippets)을 디스플레이할 수 있다. 대안적으로, 질의응답 패널은 모든 참석자들 앞으로 되어 있는 질의들만을 디스플레이할 수 있다. 다른 예에서, 윈도의 서브윈도를 공유하는 애플리케이션은 서브윈도의 스케일링(scaling)의 표현 을 디스플레이하고, 공유되어 있는 애플리케이션의 콘텐츠를 디스플레이하지 않을 수 있다.
협업 애플리케이션이 2 이상의 사용자 클래스들, 즉, 발표자들 및 참석자들 이외의 사용자 클래스들을 지원하는 경우, 발표자는 PIP 뷰가 희망하는 사용자 클래스를 특정하기 위한 옵션을 제공받을 수 있고, 의사 클라이언트 컴포넌트는 협업 서버 애플리케이션과의 새로운 제2 접속을 확립하고, 특정된 클래스의 멤버로서 협업 세션에 합류하도록 요청할 수 있다. 접속을 확립하면, 협업 서버 애플리케이션은 의사 클라이언트 컴포넌트를 협업 세션에서의 특정된 클래스의 다른 멤버로서만 취급하고, 의사 클라이언트 컴포넌트에 협업 세션 메타데이터를 전송하기 시작한다. 의사 클라이언트 컴포넌트는 메타데이터를 수신하고, 특정된 멤버의 컴퓨팅 장치에서 프로세싱이 일어나고 있는 것처럼 그 메타데이터를 처리하고, 발표자의 디스플레이 화면 상에 디스플레이되는 윈도로 그 메타데이터를 렌더링한다.
다른 실시예에서, 협업 클라이언트 애플리케이션은 의사 클라이언트 컴포넌트 및 애플리케이션 루프백 컴포넌트를 포함한다. 협업 세션에서의 발표자가 PIP 뷰를 요청하면, 애플리케이션 루프백 컴포넌트는 협업 클라이언트 애플리케이션으로부터 협업 서버 애플리케이션으로 전송되는 이벤트들을 감청(listening)한다. 애플리케이션 루프백 컴포넌트는 유출되는 이벤트와 연관된 데이터의 카피(copy)를 형성하고, 그 데이터를 의사 클라이언트 컴포넌트로 전송한다. 애플리케이션 루프백 컴포넌트로부터 데이터를 수신하면, 의사 클라이언트 컴포넌트는 그 데이터를, 의사 클라이언트 컴포넌트가 협업 세션에서의 참석자인 것처럼 처리한다. 의사 클 라이언트 컴포넌트는 참석자의 데스크톱에서 일어나는 프로세싱을 모방하고, 발표자의 디스플레이 화면 상에 참석자의 데스크톱을 표현하는 윈도를 렌더링한다. 이 기술분야의 당업자이면, 애플리케이션 루프백 컴포넌트 및/또는 의사 클라이언트 컴포넌트는, 사용자가 협업 세션에서의 발표자로서 협업 서버 애플리케이션에 등록한 경우에 협업 서버 애플리케이션에 의해 사용자 컴퓨팅 장치로 다운로드될 수 있다는 것을 알 것이다.
일 실시예에서, 3 이상의 사용자 클래스를 지원하는 애플리케이션은 하나의 클래스에서의 사용자들에게, 클래스를 선택하기 위한 옵션을 제공하며, 이에 따라, 선택된 클래스에서의 사용자들이 현재 보고 있는 것을 모방하는 PIP 뷰를 사용자의 데스크톱의 부분으로서 디스플레이할 수 있다. 예를 들어, 3개의 사용자 클래스들 A, B 및 C를 지원하는 애플리케이션은 클래스 A에서의 사용자에게 어느 한쪽의 클래스 B 또는 C를 선택하기 위한 옵션을 제공하며, 이에 따라, 어느 한쪽의 클래스 B 또는 클래스 C에서의 통상적인 사용자가 보고 있는 것을 볼 수 있다. 마찬가지로, 애플리케이션은 클래스 B에서의 사용자에게 어느 한쪽의 클래스 A 또는 C를 선택하기 위한 옵션을 제공하고, 클래스 C에서의 사용자에게 어느 한쪽의 클래스 A 또는 B를 선택하기 위한 옵션을 제공할 수 있다.
협업 세션에서의 발표자에게 통상적인 참석자가 현재 보고 있는 것의 뷰를 제공하는 것에 대한 하나의 기술적 장점은, 발표자가 그 자신의 작용들이 협업 세션에서의 다른 참가자들의 시각적 경험에 대하여 어떤 영향을 미치는지를 알 수 있다는 점이다. 예를 들어, 통상적인 참석자가 현재 보고 있는 것의 뷰가 느리다면, 이것은, 감속하도록 하는, 발표자에 대한 표시로서 역할을 할 수 있다. 따라서, 발표자는, 발표자가 통상적인 참석자가 현재 보고 있는 것을 보기 위한 옵션을 제공받지 못한 경우보다 향상된 사용자 경험을 제공받는다.
설명된 기술들의 다양한 실시예들 및 그 장점들은 도 1 내지 도 5를 참조함으로써 잘 이해될 수 있다. 도면들의 요소들은 본 발명의 원리들을 명확하게 예시하는 것에 중점을 두고, 반드시 스케일링할 필요는 없다. 도면들 전체에 걸쳐서, 여러 도면들의 동일 및 대응하는 부분들에 대하여 동일한 번호들이 이용된다.
도 1은 설명된 기술들이 동작할 수 있는 환경을 예시하는 고레벨 블록도이다. 도시된 바와 같이, 이 환경은 네트워크(108)를 통해 클라이언트 애플리케이션들(104 내지 108)에 연결된 서버 애플리케이션(102)을 포함한다. 서버 애플리케이션은 서로 다른 사용자 클래스에 서로 다른 데스크톱을 제공하고, 사용자 클래스들이 제공된 GUI들을 이용하여 서버 애플리케이션을 통해 서로 통신할 수 있게 한다. 서버 애플리케이션은 서버 애플리케이션의 하나 이상의 사용자 클래스에, 서버 애플리케이션의 다른 사용자 클래스들 중 하나에서의 통상적인 사용자가 시각적으로 경험하고 있는 것의 PIP 뷰를 디스플레이 화면 상에 디스플레이하기 위한 옵션을 제공한다. PIP 뷰는, 서버 애플리케이션이 다른 사용자 클래스들 중 선택된 하나에서의 통상적인 사용자를 위해 생성하는 데스크톱을 모방한다. 클라이언트 애플리케이션들은 서버 애플리케이션에 접속을 제공하여 액세스하는 애플리케이션들이고, 일부 동작들을 수행하기 위해 서버 애플리케이션에 의존한다. 사용자들은 클라이언트 애플리케이션을 이용하여 서버 애플리케이션에 의해 제공되는 서비스들에 접속하고 이용한다.
예시적으로, 서버 애플리케이션은 3개의 사용자 클래스들 A, B 및 C를 지원할 수 있고, 3개의 클래스 각각의 사용자들에게, 서버 애플리케이션을 통해 다른 사용자들과 상호작용하는데에 사용하기 위해 상이한 데스크톱을 제공할 수 있다. 도 1에서, 서버 애플리케이션에 의해 제공되는 서비스들을 각각 액세스하기 위해서 사용자 클래스 A에 속하는 사용자("사용자 A")가 클라이언트 애플리케이션(104)을 이용하고 있을 수 있고, 사용자 클래스 B에 속하는 사용자("사용자 B")가 클라이언트 애플리케이션(106)을 이용하고 있을 수 있고, 사용자 클래스 C에 속하는 사용자("사용자 C")가 클라이언트 애플리케이션(108)을 이용하고 있을 수 있다. 따라서, 서버 애플리케이션은 클라이언트 애플리케이션들 각각이 개별 사용자 클래스에 적절한 데스크톱을 디스플레이하게 할 수 있다. 예를 들어, 사용자 A의 클라이언트 애플리케이션은, 서버 애플리케이션이 사용자 클래스 A의 사용자들에게 제공하는 데스크톱을 사용자 A의 디스플레이 화면 상에 디스플레이한다. 마찬가지로, 사용자 B 및 사용자 C의 클라이언트 애플리케이션은 각각, 서버 애플리케이션이 사용자 클래스 B 및 C 각각의 사용자들에게 제공하는 데스크톱을 사용자 B 및 사용자 C의 개별 디스플레이 화면 상에 디스플레이한다. 사용자들 각각, 즉, 사용자 A, 사용자 B 및 사용자 C는 다른 사용자 클래스들에서의 통상적인 사용자가 보고 있는 것의 PIP 뷰를 사용자의 디스플레이 화면 상에 디스플레이하기 위한 옵션을 선택할 수 있다. 예를 들어, 사용자 A는 어느 한쪽의 사용자 클래스 B 또는 사용자 클래스 C에서의 통상적인 사용자가 보고 있는 것의 PIP 뷰를 디스플레이하는 옵션을 가 질 수 있고, 사용자 B는 어느 한쪽의 사용자 클래스 A 또는 사용자 클래스 C에서의 통상적인 사용자가 보고 있는 것의 PIP 뷰를 디스플레이하는 옵션을 가질 수 있고, 사용자 C는 어느 한쪽의 사용자 클래스 A 또는 사용자 클래스 B에서의 통상적인 사용자가 보고 있는 것의 PIP 뷰를 디스플레이하는 옵션을 가질 수 있다. 도 1에 도시된 환경에서, 사용자 A는 사용자 클래스 B에서의 통상적인 사용자가 보고 있는 것의 PIP 뷰를 디스플레이하는 것을 선택하고, 사용자 B와 사용자 C는 각각 사용자 클래스 A에서의 통상적인 사용자가 보고 있는 것의 PIP 뷰를 디스플레이하는 것을 선택한다.
다른 실시예들에서, 서버 애플리케이션은, 사용자 액세스 권한 또는 레벨에 기초하여 사용자 클래스들 중 하나에서의 통상적인 사용자가 경험하고 있는 것의 PIP 뷰를 사용자들이 디스플레이할 수 있게 할 수 있다. 액세스 권한을 이용하면, 서버 애플리케이션은 사용자에게, 사용자의 사용자 클래스보다 작거나 낮은 권한을 갖는 사용자 클래스에서의 통상적인 사용자가 경험하고 있는 것의 PIP 뷰만을 디스플레이하기 위한 옵션을 제공할 수 있다. 예를 들어, 사용자 클래스 A에서의 사용자들은 사용자 클래스 B에서의 사용자들보다 높은 액세스 레벨에 있고, 사용자 클래스 B에서의 사용자들은 사용자 클래스 C에서의 사용자들보다 높은 액세스 레벨에 있다고 가정하면, 서버 애플리케이션은, 사용자 클래스 A에서의 사용자들이, 사용자 클래스 B 또는 C에서의 통상적인 사용자가 보고 있는 것의 PIP 뷰를 디스플레이할 수 있게 하고, 사용자 클래스 B에서의 사용자들이, 사용자 클래스 C에서의 통상적인 사용자가 보고 있는 것의 PIP 뷰를 디스플레이할 수 있게 하고, 사용자 클래 스 C에서의 사용자들이 PIP 뷰를 디스플레이할 수 있게 하지 않는다.
네트워크는, 예를 들어, 연결된 컴퓨터들 사이의 전자 콘텐츠의 전송을 용이하게 하는 통신 링크이다. 일 실시예에서, 네트워크는 인터넷을 포함한다. 네트워크는 LAN(local area network), WAN(wide area network), 점대점 다이얼-업 접속(point-to-point dial-up connection) 등과 같은 다른 유형의 하나 이상의 네트워크로 이루어질 수 있다는 것을 알 것이다. 또한, 네트워크는 존재하지 않을 수 있다는 것을 알 것이다. 예를 들어, 클라이언트 애플리케이션들 및 서버 애플리케이션은 둘다 동일한 컴퓨팅 시스템에 존재할 수 있고, 그 컴퓨팅 시스템에서 통상적으로 지원되는, 프로세스간 통신(interprocess communication), RFC(remote function call), 내부 통신 버스들 등과 같은 통신 메커니즘을 통하여 통신할 수 있다.
서버 애플리케이션, 클라이언트 애플리케이션 및 본원에 설명된 다른 컴포넌트들이 실행할 수 있는 컴퓨터 시스템들은 중앙처리장치, 메모리, 입력 장치들(예를 들어, 키보드와 포인팅 장치들), 출력 장치들(예를 들어, 디스플레이 장치들) 및 저장 장치들(예를 들어, 디스크 드라이브들)을 포함할 수 있다. 메모리와 저장 장치들은 서버 애플리케이션, 클라이언트 애플리케이션 및 다른 컴포넌트들을 구현하는 명령들을 포함할 수 있는 컴퓨터 판독가능한 매체이다. 또한, 데이터 구조들 및 메시지 구조들은 통신 링크에서의 신호와 같이, 데이터 전송 매체를 통해 저장 또는 전송될 수 있다. 인터넷, LAN, WAN, 점대점 다이얼-업 접속, 셀룰러 전화 네트워크(cell phone network) 등과 같은 다양한 통신 링크들이 이용될 수 있다.
설명된 기술들의 실시예들은 개인용 컴퓨터들, 서버 컴퓨터들, 컴퓨팅 장치들, 핸드-헬드(hand-held) 또는 랩톱 장치들, 멀티프로세서 시스템들, 마이크로프로세서-기반 시스템들, 프로그램가능 가전 제품(programmable consumer electronics), 디지털 카메라들, 네트워크 PC들, 미니컴퓨터들, 메인프레임 컴퓨터들, 상기 시스템들 또는 장치들 중 임의의 것을 포함하는 분산형 컴퓨팅 환경들 등을 포함하는 다양한 운영 환경들에서 구현될 수 있다. 컴퓨터 시스템들은 셀룰러 전화기들, PDA(personal digital assistant)들, 스마트 폰들, 개인용 컴퓨터들, 프로그램가능 가전 제품들, 디지털 카메라들 등일 수 있다.
기술들은, 하나 이상의 컴퓨터들 또는 다른 장치들에 의해 실행되는, 프로그램 모듈들과 같은, 컴퓨터 실행가능한 명령들의 일반적인 문맥에서 설명될 수 있다. 일반적으로, 프로그램 모듈들은 특정 태스크들을 수행하거나 특정 추상 데이터 유형(abstract data type)들을 구현하는 루틴들, 프로그램들, 객체들, 컴포넌트들, 데이터 구조들 등을 포함한다. 통상적으로, 프로그램 모듈들의 기능은 다양한 실시예들에서 필요로 하는 바에 따라 결합 또는 분산될 수 있다.
도 2는 일 실시예에 따라, 협업 클라이언트 애플리케이션, 의사 클라이언트 컴포넌트 및 협업 서버 애플리케이션 사이의 예시적인 정보의 흐름을 도시하는 블록도이다. 예시적으로, 협업 서버 애플리케이션은 2개의 사용자 클래스, 즉, "발표자들"과 "참석자들"을 지원할 수 있고, 통상적인 참석자들이 시각적으로 경험하고 있는 것의 PIP 뷰를 발표자들이 디스플레이할 수 있게 할 수 있다. 이 예에서, 사용자는 클라이언트 컴퓨팅 장치(204)에서 협업 클라이언트 애플리케이션(202)을 실행한다. 사용자는 협업 클라이언트 애플리케이션을 이용하여, 서버 컴퓨팅 장치(208)에서 실행하는 협업 서버 애플리케이션(206)에 접속하고, 협업 서버 애플리케이션에 의해 호스팅되는 협업 세션에 발표자로서 참가한다(단계 1). 협업 서버 애플리케이션은 협업 클라이언트 애플리케이션으로 하여금, 발표자가 협업 세션에서의 발표자로서 참가할 수 있게 하는 클라이언트 컴퓨팅 장치에 발표자의 데스크톱을 디스플레이하게 한다. 발표자의 데스크톱은 또한 발표자가 협업 세션에서의 통상적인 참석자가 시각적으로 경험하고 있는 것의 PIP 뷰를 디스플레이할 수 있게 할 수 있다. 발표자가 PIP 뷰를 요청하면, 클라이언트 컴퓨팅 장치에서의 의사 클라이언트 컴포넌트(210)가 실행하기 시작하고, 협업 서버 애플리케이션과의 새로운 접속을 확립하고, 협업 세션에서 참석자로서 참가한다(단계 2). 일 실시예에서, 협업 서버 애플리케이션은, 클라이언트 컴퓨팅 장치의 사용자가 협업 세션에서 참가자로서 협업 서버 애플리케이션에 접속한 경우에 클라이언트 컴퓨팅 장치에 의사 클라이언트 컴포넌트를 다운로드할 수 있다. 다른 실시예에서, 의사 클라이언트 컴포넌트는 예를 들어, 협업 클라이언트 애플리케이션의 컴포넌트로서 클라이언트 컴퓨팅 장치에 제공될 수 있다.
의사 클라이언트 컴포넌트와 협업 서버 애플리케이션 사이의 새로운 접속은 임의의 다른 참석자 접속이 되는 동일한 방식으로 확립 또는 설정된다. 협업 서버 애플리케이션은 의사 클라이언트 컴포넌트와의 접속을 협업 세션에서의 다른 협업 클라이언트 애플리케이션과의 접속으로서 취급하고, 의사 클라이언트 컴포넌트에 협업 세션 메타데이터를 전송하기 시작한다. 의사 클라이언트 컴포넌트는 협업 서 버 애플리케이션으로부터 협업 세션 메타데이터를 수신하고, 그 메타데이터를, 클라이언트 컴퓨팅 장치의 디스플레이 장치에, PIP 뷰 윈도와 같은, 그 자신의 윈도에 렌더링하여, 미팅에서의 통상적인 참석자가 보고, 행할 수 있는 것을 볼 수 있게 한다. 일반적인 용어들에서, 의사 클라이언트 컴포넌트는 애플리케이션 특정(application specific)이고, 애플리케이션을 위한 소형 뷰어 콘솔(miniature viewer console)로서 기능, 즉, 참석자 콘솔에서 일어나는 프로세싱을 모방한다. 이 예에서, 의사 클라이언트 컴포넌트는 그 메타데이터를, 그 프로세싱이 참석자의 컴퓨팅 장치에서 실행하는 협업 클라이언트 애플리케이션에 의해 수행되고 있었던 것처럼 처리하기 위한 로직을 포함한다. 예를 들어, 수신된 메타데이터는 협업 세선에서의 참석자들에게 현재 부여되어 있는, 슬라이드(slide)들을 보기 위한 특권과 같은, 특정한 특권을 제거하기 위한 커맨드를 포함할 수 있다. 이 경우, 의사 클라이언트 컴포넌트는 디스플레이된 PIP 뷰 윈도에서 이 특권을 제공한 패널 및/또는 서브윈도를 제거할 수 있다. 다른 예에서, 수신된 메타데이터는 특정한 슬라이드를 프리젠테이션(presentation)으로 디스플레이하기 위한 커맨드를 포함할 수 있다. 이 경우, 의사 클라이언트 컴포넌트는 디스플레이된 PIP 뷰 윈도에서 적절한 패널 또는 서브윈도에 특정된 슬라이드를 디스플레이할 수 있다. 대안적으로, 의사 클라이언트 컴포넌트는, 특정된 슬라이드가, 디스플레이된 PIP 뷰 윈도에서 적절한 패널 또는 서브윈도에 디스플레이되어 있다는 표시를 디스플레이할 수 있다. 다른 예에서, 수신된 메타데이터는 발표자의 디스플레이 화면으로부터의 하나 이상의 "타일들(tiles)" 및, 참석자의 디스플레이 화면 상에서 타일들을 배치할 곳 과 관련된 정보를 포함할 수 있어 발표자의 디스플레이 화면 상에 생성되고 있는 이미지를 참석자의 디스플레이 화면 상에 생성할 수 있다. 이 경우, 의사 클라이언트 컴포넌트는 타일들을 PIP 뷰 윈도에 적절한 사이즈로 스케일링하고, 그 타일들을 PIP 뷰 윈도에서 적절한 위치에 렌더링할 수 있다. 이러한 방식으로, 타일 갱신들이 협업 서버 애플리케이션을 통하여 발표자의 데스크톱으로부터 참석자의 데스크톱으로 전송되므로, 발표자의 PIP 뷰 윈도는 또한 참석자의 데스크톱과 마찬가지로 갱신될 것이다.
도 3은 일 실시예에 따라, PIP 뷰 윈도를 디스플레이하는 샘플 발표자의 디스플레이 화면을 예시하는 디스플레이 도면이다. 참석자 데스크톱(304)을 디스플레이하는 참석자의 디스플레이 화면(302)이 도시되어 있고, 발표자 데스크톱(308) 및 PIP 뷰 윈도(310)를 디스플레이하는 발표자의 디스플레이 화면(306)이 도시되어 있다. 협업 서버 애플리케이션은 협업 세션에서의 실제 참석자에게 참석자 데스크톱을 제공할 수 있다. 도시된 바와 같이, 참석자 데스크톱은 3개의 패널들("A", "B" 및 "C")과 애플리케이션 서브윈도를 포함하는 윈도이다. 이 경우, 의사 클라이언트 컴포넌트는 참석자 데스크톱 상에 현재 디스플레이되고 있는 3개의 패널들("A", "B" 및 "C")과 애플리케이션 서브윈도의 표현을 포함하는 PIP 뷰 윈도를 발표자의 디스플레이 화면 상에 디스플레이할 수 있다. 이와 같이, PIP 뷰 윈도는 참석자 데스크톱의 표현이다. 일부 실시예들에 있어서, PIP 뷰 윈도는 예를 들어, 발표자에 의해, 디스플레이 화면의 상이한 영역으로 재배치, 리사이징(resizing), 확장, 접힘(collapse) 등이 될 수 있다.
일 실시예에서, 의사 클라이언트 컴포넌트는 PIP 뷰 윈도, 및 PIP 뷰 윈도에서 보다 작은 사이즈로 디스플레이되는 데이터를 스케일링할 수 있다. 다른 실시예들에서, 의사 클라이언트 컴포넌트는 디스플레이 장치에서, 발표자의 데스크톱의 윈도들 중 하나와 같이, 다른 윈도에 PIP 뷰 윈도를 "고정(anchor)"시킬 수 있다. 또 다른 실시예들에서, 의사 클라이언트 컴포넌트는 PIP 뷰 윈도에서 데이터의 표현을 디스플레이할 수 있다. 예를 들어, 그 표현은, 데이터가 PIP 뷰 윈도에서의 하나 이상의 패널 또는 서브윈도에 디스플레이되고 있다는 시각적 표시일 수 있다. 또 다른 실시예들에서, 의사 클라이언트 컴포넌트는 데이터를 요약하여 그 요약을 PIP 뷰 윈도에 디스플레이할 수 있다. 예를 들어, 의사 클라이언트 컴포넌트는 PIP 뷰 윈도에서의 하나 이상의 패널 또는 서브윈도에 데이터의 "단편들"을 디스플레이할 수 있다.
도 4는 일 실시예에 따른, 협업 클라이언트 애플리케이션, 루프백 컴포넌트, 의사 클라이언트 컴포넌트 및 협업 서버 애플리케이션 사이의 예시적인 정보의 흐름을 도시하는 블록도이다. 이 예에서, 사용자는 클라이언트 컴퓨팅 장치(404)에서 협업 클라이언트 애플리케이션(402)을 실행한다. 사용자는 협업 클라이언트 애플리케이션을 이용하여 서버 컴퓨팅 장치(408)에서 실행하는 협업 서버 애플리케이션(406)에 접속하고, 협업 서버 애플리케이션에 의해 호스팅되는 협업 세션에서 발표자로서 참가한다(단계 1). 협업 서버 애플리케이션은, 협업 클라이언트 애플리케이션으로 하여금, 발표자가 협업 세션에서 발표자로서 참가할 수 있게 하는 클라이언트 컴퓨팅 장치에 발표자의 데스크톱을 디스플레이하게 한다. 발표자의 데스 크톱은 또한, 협업 세션에서의 통상적인 참석자가 시각적으로 경험하고 있는 것의 PIP 뷰를 발표자가 디스플레이할 수 있게 한다. 발표자가 PIP 뷰를 요청하면, 루프백 컴포넌트(310) 및 의사 클라이언트 컴포넌트(312)는 클라이언트 컴퓨팅 장치에서 실행하기 시작한다. 루프백 컴포넌트는 애플리케이션 특정이고, 협업 클라이언트 애플리케이션으로부터 협업 서버 애플리케이션으로 전송되는 이벤트들을 검출하고, 그 이벤트들을 비-침입적(non-intrusive) 방식으로 "인터셉트(intercept)"하기 위한 로직을 포함한다. 예를 들어, 루프백 컴포넌트는 협업 클라이언트 애플리케이션의 전송 모듈에서 감청할 수 있다. 루프백 컴포넌트는 각각의 이벤트를 카피하고(단계 2), 그것을 의사 클라이언트 컴포넌트로 전송한다(단계 3). 일 실시예에서, 협업 서버 애플리케이션은, 클라이언트 컴퓨팅 장치의 사용자가 협업 세션에서 참가자로서 협업 서버 애플리케이션에 접속한 경우에 클라이언트 컴퓨팅 장치에 루프백 컴포넌트 및/또는 의사 클라이언트 컴포넌트를 다운로드할 수 있다. 다른 실시예에서, 루프백 컴포넌트 및/또는 의사 클라이언트 컴포넌트는 협업 클라이언트 애플리케이션의 부분으로서 제공될 수 있다. 이벤트의 카피를 수신하면, 의사 클라이언트 컴포넌트는 그 이벤트를 처리하고, 상기에서 논의된 것과 유사한 방식으로 발표자의 디스플레이 장치 상에 PIP 뷰 윈도를 렌더링한다.
도 5는 일 실시예에 따라, 루프백 컴포넌트의 프로세싱을 예시하는 흐름도이다. 블록(502)에서, 클라이언트 컴퓨팅 장치에서 실행하는 루프백 컴포넌트는 협업 클라이언트 애플리케이션으로부터 협업 서버 애플리케이션으로 전송되는 이벤트들을 감청한다. 이벤트들은 애플리케이션 특정이고, 데이터, 메타데이터 및/또는 커맨드를 포함할 수 있다. 블록(504)에서, 루프백 컴포넌트는 데이터 및/또는 커맨드의 카피를 형성한다. 예를 들어, 커맨드가 문서의 특정 페이지를 디스플레이하기 위한 것이라면, 루프백 컴포넌트는 커맨드뿐만 아니라, 데이터 즉, 문서의 특정 페이지의 콘텐츠의 카피를 형성할 수 있다. 루프백 컴포넌트는 또한 문서에 관한 메타데이터의 카피를 형성할 수 있다. 블록(506)에서, 루프백 컴포넌트는 검출된 이벤트 즉, 데이터 및/또는 커맨드의 카피를 의사 클라이언트 컴포넌트에 전송한다
이 기술분야의 당업자는, 본원에 개시된 이러한 및 다른 프로세스들 및 방법들에 대하여, 그 프로세스들 및 방법들에서 수행되는 기능들은 다른 순서로 구현될 수 있다는 것을 알 것이다. 또한, 약술된 단계들은 예시일 뿐이고, 단계들 중 일부는 선택사항일 수 있으며, 본 발명의 요점으로부터 벗어나지 않고 보다 소수의 단계들로 조합되거나, 또는 추가 단계들로 확장될 수 있다.
상기한 것으로부터, 본 발명의 실시예들은 본원에서 예시의 목적으로 설명되었으며, 본 발명의 기술사상 및 범위로부터 벗어나지 않고 다양한 수정들이 이루어질 수 있다는 것을 알 것이다. 따라서, 본 발명은 첨부된 특허청구범위에 명백하게 기재된 요소들에 따른 것을 제외하고는 한정되지 않는다.
본 발명은, 협업 세션에서의 하나의 참가자 클래스가 다른 참가자 클래스가 협업 세션 동안 시각적으로 경험하고 있는 것의 뷰를 가질 수 있게 한다.

Claims (20)

  1. 애플리케이션의 제1 사용자 클래스에 속하는 사용자에게 동일한 애플리케이션의 다른 사용자 클래스에서의 통상적인 사용자가 시각적으로 경험하고 있는 것의 PIP 뷰(view)를 제공하기 위한 시스템으로서,
    클라이언트 컴퓨팅 장치 상에서, 애플리케이션과의 제1 접속을 확립하는 동작을 행하고, 또한 상기 애플리케이션에 의해 제공되는 제1 데스크톱을 상기 클라이언트 컴퓨팅 장치의 디스플레이 화면 상에 디스플레이하는 동작을 행하는 제1 컴포넌트; 및
    상기 클라이언트 컴퓨팅 장치 상에서, 상기 애플리케이션에 의해 지원되는 제2 사용자 클래스에서의 통상적인 사용자가 시각적으로 경험하고 있는 것의 PIP 뷰를 상기 클라이언트 컴퓨팅 장치의 디스플레이 화면 상에 디스플레이하기 위한 요구에 응답하여 상기 애플리케이션과의 제2 접속을 자동으로 확립하는 동작을 행하고, 상기 애플리케이션으로부터 메타데이터(metadata)를 수신하는 동작을 행하고, 상기 클라이언트 컴퓨팅 장치의 디스플레이 화면 상의 PIP 뷰 윈도(window)에 상기 메타데이터를 렌더링(rendering)하는 동작을 행하는 제2 컴포넌트
    를 포함하고,
    상기 제1 접속은 상기 클라이언트 컴퓨팅 장치의 사용자가 상기 애플리케이션에 의해 지원되는 상기 제1 사용자 클래스의 멤버로서 상기 애플리케이션과 상호작용할 수 있게 하고, 상기 제1 데스크톱은 상기 제1 사용자 클래스의 멤버들에 의 한 사용을 위해 제공되고,
    상기 제2 접속은 상기 클라이언트 컴퓨팅 장치에서의 상기 제2 컴포넌트가 상기 애플리케이션에 의해 지원되는 상기 제2 사용자 클래스의 멤버로서 상기 애플리케이션과 상호작용할 수 있게 하고, 상기 메타데이터는 상기 제2 사용자 클래스의 멤버들인 사용자들에게 상기 애플리케이션에 의해 전송되는 메타데이터이고, 상기 PIP 뷰 윈도는 상기 제2 사용자 클래스의 멤버들에 의한 사용을 위해 상기 애플리케이션에 의해 제공되는 통상적인 데스크톱의 표현(representation)인 시스템.
  2. 제1항에 있어서,
    상기 제2 컴포넌트는 상기 PIP 뷰 윈도를 렌더링하기 전에 상기 PIP 뷰 윈도를 보다 작은 사이즈로 스케일링(scaling)하는 시스템.
  3. 제1항에 있어서,
    상기 PIP 뷰 윈도는, 상기 제2 사용자 클래스의 멤버들에 의한 사용을 위해 상기 애플리케이션에 의해 제공되는 상기 통상적인 데스크톱 상에 실제로 디스플레이되는 데이터의 요약(summary)을 디스플레이하는 시스템.
  4. 제1항에 있어서,
    상기 PIP 뷰 윈도는, 상기 제2 사용자 클래스의 멤버들에 의한 사용을 위해 상기 애플리케이션에 의해 제공되는 상기 통상적인 데스크톱 상에 실제로 디스플레 이되는 데이터의 단편들(snippets)을 디스플레이하는 시스템.
  5. 제1항에 있어서,
    상기 PIP 뷰 윈도는 상기 제1 사용자 클래스의 멤버들에 의한 사용을 위해 제공되는 상기 제1 데스크톱에 고정(anchor)되는 시스템.
  6. 제1항에 있어서,
    상기 제2 컴포넌트는,
    상기 애플리케이션에 의해 지원되는 제3 사용자 클래스에서의 통상적인 사용자가 시각적으로 경험하고 있는 것의 PIP 뷰를 상기 클라이언트 컴퓨팅 장치의 디스플레이 화면 상에 디스플레이하기 위한 요구에 응답하여 상기 애플리케이션과의 상기 접속을 자동으로 확립하는 동작을 행하고, 상기 애플리케이션으로부터 메타데이터를 수신하는 동작을 행하고, 상기 클라이언트 컴퓨팅 장치의 디스플레이 화면 상의 PIP 뷰 윈도에 상기 메타데이터를 렌더링하는 동작을 행하고, 상기 제2 접속은 상기 클라이언트 컴퓨팅 장치에서의 상기 제2 컴포넌트가 상기 애플리케이션에 의해 지원되는 상기 제3 사용자 클래스의 멤버로서 상기 애플리케이션과 상호작용할 수 있게 하고, 상기 메타데이터는 상기 제3 사용자 클래스의 멤버들인 사용자들에게 상기 애플리케이션에 의해 전송되는 메타데이터이고, 상기 PIP 뷰 윈도는 상기 제3 사용자 클래스의 멤버들에 의한 사용을 위해 상기 애플리케이션에 의해 제공되는 통상적인 데스크톱의 표현인 시스템.
  7. 애플리케이션의 제1 사용자 클래스에 속하는 사용자에게 동일한 애플리케이션의 다른 사용자 클래스에서의 통상적인 사용자가 시각적으로 경험하고 있는 것의 PIP 뷰를 제공하기 위한, 클라이언트 컴퓨팅 장치에서의 컴퓨터-구현 방법으로서,
    클라이언트 컴퓨팅 장치와 애플리케이션 사이에서, 사용자가, 제1 사용자 클래스의 멤버들에 의한 사용을 위해 제공되는 제1 데스크톱을 통하여 상기 애플리케이션에 의해 지원되는 제1 사용자 클래스의 멤버로서 상기 애플리케이션과 상호작용할 수 있게 하는 접속을 확립하는 단계; 및
    상기 사용자가 상기 동일한 애플리케이션의 제2 사용자 클래스에서의 통상적인 사용자가 보고 있는 것을 표현하는 PIP 뷰를 디스플레이하도록 요청하는 것에 응답하여, 상기 클라이언트 컴퓨팅 장치 내에서, 상기 접속을 통하여 상기 클라이언트 컴퓨팅 장치로부터 상기 애플리케이션으로 전송되는 이벤트들을 감청(listening)하고; 상기 클라이언트 컴퓨팅 장치로부터 상기 애플리케이션으로 전송되는 상기 이벤트들을 카피하고; 상기 제2 사용자 클래스의 콘솔(console)에서 프로세싱이 일어나는 것처럼 상기 이벤트들을 처리하고; 상기 클라이언트 컴퓨팅 장치의 디스플레이 화면 상에 PIP 뷰 윈도를 렌더링하는 단계
    를 포함하고,
    상기 제1 데스크톱은 상기 클라이언트 컴퓨팅 장치의 디스플레이 장치 상에 디스플레이되고,
    상기 PIP 뷰 윈도는 상기 제2 사용자 클래스의 멤버들에 의한 사용을 위해 상기 애플리케이션에 의해 제공되는 통상적인 데스크톱의 표현인 방법.
  8. 제7항에 있어서,
    상기 PIP 뷰 윈도는 상기 클라이언트 컴퓨팅 장치의 디스플레이 화면 상에 재배치가능한 방법.
  9. 제7항에 있어서,
    상기 PIP 뷰 윈도는 리사이징가능(resizable)한 방법.
  10. 제7항에 있어서,
    상기 PIP 뷰 윈도는 보다 작은 사이즈로 스케일링되는 방법.
  11. 제7항에 있어서,
    상기 PIP 뷰 윈도는 상기 제2 사용자 클래스의 멤버들에 의한 사용을 위해 상기 애플리케이션에 의해 제공되는 상기 통상적인 데스크톱 상에 실제로 디스플레이되는 데이터의 요약을 디스플레이하는 방법.
  12. 제7항에 있어서,
    상기 PIP 뷰 윈도는 상기 제2 사용자 클래스의 멤버들에 의한 사용을 위해 상기 애플리케이션에 의해 제공되는 상기 통상적인 데스크톱 상에 실제로 디스플레 이되는 데이터의 단편들을 디스플레이하는 방법.
  13. 컴퓨터 판독가능한 매체로서,
    클라이언트 애플리케이션과 애플리케이션 사이에서, 상기 클라이언트 애플리케이션의 사용자가 상기 애플리케이션에 의해 지원되는 제1 사용자 클래스의 멤버로서 상기 애플리케이션과 상호작용할 수 있게 하는 접속을 확립하는 단계;
    상기 애플리케이션에 의해 지원되는 다수의 사용자 클래스 중 하나에서의 통상적인 사용자가 시각적으로 경험하고 있는 것의 PIP 뷰를 갖는 옵션을 상기 사용자에게 제공하는 단계; 및
    상기 사용자가, 상기 동일한 애플리케이션의 상기 다수의 사용자 클래스 중 특정된 것에서의 통상적인 사용자가 보고 있는 것을 표현하는 PIP 뷰를 디스플레이하도록 요청하면, 상기 동일한 애플리케이션의 상기 다수의 사용자 클래스 중 상기 특정된 것에서의 통상적인 사용자가 보고 있는 것을 표현하는 PIP 뷰 윈도를 상기 사용자의 디스플레이 화면 상에 자동으로 렌더링하는 단계에 의해, 그의 콘텐츠가, 클라이언트 애플리케이션으로 하여금, 애플리케이션의 다른 사용자 클래스에서의 통상적인 사용자가 시각적으로 경험하고 있는 것의 PIP 뷰를 제공하게 하는 컴퓨터 판독가능한 매체.
  14. 제13항에 있어서,
    상기 애플리케이션에 의해 지원되는 다수의 사용자 클래스 중 하나에서의 통 상적인 사용자가 시각적으로 경험하고 있는 것의 PIP 뷰를 갖는 상기 옵션은 액세스 레벨들에 기초하는 컴퓨터 판독가능한 매체.
  15. 제13항에 있어서,
    상기 사용자가, 상기 동일한 애플리케이션의 상기 다수의 사용자 클래스 중 특정된 것에서의 통상적인 사용자가 보고 있는 것을 표현하는 PIP 뷰를 디스플레이하도록 요청하면, 상기 클라이언트 애플리케이션과 상기 애플리케이션 사이에서, 상기 클라이언트 애플리케이션이, 상기 애플리케이션에 의해 지원되는 상기 다수의 사용자 클래스 중 상기 특정된 것의 멤버로서 상기 애플리케이션과 상호작용할 수 있게 하는 새로운 접속을 자동으로 확립하는 단계를 더 포함하는 컴퓨터 판독가능한 매체.
  16. 제13항에 있어서,
    상기 사용자가, 상기 동일한 애플리케이션의 상기 다수의 사용자 클래스 중 특정된 것에서의 통상적인 사용자가 보고 있는 것을 표현하는 PIP 뷰를 디스플레이하도록 요청하면, 상기 클라이언트 애플리케이션으로부터 상기 애플리케이션으로 전송되는 이벤트들을 자동으로 카피하는 단계를 더 포함하는 컴퓨터 판독가능한 매체.
  17. 제13항에 있어서,
    상기 PIP 뷰 윈도는 스케일링되는 컴퓨터 판독가능한 매체.
  18. 제13항에 있어서,
    상기 PIP 뷰 윈도는 상기 애플리케이션에 의해 지원되는 상기 다수의 사용자 클래스 중 상기 특정된 것의 멤버들에 의한 사용을 위해 상기 애플리케이션에 의해 제공되는 상기 통상적인 데스크톱 상에 실제로 디스플레이되는 데이터의 표현을 디스플레이하는 컴퓨터 판독가능한 매체.
  19. 제13항에 있어서,
    상기 PIP 뷰 윈도는 상기 사용자가 상기 애플리케이션과 상호작용할 수 있도록 하지 않는 컴퓨터 판독가능한 매체.
  20. 제13항에 있어서,
    상기 PIP 뷰 윈도는 상기 애플리케이션에 의해 지원되는 상기 다수의 사용자 클래스 중 상기 특정된 것의 멤버들에 의한 사용을 위해 상기 애플리케이션에 의해 제공되는 상기 통상적인 데스크톱 상에 실제로 디스플레이되는 데이터의 표시(indication)를 디스플레이하는 컴퓨터 판독가능한 매체.
KR1020060001813A 2005-02-25 2006-01-06 애플리케이션의 하나의 사용자 클래스에 그 애플리케이션의다른 사용자 클래스가 시각적으로 경험하고 있는 것의뷰를 제공하기 위한 시스템 및 방법 KR101201191B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/067,605 2005-02-25
US11/067,605 US8239453B2 (en) 2005-02-25 2005-02-25 System and method for providing one class of users of an application a view of what another class of users of the application is visually experiencing

Publications (2)

Publication Number Publication Date
KR20060094854A true KR20060094854A (ko) 2006-08-30
KR101201191B1 KR101201191B1 (ko) 2012-11-13

Family

ID=36481217

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060001813A KR101201191B1 (ko) 2005-02-25 2006-01-06 애플리케이션의 하나의 사용자 클래스에 그 애플리케이션의다른 사용자 클래스가 시각적으로 경험하고 있는 것의뷰를 제공하기 위한 시스템 및 방법

Country Status (8)

Country Link
US (1) US8239453B2 (ko)
EP (1) EP1696629B1 (ko)
JP (1) JP4979954B2 (ko)
KR (1) KR101201191B1 (ko)
CN (1) CN1825808B (ko)
AT (1) ATE504146T1 (ko)
DE (1) DE602006020947D1 (ko)
DK (1) DK1696629T3 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9176934B2 (en) 2005-05-06 2015-11-03 Leo Baschy User interface for nonuniform access control system and methods
US9129088B1 (en) * 2005-06-04 2015-09-08 Leo Martin Baschy User interface driven access control system and methods for multiple users as one audience
US20070005698A1 (en) * 2005-06-29 2007-01-04 Manish Kumar Method and apparatuses for locating an expert during a collaboration session
US9202068B2 (en) 2006-03-29 2015-12-01 Leo M. Baschy User interface for variable access control system
US7830814B1 (en) * 2006-06-02 2010-11-09 Adobe Systems Incorporated Providing information associated with network latency
US8407289B2 (en) * 2007-01-08 2013-03-26 Cisco Technology, Inc. Methods and apparatuses for dynamically suggesting an application based on a collaboration session
US9361715B2 (en) 2011-06-02 2016-06-07 Microsoft Technology Licensing, Llc Global composition system
US10620902B2 (en) * 2012-09-28 2020-04-14 Nokia Technologies Oy Method and apparatus for providing an indication regarding content presented to another user
US9542906B2 (en) 2013-05-10 2017-01-10 Microsoft Technology Licensing, Llc Shared compositional resources
JPWO2015059793A1 (ja) 2013-10-24 2017-03-09 株式会社東芝 表示装置、表示方法および表示プログラム
US9612730B2 (en) * 2014-01-13 2017-04-04 Cisco Technology, Inc. Viewing different window content with different attendees in desktop sharing
US9781176B2 (en) * 2015-02-12 2017-10-03 Smart Technologies Ulc Managing permissions in collaborative workspaces using visual representations of clients
US11295706B2 (en) 2016-06-30 2022-04-05 Microsoft Technology Licensing, Llc Customizable compact overlay window
US11320979B1 (en) * 2020-10-15 2022-05-03 Salesforce.Com, Inc. Access control for online presentations

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5689641A (en) 1993-10-01 1997-11-18 Vicor, Inc. Multimedia collaboration system arrangement for routing compressed AV signal through a participant site without decompressing the AV signal
US6097442A (en) * 1996-12-19 2000-08-01 Thomson Consumer Electronics, Inc. Method and apparatus for reformatting auxiliary information included in a television signal
US6144991A (en) * 1998-02-19 2000-11-07 Telcordia Technologies, Inc. System and method for managing interactions between users in a browser-based telecommunications network
US6473102B1 (en) * 1998-05-11 2002-10-29 Apple Computer, Inc. Method and system for automatically resizing and repositioning windows in response to changes in display
WO2000052886A1 (en) * 1999-03-02 2000-09-08 Microsoft Corporation Scalable multiparty conferencing and collaboration system and method of dynamically allocating system resources
US7672999B2 (en) * 2002-01-08 2010-03-02 International Business Machines Corporation Transmitting common and unique information selectively to different recipients
US20030142122A1 (en) * 2002-01-31 2003-07-31 Christopher Straut Method, apparatus, and system for replaying data selected from among data captured during exchanges between a server and a user
US7219138B2 (en) * 2002-01-31 2007-05-15 Witness Systems, Inc. Method, apparatus, and system for capturing data exchanged between a server and a user
US20040024636A1 (en) * 2002-07-31 2004-02-05 Jaffe Associates, Inc. System and method of designating content for presentation to a target entity
US7219127B2 (en) * 2003-03-13 2007-05-15 Oracle International Corporation Control unit operations in a real-time collaboration server
US7269590B2 (en) * 2004-01-29 2007-09-11 Yahoo! Inc. Method and system for customizing views of information associated with a social network user
US7176957B2 (en) * 2004-05-25 2007-02-13 Seiko Epson Corporation Local video loopback method for a multi-participant conference system using a back-channel video interface
US7526525B2 (en) * 2004-07-22 2009-04-28 International Business Machines Corporation Method for efficiently distributing and remotely managing meeting presentations
WO2006049905A2 (en) * 2004-10-29 2006-05-11 Mangala Iyer Method and apparatus for targeted event networking
US7895070B2 (en) * 2005-05-05 2011-02-22 Siebel Systems, Inc. Providing multiple views of a business process definition to different users

Also Published As

Publication number Publication date
EP1696629A1 (en) 2006-08-30
JP2006236335A (ja) 2006-09-07
EP1696629B1 (en) 2011-03-30
US20060195520A1 (en) 2006-08-31
DK1696629T3 (da) 2011-06-14
CN1825808B (zh) 2010-05-26
JP4979954B2 (ja) 2012-07-18
KR101201191B1 (ko) 2012-11-13
DE602006020947D1 (de) 2011-05-12
CN1825808A (zh) 2006-08-30
US8239453B2 (en) 2012-08-07
ATE504146T1 (de) 2011-04-15

Similar Documents

Publication Publication Date Title
KR101201191B1 (ko) 애플리케이션의 하나의 사용자 클래스에 그 애플리케이션의다른 사용자 클래스가 시각적으로 경험하고 있는 것의뷰를 제공하기 위한 시스템 및 방법
US20210250386A1 (en) Web browser interface for spatial communication environments
RU2438169C2 (ru) Подсистемно-контекстная архитектура для комнат для работы в группе в виртуальном пространстве
US8250141B2 (en) Real-time event notification for collaborative computing sessions
US9262050B2 (en) System and method for displaying full product functionality using minimal user interface footprint
JP5303578B2 (ja) マルチメディア会議イベントのビジュアルコンポジションを生成する技術
Gajewska et al. Argo: A system for distributed collaboration
US20130198629A1 (en) Techniques for making a media stream the primary focus of an online meeting
US20170366784A1 (en) Displaying Concurrently Presented Versions in Web Conferences
US20150032809A1 (en) Conference Session Handoff Between Devices
US20120089928A1 (en) Independent viewing of web conference content by participants
KR20060085562A (ko) 협업 세션의 참석자의 스크린 해상도의 수집 및 보고시스템 및 방법
JP2016027458A (ja) 端末装置、プログラム、役割判定方法及び情報処理システム
KR100611255B1 (ko) 작업 공간을 공유하는 원격 회의 방법
JP7455232B2 (ja) インタラクション方法、装置及び電子機器
JP2009535994A (ja) 分散システムにおける帯域適応n対n通信
Christensen et al. Too Much Information: Two applications reveal the key challenges in making context-aware computing a reality.
CN116982308A (zh) 基于协作对象活动来更新用户特定的应用实例
CN103685362B (zh) 信息共享处理装置及信息共享处理方法
KR102566158B1 (ko) 원격제어를 통한 온라인 회의 방법
KR100554101B1 (ko) 다중 화면 전송을 위한 빔프로젝터 서버단말기 및 그전송방법
Favela et al. Autonomous agents for ubiquitous collaborative environments
GB2612015A (en) System and method for interactive meeting with both in-room attendees and remote attendees
CN117413502A (zh) 对标识多个用户的接口的消息内容的目标定位
Conrad et al. Applying modern collaboration methods to distributed engineering projects

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee