KR101112563B1 - System and method for managing group interaction session states - Google Patents
System and method for managing group interaction session states Download PDFInfo
- Publication number
- KR101112563B1 KR101112563B1 KR1020080010169A KR20080010169A KR101112563B1 KR 101112563 B1 KR101112563 B1 KR 101112563B1 KR 1020080010169 A KR1020080010169 A KR 1020080010169A KR 20080010169 A KR20080010169 A KR 20080010169A KR 101112563 B1 KR101112563 B1 KR 101112563B1
- Authority
- KR
- South Korea
- Prior art keywords
- session
- participants
- service broker
- abandoned
- service
- Prior art date
Links
- 230000003993 interaction Effects 0.000 title 1
- 238000002360 preparation method Methods 0.000 claims 2
- 239000011089 white board Substances 0.000 description 15
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000000034 method Methods 0.000 description 8
- 238000011084 recovery Methods 0.000 description 4
- 230000001360 synchronised Effects 0.000 description 4
- 230000000875 corresponding Effects 0.000 description 2
- 230000002452 interceptive Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000001808 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 229920000470 poly(p-phenylene terephthalate) polymer Polymers 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Abstract
서비스 브로커는 복수의 참가자들과 서비스 브로커간의 연관으로 구성된 컴퓨터 지원 멀티 유저 세션에 세션 중단 및 재개 기능을 제공한다. 서비스 브로커는: 메모리; 세션 데이터의 전송 및 복수의 참가자들과의 통신을 위한 입력/출력 서브시스템; 메모리에 연결되어 동작되고, 명령어를 수행하는 프로세서;를 포함한다. 명령어는 프로세서로 하여금: 중단된 세션을 재개하는 트리거 이벤트를 복수의 참가자들 중 적어도 하나의 참가자로부터 수신하고; 중단 세션이 재개될 수 있는지를 검증하고; 복수의 참가자들에게 재개 요청을 전송하고; 복수의 참가자들간의 연관을 재구축하도록 하게끔 한다. 추가적으로, 중단된 세션이 종료되었던 지점에서 중단된 세션을 재개하기 위하여 서비스 브로커는 저장된 세션 상태 및 저장된 세션 데이터를 적어도 하나의 환경장치에게 전송할 것이다. 서비스 브로커는 또한 공유 세션을 중단하는 명령어를 수행한다.The service broker provides session abort and resume functions for computer-assisted multi-user sessions consisting of associations between multiple participants and the service broker. The service broker is: memory; An input / output subsystem for transmitting session data and communicating with a plurality of participants; And a processor that is connected to the memory and operates and performs instructions. The instructions cause the processor to: receive a trigger event from at least one of the plurality of participants to resume a suspended session; Verify that the abort session can be resumed; Send a resume request to the plurality of participants; Have them rebuild associations between multiple participants. In addition, the service broker will send the stored session state and the stored session data to the at least one environment device to resume the suspended session at the point where the suspended session ended. The service broker also executes commands to terminate the shared session.
서비스, 브로커, 참가자들, 연관, 멀티 유저, 세션, 중단, 재개, 이벤트, 환경장치, 공유. Service, broker, participants, association, multi-user, session, abort, resume, event, environment, sharing.
Description
관련 출원들에 대한 상호 참조Cross Reference to Related Applications
본 출원은 2006. 10. 6일에 출원된 미국 특허 출원 번호 제11/544,107호(관리번호 제YOR920060531US1호)에서 개시된 것과 유사한 주제를 포함한다.This application includes similar subject matter as disclosed in US Patent Application No. 11 / 544,107 filed on Oct. 6, 2006 (Control No. YOR920060531US1).
연방정부 지원 연구 또는 개발에 관한 성명Statement on Federally Supported Research or Development
본 명세서에서 서술되는 발명은 한국 정보통신부와 IBM에 의해 공동으로 자금을 지원받았다. 본 발명은 한국 정보통신연구진흥원(IITA)으로부터의 승인에 의하여 일부 자금지원받고, 그리고 코리아 유비쿼터스 컴퓨팅 랩(UCL)에 의해 일부 자금을 지원받았다. 한국 정부는 본 발명에 대한 일부 권리를 가질 수 있다.The invention described herein was jointly funded by the Ministry of Information and Communication of Korea and IBM. The present invention was partially funded by an approval from the Korea Institute of Information and Communication Research (IITA), and partially funded by the Korea Ubiquitous Computing Lab (UCL). The Korean government may have some rights in the present invention.
콤팩트 디스크상으로 제출된 자료참조에 의한 병합Merging by referencing data submitted on compact disc
적용없음Not applicable
본 발명은 넓게는 그룹웨어 분야에 관한 것이며, 보다 구체적으로는 공동 세션(collaborative session)을 관리하는 분야에 관한 것이다.The present invention relates broadly to the field of groupware, and more particularly to the field of managing collaborative sessions.
컴퓨터 네트워크 및 이와 관련된 하드웨어와 소프트웨어 서비스들의 급속한 기술적 진화는 비즈니스 세계를 급격하게 변동시켜왔다. 서로 다른 위치에 있는 사람들간의 통신에 관한 신기술들은 많은 조직의 성공에 있어서 중추적인 요소로 자리잡아 왔다. 컴퓨터 네트워크의 활용성 증가 및 분산된 팀 워크로의 추세는 작업자로 하여금 어느 곳에서든지 효율적으로 일할 수 있도록 해주었고, 이로써 "원격협력(Telecooperation)"이라는 새로운 용어를 탄생시켰다. 원격협력이란 "재택근무자(teleworker)"로서 알려진 사람과 서로 다른 위치에 있으면서 실시간적으로 공동업무에 대하여 함께 작업하는 사람들로서 정의된다. 원격협력을 위한 컴퓨터 지원의 개념은 "그룹웨어" 또는 컴퓨터 지원 협력 업무("CSCW")로서 알려지게 되었다. CSCW이란 유저 그룹이 공통된 목표를 항하여 서로 작업하는 공유 환경에 인터페이스를 제공하는 임의의 컴퓨터 기반 시스템을 일컫는다. CSCW의 중요한 요소는 그룹 인식, 멀티 유저 인터페이스, 동시성 제어, 그룹내의 통신 및 조정, 공유된 정보 공간이다.The rapid technological evolution of computer networks and their associated hardware and software services has dramatically changed the business world. New technologies for communication between people in different locations have been the backbone of many organizations' success. The increasing availability of computer networks and the trend toward distributed teamwork has allowed workers to work efficiently anywhere, resulting in a new term "Telecooperation." Remote cooperation is defined as people who are known as "teleworkers" and who work together in real time on different locations in real time. The concept of computer support for remote collaboration has come to be known as "groupware" or computer support collaboration ("CSCW"). CSCW is any computer-based system that provides an interface to a shared environment where user groups work together against a common goal. Important elements of CSCW are group awareness, multi-user interface, concurrency control, communication and coordination within groups, and shared information spaces.
도 1을 참조하면, 본 도면에서는 네 개의 이동장치들[PDA(140) 및 세 개의 랩탑(130, 150, 160)]간의 그룹 대화 세션(100)의 표현이 도시되고 있다. 여기서 표현된 네 개의 이동장치들은 일 예로서 SMART Technologies의 SMART Board™와 같은 대화형 공유 화이트보드인 환경서비스 장치(110)의 서비스를 공유하고 있다. 네 개의 이동장치들은 무선 연결을 통해 화이트보드(110)와 상호작용할 수 있다. IBM의 로토스 도미노와 같은 그룹웨어 툴 및 공유 화이트보드는 이와 같은 공동 노력을 수월하게 해준다.Referring to FIG. 1, a representation of a
도 1의 예시에서, 네 개의 이동장치들은 모두 세션(100)의 참가자들이고, 이 들은 모두 화이트보드(110)의 디스플레이 기능을 공유하고 있다. 각각의 이동장치들의 유저는 자신의 작은 스크린상에서 실시간으로 화이트보드(110)의 디스플레이 스크린을 조망할 수 있다. 화이트보드의 내용이 변경되면, 이동장치 스크린상의 내용도 또한 변경된다. 공유 화이트보드(110)상에 기재되거나 또는 도시되는 모든 것들은 각 참가자들의 디스플레이상에서 나타날 것이다. 각 이동장치들의 유저들은 화이트보드(110)의 내용에 데이터를 입력시키고 이를 수정할 수 있을 것이다.In the example of FIG. 1, all four mobile devices are participants of the
이동장치들과 화이트보드(110)간의 대화는 동시적이고 피드백은 즉각적이다. 임의의 시점에서 세션(100)은 무선 네트워크(180)를 통해 전송된 이벤트에 의해 변경될 수 있는 잘 정의된 상태를 가진다. 이 이벤트는 (다시 무선 네트워크(180)를 통해서) 화이트보드(110)에 추가되는 텍스트, 또는 화이트보드(110)상의 디스플레이의 변경과 같은 유저 행위에 의해 개시된다. 세션내에서, 두 개의 장치들간의 직접적인 연결을 "연관(association)"이라고 호칭한다. 각각의 이동장치들(130, 140, 150, 및 160)은 화이트보드(110)와 연관을 갖는다. 도 1에서의 연관은 파선에 의해 표현된다.The conversation between the mobile devices and the
도 1에서 도시된 것과 같이, 동시간/다른 장소 대화를 지원하는 현대의 컴퓨터 지원 협력작업 애플리케이션은 종종 여러개의 통신 채널(연관)을 오픈할 것이 요구된다. 문제는 일단 세션이 중단되면, 중지되었던 곳에서 세션을 재개하고 다른 채널로부터의 입력을 복구하는 용이한 방법이 없다라는 점이다. 만약 도 1의 이동장치의 유저가 중단된 세션을 재개하기를 희망하는 경우, 유저는 중단된 곳에서 세션을 재개할 수 없을 수 있으며, 일부 데이터가 손실될 수도 있다. 유저는 이전에 세션이 종료되었던 바로 그 지점을 찾는데에 시간을 소비해야만할 것이다. 또 다른 문제로서 이전 환경서비스 중 하나가 이용가능하지 못할 수 있는 다른 셋팅으로 동일그룹의 참가자들이 자신들의 세션을 재개할 수 있다. 이 예시에서, 세션 정보가 이러한 비이용가능한 서비스 중 하나의 서비스로 유지되는 경우에 세션은 손실될 수 있다. 이것은 세션을 재개하는데에 사용되는 셋팅이 초기 셋팅으로부터 꽤 멀리 있는 경우에 일어날 수 있는 시나리오이다. 세션에 참가하는 모든 장치들은 아니더라도, 대부분은 콜로케이팅(collocate)된다; 때때로, 세션은 콜로케이팅된 세션 참가자들에 의해 사용되는 원격장치 호스팅 서비스를 포함할 수 있다. 이와 같은 서비스들은 어떠한 상태도 세션 중단 또는 세션 재개시에 각각 세이브되거나 저장될 것이 요구되지 않는 것을 의미하는 무상태(state-less)이거나, 또는 세션 중단 또는 세션 재개시에 각각 사용되는 상태 추출 및 삽입을 위한 명백한 특징들을 구현해야만 하는 서비스이여야 한다.As shown in Figure 1, modern computer-assisted collaboration applications that support concurrent / different venue conversations often require opening multiple communication channels (associations). The problem is that once a session is interrupted, there is no easy way to resume the session from where it was suspended and recover input from another channel. If a user of the mobile device of FIG. 1 wishes to resume a suspended session, the user may not be able to resume the session where it left off, and some data may be lost. The user will have to spend time finding the exact point where the session was previously ended. Another problem is that participants in the same group can resume their sessions with other settings that one of the previous environmental services may not be available. In this example, the session may be lost if the session information is maintained with one of these unavailable services. This is a scenario that can occur if the settings used to resume the session are quite far from the initial settings. Most, if not all, devices that join the session are collocated; Sometimes a session may include a remote device hosting service used by collocated session participants. These services are state-less, meaning that no state is required to be saved or saved, respectively, during session abort or session resume, or state extraction and insertion, respectively, used for session abort or session resume. It must be a service that must implement explicit features for it.
그룹이 재소집하고 이전 세션으로부터의 모든 참가자들이 존재하지만은 않는 경우에는 다른 문제가 발생될 수 있다. 또한 세션이 재개되는 경우에 세션에 새로운 참가자들이 추가될 수도 있을 가능성이 있다. 공동 시나리오에서의 변경은 이전에 중단된 세션을 되찾는 것을 불가능하게 할 수 있다; 그러므로 많은 시간과 노력이 헛수고로 될 수 있다. Another problem may arise if the group reconvenes and not all participants from the previous session exist. It is also possible that new participants may be added to the session if the session is resumed. Changes in the common scenario may make it impossible to retrieve a previously suspended session; Therefore much time and effort can be lost.
많은 사람들이 시스템 실패로 인하여 작업 시간을 반복적으로 허비하는 것을 경험해왔다. 공동 시나리오에서, 이러한 손실은 세션내의 참가자 수만큼 배증된다. 시스템 실패는 다수의 유저들의 작업을 파괴시킬 수 있다. 불행히도, 복구 공정은 일반적으로 도 1에서 도시된 바와 같은 그룹웨어 세션에 적합하지가 않다.Many people have repeatedly beented their work time due to system failures. In a joint scenario, this loss is multiplied by the number of participants in the session. System failure can destroy the work of multiple users. Unfortunately, the recovery process is generally not suitable for groupware sessions as shown in FIG.
종래기술의 단점을 극복하기 위하여 공동 세션을 관리하는 보다 나은 방법이 요구된다.There is a need for a better way to manage joint sessions to overcome the disadvantages of the prior art.
간략하게, 본 발명의 실시예에 따르면, 서비스 브로커(service broker)는 복수의 참가자들 및 서비스 브로커간의 연관들로 구성된 컴퓨터 지원 멀티 유저 세션을 재개할 수 있다. 서비스 브로커에는: 메모리; 세션 데이터의 전송을 위하여 그리고 복수의 참가자들과의 통신을 위한 입력/출력 서브시스템; 메모리에 연결되어 동작되며 명령어를 실행하는 프로세서가 포함된다. 명령어는 프로세서로 하여금: 복수의 참가자들 중 적어도 하나의 참가자로부터 중단되는 세션을 재개하기 위한 트리거 이벤트를 수신하고; 중단된 세션이 재개될 수 있는지를 검증하고; 재개 요청을 복수의 참가자들에게 전송하고; 그리고 복수의 참가자들간의 연관을 재구축하도록 하게끔 해준다. 추가적으로, 프로세서는 중단된 세션이 종료되었던 지점에서 중단된 세션을 재개하는 적어도 하나의 환경 장치에게 저장된 세션 상태 및 저장된 세선 데이터를 전송할 것이다.Briefly, in accordance with an embodiment of the present invention, a service broker may resume a computer-assisted multi-user session consisting of associations between a plurality of participants and the service broker. The service broker includes: memory; An input / output subsystem for transmitting session data and for communicating with a plurality of participants; It includes a processor that is connected to and operates in memory and executes instructions. The instruction may cause the processor to: receive a trigger event to resume a session that has been interrupted from at least one of the plurality of participants; Verify that the interrupted session can be resumed; Send a resume request to the plurality of participants; It also allows them to rebuild associations between multiple participants. In addition, the processor will send the stored session state and the stored thin data to the at least one environmental device resuming the suspended session at the point where the suspended session ended.
본 발명의 실시예에 따르면, 서비스 브로커는 또한 복수의 참가자들과 서비스 브로커를 연계시키는 연관을 포함하는 멀티 유저 세션을 중단할 수 있다. 서비스 브로커 프로세서는: 복수의 참가자들 중 적어도 하나의 참가자로부터 종결 이벤트를 수신할 때에 복수의 참가자에게 중단 요청을 전송하고; 복수의 참가자들 각각 및 적어도 하나의 환경 장치로부터 종결 세션 상태를 수신하고; 각각의 종결 세션 상태들의 수신에 대하여 수신확인통보를 하고; 그리고, 세션 데이터를 저장하는 것을 수행한다.According to an embodiment of the present invention, the service broker may also abort a multi-user session that includes an association that associates the plurality of participants with the service broker. The service broker processor may: send a stop request to the plurality of participants when receiving a termination event from at least one of the plurality of participants; Receive a termination session state from each of the plurality of participants and at least one environment device; Acknowledgment of receipt of respective termination session states; And storing the session data.
복수의 참가자들과 서비스 브로커간의 컴퓨터 지원 멀티 유저 세션을 구축하고 중단하는 컴퓨터 구현 방법에는: a) 고유 세션 식별자를 세션에 할당하는 단계; b) 서비스를 참가자들에게 제공하는 적어도 하나의 환경 장치를 선택하는 단계; c) 고유 식별자를 참가자들 및 적어도 하나의 환경 장치에게 할당하는 단계; d) 참가자로부터 종결 이벤트를 수신하면 환경 장치에게 중단 요청을 전송하는 단계; e) 환경 장치로부터 종결 세션 상태를 수신하는 단계; f) 세션 상태의 수신에 대하여 수신확인통보하는 단계; 및 g) 세션 상태 및 세션 데이터를 저장하는 단계가 포함된다.A computer-implemented method of establishing and terminating a computer-assisted multi-user session between a plurality of participants and a service broker includes: a) assigning a unique session identifier to the session; b) selecting at least one environmental device to provide services to participants; c) assigning a unique identifier to participants and at least one environmental device; d) sending a stop request to the environmental device upon receiving a termination event from the participant; e) receiving a termination session state from an environmental device; f) acknowledgment of receipt of the session state; And g) storing the session state and session data.
서비스 브로커는 a) 참가자로부터 트리거 이벤트를 수신하는 단계; b) 중단된 세션이 재개될 수 있는지 검증하는 단계; c) 참가자들에게 서비스를 제공하는 적어도 하나의 환경 장치를 선택하는 단계; d) 환경 장치에 재개 요청을 전송하는 단계; 및 e) 저장된 세션 상태 및 저장된 세션 데이터를 세션이 종료된 지점에서 중단된 세션을 재개하는 환경 장치에 전송하는 단계에 따라 중단된 세션을 재개한다.The service broker may comprise a) receiving a trigger event from the participant; b) verifying that the interrupted session can be resumed; c) selecting at least one environmental device to provide services to the participants; d) sending a resume request to the environmental device; And e) sending the stored session state and stored session data to the environment device for resuming the interrupted session at the point at which the session ended.
본 발명의 실시예에 따르면, 서비스 브로커는 복수의 참가자들 및 서비스 브로커간의 연관으로 구성된 컴퓨터 지원 멀티 유저 세션을 재개할 수 있다. 본 발명 의 실시예에 따르면, 서비스 브로커는 또한 멀티 유저 세션을 중단할 수 있다. According to an embodiment of the present invention, the service broker may resume a computer-assisted multi-user session consisting of an association between a plurality of participants and the service broker. According to an embodiment of the present invention, the service broker may also terminate the multi-user session.
본 명세서에서는 컴퓨터 지원 멀티 유저 인터페이스 세션의 캡쳐 및 회복 기능을 설명한다. 본 발명의 실시예는 네트워크를 통해 통신하는 복수의 참가자들을 포함하는 대화 세션의 중단 및 회복이 가능하도록 해준다. 공지된 제품을 통해 유저는 자신의 랩탑 또는 PDA상에서 능동 연산을 중단할 수 있다. 하지만, 서로 다른 위치에서, 복수의 장치들의 공유 세션을 중단하고, 이 세션을 캡쳐하고, 그런 다음 공유 세션을 추후에 재개하는 공지된 해결책은 없다. 본 기능성은 대화 세션을 통해 주기적으로 만나는 재택근무자 그룹에 대하여 특히 유용하다. 본질적으로, 참가자들은 최종 세션이 종료된 곳에서 정확하게 세션을 재개할 수 있게 된다. 이러한 방법으로, 참가자들은 최종 세션에서 발생된 것을 재생하고 최종 세션의 종료지점을 검색하는데에 시간을 낭비하지 않게 되어 보다 생산적일 수 있게 된다.This document describes a capture and recovery function of a computer-assisted multi-user interface session. Embodiments of the present invention allow for the interruption and recovery of a chat session comprising a plurality of participants communicating over a network. Known products allow users to suspend active operations on their laptops or PDAs. However, at different locations, there is no known solution to suspend a sharing session of a plurality of devices, capture this session, and then resume the sharing session later. This functionality is particularly useful for telecommuting groups that meet periodically through chat sessions. In essence, participants will be able to resume the session exactly where the final session ended. In this way, participants can be more productive by not having to waste time replaying what happened in the last session and searching for the end point of the last session.
게다가, 후술될 본 발명의 실시예는 각각의 참가자들에게 실시간보다 빠르거나 또는 늦게 되는 선택된 속도로, 세션 또는 세션의 일치된 단편을 재생하는 능력을 가져다 준다. 이것은 특히 최근 합류자에 대하여 유용하다. 세션의 일치된 단편은 세션의 수명보다 짧은 구간동안의 모든 세션 대화, 또는 참가자 장치들의 서브셋간의 모든 대화, 또는 이 모두로 구성된다. 세션, 또는 세션 단편은 또한 여러 번 재생될 수 있다.In addition, embodiments of the present invention described below give each participant the ability to play a session or a matched fragment of a session at a selected rate that is faster or later than real time. This is especially useful for recent contributors. The matched fragment of the session consists of all session conversations for a period shorter than the lifetime of the session, or all conversations between a subset of participant devices, or both. A session, or session fragment, can also be played many times.
도 2를 참조하면, 본 도면에서는 본 발명의 실시예에 따른 공동 시나리오가 도시된다. 도 2는 서비스 브로커(220) 및 다른 환경 장치[이 경우에서는 프린 터(240)]가 추가된, 도 1에서와 유사한 공동 시나리오를 도시한다. 또한, 네트워크 데이터베이스(275)가 도시된다. 공동 시나리오에서는, 여러 참가자들 및 여러 환경 장치들(ES)이 존재할 수 있다. 도 2의 시나리오에서 도시된 이동장치들은 공유 세션에서의 참가자들이다. 환경 서비스들은 참가자들이 현재 위치하고 있는 곳("서비스 구역)의 근처에 존재하는 장치들에 의해 주최되고, 이 장치들은 자신들의 서비스를 각자에 또는 그룹에 제공한다.Referring to FIG. 2, there is shown a common scenario in accordance with an embodiment of the present invention. FIG. 2 illustrates a common scenario similar to that of FIG. 1 with the addition of a
이 세션(200)의 중요한 구성부는 서비스 브로커(220)이다. 서비스 브로커(220)는 멀티 장치 세션(200)을 구축하고 관리하는 것을 도와준다. 이전에 서술한 바와 같이, 구축된 세션내에서, 두 장치들간의 연결을 연관으로서 호칭한다. 연관은 참가자와 환경 서비스사이, 또는 참가자와 서비스 브로커(220)사이 또는 환경 서비스와 서비스 브로커(220)사이에서 발생가능하다. 도 2는 네 개의 각 이동장치들(130, 140, 150, 및 160)과 환경 서비스(110)사이; 및 네 개의 각 이동장치들(130, 140, 150, 및 160)과 서비스 브로커(220)사이의 연관을 묘사한다. 또한 서비스 브로커(220)는 총 아홉개의 연관만큼의, 환경 서비스(110)와의 연관을 갖는다. 프린터(240)는 비록 이 서비스 구역에 위치하지만 본 특정의 세션에서 어떠한 장치와도 연관을 갖지 않음을 주목한다. 이동장치들은 서로 연관을 갖지 않는다. 사실, 일부 시나리오에서, 이동장치는 단지 서비스 구역을 통과만 하고, 서비스 구역에 있는 서로의 존재에 대하여 인식할 필요는 없다. 이에 반하여, 만약 이동장치들이 서비스 구역내에서 공동 작업하고 있는 경우, 이동장치들은 서로의 존재에 대하여 인식할 필요가 있을 것이다. 이 경우, 이동장치들은 서로 통신할 것이지만, 이 통신은 연관을 나타내지는 않는다. 이동장치들간의 통신은 서비스 브로커(220)의 관리범위하에 있지 않다.An important component of this
도 2에서 도시된 바와 같이, 세션(200)은 여러개의 연관들을 포함할 수 있다; 예로서, 도 2에서 도시된 바와 같이 일부 내용을 디스플레이하기 위하여 특정 참가자가 환경 서비스의 서비스를 이용하고, 각각의 참가자들이 디스플레이되는 내용에 기여할 수 있도록 하면서 몇몇의 다른 참가자들은 동일 환경 서비스와 연관되는 연관이 있을 수 있다. 본 예시는 도 2에 반영되어 있으며, 본 도면에서 사용중인 환경 서비스는 디스플레이 서비스를 제공하는 공유 화이트보드(110)이고, 몇몇의 참가자들[이동장치들(130, 140, 150, 및 160)]은 아마도 서로 다른 색으로 표기하면서 동시적으로 단일 문서에 대해서 공동작업한다. 본 세션은 실시간으로 발생되는 것임을 주목한다. 본 설명하에서, "세션"은 서비스 구역에 위치한 환경 장치들 중 적어도 하나의 환경 장치에 의해서 제공되는 서비스들을 이용함으로써 서로 상호작용하는 장치들의 집합을 말한다.As shown in FIG. 2,
공동 시나리오의 다른 예는 특정 이동 장치로부터 보내진 프리젠테이션 챠트를 보여주는 프로젝터로서, 한편 프로젝터와 연관된 다른 이동 장치들은 프리젠테이션을 제어하거나 또는 프리젠테이션 챠트에 주석을 추가하는 능력을 갖는다. 서비스 브로커(220)는 이동 장치 및 환경 서비스의 근처공간에 위치할 수 있거나 또는 고속 네트워크에 의해 연결되어 원거리 위치에 있을 수 있다. 개시자가 관리를 다른 장치로 이전하지 않는 한, 보통 세션을 개시했던 장치가 세션 매니저가 된다. 신규 장치들은 오로지 세션 매니저의 허가를 가지고서만 세션에 가입할 수 있지만, 떠날때는 자유롭게 떠날 수 있다. 전형적으로, 세션 매니저는 세션내의 참가자들 중 하나일 것이지만 세션 관리는 세션내의 임의의 다른 장치들에게 이전될 수도 있다. 예를 들어, 환경 서비스를 주최하는 장치가 세션 매니저가 될 수 있다.Another example of a common scenario is a projector showing a presentation chart sent from a particular mobile device, while other mobile devices associated with the projector have the ability to control the presentation or annotate the presentation chart. The
각각의 세션은 자신과 연관된 세션 id를 갖는다. 이동 장치 및 환경 서비스 또한 세션내에서 자신들을 식별해주는 고유 id를 갖는다. 서비스 브로커(220)는 장치들에게 id를 할당한다. 기록(logging)을 목적으로, 연관을 구축하거나 종료하는 것과 같은, 이벤트를 기록하는 것은 중요할 수 있다. 하지만, 세션을 중단하거나 또는 재개하기 위하여 현재 상태를 기록하는 것은 보다 중요하다. 절대적으로 "디스플레이 X 를 추가하라"와 같은 것 보다는, 절대적으로 "이용가능한 최상의 해상도를 갖춘 디스플레이를 추가하라"와 같이, 만약 장치들(또는 서비스들)이 절대적으로 세션에 추가된다면, 이벤트들의 시퀀스를 기록하는 것은 중요하다. (절대적 조건과 더불어) 이벤트를 기록하는 것은 세션으로 하여금 세션에 할당된 '최상의' 디스플레이를 가지면서 다른 위치에서 세션을 재개하는 것을 가능하도록 해줄 것이다. 일반적으로, 이벤트를 기록하는 것은 기본 세션 중단/재개 시나리오에서는 필요하지는 않으나, 상황상 보장된다면, 이벤트를 기록하는 것은 매우 유용할 수 있다.Each session has a session id associated with it. Mobile device and environmental services also have unique ids that identify them within the session. The
세션 구축 이후, 서비스 브로커(220)는 환경 서비스들과 참가자들간의 세션(200)에서 형성된 모든 연관 및 연관이 형성되었던 시퀀스를 계속 추적한다. 이것은 많은 원격 협력 시나리오에서 중요한 사항인데, 그 이유는 참가자들이 세션기간 중의 임의의 시점에서 자유롭게 가입하기 때문이다. 세션에서 참가자들은 항상 동시적으로 가입하는 것은 아니다. 연관이 형성된 후, 코드변환과 같은 서비스 브로커(220)로부터의 도움이 필요한 경우를 제외하고, 일반적으로 서비스들 및 참가자들은 서비스 브로커(220)를 제외하고 서로간에 직접 통신한다. 서비스 브로커(220)는 세션에서의 모든 참가자들에 관한 세션 관련 정보를 갖는 유일한 유닛으로서, 이 정보는 바람직하게 네트워크 데이터베이스(275)내에 저장된다. 서비스 브로커(220)는 모든 참가자들 및 다양한 서비스들에 대한 모든 id를 저장한다.After establishing a session, the
장치들이 세션에 가입할 때, 장치들은 자신들의 클럭을 서비스 브로커(220)의 클럭과 같은, 공통 베이스에 동기화시킬 수 있다. 환경 장치들의 클럭은 이미 동기화되어 있는 것으로 예상이 되지만, 그렇지 않은 경우, 환경 장치들은 자신의 클럭을 세션 브로커(220)의 클럭과 동기되도록 변경할 것이다. 환경 장치들은 자신의 로컬 클럭을 사용하여 출력 메세지들을 타임스탬핑한다. 이동장치 참가자의 클럭은 셀폰에서의 서비스 제공자와 같은 보다 중요한 다른 엔티티의 클럭과 동기화될 수 있기 때문에, 이동장치 참가자는 자신의 클럭을 변경할 필요는 없을 것이다; 하지만, 이동장치는 자신의 로컬 타임과 서비스 브로커(220)의 타임간의 차(어긋남)를 계산하고 이에 따라 해당 세션과 관련된 모든 메세지에서 타임스탬프를 조정할 것이다. 이동장치들은 자신의 로컬 클럭 및 어긋남을 이용하여 타임스탬프를 계산한다. 세션에서 교환되는 모든 메세지들은 타임스탬프를 가질 것이다. 세션은 개시타임과 종료타임을 가질 것이다. 중단된 세션 상태는 타임스탬프[(서비스 브로커(220)에 의해 기록된 것으로서) 세션이 중단된 시각]을 가질 것이다.When the devices join a session, the devices may synchronize their clocks to a common base, such as the clock of the
본 발명에 따른 방법은 그룹 대화의 상태를 캡쳐하는 것을 가능하게 해주며, 또한 이후 시점에서, 이전에 캡쳐될 때의 바로 그 상태로 그룹 대화 세션의 회복을 가능하게 해준다. 오늘날의 증가된 이동 노동력에 있어서, 참가자들 그룹이 다른 셋팅으로 그들의 세션을 재개하는 것은 보기드문일이 아니다. 이러한 새로운 셋팅에서는 동일 환경 서비스들이 이용가능하지 않을 수 있다. 하지만, 간절히 바라는 환경 서비스들과 유사한 환경 서비스들이 새로운 셋팅에서 이용가능할 수 있으며 비이용가능한 서비스들을 대신할 수 있다. 게다가, 그룹이 재집합할 때에는, 이전 세션에서의 모든 참가자들이 존재할 수 있는 것만은 아니다. 또한, 세션이 재개될 때에 새로운 참가자들이 세션에 추가되는 가능성도 있다. 또한, 세션이 재개될 때에 세션 매니저의 역할이 다른 이동장치에 의해 떠맡겨질 수도 있으며, 세션이 최종 중단된 위치에서 장치를 관리했던 서비스 브로커와 다른 서비스 브로커(220)에 의해 새로운 위치의 환경 서비스들이 관리될 수 있다. 임의의 공동 시나리오에서, 시나리오에서의 엘리먼트 세트들(이동 장치, 환경 서비스, 서비스 브로커, 네트워크)내에 수 많은 교환이 가능하며, 이 교환은 계속적으로 변경될 수 있다. 그러므로, 세션 중단 및 재개 동작이 최대 가능 범위까지 세션의 구성과는 무관하게 존속된다는 것은 중요하다.The method according to the invention makes it possible to capture the state of the group conversation and also to recover the group conversation session at a later point in time as it was previously captured. In today's increased mobile workforce, it is not uncommon for groups of participants to resume their sessions with different settings. In this new setting, the same environment services may not be available. However, environmental services similar to those that are eagerly desired may be available in the new setting and may replace unavailable services. In addition, when the group regroups, not all participants in the previous session can be present. There is also the possibility of adding new participants to the session when the session resumes. In addition, the role of the session manager may be assumed by another mobile device when the session is resumed, and the environmental service of the new location by the service broker and
이러한 독립성을 해결하기 위하여, 서비스 브로커(220)에서 다수의 장치들의 공유 세션 상태의 캡쳐를 설명한다. 그 후, 이 캡쳐 정보는 바람직하게 임의의 권한있는 유저에게 액세스되는 네트워크 데이터베이스(275)내에 저장된다. 이후에서는 이러한 기능들 즉, 중단 및 재개에서 필요한 두 개의 특정 동작들에 대하여 설명한다. To address this independence, the capture of the shared session state of multiple devices in the
도 3을 참조하면, 본 도면에서는 도 2의 그룹 대화 세션(200)을 중단하는 방법의 흐름도가 도시된다. 프로세스는 단계 310에서 유저(130, 140, 150, 및 160)가 공유 세션(200)을 종료할 준비를 한 지점에서 시작하고 후에 이를 재개한다. 세션 매니저[이경우에서는 이동장치(140)]는 서비스 브로커(220)에게 중단된 프로세스를 개시하기 위한 요청을 발행할 것이다. 세션 매니저(140)는 또한 참가자 이동장치들 중 하나로부터의 요청에 대한 응답으로 중단 요청을 발행할 수 있다. 이러한 요청을 수신하면, 단계 320에서, 서비스 브로커(220)는 중단되게 되는 세션(200)과 연관된 모든 이동장치들(130, 140, 150, 및 160) 및 환경 서비스들(110)에게 중단 요청을 전달한다. 환경 서비스(240)는 이 특정 세션에 현재 참가하지 않고 있으며(연관이 이루워지지 않음), 그래서 통보되지 않음을 주목한다. 환경 서비스(240)는 이 세션과 관련하여 연관된 ID를 갖지 않았다. 서비스 브로커(220)는 세션 ID를 통해서 세션내의 모든 참가자들을 계속 추적할 수 있다.Referring to FIG. 3, there is shown a flow diagram of a method of stopping the
단계 330에서, 환경 서비스(110) 및 이동장치들(130-160)은 네트워크로부터의 대기중인 모든 메세지들을 흐르게하고, 모든 유입 메세지들을 처리하고 (그리고 그 결과로서 이들의 상태를 업데이트하고) 그리고 본 세션(200)과 관련된 장치의 상태를 서비스 브로커(220)에게 조사하여 보고한다. 이 예시에서는, 프리젠테이션이 서비스에 포함되고 있기 때문에, 서비스(110)는 서비스 브로커(220)에게, 제공되는 화일명칭, 최종적으로 봤던 페이지 번호 및 줌 레벨, (모든 참가자들의 입력과 함께) 공유 화이트보드의 내용, 수신했던 최종 입력 이벤트 및 통신했던 최종 참가자를 보고할 것이다. 가능한 많은 세션 정보를 제공함으로써 세션이 중단되었 을 때의 바로 그 상태에서 나중에 세션이 재개될 수 있도록 하는 것이 중요하다. [표 1]은 저장될 필요가 있을 세션 정보 일부에 관한 예시를 제공한다. 서비스 브로커(220)에게 전달되는 세션 정보는 세선 본질에 따라 달라질 수 있음을 주목한다. 최소한 환경 서비스(110)는 중단 시각에서의 서비스(110)의 현재 상태를 재생성하는데에 필요한 정보를 보고할 필요가 있을 것이다.At
일부 보기드문 경우에서, 서비스(110)는 세션(200)의 시작때에 수신했던 모든 제어 이벤트를 기록(log)할 수 있다. 로그내의 각 엔트리는 타임스탬프, 세션 id, 이동장치 id, 및 이벤트 종류를 포함할 것이다. 타임 스탬프의 클럭은 서비스 브로커(220)상에서 운용되는 클럭과 동기될 것이다. 이동장치의 유저는 중단상태 바로 전의 세션 상태만이 아닌, 전체 세션의 캡쳐를 가질 것을 원할 수 있다. 유저는 전체 세션의 캡쳐 재생을 수행하기를 원할 수 있다. 세션이 종료된 후, 캡쳐 재생을 통해, 유저는 세션을 되돌리기하고, 일부 지점에서 일시정지 등을 할 수 있다.In some rare cases,
이러한 기능을 갖기 위하여, 세션에 참가중인 각 장치들은 자신의 로컬 이벤트를 기록해야만 한다; 전형적으로, 세션에 참가중인 장치들 중 하나는 세션(200)에서의 로컬 이벤트에 대한 로그를 저장할 것이다. 어느 장치가 로그를 저장할 것인지는 임의적이다. 유일한 요구조건은 장치가 충분한 메모리와 같은 필수 시스템 요구조건을 가지는 것이다. 장치는 세션 생성 타임에서, 로컬 이벤트의 로그를 저장하는 기능을 갖고 있는지 그리고 이 기능을 수행할 것인지에 관하여 지시해줄 필요가 있을 것이다. 일단 장치가 로그를 저장할 것임이 알려지면, 오직 하나의 장치 만이 이렇게 저장할 필요만 있으며, 희망하는 경우 기타 임의의 장치들은 기록된 엔트리들을 다운로드할 수 있다. 많은 참가자 장치들이 충분한 저장용량을 갖지 않을 것이기 때문에, 참가자들에 의해 기록된 로컬 이벤트는 로그를 저장하도록 선택된 장치에 주기적으로 오프로드될 필요가 있을 것이다.To have this capability, each device participating in the session must record its own local event; Typically, one of the devices participating in the session will store a log of local events in
만약 전체 상태의 캡쳐가 요구되지 않거나 또는 요청되지 않으면, 세션의 중단이 개시될 때에, 디펄트에 의하여 오직 현재의 상태만이 [서비스 브로커(220)에 의하여] 저장된다. 개인 휴대용 정보 단말기(PDA)상의 배향을 변경시키는 것과 같은 영향을 세션에 미치지 않는 로컬 이벤트는 세션 로그내에 저장될 필요가 없다. 시스템 성능에 대한 부작용의 가능성때문에 오로지 필요한 경우에서만 모든 이벤트를 기록하는 것이 수행되어야만 하는 것을 명심한다.If capture of the full state is not required or not requested, only the current state is stored (by the service broker 220) by default when the interruption of the session is initiated. Local events that do not affect the session, such as changing the orientation on a personal digital assistant (PDA), need not be stored in the session log. Keep in mind that recording all events should be performed only when necessary, due to the possibility of adverse effects on system performance.
이상적으로, 저장되는 정보는: (모든 세션 장치들의 ID를 포함한) 세션 구성, (세션의 중단시에) 다양한 이동장치 및 환경 장치들의 상태로 제한된다. 일부 극단적인 경우, 예를 들어, 서비스/장치의 상태가 세션 중단시에 추출될 수 없다면, 세션 재개를 가능하도록하기 위하여 로그를 저장하는 것이 필요할 수 있다. 이러한 경우, 만약 이벤트의 로그가 보존된다면, 서비스/장치를 중단 동작 이전의 상태로 가져오게 하기 위하여 서비스/장치는 이벤트 로그의 관련부분으로부터의 알려진 상태로 리셋될 수 있다.Ideally, the information stored is limited to the session configuration (including the IDs of all session devices), the state of the various mobile and environmental devices (when interrupting the session). In some extreme cases, for example, if the state of a service / device cannot be extracted at session interruption, it may be necessary to save a log to enable session resumption. In this case, if a log of events is preserved, the service / device can be reset to a known state from the relevant portion of the event log to bring the service / device back to the state prior to the abort operation.
대체적 실시예에서, 저장을 위하여 서비스 브로커(220)로 중단된 상태를 이전할 것을 요구하는 것 없이, 환경 서비스(110) 및 참가자들은 자신의 상태를 중단하고 이를 국부적으로 저장하고 후에 이들 중 하나가 적절한 신호/메세지를 수신하면 이를 재개하는 능력을 가질 수 있다.In an alternative embodiment, without requiring the transfer of the suspended state to the
사실상의 방법과 상관없이, 단계 340에서 서비스(110)는 자신에 의해 보내진 모든 관련 데이터를 서비스 브로커(220)가 수신하였는지를 문의할 것이다. 단계 350에서, 서비스 브로커(220)는 세션 데이터가 수신되었음을 수신확인통보해주며, 세션을 중단하는 것이 자유롭다라는 것을 서비스(110)에게 신호로 알린다. 서비스(110)는 세션을 중단하기 전에 이 수신확인통보를 기다릴 것이다. 서비스 브로커(220)로부터의 수신확인통보를 수신하기 이전에 세션(200)을 중단하는 것은 세션 데이터를 손상시킬 것이고, 이후의 재개 동작을 실행불가능하게 만들 것이다. 만약 서비스 브로커(220)가 특정 시간내에 데이터 전송 수신을 수신확인통보해주지 않으면, 서비스(110)는 데이터를 재송신할 것이다.Regardless of the actual method, at
세션 중단시, 단계 360에서 서비스(110)는 세션을 중단시키기 위하여 자신의 전력관리기법 또는 스크린 세이버 또는 디펄트 모드를 호출할 수 있다. 예를 들어, 대규모 디스플레이는 TV 뉴스 채널, 또는 홈 페이지 내용, 또는 광고를 디스플레이하는 것으로 복귀할 수 있다. 오디오 장치들은 음악을 재생하거나 또는 무음상태가 될 수 있다. 일단 서비스 브로커(220)로부터 수신확인통보가 수신되고, 서비스(110)가 자신의 상태를 중단했으면, 단계 370에서 이동장치는 중단 신호를 수신할 것이다. 중단 신호는 팝업창에서 나타나는 사실상의 문자 메세지일 수 있거나, 무선 주파수 신호일 수 있다. 하지만 본 예시에서는, 중단 신호는 서비스(110)의 디스플레이 스크린으로부터 중단 상태를 단순히 디스플레이함으로써 이동장치에게 전달된다. 이동장치들(130, 140, 150, 및 160)이 현재 본 서비스(110)와 연관되어 있기 때문에, 이들 각자의 디스플레이 영역은 서비스(110)상에서 보여지는 것을 정확하게 동시적으로 디스플레이할 것이다. 이것은 도 5에 도시되어 있으며, 여기서 서비스(110)는 "세션 중단"의 메세지와 함께 스크린 세이버를 디스플레이한다. 이 동일 메세지는 각각의 참가자들의 화면영역에 반영된다. 이 동시적 디스플레이에 관한 기술은 공지되었으며, 본 발명의 범위를 뛰어넘는다. 전형적으로, 이동장치는 다수의 애플리케이션을 운용하며, 이들 중 소수가 중단 세션 부분이다; 이 애플리케이션들은 종료될 것이고 이동장치의 스크린은 장치가 세션을 가입/구축하기 이전에 나타났던 디스플레이로 복귀할 것이다.Upon interrupting the session, the
일단 참가자가 중단 신호를 수신하면, 참가자는 스크린 세이버로의 복귀와 같이 서비스(110)에 의해 취해지는 것과 유사한 행위를 취할 수 있다. 참가자에 의해 취해진 행위에 상관없이, 이 시점으로부터 세션(200)이 재개될 때까지, 참가자는 서비스(110)와 상호작용할 수 없을 것이다. 즉, 이들의 연관은 해체될 것이다.Once the participant receives the stop signal, the participant can take an action similar to that taken by the
중단 프로세스를 가속화하기 위하여, 서비스 브로커(220)는 몇몇의 서비스들과 이동장치들로부터의 데이터를 병렬로 받아들이도록 설계된다. 보안성을 위하여, 서비스 브로커(220)는 참가자들 및 환경 서비스들로부터 수신한 모든 데이터를 키로 암호화할 수 있으며 이 키를 세션 매니저에게 제공할 수 있다. 세션 매니저는 세션을 재개하는 것을 권한부여받은 장치에게 키를 선택적으로 전송할 수 있다.To speed up the outage process,
단계 380에서, 서비스 브로커(220)에서 수집된 결집 상태는 암호화된 방법으로 네트워크 데이터베이스(275)에 저장되고, 중단된 세션 상태를 식별해주는 고유 식별자와 더불어, 이 상태를 잠금해제하는 키는 세션 매니저(140)에게 보내진다([표 1] 참조). 세션 매니저(140)는 이 중단된 세션을 재개할 것을 참가자(들)에게 사실상 권한부여하면서, 선택적으로 이 식별자 및 키를 세션(200)내의 하나 또는 그 이상의 참가자들에게 보낼 수 있다. 결집된 세션 상태를 네트워크 데이터베이스내에 저장하는 것은 단지 하나의 선택사항임을 주목한다.In
도 4를 참조하여, 도 2의 그룹 대화 세션(200)을 재개하는 프로세싱에 대하여 서술한다. 재개시, 단계 410에서 참가자들은 서로 다른 위치에서 재소집된다. 전술된 바와 같이, 참가자들은 변경될 수 있다. 게다가, 이 위치는 다른 서비스 브로커(220)에 의해 관리되는 다른 환경 서비스 세트를 가질 수 있다. 중단된 세션(500)이 네트워크 데이터베이스(275)에 저장되었기 때문에 다른 서비스 브로커(220) 및 서비스와 함께 중단된 세션을 재개하는 것이 있을 수 있다; 중단 세션은 원래의 서비스 브로커(220)와 함께 저장되지 않는다. 다른 서비스 브로커(220)를 다루는 경우, 단계 420에서 이동장치들 중의 하나는 세션 매니저가 되고 새로운 서비스 브로커(220)와 함께 새로운 새션을 개시하며, 네트워크 데이터베이스(275)에 저장된 이전의 세션을 재개할 것을 새로운 서비스 브로커(220)에게 요청한다. 이 경우, 상기 이동장치는 키를 갖고 있어야만 하고, 이는 세션 매니저로서 자동적으로 지정된다.With reference to FIG. 4, the processing of resuming the
세션 매니저는 재개 요청의 일부로서, 네트워크 데이터베이스(275)에 저장된 중단 세션 상태(500)를 잠금해제하는 키를 포함한다. 만약 중단된 세션 상태(500)에 대응하는 식별자와 키를 하나 보다 많은 이동장치들이 중단시에 공유한다면, 이들 이동장치들 중의 임의의 이동장치가 세션 매니저가 될 수 있으며 세션 재개를 개시할 수 있다. 간단명료함으로 위해, 세션 ID는 [표 1]에서 도시된 세션 ID MENLO08280615070345 와 같이, 세션이 유지됐던 시각, 일자, 및 위치로 구성될 수 있다.이 세션 ID는 2006년 8월 28일자로 캘리포니아 멘로 파크에서 세션이 유지되었음을 가리킨다. 세션은 태평양 표준시로 2:07 p.m.에서 중단되었다.The session manager includes a key to unlock the suspended
단계 430에서, 서비스 브로커(220)는 세션이 재개될 수 있는지를 판정할 것이다. 보통, 세션을 재개하는데에는 1) 중단된 세션(500)으로부터의 모든 환경 서비스들은 이용가능해야하거나, 또는 등가 서비스들이 세션에 할당될 수 있어야 함, 및 2) 세션(500)이 적절하게 중단됨과 같은 두 개의 중요한 요구조건들이 있다. 세션의 적절한 중단에는 서비스 브로커(220)로의 세션 데이터의 성공적인 전송 및 서비스 브로커(220)로부터의 수신확인통보의 수신이 포함된다.In
서비스 브로커(220)는 또한 대응하는 세션 참가자들이 이용가능한지를 판정한다. 만약 중단된 세션(500)의 일부였던 특정 참가자가 이용가능하지 못한다면, 서비스 브로커(220)는 세션 매니저에게 현재 이용가능한 참가자들 중 하나를 선택하여 누락된 참가자의 역할을 하도록 청구할 것이다. 일반적으로, 서비스 브로커(220)는 중단된 세션 상태(500)의 일부였던 모든 연관들을 구축할 수 없을 수 있다. 이 경우, 만약 세션 매니저가 승인한다면, 서비스 브로커(220)는 재개할 수 있는 연관들만을 재개하고 나머지는 생략할 것이다. 일단 장치의 역할이 맡겨지면, 원래의 장치는 자신의 역할을 다시 맡을 수 없다. 일반적으로, 재개시에 유효한 경우라면, 이동장치들이 동일하게 남는 동안 로컬 환경 장치들은 종전의 환경 서비스들의 역할을 떠맡는다. 세션 매니저로부터의 허가가 있으면, 이동장치들은 추후에 항상 세션에 가입할 수 있다.The
세션 참가자들은 종종 이동장치들이며, 그 본질성에 의해 이동장치들은 정적이지가 않기 때문에, 참가자의 부재가 세션 회복을 막아서는 안된다. 예를 들어, 이전의 세션(500)으로부터의 참가자는 세션(500)이 재개중일때에 부재할 수 있다. 세션(500)은 부재한 참가자없이 재개할 수 있다. 대안사항으로서, 모든 연관들이 재구축될때까지 재개는 중지될 수 있다.Since session participants are often mobiles, and by their nature mobile devices are not static, the absence of the participant should not prevent session recovery. For example, a participant from a
다음으로, 단계 440에서 서비스 브로커(220)는 이전에 형성되었던 연관들의 시퀀스로 참가자들 및 서비스들간의 연결/연관을 설정하는 것을 도와줄 것이다. 연관된 두 장치간의 통신을 보안유지하기 위하여, 두 장치들간에 보안 접속이 구축되어 그 결과로 두 개의 비밀 토큰 또는 키를 생성하고 배분한다. 이전 단계에서 결정된 바에 따라, 만약 시퀀스에서 임의의 참가자들이 누락되면, 장치가 스킵되거나 또는 프로세스가 중단될 것이다. 만약 장치가 스킵되면, 단계 450에서 나머지 참가자들 각자는 자신의 중단된 상태를 재개할 것이다. 또한, 스킵된 장치(들) 및 현재 참가자들간의 어떠한 연관도 복구되지 않는다. 단계 460에서 서비스 브로커(220)는 이 시점에서 관련 상태를 서비스(110)에게 반송한다. 그 후 서비스(110)는 이 상태정보를 처리하고, 단계 470에서 중단시의 상태로 되돌아간다. 일단 서비스(110)가 설정되고 재개상태로 되돌아가면, 단계 480에서 참가자들은 재개신호를 수신한다. 재개신호는 자신의 화면영역상의 중단 세션의 최종 스크린의 모습이거나, 또는 무선 주파수 신호일 수 있다. 기타 유형의 신호들이 본 발명의 범위내에서 가능하다.Next, at
도 6을 참조하여, 본 도면에서는 본 발명의 실시예에 따라 동작하도록 구성될 수 있는 프로그램가능 컴퓨터로서의 서비스 브로커(220)를 나타내는 블럭도를 도시한다. 도 6에서 도시된 바와 같이 서비스 브로커(220)는 바람직하게 이동장치들과 환경 서비스들과의 상호작용을 위한 입력/출력 서브시스템(620)을 포함한다. 입력/출력 서브시스템은 바람직하게 무선 인터페이스(630)를 포함할 것이다. 서비스 브로커(220)는 선택적으로 세션 데이터를 저장하는 저장소(625)를 포함할 수 있다. 대안사항으로서, 세션 데이터는 원격 저장소에 저장될 수 있다. 프로세서(640)는 브로커(220)에 제출된 데이터의 처리를 수행하도록 구성된다. 프로세서(640)는 하나 또는 그 이상의 마이크로프로세서를 포함할 수 있다. 프로세서(640)는 한번에 다수의 장치 대화들을 지원(병렬처리)할 수 있어야만 함을 주목한다. 프로세서(640)는 메모리(660)에 저장된 프로그램 코드 또는 하드 와이어드 프로그램 코드를 운용하도록 구성될 수 있다.Referring to FIG. 6, this figure shows a block diagram illustrating a
서비스 브로커(220)를 위한 메모리(660)는 랜덤 액세스 메모리 또는 대량 저장소를 나타낸다. 이것은 휘발성 또는 비휘발성일 수 있다. 서비스 브로커(220)는 또한 하드 디스크 드라이브와 같은 자기매체 대량 저장소 장치를 포함할 수 있다. 메모리(660)는 비교연산 수행(672), 다수 대화 처리(674) 및 암호화/복호화(676)와 같은 특정 기능을 실행하는 로직(670)을 포함한다. 도시되고 서술된 것은 프로그램가능 컴퓨터 장치의 매우 단순화된 묘사이다. 본 발명분야의 당업자는 기타의 로우 레벨 구성부 및 연결구성들이 컴퓨터 장치의 임의의 실용적 적용예에서 요구됨을 이해할 것이다.Memory 660 for
서비스 브로커(220)는 반드시 별도의 머신을 나타내는 것이 아니라, 협력하는 장치들이 사용하도록 이용가능한 서비스 세트를 나타낸다. 예를 들어, 작은 갯수의 장치들을 포함하는 세션에서, 서비스 브로커(220)에 의해 제공되는 기능은, 도 7에서 도시된 바와 같이, 환경 서비스 또는 이동장치들 중 임의의 하나에 제공될 수 있거나, 또는 심지어 참가자 장치들간에 분배될 수도 있다. 세션(700)은 무선 네트워크(780) 및 이동장치들(740 및 750)을 포함한다. 도 7의 공동 세션(700)은 또한 공유 화이트보드(710) 및 공유 프린터(720)의, 두 개의 환경 서비스들을 포함한다. 또한 두 개의 랩탑(740 및 750)은 서비스 브로커의 기능을 공유한다. 무선 네트워크(780)는 장치들간에 무선통신을 가능토록해준다. 이 세션(700)에서, 랩탑(740)은 세션 정보(세션 ID, 장치 ID, 세션 유형)를 수집하고, 세션 매니저로서 행동한다. 랩탑(750)은 보다 큰 용량을 갖고 있기 때문에, 모든 이벤트를 기록하고 정보를 무선 네트워크(780)를 통해 액세스되는 네트워크 데이터베이스(760)에 저장한다. 랩탑(750)은 또한 랩탑(740)으로부터 통보를 수신하면 세션(700) 중단 및 재개 행위들을 제어한다.The
대안적 사항으로서, 많은 수의 참가자들 또는 콜로케이팅되지 않은 참가자들을 갖는 세션에서, 서비스 브로커(220)의 일부 기능은 도 8에서 도시된 바와 같이, 다수의 서비스 브로커(220)들간의 일정 조정형태를 가지면서 각 위치에서 복제될 수 있다. 이 시나리오에서, 일반적으로 참가자들은 콜로케이팅된다. 인터넷을 통한 원격 서비스의 통합을 허용하기 위하여, 환경 서비스들을 제공하는 원격 장치들을 허용한다. 서비스 구역은 항상 전용 서비스 브로커를 갖는다.Alternatively, in a session with a large number of participants or non-collocated participants, some functionality of the
세션(800)의 공동 기법에서, 두 서비스 브로커들은 두 위치 각각에서의 대화 세션을 관리한다. 위치 A(810)는 서비스 브로커, 환경 서비스 및 네 개의 이동장치들을 지원한다. 위치 B(850)는 서비스 브로커 및 여섯 개의 이동장치들을 지원한다. 위치 A에서의 환경 서비스는 양 위치들에 의해 공유된다. 두 개의 위치들은 네트워크(880)를 통해 자신들의 행위를 조정한다. 웹 브라우징과 같은 일부 환경 서비스들이 서비스 구역에 걸처 공유될 수 있다. 전자 화이트보드와 같은 서비스들은 서비스 구역에 걸쳐 공유될 수 없다.In the joint scheme of
중단시에 저장되고 재개시에 복구되는데에 필요한 상태의 양을 감소시키기 위하여, 대량의 전체 프리젠테이션 화일 또는 전체 웹 페이지를 네트워크 데이터베이스(2705)에 복사하는 것을 회피하고, 이 대신에 세션 데이터의 일부로서 이들 아이템의 위치에 대한 포인터를 단순히 저장하는 것이 바람직할 수 있다. 이 경우, 내용은 재개시에 이용가능해야한다. 만약 세션이 재개될 수 있는 도중에 내용이 변경되면, 사실상의 디스플레이의 내용은 동일하지 않을 것이다.To reduce the amount of state needed to be stored on interruption and restored on resume, avoid copying large amounts of entire presentation files or entire web pages to network database 2705, instead replacing part of the session data. It may be desirable to simply store a pointer to the location of these items. In this case, the content should be available upon resumption. If the content is changed while the session can be resumed, the actual display content will not be the same.
그러므로, 현재 바람직한 실시예가 되는 것으로서 간주되는 것들을 설명하였지만, 본 발명의 사상의 범위내에 기타 변형들이 취해질 수 있음을 본 발명의 당업자는 이해할 수 있을 것이다.Therefore, while those which are considered to be presently preferred embodiments have been described, those skilled in the art will understand that other variations may be made within the scope of the spirit of the invention.
상술된 본 발명의 예시적인 실시예에 관한 설명은 전술된 본 발명의 목적, 실시모습 및 장점, 및 이와 다른 목적, 실시모습 및 장점을 설명하는데에 사용된다. 본 발명에 첨부된 도면에 관한 간단한 설명은 아래와 같다.The above description of exemplary embodiments of the present invention is used to describe the above-described objects, embodiments, and advantages of the present invention, and other objects, embodiments, and advantages. Brief description of the drawings attached to the present invention are as follows.
도 1은 종래기술에 따른, 네 개의 이동장치들간의 그룹 대화 세션을 나타내는 도면이다.1 is a diagram illustrating a group conversation session between four mobile devices, according to the prior art.
도 2는 본 발명의 실시예에 따라 공동 세션을 관리하는 서비스 브로커가 추가된 도 1의 그룹 대화 세션을 나타내는 도면이다.2 is a diagram illustrating a group chat session of FIG. 1 to which a service broker managing a joint session is added according to an embodiment of the present invention.
도 3은 본 발명의 실시예에 따라, 그룹 대화 세션을 중단하는 방법의 흐름도이다.3 is a flow diagram of a method for stopping a group conversation session, in accordance with an embodiment of the invention.
도 4는 본 발명의 실시예에 따라, 도 3의 그룹 대화 세션을 재개하는 방법의 흐름도이다.4 is a flow chart of a method of resuming a group conversation session of FIG. 3, in accordance with an embodiment of the invention.
도 5는 본 발명의 실시예에 따른, 중단 상태의 도 2의 그룹 대화 세션의 도면이다.5 is a diagram of the group chat session of FIG. 2 in a suspended state, in accordance with an embodiment of the present invention.
도 6은 본 발명의 실시예에 따른, 서비스 브로커의 하이레벨 블럭도이다.6 is a high level block diagram of a service broker according to an embodiment of the present invention.
도 7은 본 발명의 실시예에 따른, 서비스 브로커의 듀티를 공유하는 두 개의 이동장치들을 갖는 그룹 대화 세션의 도면이다.7 is a diagram of a group conversation session with two mobile devices sharing the duty of a service broker, in accordance with an embodiment of the present invention.
도 8은 본 발명의 실시예에 따라, 서로 다른 두 장소에서 동시적으로 발생한 세션을 조정하는 두 개의 서비스 브로커를 갖는 그룹 대화 세션의 도면이다.8 is a diagram of a group conversation session with two service brokers coordinating sessions occurring simultaneously in two different places, according to an embodiment of the invention.
Claims (20)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/672,080 US7747688B2 (en) | 2007-02-07 | 2007-02-07 | System and method for managing group interaction session states |
US11/672,080 | 2007-02-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080074028A KR20080074028A (en) | 2008-08-12 |
KR101112563B1 true KR101112563B1 (en) | 2012-03-07 |
Family
ID=
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060031341A1 (en) | 2004-07-12 | 2006-02-09 | White Christopher A | Maintaining instant message session status in dynamic operating environments |
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060031341A1 (en) | 2004-07-12 | 2006-02-09 | White Christopher A | Maintaining instant message session status in dynamic operating environments |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7747688B2 (en) | System and method for managing group interaction session states | |
CN110597774B (en) | File sharing method, system, device, computing equipment and terminal equipment | |
US7197751B2 (en) | Real-time collaboration client | |
US9432455B2 (en) | Synchronizing events between mobile devices and servers | |
US7219127B2 (en) | Control unit operations in a real-time collaboration server | |
RU2379755C2 (en) | System and method for sharing objects between computers over network | |
JP6220338B2 (en) | Fault-tolerant external application server | |
JP4060272B2 (en) | Method and apparatus for managing a peer-to-peer collaboration system | |
US7500006B2 (en) | Ticketing and keying for orchestrating distribution of network content | |
US7222305B2 (en) | Method of sharing a desktop with attendees of a real-time collaboration | |
US20030217171A1 (en) | Self-replicating and self-installing software apparatus | |
US20130110937A1 (en) | Real time document presentation data synchronization through generic service | |
US20040181577A1 (en) | System and method for facilitating real-time collaboration | |
US20170323273A1 (en) | An Online Meeting System and Method | |
JPH04502990A (en) | Broadcast network with guaranteed reliability | |
WO2010107621A2 (en) | Integration of pre-meeting and post-meeting experience into a meeting lifecycle | |
CN108512814B (en) | Media data processing method, device and system | |
JP2006092242A (en) | Remote conference system, base server, management server, remote conference management method, and program | |
JP6497184B2 (en) | Terminal device, program, content sharing method, and information processing system | |
JP2015520440A (en) | Binding CRUD type protocol in distributed agreement protocol | |
WO2021218646A1 (en) | Interaction method and apparatus, and electronic device | |
Shen et al. | Achieving data consistency by contextualization in web-based collaborative applications | |
KR101112563B1 (en) | System and method for managing group interaction session states | |
US20200089801A1 (en) | Disturbance-free partitioning and migration of data from one storage account to another storage account | |
CN114979234A (en) | Session control sharing method and system in distributed cluster system |