KR102476103B1 - 공유 컨텐츠 운용 방법 및 이를 지원하는 전자 장치 - Google Patents

공유 컨텐츠 운용 방법 및 이를 지원하는 전자 장치 Download PDF

Info

Publication number
KR102476103B1
KR102476103B1 KR1020150159944A KR20150159944A KR102476103B1 KR 102476103 B1 KR102476103 B1 KR 102476103B1 KR 1020150159944 A KR1020150159944 A KR 1020150159944A KR 20150159944 A KR20150159944 A KR 20150159944A KR 102476103 B1 KR102476103 B1 KR 102476103B1
Authority
KR
South Korea
Prior art keywords
electronic device
information
input
shared content
external electronic
Prior art date
Application number
KR1020150159944A
Other languages
English (en)
Other versions
KR20170056360A (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 삼성전자주식회사
Priority to KR1020150159944A priority Critical patent/KR102476103B1/ko
Priority to US15/257,529 priority patent/US10275204B2/en
Publication of KR20170056360A publication Critical patent/KR20170056360A/ko
Application granted granted Critical
Publication of KR102476103B1 publication Critical patent/KR102476103B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display
    • 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
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/524Deadlock detection or avoidance
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/37Details of the operation on graphic patterns
    • G09G5/377Details of the operation on graphic patterns for mixing or overlaying two or more graphic patterns
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/025LAN communication management
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/20Details of the management of multiple sources of image data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Graphics (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 문서에 개시된 실시 예는 공유 컨텐츠 관련 화면을 출력하는 디스플레이, 상기 공유 컨텐츠 운용과 관련한 제1 입력 정보를 수신하는 입력 인터페이스, 적어도 하나의 외부 전자 장치에서의 상기 공유 컨텐츠 운용과 관련한 제2 입력 정보를 수신하는 통신 인터페이스, 상기 공유 컨텐츠 처리와 관련한 적어도 하나의 명령어를 저장하는 메모리, 상기 디스플레이, 상기 입력 인터페이스, 상기 통신 인터페이스 및 상기 메모리에 전기적으로 연결되는 프로세서를 포함하고, 상기 명령어에 의해 수행되는 프로세서는 상기 공유 컨텐츠 운용과 관련하여 입력된 제1 입력 정보 및 상기 공유 컨텐츠 운용과 관련하여 상기 적어도 하나의 외부 전자 장치로부터 수신된 제2 입력 정보의 충돌 발생 가능성을 판단하고, 충돌 발생 가능성이 있는 경우 지정된 효과를 적용하도록 설정된 전자 장치를 개시한다. 이 외에도 본 발명의 다양한 실시 예가 가능하다.

Description

공유 컨텐츠 운용 방법 및 이를 지원하는 전자 장치{Operating Method for Sharing Content and electronic device supporting the same}
본 발명의 다양한 실시 예들은 공유 컨텐츠 운용에 관한 것이다.
최근 전자 장치는 다양한 사용자 기능을 제공하고 있고, 이와 관련한 사용자 데이터 등을 저장할 수 있다. 또한, 전자 장치는 네트워크를 이용하여 외부 전자 장치와 통신을 수행할 수 있다.
상기 전자 장치는 외부 전자 장치와 통신을 수행하면서 지정된 컨텐츠를 공유할 수 있다. 또한, 지정된 컨텐츠는 전자 장치 및 외부 전자 장치의 입력에 따라 편집될 수 있다. 그런데, 편집 동작에서 전자 장치가 입력한 입력 정보와 외부 전자 장치가 입력한 입력 정보 간의 충돌이 발생하는 문제가 있었다.
본 발명의 다양한 실시 예들은, 공유되는 컨텐츠에 대한 입력 정보들의 충돌을 방지하여, 적절한 컨텐츠 운용 상황을 제공할 수 있는 공유 컨텐츠 운용 방법 및 이를 지원하는 전자 장치를 제공할 수 있다.
본 발명의 한 실시 예에 따른 전자 장치는 디스플레이, 상기 디스플레이에 통합되거나 또는 독립되고, 사용자로부터 입력된 터치 및/또는 제스처를 수신하는 회로를 포함하는 사용자 입력 장치, 통신 회로, 상기 디스플레이, 상기 사용자 입력 장치 및 상기 통신 회로와 전기적으로 연결되는 프로세서, 상기 프로세서와 전기적으로 연결되는 메모리를 포함하고, 상기 메모리는 상기 프로세서에 의해 실행되는 명령어들을 저장하고, 상기 명령어는 상기 디스플레이 상에 소프트웨어 프로그램의 사용자 인터페이스를 출력하고, 상기 사용자 입력 장치로부터 입력된 제1 제스처를 수신하고, 상기 사용자 인터페이스의 제1 영역에서의 제1 제스처 입력에 대응하여 제1 이미지를 표시하고, 다른 전자 장치로부터 생성된 제2 이미지를 통신 회로를 통해 수신하고, 상기 제2 이미지의 적어도 일부가 제1 이미지와 오버랩되는 경우 상기 제1 이미지 상부에 놓이거나 또는 상기 제1 이미지 하부에 놓이거나 또는 상기 제1 이미지로부터 분리되는 제2 이미지의 적어도 일부를 변경하거나 이동시키도록 설정될 수 있다.
본 발명의 한 실시 예에 따른 전자 장치는 디스플레이, 상기 디스플레이에 통합되거나 또는 독립되고, 사용자로부터 입력된 터치 및/또는 제스처를 수신하는 회로를 포함하는 사용자 입력 장치, 통신 회로, 상기 디스플레이, 상기 사용자 입력 장치 및 상기 통신 회로와 전기적으로 연결되는 프로세서, 상기 프로세서와 전기적으로 연결되는 메모리를 포함하고, 상기 메모리는 상기 프로세서에 의해 실행되는 명령어들을 저장하고, 상기 명령어는 상기 디스플레이 상에 소프트웨어 프로그램의 사용자 인터페이스를 출력하고, 상기 사용자 입력 장치로부터 입력된 제1 제스처를 수신하고, 상기 사용자 인터페이스의 제1 영역에서의 제1 제스처 입력에 대응하여 제1 이미지를 표시하고, 다른 전자 장치로부터 생성된 제2 이미지를 통신 회로를 통해 수신하고, 상기 전자 장치의 외부로 상기 통신 회로를 통하여 제1 이미지 또는 제1 일부에 대한 정보를 전송하고, 상기 통신 회로를 통하여, 다른 전자 장치가 생성한 제2 이미지를 수신하고, 상기 상기 제2 이미지의 적어도 일부는 제1 이미지 상에 놓이거나 또는 상기 제1 이미지 하부에 놓이거나 또는 상기 제1이미지로부터 분리되게 조절되도록 설정될 수 있다.
본 발명의 다양한 실시 예는 지정된 정책에 따라 공유 컨텐츠 접근 과정에서 발생할 수 있는 충돌을 방지할 수 있도록 지원한다.
또한, 본 발명의 다양한 실시 예는 장치별 접근 권한을 설정함으로써, 상대적으로 중요도가 높은 장치의 입력 정보 적용이 방해 받지 않도록 할 수 있다.
도 1은 본 발명의 다양한 실시 예에 따른 공유 컨텐츠 운용 환경의 한 예를 나타낸 도면이다.
도 2는 본 발명의 다양한 실시 예에 따른 서버 구성의 한 예를 나타낸 도면이다.
도 3은 본 발명의 다양한 실시 예에 따른 공유 컨텐츠 운용과 관련한 서버 운용 방법의 한 예를 나타낸 도면이다.
도 4는 본 발명의 다양한 실시 예에 따른 서버 운용 방법 중 권한 변경과 관련한 방법의 한 예를 나타낸 도면이다.
도 5는 본 발명의 다양한 실시 예에 따른 서버 운용과 관련한 시스템 신호 흐름의 한 예를 나타낸 도면이다.
도 6은 본 발명의 다양한 실시 예에 따른 공유 컨텐츠 운용 환경의 다른 예를 나타낸 도면이다.
도 7은 본 발명의 다양한 실시 예에 따른 전자 장치 구성의 한 예를 나타낸 도면이다.
도 8은 본 발명의 다양한 실시 예에 따른 외부 전자 장치의 구성의 한 예를 나타낸 도면이다.
도 9는 본 발명의 다양한 실시 예에 따른 공유 컨텐츠 운용과 관련한 전자 장치 운용 방법을 나타낸 도면이다.
도 10은 본 발명의 다양한 실시 예에 따른 공유 컨텐츠 운용과 관련한 외부 전자 장치 운용 방법을 나타낸 도면이다.
도 11은 본 발명의 다양한 실시 예에 따른 공유 컨텐츠 운용과 관련한 화면 인터페이스의 한 예를 나타낸 도면이다.
도 12는 본 발명의 다양한 실시 예에 따른 공유 컨텐츠 운용과 관련한 화면 인터페이스의 다른 한 예를 나타낸 도면이다.
도 13은 본 발명의 다양한 실시 예에 따른 전자 장치 운용 환경을 나타낸다.
도 14는 본 발명의 다양한 실시 예에 따른 전자 장치의 블록도 1401을 나타낸다.
도 15는 본 발명의 다양한 실시 예에 따른 프로그램 모듈의 블록도를 나타낸다.
이하, 본 문서의 다양한 실시예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 문서의 실시예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 문서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 문서에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제1 사용자 기기와 제2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 문서에 기재된 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 바꾸어 명명될 수 있다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 다른 실시예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 문서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 문서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 실시예들을 배제하도록 해석될 수 없다.
본 문서의 다양한 실시예들에 따른 전자 장치는, 예를 들면, 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device) 중 적어도 하나를 포함할 수 있다. 다양한 실시예에 따르면, 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드(skin pad) 또는 문신), 또는 생체 이식형(예: implantable circuit) 중 적어도 하나를 포함할 수 있다.
어떤 실시예들에서, 전자 장치는 가전 제품(home appliance)일 수 있다. 가전 제품은, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), 홈 오토매이션 컨트롤 패널(home automation control panel), 보안 컨트롤 패널(security control panel), TV 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더(camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션(navigation) 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 금융 기관의 ATM(automatic teller's machine), 상점의 POS(point of sales), 또는 사물 인터넷 장치(internet of things)(예: 전구, 각종 센서, 전기 또는 가스 미터기, 스프링클러 장치, 화재경보기, 온도조절기(thermostat), 가로등, 토스터(toaster), 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
어떤 실시예에 따르면, 전자 장치는 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시예에서, 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 어떤 실시예에 따른 전자 장치는 플렉서블 전자 장치일 수 있다. 또한, 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않으며, 기술 발전에 따른 새로운 전자 장치를 포함할 수 있다.
이하, 첨부 도면을 참조하여, 다양한 실시예에 따른 전자 장치가 설명된다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1은 본 발명의 다양한 실시 예에 따른 공유 컨텐츠 운용 환경의 한 예를 나타낸 도면이다.
도 1을 참조하면, 본 발명의 다양한 실시 예에 따른 공유 컨텐츠 운용 환경 10은 전자 장치 100, 적어도 하나의 외부 전자 장치 200, 서버 300 및 네트워크 162를 포함할 수 있다. 상기 전자 장치 100 및 적어도 하나의 외부 전자 장치 200은 네트워크 162를 통하여 서버 300에 접속할 수 있다.
상기 전자 장치 100은 서버 300에 공유 컨텐츠 운용을 요청할 수 있다. 상기 전자 장치 100은 공유 컨텐츠 운용을 함께할 외부 전자 장치 목록을 서버 300에 제공할 수 있다. 또는, 전자 장치 100은 서버 300으로부터 외부 전자 장치 목록을 수신하고, 수신된 외부 전자 장치 목록에서 공유 컨텐츠 운용을 함께할 외부 전자 장치 선택하고, 선택 목록을 서버 300에 제공할 수 있다.
상기 전자 장치 100은 서버 300으로부터 공유 컨텐츠 운용에 참여한 적어도 하나의 선택 외부 전자 장치 항목을 수신할 수 있다. 전자 장치 100은 외부 전자 장치의 특성 또는 전자 장치 사용자와의 관계에 따라 역할을 지정할 수 있다. 전자 장치 100이 설정한 역할에 따라 결정된 공유 컨텐츠에 대한 운용 권한(예: 접근 권한 및 충돌 회피 권한)이 서버 300를 통해 외부 전자 장치에 할당될 수 있다. 상기 역할은 예컨대, 전자 장치 100 또는 적어도 하나의 외부 전자 장치 200의 공유 컨텐츠 변경에 대한 우선 순위를 포함할 수 있다. 상기 운용 권한은 공유 컨텐츠의 영역들에서 전자 장치 100 또는 외부 전자 장치 200의 공유 컨텐츠 변경 권한 또는 충돌 회피 권한을 포함할 수 있다. 상기 역할에 따라 전자 장치 100 또는 외부 전자 장치 200의 운용 권한이 결정될 수 있다. 또한, 동일한 운용 권한을 가진다 하더라도, 역할의 우선 순위에 따라, 특정 장치의 운용 권한이 제한될 수 있다. 운용 권한은 요청에 따라 변경될 수 있다. 상기 역할 또한 전자 장치 100 요청 또는 외부 전자 장치 200의 요청에 따라 변경될 수 있다.
본 발명의 다양한 실시 예에 따르면, 전자 장치 100은 공유 컨텐츠 운용과 관련하여 외부 전자 장치 변경을 수행할 수 있다. 예컨대, 전자 장치 100은 공유 컨텐츠를 운용할 외부 전자 장치의 추가 요청 또는 공유 컨텐츠 운용에 참여한 외부 전자 장치 삭제 요청을 서버 300에 할 수 있다. 또한, 전자 장치 100은 외부 전자 장치의 운용 권한 변경을 처리할 수 있다. 외부 전자 장치의 운용 권한 변경에 따라, 전자 장치 100은 외부 전자 장치 변경 정보를 서버 300에 제공할 수 있다.
상기 전자 장치 100은 공유 컨텐츠 운용과 관련한 제1 입력 정보(예: 공유 컨텐츠에 포함된 가상 버튼 선택 정보, 쓰기 입력에 따른 스트로크 정보 또는 객체 이동 정보, 객체 선택 정보 중 적어도 하나)를 생성할 수 있다. 전자 장치 100이 생성한 제1 입력 정보는 서버 300에 제공될 수 있다. 서버 300 운용에 따라, 전자 장치 100이 입력한 제1 입력 정보가 적용된 갱신된 공유 컨텐츠는 외부 전자 장치 200에 저장된 공유 컨텐츠에 동기화될 수 있다.
한 실시 예에 따르면, 전자 장치 100이 설정한 운용 권한에 따라, 상기 제1 입력 정보 및 외부 전자 장치가 입력한 제2 입력 정보와의 충돌(또는 적어도 일부의 중첩) 처리가 서버 300에서 수행될 수 있다. 예컨대, 전자 장치 100의 운용 권한 우선도가 외부 전자 장치 200에 비하여 상대적으로 높은 경우, 제1 입력 정보와 제2 입력 정보가 충돌할 수 있는 컨텐츠 영역에서 제2 입력 정보 관련 외부 전자 장치의 입력이 제한될 수 있다. 본 발명의 다양한 실시 예에 따르면, 전자 장치 100의 운용 권한 우선도가 외부 전자 장치 200에 비하여 상대적으로 낮은 경우, 제1 입력 정보와 제2 입력 정보가 충돌할 수 있는 컨텐츠 영역에서 제1 입력 정보 관련 전자 장치 100의 입력이 제한될 수 있다. 서버 300 제어에 따라 충돌 가능성이 지정된 값 이하인 경우 컨텐츠 운용과 관련한 입력 제한은 해제될 수 있다.
상기 적어도 하나의 외부 전자 장치 200은 네트워크 162를 통하여 서버 300에 접속할 수 있다. 또는 외부 전자 장치 200은 서버 300으로부터 전자 장치 100이 요청한 공유 컨텐츠 작업 요청을 수신할 수 있다. 외부 전자 장치 200은 공유 컨텐츠 작업 요청 수락에 따라 공유 컨텐츠에 운용 권한을 획득할 수 있다. 적어도 하나의 외부 전자 장치 200은 획득한 운용 권한에 따라 각각 다른 크기의 공유 컨텐츠 변경 권한을 가질 수 있다. 또한, 외부 전자 장치 200은 획득한 운용 권한에 따라 우선순위가 다른 충돌 회피 권한을 가질 수 있다. 본 발명의 한 실시 예에 따르면, 외부 전자 장치 200은 상대적으로 우선 순위가 낮은 경우, 전자 장치 100 또는 다른 외부 전자 장치가 입력한 입력 정보에 관련하여 컨텐츠 변경과 관련한 입력이 제한될 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 외부 전자 장치 200은 운용 권한 변경을 서버 300 또는 전자 장치 100에 요청하여 변경할 수 있다. 외부 전자 장치 200은 운용 권한 변경에 따라 변경된 공유 컨텐츠 운용 권한(예: 컨텐츠 영역들에 대한 접근 권한으로서, 예컨대, 컨텐츠 실행 권한, 컨텐츠 재생 권한, 컨텐츠에 적용된 입력 정보 변경 권한, 입력 수단 변경 권한 등)을 획득할 수 있다. 또한, 외부 전자 장치 200은 공유 컨텐츠 작업 종료 또는 입력 정보 적용 취소 등을 요청할 수 있다.
상기 서버 300은 네트워크 162를 통하여 전자 장치 100 및 적어도 하나의 외부 전자 장치 200과 통신 채널을 형성할 수 있다. 서버 300은 전자 장치 100으로부터 공유 컨텐츠 운용 요청을 수신할 수 있다. 상기 공유 컨텐츠는 예컨대, 전자 장치 100이 제공하거나 또는 서버 300에 저장된 컨텐츠를 포함할 수 있다. 서버 300은 전자 장치 100, 외부 전자 장치 200에 임시 저장되는 공유 컨텐츠를 동기화할 수 있다. 이와 관련하여, 서버 300은 공유 컨텐츠를 임시 저장(또는 공유 컨텐츠의 복사본을 생성하여 운용)하고, 전자 장치 100의 제1 입력 정보에 의해 변경된 부분 또는 외부 전자 장치 200의 제2 입력 정보에 의해 변경된 부분을 전자 장치 100 및 외부 전자 장치 200에 전송하여 해당 장치들에 저장된 공유 컨텐츠와의 동기화를 수행할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 서버 300은 제1 입력 정보와 제2 입력 정보 간의 충돌 발생 여부를 판단할 수 있다. 예컨대, 서버 300은 입력 정보를 실시간 또는 일정 주기로 획득하고, 입력 정보의 크기, 진행 방향, 진행 속도 중 적어도 하나를 분석할 수 있다. 서버 300은 분석된 정보를 기반으로 충돌이 발생할 가능성이 지정된 값 이상인 경우 전자 장치 100 또는 외부 전자 장치 200 중 적어도 하나의 입력 제한을 처리할 수 있다. 본 발명의 한 실시 예에 따르면, 서버 300은 스트로크 데이터(raw data)를 수신하고, 이를 분석하여 충돌 발생 가능성을 판단할 수 있다. 이 동작에서 서버 300은 전자 장치 100 또는 외부 전자 장치 200으로부터 스트로크 관련 정보(예: 벡터 정보)를 수신하여, 충돌 발생 가능성을 판단할 수도 있다. 상기 서버 300은 전자 장치 100 또는 외부 전자 장치 200으로부터 공유 컨텐츠에 포함된 객체의 이동을 수신하고, 객체들의 충돌을 판단할 수도 있다. 본 발명의 다양한 실시 예에 따르면, 서버 300은 전자 장치 100(또는 외부 전자 장치 200)으로부터 스트로크 데이터(또는 벡터 정보)를 수신하고, 외부 전자 장치 200(또는 전자 장치 100)으로부터 객체 이동 정보를 수신할 수 있다. 이 경우 서버 300은 스트로크 정보와 객체 이동 정보의 충돌 발생 가능성을 판단할 수 있다.
한 실시 예에 따르면, 상기 서버 300은 상대적으로 우선순위가 높은 운용 권한을 가진 장치, 예컨대 전자 장치 100의 제1 입력 정보를 기반으로 입력을 제한할 잠금 정보를 생성할 수 있다. 서버 300은 생성된 잠금 정보를 외부 전자 장치 200에 제공하여, 잠금 정보에 의해 지정된 컨텐츠 영역에서 입력 정보가 생성되지 않도록 제한할 수 있다. 또는, 서버 300은 잠금 정보에 대응하는 컨텐츠 영역에서의 외부 전자 장치 200의 입력 정보를 무시할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 서버 300은 충돌 가능성에 대하여 실시간 또는 일정 주기로 검사하고, 충돌 가능성이 지정된 값 이하인 경우, 잠금 해제 정보를 생성할 수 있다. 서버 300은 잠금 해제 정보를 상대적으로 우선 순위가 낮은 장치, 예컨대, 외부 전자 장치 200에 제공할 수 있다. 또는 서버 300은 잠금 해제 정보를 잠금 정보를 수신한 외부 전자 장치 200에 제공할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 서버 300은 충돌 발생 가능성이 있는 컨텐츠 영역과 관련하여 적어도 하나의 지정된 효과를 출력하도록 효과 정보를 생성할 수 있다. 상기 효과 정보는 예컨대, 잠금 정보에 대응하는 컨텐츠 영역의 위치와, 크기를 안내하는 시각 정보, 오디오 정보, 진동 정보 중 적어도 하나를 포함할 수 있다. 상기 효과 정보를 수신한 전자 장치 100 또는 외부 전자 장치 200 중 적어도 하나는 상기 효과 정보에 대응하는 정보 출력을 수행할 수 있다. 본 발명의 한 실시 예에 따르면, 서버 300은 상기 효과 정보 및 잠금 정보를 우선 순위가 낮은 운용 권한을 가지는 장치 예컨대, 외부 전자 장치 200에 전송할 수 있다. 또한, 서버 300은 우선 순위가 높은 운용 권한을 가진 장치 예컨대, 전자 장치 100에 특정 영역(예: 제1 입력 정보에 의해 변경되고 있는 컨텐츠 영역)에서 충돌 발생 가능성이 있음을 안내하는 메시지, 그러나 입력이 제한되지는 않는다는 내용의 메시지, 입력이 제한된 외부 전자 장치 200 정보 중 적어도 하나를 제공할 수 있다.
도 2는 본 발명의 한 실시 예에 따른 서버 구성의 한 예를 나타낸 도면이다.
도 2를 참조하면, 본 발명의 한 실시 예에 따른 서버 300은 서버 프로세서 320, 서버 메모리 330, 서버 통신 인터페이스 370를 포함할 수 있다.
상기 서버 프로세서 320은 서버 300 운용과 관련한 프로세스를 수행할 수 있다. 예컨대, 서버 프로세서 320은 전자 장치 100의 공유 컨텐츠 운용 요청과 관련한 적어도 하나의 프로세스를 수행할 수 있다. 이와 관련하여, 서버 프로세서 320은 정보 공유 모듈 321, 충돌 예측 모듈 323, 충돌 방지 모듈 325, 역할 처리 모듈 327을 포함할 수 있다.
상기 정보 공유 모듈 321은 전자 장치 100 및 외부 전자 장치 200의 사용자 정보를 수집하고, 이를 저장 및 관리할 수 있다. 본 발명의 한 실시 예에 따르면, 서버 300은 전자 장치 100으로부터 적어도 하나의 외부 전자 장치 목록을 수신할 수 있다. 서버 300은 외부 전자 장치 목록에 포함된 외부 전자 장치들에게 전자 장치 100이 요청한 공유 컨텐츠 참여 요청 메시지를 전송할 수 있다. 서버 300은 참여를 수락한 외부 전자 장치들에 대한 정보를 수집하여 전자 장치 100에 제공할 수 있다. 정보 공유 모듈 321은 전자 장치 정보 및 수외부 전자 장치들의 정보를 역할 처리 모듈 327에 전달할 수 있다.
본 발명의 다양한 실시 예에 따르면, 정보 공유 모듈 321은 전자 장치 100 또는 외부 전자 장치 200에 공유 컨텐츠 331의 적용을 처리할 수 있다. 이와 관련하여, 정보 공유 모듈 321은 전자 장치 100 또는 외부 전자 장치 200으로부터 수신된 입력 정보를 공유 컨텐츠 331에 적용하여 갱신된 공유 컨텐츠를 생성할 수 있다. 이 동작에서, 정보 공유 모듈 321은 수신된 입력 정보를 충돌 예측 모듈 323에 전달할 수 있다. 예컨대, 정보 공유 모듈 321은 다수의 장치(예: 전자 장치 및 외부 전자 장치)로부터 입력되는 입력 데이터를 실시간 공유할 수 있다. 상기 입력 데이터는 예컨대, 서버 통신 인터페이스가 외부 전자 장치로부터 수신한 indexing 스트로크 데이터(또는 raw 스트로크 데이터)를 포함할 수 있다. 상기 indexing 스트로크 데이터는 예컨대, 스트토크 정보(dot)와 필압, 펜속성, 펜타입, z축 order값, Time line 등과 관련하여 인덱싱된 값일 수 있다. 정보 공유 모듈 321은 상기 입력 데이터를 문서 기준으로 통합하고, 추가 통합할 갱신 데이터를 외부 전자 장치로 전송하기 위하여 서버 통신 인터페이스에 전달할 수 있다.
정보 공유 모듈 321은 충돌 발생 가능성이 없는 경우 입력 정보를 공유 컨텐츠 331에 적용하여 갱신된 공유 컨텐츠를 생성할 수 있다. 정보 공유 모듈 321은 충돌 예측 모듈 323로부터 충돌 발생 가능성에 대한 정보(예: 충돌 발생 가능성을 안내하는 메시지 또는 플래그 등)를 수신하면, 역할 정보를 기반으로 특정 입력 정보만(예: 상대적으로 우선 순위가 높은 전자 장치의 입력 정보)을 공유 컨텐츠 331에 적용할 수 있다. 또는, 정보 공유 모듈 321은 충돌 발생 가능성이 있을 것으로 판단되기 직전까지의 입력 정보들(예: 전자 장치와 외부 전자 장치의 입력 정보들)을 공유 컨텐츠 331에 함께 적용하고, 충돌 발생 가능성 판단 이후로 입력되는 입력 정보들 중 특정 입력 정보만을 공유 컨텐츠 331에 적용할 수 있다.
이에 따라, 정보 공유 모듈 321은 적어도 일부 입력 정보를 공유 컨텐츠 331에 적용하여 갱신된 공유 컨텐츠를 생성할 수 있다. 정보 공유 모듈 321은 갱신된 공유 컨텐츠를 전자 장치 100 또는 외부 전자 장치 200에 전달할 수 있다. 본 발명의 다양한 실시 예에 따르면, 정보 공유 모듈 321은 공유 컨텐츠 331에 입력 정보들을 적용하면서 갱신 정보를 생성할 수 있다. 정보 공유 모듈 321은 갱신 정보를 전자 장치 100 또는 외부 전자 장치 200 전달하여, 전자 장치 100 또는 외부 전자 장치 200에 저장된 공유 컨텐츠 331를 갱신하도록 지원할 수도 있다.
상기 충돌 예측 모듈 323은 정보 공유 모듈 321로부터 전자 장치 100 또는 외부 전자 장치 200이 입력한 입력 정보들을 기반으로 충돌 발생 가능성을 예측할 수 있다. 예컨대, 충돌 예측 모듈 323은 전자 장치 100의 입력 정보를 기반으로 입력 정보의 방향, 이동 속도, 입력의 크기 중 적어도 하나를 판단하여, 입력 정보가 기입되는 방향의 추정 영역을 결정할 수 있다. 또한, 충돌 예측 모듈 323은 외부 전자 장치 200의 입력 정보에 대응하여 입력 정보가 기입되는 방향의 추정 영역을 결정할 수 있다. 상기 추정 영역은 입력의 크기, 이동 속도, 입력의 종류 등에 대응하여 다르게 결정될 수 있다. 상기 전자 장치 100의 입력 정보에 대응하는 추정 영역과 외부 전자 장치 200의 입력 정보에 대응하는 추정 영역이 적어도 일부가 중첩되는 경우, 충돌 예측 모듈 323은 충돌이 발생할 가능성이 있는 것으로 판단할 수 있다. 충돌 예측 모듈 323은 충돌 발생 가능성이 있으면, 이를 정보 공유 모듈 321 및 충돌 방지 모듈 325에 전달할 수 있다. 본 발명의 다양한 실시 예에 따르면, 충돌 예측 모듈 323은 입력 정보들을 기반으로 두 개 이상의 입력의 진행 방향이 일정 시점에 충돌할 것인지를 판단할 수 있다. 충돌 예측 모듈 323은 진행 방향이 일정 시점에 중첩될 것으로 판단되면, 충돌 발생 가능성이 있는 것으로 판단할 수 있다.
상기 충돌 예측 모듈 323은 수신되는 입력 정보들을 판단으로, 충돌 발생 가능성이 해제(또는 제거)되는지 확인할 수 있다. 예컨대, 충돌 예측 모듈 323은 전자 장치 100의 입력 정보를 기반으로 계산된 추정 영역과 외부 전자 장치 200의 입력 정보를 기반으로 계산된 추정 영역이 중첩되지 않으면(또는 입력의 방향이 충돌을 일으키지 않는 형태로 발생하면), 충돌 발생 가능성이 해제된 것으로 판단할 수 있다. 충돌 예측 모듈 323은 충돌 발생 가능성이 제거되면, 제거에 관한 정보를 충돌 방지 모듈 325에 전달할 수 있다.
상기 충돌 방지 모듈 325는 충돌 예측 모듈 323로부터 충돌 발생 가능성이 있음을 안내하는 메시지와 추정 영역에 대한 정보를 수신할 수 있다. 충돌 방지 모듈 325는 추정 영역에 대하여 입력을 제한하는 잠금 정보를 생성할 수 있다. 이 동작에서, 충돌 방지 모듈 325는 역할 정보를 확인할 수 있다. 충돌 방지 모듈 325는 잠금 정보를 전송할 장치, 예컨대, 상대적으로 우선 순위가 낮은 외부 전자 장치 200(또는 전자 장치 100)를 선택할 수 있다. 충돌 방지 모듈 325는 잠금 정보를 선택된 장치에 전달할 수 있다.
본 발명의 다양한 실시 예에 따르면, 충돌 방지 모듈 325는 충돌 발생 가능성 제거에 관한 정보를 수신하면, 잠금 해제 정보를 생성할 수 있다. 충돌 방지 모듈 325는 잠금 정보를 전송한 장치, 예컨대, 외부 전자 장치 200에 잠금 해제 정보를 전송할 수 있다.
상기 역할 처리 모듈 327은 공유 컨텐츠 운용에 참여한 장치들의 사용자 정보를 기반으로 또는 전자 장치 100의 사용자 입력에 따라 운용 권한을 설정할 수 있다. 예컨대, 역할 처리 모듈 327은 공유 컨텐츠 운용과 관련하여 전자 장치 100이 작업할 영역과, 적어도 하나의 외부 전자 장치 200이 작업할 영역, 전자 장치 100 및 외부 전자 장치 200이 공동으로 작업할 영역들을 지정된 정책에 따라 또는 전자 장치 100 선택에 따라 결정할 수 있다. 상기 결정된 영역들에 대한 운용 권한을 포함하는 역할 정보를 전자 장치 100 또는 외부 전자 장치 200에 전달할 수 있다. 본 발명의 다양한 실시 예에 따르면, 역할 처리 모듈 327은 공유 컨텐츠 운용과 관련하여 참여한 장치들의 개수에 따라 공유 컨텐츠 331을 균등 분할 또는 비균등 분할하고, 분할된 영역들에 대한 운용 권한을 포함하는 역할 정보를 전자 장치 100 또는 외부 전자 장치 200에 전달할 수 있다.
본 발명의 다양한 실시 예에 따르면, 역할 처리 모듈 327은 공유 컨텐츠 331에 대한 전자 장치 100의 참여 종료, 또는 적어도 하나의 외부 전자 장치 200의 추가 참여 또는 참여 종료에 따른 역할 정보 처리를 수행할 수 있다. 본 발명의 한 실시 예에 따르면, 역할 처리 모듈 327은 공유 컨텐츠 운용을 요청한 전자 장치 100의 참여 종료가 요청되면, 전자 장치 100의 공유 컨텐츠 운용을 종료할 수 있다. 역할 처리 모듈 327은 전자 장치 100이 제외되면, 나머지 외부 전자 장치들을 기반으로 해당 공유 컨텐츠 운용과 관련한 역할 정보를 생성할 수 있다. 역할 처리 모듈 327은 새로 생성된 역할 정보를 외부 전자 장치 200에 전달할 수 있다.
본 발명의 다양한 실시 예에 따르면, 역할 처리 모듈 327은 외부 전자 장치가 추가 되거나 참여 중인 외부 전자 장치가 참여 종료되면, 현재 공유 컨텐츠 331에 참여 중인 장치들을 기준으로 역할 정보를 새로 생성할 수 있다. 역할 처리 모듈 327은 새로 생성된 역할 정보를 전자 장치 100 또는 외부 전자 장치에 제공할 수 있다.
상기 서버 메모리 330은 서버 300 운용과 관련한 운영 체제 또는 서비스 운용과 관련한 정보를 저장할 수 있다. 본 발명의 한 실시 예에 따르면, 서버 메모리 330은 전자 장치 100이 공유 컨텐츠 운용 요청 시 제공한 공유 컨텐츠 331 및 충돌 처리 정보 333를 저장할 수 있다. 상기 서버 메모리 330은 공유 컨텐츠 331의 갱신과 관련하여, 이전 공유 컨텐츠 331의 복사본을 생성하여 서버 프로세서 320에 제공할 수 있다. 상기 충돌 처리 정보 333은 전자 장치 또는 외부 전자 장치가 제공한 입력 정보들의 충돌 발생을 판단하는 기준 정보를 포함할 수 있다. 예컨대, 충돌 처리 정보 333은 특정 컨텐츠(예: 문서)의 충돌 발생 판단 영역의 위치 정보를 포함할 수 있다. 또한, 충돌 처리 정보 333은 입력 정보들이 지시되는 지점 간의 거리(예: 일정 거리 이내인 경우 충돌 발생으로 예측 또는 판단할 수 있는 거리)를 포함할 수 있다.
서버 프로세서 320은 공유 컨텐츠 331 복사본에 입력 정보들을 적용하여, 상기 충돌 처리 정보 333을 기반으로 충돌 발생을 판단할 수 있다. 상기 공유 컨텐츠 331는 전자 장치 100 또는 외부 전자 장치가 제공한 입력 정보에 의해 갱신될 수 있다. 갱신된 공유 컨텐츠는 전자 장치 100 또는 외부 전자 장치 200에 제공되어 동기화될 수 있다. 본 발명의 다양한 실시 예에 따르면, 서버 메모리 330은 공유 컨텐츠 운용에 참여한 외부 전자 장치들의 목록 및 전자 장치 정보에 해당하는 이력 정보를 저장할 수 있다. 상기 공유 컨텐츠 운용과 관련한 요청이 다시 발생할 경우, 상기 저장 관리된 이력 정보는 전자 장치 100 또는 외부 전자 장치 200 중 적어도 하나에 제공될 수 있다.
상기 서버 통신 인터페이스 370은 전자 장치 100 및 적어도 하나의 외부 전자 장치 200과 통신 채널을 형성할 수 있다. 본 발명의 한 실시 예에 따르면, 서버 통신 인터페이스 370은 전자 장치 100으로부터 공유 컨텐츠 운용 요청을 수신할 수 있다. 이 동작에서, 서버 통신 인터페이스 370은 공유 컨텐츠 331 또는 공유 컨텐츠 331의 색인 정보를 수신할 수 있다. 또한, 서버 통신 인터페이스 370은 협업한 외부 전자 장치 관련 정보를 수신할 수 있다. 서버 통신 인터페이스 370은 전자 장치 100 또는 외부 전자 장치 200으로부터 공유 컨텐츠 운용과 관련한 입력 정보를 수신할 수 있다. 서버 통신 인터페이스 370은 잠금 정보 또는 잠금 해제 정보를 지정된 장치(예: 상대적으로 우선 순위가 낮은 장치)에 전달할 수 있다.상술한 본 발명의 다양한 실시 예에 따르면, 한 실시 예에 따른 서버는 공유 컨텐츠를 수신하는 통신 인터페이스, 상기 공유 컨텐츠 처리와 관련한 적어도 하나의 명령어를 저장하는 메모리, 상기 통신 인터페이스 및 상기 메모리에 연결되는 프로세서를 포함하고, 상기 명령어에 의해 수행되는 프로세서는 상기 공유 컨텐츠 운용과 관련한 전자 장치들로부터 입력 정보들을 수집하고, 수집된 입력 정보들의 충돌 발생 가능성을 판단하고, 충돌 발생 가능성이 있는 경우 지정된 효과를 상기 전자 장치들에 전송하도록 설정될 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 프로세서는 상기 입력 정보들의 진행 방향, 진행 속도, 입력의 크기 중 적어도 하나에 따라 입력 정보와 관련한 추정 영역들을 산출하고, 상기 추정 영역들의 일부가 중첩되는 경우 충돌 발생 가능성이 있는 것으로 판단하도록 설정될 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 프로세서는 상대적으로 우선 순위가 높게 설정된 전자 장치에 상기 추정 영역에서의 충돌 발생 가능성을 안내하는 정보, 추정 영역에서 충돌할 수 있는 전자 장치의 식별 정보 중 적어도 하나를 전송하도록 설정될 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 프로세서는 스트로크 데이터를 포함하는 입력 정보들 또는 객체 이동 관련 데이터를 포함하는 입력 정보를 수신하고, 상기 스트로크 데이터 또는 객체 이동 데이터를 기반으로 상기 추정 영역을 산출할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 프로세서는 상대적으로 우선 순위가 낮게 설정된 전자 장치의 입력 제한과 관련한 시각 정보, 오디오 정보, 촉각 정보 중 적어도 하나가 해당 장치에서 출력되도록 지원할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 프로세서는 상기 공유 컨텐츠 운용과 관련하여 통신 연결된 전자 장치들의 공유 컨텐츠 운용 권한을 설정하고, 상기 공유 컨텐츠 운용 권한을 기반으로 상대적으로 낮은 우선 순위를 가지는 전자 장치에 입력을 제한하는 잠금 정보를 전송하도록 설정될 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 프로세서는 상기 충돌 발생 가능성이 해제 또는 제거된 경우 입력 제한을 해제하는 잠금 해제 정보를 상기 상대적으로 낮은 우선 순위를 가지는 전자 장치에 전송하도록 설정될 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 프로세서는 상기 공유 컨텐츠 영역들 중 충돌 판단 영역과 충돌 비판단 영역을 설정하고, 충돌 판단 영역에서 상기 충돌 발생 가능성에 대한 처리를 수행하도록 설정될 수 있다.
도 3은 본 발명의 한 실시 예에 따른 공유 컨텐츠 운용과 관련한 서버 운용 방법의 한 예를 나타낸 도면이다.
도 3을 참조하면, 상기 서버 운용 방법과 관련하여, 동작 301에서 서버 300은 공유 컨텐츠 운용 요청이 수신되는지 확인할 수 있다. 공유 컨텐츠 운용 요청이 없는 경우, 서버 300은 이전 상태로 분기하여 해당 요청 수신 대기 상태를 가질 수 있다. 공유 컨텐츠 운용 요청이 발생하면, 동작 303에서, 서버 300은 공유 컨텐츠 관련 외부 전자 장치 200 정보를 수집할 수 있다. 예컨대, 서버 300은 상기 공유 컨텐츠와 관련하여 서버 메모리 330에 저장된 적어도 하나의 외부 전자 장치들의 정보를 수집할 수 있다. 또는, 서버 300은 전자 장치 100으로부터 공유 컨텐츠를 작업한 이력을 가진 외부 전자 장치 정보를 수집할 수 있다. 본 발명의 다양한 실시 예에 따르면, 서버 300은 접속된 적어도 하나의 외부 전자 장치 정보를 전자 장치 100에 제공하고, 전자 장치 100 선택에 대응하여 공유 컨텐츠 운용을 협업할 적어도 하나의 외부 전자 장치 정보를 수집할 수도 있다.
본 발명의 다양한 실시 예에 따르면, 상기 서버 300은 수집된 정보에 대응하는 외부 전자 장치의 현재 상태를 확인할 수 있다. 예컨대, 서버 300은 적어도 하나의 외부 전자 장치가 현재 공유 컨텐츠 운용과 관련하여 참여가 가능한지 확인할 수 있다. 이와 관련하여, 서버 300은 실시간 또는 일정 주기, 또는 공유 컨텐츠 운용 요청 발생 시, 관련 외부 전자 장치의 현재 상태 정보(presence information)를 수집할 수 있다. 외부 전자 장치 200은 네트워크 162에 접속되고, 상기 공유 컨텐츠 운용과 관련한 기능을 탑재한 경우, 자신의 현재 상태 정보를 서버 300를 통해 또는 직접적으로 전자 장치 100에 제공할 수 있다. 본 발명의 다양한 실시 예에 따르면, 서버 300은 적어도 하나의 외부 전자 장치 200에 공유 컨텐츠 운용과 관련한 메시지(예: 공유 컨텐츠 운용에 참여를 요청하는 메시지)를 전송할 수 있다.
동작 305에서, 서버 300은 수신된 외부 전자 장치 정보를 기반으로 각 외부 전자 장치에 공유 컨텐츠를 제공할 수 있다. 예컨대, 서버 300은 참여를 수락한 적어도 하나의 외부 전자 장치에 공유 컨텐츠를 제공할 수 있다. 본 발명의 다양한 실시 예에 따르면, 외부 전자 장치가 동일한 공유 컨텐츠 운용 이력을 가진 경우, 서버 300은 운용 요청된 공유 컨텐츠 색인 정보를 외부 전자 장치에 제공할 수 있다.
동작 307에서, 서버 300은 전자 장치 100 또는 외부 전자 장치 200으로부터 입력 정보가 수신되는지 확인할 수 있다. 서버 300은 입력 정보 수신이 없는 경우, 이하 동작을 생략하고, 동작 317로 분기할 수 있다. 입력 정보가 수신되면, 동작 309에서, 서버 300은 입력 정보를 분석할 수 있다. 상기 입력 정보 분석과 관련하여, 서버 300은 예컨대, 입력 정보들의 입력 방향, 이동 속도, 입력 크기 중 적어도 하나를 기반으로 이후 입력된 추정 영역을 결정할 수 있다.
동작 311에서, 서버 300은 충돌 발생 가능성이 있는지 확인할 수 있다. 예컨대, 서버 300은 전자 장치 100 및 외부 전자 장치 200의 입력 정보들을 토대로 산출된 추정 영역들이 적어도 일부 중첩되거나 중첩될 것으로 예측(예: 입력의 방향, 이동 속도, 입력 두께 등을 통한 예측)될 경우, 충돌 발생 가능성이 있는 것으로 판단할 수 있다. 본 발명의 다양한 실시 예에 따르면, 서버 300은 입력 정보들이 적용되는 공유 컨텐츠 331의 특정 영역이 기 설정된 충돌 발생 판단 영역인지 확인할 수 있다. 서버 300은 충돌 발생 판단 영역인 경우 입력 정보들의 충돌 예측을 수행할 수 있다. 서버 300은 충돌 발생 판단 영역이 아닌 경우, 충돌 발생 판단 영역과 관련한 입력 정보들의 충돌 예측 동작을 생략할 수 있다.
충돌 발생 가능성이 없는 경우, 서버 300은 이하 동작을 생략하고, 동작 315로 분기할 수 있다. 충돌 발생 가능성이 있는 경우, 동작 313에서, 서버 300은 지정된 정책에 따른 충돌 처리를 수행할 수 있다. 예컨대, 서버 300은 상대적으로 운용 권한에 대한 우선 순위가 낮은 입력 정보를 제공하는 장치의 입력을 제한하는 잠금 정보를 생성할 수 있다. 서버 300은 생성된 잠금 정보를 우선 순위가 낮은 장치에 전송할 수 있다. 상기 잠금 정보는 예컨대, 추정 영역(또는 전체 컨텐츠 영역)에 대한 입력을 금지하거나, 추정 영역으로 이동된 객체를 추정 영역 바깥으로 밀어내도록 설정된 명령어들을 포함할 수 있다. 또는 서버 300은 추정 영역에서의 입력 속성 정보(예: 투명도, 색상 등)를 변경할 수 있다. 본 발명의 다양한 실시 예에 따르면, 서버 300은 잠금 정보 설정을 안내하는 효과 정보를 전송할 수 있다. 상기 효과 정보는 잠금 정보 발생을 안내하는 지정된 효과를 포함할 수 있다. 예컨대, 효과 정보는 상기 추정 영역을 안내하는 시각 정보(예: 지정된 이미지 또는 텍스트 출력, 또는 하이라이트 등의 정보) 또는 잠금 정보 수신을 안내하는 시각 정보, 촉각 정보, 오디오 정보 중 적어도 하나를 포함할 수 있다.
동작 315에서, 서버 300은 입력 정보 공유 처리를 수행할 수 있다. 예컨대, 서버 300은 전자 장치 100이 입력한 입력 정보 또는 외부 전자 장치 200이 입력한 입력 정보 중 적어도 하나를 공유 컨텐츠 331에 적용하여 갱신된 공유 컨텐츠를 생성할 수 있다. 이 동작에서, 서버 300은 충돌 발생 가능성에 따른 추정 영역에서는 지정된 장치(예: 상대적으로 운용 권한 우선 순위가 높은 장치)의 입력 정보를 적용한 공유 컨텐츠를 생성할 수 있다. 서버 300은 갱신된 공유 컨텐츠를 전자 장치 100 또는 외부 전자 장치 200에 전달하여 전자 장치 100 또는 외부 전자 장치 200에 저장된 공유 컨텐츠의 동기화를 수행할 수 있다.
동작 317에서, 서버 300은 기능 종료와 관련한 입력 이벤트가 있는지 확인할 수 있다. 기능 종료 입력 이벤트가 있는 경우, 서버 300은 공유 컨텐츠 기능을 종료할 수 있다. 기능 종료 입력 이벤트가 없는 경우, 서버 300은 동작 307 이전으로 분기하여 이하 동작을 재수행할 수 있다.
도 4는 본 발명의 한 실시 예에 따른 서버 운용 방법 중 권한 변경과 관련한 방법의 한 예를 나타낸 도면이다.
도 4를 참조하면, 서버 운용 방법에 있어서, 외부 전자 장치 정보가 수집되면, 동작 401에서, 서버 300은 외부 전자 장치 정보 기반 역할 확인을 수행할 수 있다. 예컨대, 복수의 외부 전자 장치들은 공유 컨텐츠의 운용 권한과 관련하여 우선 순위를 가질 수 있다. 상기 우선 순위는 전자 장치 100에 의해 설정될 수 있다. 또는 상기 외부 전자 장치가 전자 장치 100에 요청하여 조정될 수 있다. 또는 서버 정책(예: 참여 순서가 빠른 장치의 우선 순위가 높게, 또는 동일 컨텐츠의 참여 이력이 있는 장치의 우선 순위를 참여 이력이 없는 장치보다 높게 등)에 따라 전자 장치 100 또는 외부 전자 장치 200의 우선 순위가 결정될 수도 있다.
동작 403에서, 서버 300은 확인 역할에 따른 컨텐츠 접근 권한 및 충돌 회피 권한을 설정할 수 있다. 예컨대, 상대적으로 우선 순위가 높은 외부 전자 장치는 상대적으로 낮은 우선 순위의 외부 전자 장치에 비하여 컨텐츠 접근 영역의 크기, 컨텐츠 운용 중 사용할 수 있는 기능들의 수 등이 다를 수 있다. 예컨대, 상대적으로 높은 우선 순위의 장치는 상대적으로 넓은 컨텐츠 영역을 변경할 수 있는 권한을 가질 수 있다. 본 발명의 다양한 실시 예에 따르면, 상대적으로 높은 우선 순위의 장치는 상대적으로 높은 충돌 회피 권한을 가질 수 있다. 상대적으로 높은 충돌 회피 권한은 충돌 발생 가능성이 있는 추정 영역에서 입력 제한을 받지 않고, 입력 정보를 기입할 수 있도록 설정될 수 있다.
동작 405에서, 서버 300은 종료 관련 이벤트 발생을 확인할 수 있다. 종료 관련 이벤트(예: 지정된 시간이 경과하거나, 외부 전자 장치들에 대한 권한 설정이 완료되거나, 권한 설정 종료를 지시하는 입력 이벤트) 발생이 없으면, 서버 300은 동작 407에서 외부 전자 장치 변경과 관련한 이벤트가 있는지 확인할 수 있다. 외부 전자 장치 200 변경과 관련한 이벤트가 발생하면, 예컨대, 외부 전자 장치 200의 추가 또는 작업에 참여한 외부 전자 장치 200의 삭제가 발생하면, 동작 409에서, 서버 300은 변경에 따른 외부 전자 장치 200 정보 수집을 수행할 수 있다. 이후, 서버 300은 동작 401 이전으로 분기하여 이하 동작을 수행할 수 있다. 이 동작에서, 서버 300은 특정 외부 전자 장치 200의 추방 또는 외부 전자 장치 200의 기능 종료 요청 등을 수신할 수 있다. 외부 전자 장치 200의 추장 또는 기능 종료 요청(또는 참여 종료 요청)을 수신하면, 서버 300은 외부 전자 장치 200의 해당 공유 컨텐츠 참여를 종료시킬 수 있다. 서버 300은 복수의 외부 전자 장치들 중 적어도 하나의 외부 전자 장치의 참여가 종료되면, 나머지 외부 전자 장치들을 기준으로 역할 정보를 재생성할 수 있다. 서버 300은 재생된 역할 정보를 전자 장치 100 및 외부 전자 장치 200들에 전달할 수 있다.
외부 전자 장치가 변경되지 않으면, 동작 411에서, 서버 300은 전자 장치 변경 요청이 있는지 확인할 수 있다. 상기 전자 장치 100의 변경 요청이 없는 경우, 동작 405 이전으로 분기하여 권한 변경과 관련한 처리를 종료할 수 있다.
전자 장치 100의 변경 요청이 발생하면, 동작 413에서, 서버 300은 변경 요청에 따른 역할 확인을 수행할 수 있다. 본 발명의 한 실시 예에 따르면, 서버 300은 전자 장치 100의 기능 종료 요청을 수신할 수 있다. 이 경우, 서버 300은 공유 컨텐츠 운용 전체를 종료할 수 있다. 또는, 서버 300은 전자 장치 100의 참여를 종료시키고, 나머지 외부 전자 장치들을 기반으로 역할 정보를 다시 생성할 수 있다. 이 동작에서, 서버 300은 특정 외부 전자 장치(예: 지정된 외부 전자 장치 또는 임의의 외부 전자 장치)를 선정하여, 관리자 장치로 지정할 수 있다. 관리자 장치는 상기 전자 장치 100이 가지는 운용 권한(예: 외부 전자 장치의 초대, 참여 중인 외부 전자 장치의 추방, 역할 정보의 권한 수동 설정 등의 권한)을 가질 수 있다. 본 발명의 다양한 실시 예에 따르면, 서버 300은 전자 장치 100이 특정 외부 전자 장치 200의 운용 권한 변경 요청을 수신할 수 있다. 이 경우, 서버 300은 해당 외부 전자 장치의 운용 권한(예: 우선 순위 변경, 컨텐츠 접근 권한 변경 또는 충돌 회피 권한 변경 중 적어도 하나)을 수행할 수 있다. 서버 300은 지정된 외부 전자 장치의 운용 권한이 변경되면, 변경에 따른 역할 정보를 재생성하고, 전자 장치 100 및 적어도 하나의 외부 전자 장치에 전송할 수 있다. 이후 서버 300은 동작 403 이전으로 분기하여 이하 동작을 재수행할 수 있다.
도 5는 본 발명의 한 실시 예에 따른 서버 운용과 관련한 시스템 신호 흐름의 한 예를 나타낸 도면이다.
도 5를 참조하면, 서버 운용과 관련하여, 동작 501에서, 전자 장치 100은 서버 300에 공유 컨텐츠 운용 요청을 할 수 있다. 예컨대, 전자 장치 100은 공유 컨텐츠 운용 요청 메시지를 작성하여 서버 300에 전송할 수 있다. 이 동작에서, 전자 장치 100은 공유 컨텐츠 작업에 참여할 외부 전자 장치 목록을 서버 300에 제공할 수 있다. 또는, 외부 전자 장치 목록을 서버 300과 저장 및 관리하는 경우, 전자 장치 100은 외부 전자 장치 선택 정보를 서버 300에 제공할 수 있다.
동작 503에서, 서버 300은 역할 정보를 전자 장치 100에 전송할 수 있다. 서버 300은 전자 장치 100 요청에 대응하여 외부 전자 장치들의 역할 정보를 생성할 수 있다. 상기 역할 정보는 컨텐츠 접근 권한, 충돌 회피 권한 등을 포함할 수 있다.
동작 505에서, 서버 300은 공유 컨텐츠 및 역할 정보를 외부 전자 장치 200에 전송할 수 있다. 이 동작 수행 이전에, 서버 300은 적어도 하나의 외부 전자 장치 200이 공유 컨텐츠 작업에 참여할지 여부를 확인할 수 있다. 본 발명의 한 실시 예에 따르면, 서버 300은 전자 장치 100이 선택한 외부 전자 장치들에 참여 여부를 묻는 메시지를 전송하고, 허락한 외부 전자 장치에 공유 컨텐츠 및 역할 정보를 제공할 수 있다. 본 발명의 다양한 실시 예에 따르면, 서버 300은 푸시 형태(예: 외부 전자 장치의 참여 허용 없이)로 외부 전자 장치에 공유 컨텐츠 및 역할 정보를 제공할 수도 있다.
상술한 설명에서는 동작 503과 동작 505를 구분하여 설명하였으나, 본 발명의 다양한 실시 예에 따르면, 동작 503 또는 동작 505는 동시에 수행될 수도 있다. 또는, 동작 505가 수행된 이후, 동작 503이 수행될 수도 있다. 본 발명의 한 실시 예에 따르면, 서버 300은 전자 장치 100이 협업을 요청한 외부 전자 장치들에 참여 여부를 묻고, 외부 전자 장치들이 참여 허용을 하는 경우, 참여 허용한 외부 전자 장치들의 정보를 기반으로 공유 컨텐츠에 대한 역할 정보를 생성할 수 있다.
서버 300은 동작 507에서 공유 컨텐츠 협업에 대한 참여 허용된 외부 전자 장치 200으로부터 공유 컨텐츠 변경과 관련한 입력 정보를 수신할 수 있다. 또한, 서버 300은 동작 509에서, 전자 장치 100으로부터 공유 컨텐츠 변경과 관련한 입력 정보를 수신할 수 있다. 상술한 입력 정보의 수신 동작은 전자 장치 100으로부터 먼저 수신되거나 또는 적어도 일정 시간 동안 외부 전자 장치 200과 전자 장치 100으로부터 동시에 수신될 수도 있다.
입력 정보가 수신되면, 동작 511에서, 서버 300은 입력 정보의 입력 위치에 대한 충돌 설정을 확인할 수 있다. 입력 정보의 입력 위치가 충돌 설정이 없는 경우, 공유 컨텐츠 갱신을 수행하고, 갱신된 공유 컨텐츠를 동기화할 수 있다. 입력 정보의 입력 위치에 충돌 설정이 있는 경우, 서버 300은 역할 정보에 따른 충돌 처리를 수행할 수 있다. 충돌 처리에 따라, 동작 513에서와 같이, 서버 300은 상대적으로 높은 우선 순위를 가진 역할의 장치가 입력한 입력 정보를 기반으로 잠금 정보를 생성할 수 있다. 이 동작에서 서버 300은 입력 정보에 대한 입력 처리를 수행하여 갱신된 공유 컨텐츠를 생성할 수 있다.
동작 515에서, 서버 300은 갱신된 공유 컨텐츠를 전자 장치 100에 제공할 수 있다. 동작 517에서, 서버 300은 생성된 잠금 정보를 상대적으로 우선 순위가 낮은 장치, 예컨대, 외부 전자 장치 200에 전송할 수 있다. 또한, 서버 300은 갱신된 공유 컨텐츠를 외부 전자 장치 200에 전송할 수 있다. 상기 동작 515와 동직 517은 실질적으로 동시에 수행될 수 있다. 동작 519에서, 잠금 정보를 수신한 외부 전자 장치 200은 잠금 정보에 따른 입력 제한 상태를 가질 수 있다. 다양한 실시 예에 따르면, 서버 300은 외부 전자 장치 200으로부터 입력 정보를 수신하더라도, 잠금 정보에 따라, 외부 전자 장치 200이 제공한 입력 정보를 무시할 수 있다.
본 발명의 다양한 실시 예에 따르면, 동작 521에서, 서버 300은 전자 장치 100으로부터 입력 정보를 수신할 수 있다. 동작 523에서, 서버 300은 수신된 입력 정보에 대한 충돌 확인을 재수행할 수 있다. 본 발명의 한 실시 예에 따르면, 서버 300은 충돌 발생 가능성에 따라 잠금 정보가 생성된 경우, 해당 공유 컨텐츠 영역에 충돌 발생 가능성이 유지되고 있는지 수집된 입력 정보를 기반으로 판단할 수 있다. 서버 300은 충돌 발생 가능성이 해제(또는 제거)된 경우, 동작 525에서 잠금 해제 정보를 생성할 수 있다. 또한, 서버 300은 입력 정보 처리를 수행하여 갱신된 공유 컨텐츠를 생성할 수 있다.
동작 527에서, 서버 300은 잠금 해제 정보를 잠금 정보를 제공한 장치, 예컨대, 외부 전자 장치 200에 제공할 수 있다. 동작 529에서, 잠금 해제 정보를 수신한 외부 전자 장치 200은 입력 제한에 대한 해제 상태를 가질 수 있다. 동작 531에서 서버 300은 갱신된 공유 컨텐츠를 전자 장치 100 또는 외부 전자 장치 200에 제공할 수 있다. 상술한 동작에서, 서버 300은 잠금 해제 정보 및 갱신된 공유 컨텐츠를 외부 전자 장치 200에 함께 제공하고, 실질적으로 동시에 갱신된 공유 컨텐츠를 전자 장치 100에 전송할 수도 있다. 이 경우, 갱신된 공유 컨텐츠 전송 이후, 외부 전자 장치 200은 잠금 해제 상태를 가질 수도 있다.
다양한 실시 예에 따르면, 서버 300은 잠금 범위 설정과 관련하여, 컨텐츠(예: 문서)의 영역을 분할하고, 각 장치들의 역할 정의에 따라 우선 순위를 지정할 수 있다. 잠금 정보를 수신한 장치(예: 전자 장치 또는 외부 전자 장치)는 입력 무시, 투명도 지정, 경고 메세지 등을 제공할 수 있다. 서버 300은 잠금 해제와 관련하여, 지정된 잠금 영역의 입력 권한을 가진 사용자의 입력이 종료된 시점(또는 마지막 입력 이후 지정된 시간 경과 시점)에 잠금 영역을 재 정의할 수 있다. 서버 300은 입력 권한에 기반하여 잠금 영역 유지가 필요한 경우, 잠금 상태를 유지할 수 있다.
상술한 본 발명의 다양한 실시 예에 따르면, 한 실시 예에 따른 서버 운용 방법은 상기 공유 컨텐츠 운용과 관련한 전자 장치들로부터 입력 정보들을 수집하는 동작, 수집된 입력 정보들의 충돌 발생 가능성을 판단하는 동작, 충돌 발생 가능성이 있는 경우 지정된 효과를 상기 전자 장치들에 전송하는 동작을 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 판단하는 동작은 상기 입력 정보들의 진행 방향, 진행 속도, 입력의 크기 중 적어도 하나에 따라 입력 정보와 관련한 추정 영역들을 산출하는 동작, 상기 추정 영역들의 일부가 중첩되는 경우 충돌 발생 가능성이 있는 것으로 판단하는 동작을 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 방법은 상대적으로 우선 순위가 높게 설정된 전자 장치에 상기 추정 영역에서의 충돌 발생 가능성을 안내하는 정보, 추정 영역에서 충돌할 수 있는 전자 장치의 식별 정보 중 적어도 하나를 전송하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 수집하는 동작은 스트로크 데이터를 포함하는 입력 정보들 또는 객체 이동 관련 데이터를 포함하는 입력 정보를 수신하는 동작을 포함하고, 상기 판단하는 동작은 상기 스트로크 데이터 또는 객체 이동 데이터를 기반으로 상기 추정 영역을 산출하는 동작을 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 방법은 상대적으로 우선 순위가 낮게 설정된 전자 장치의 입력 제한과 관련한 시각 정보, 오디오 정보, 촉각 정보 중 적어도 하나가 해당 장치에서 출력되도록 지원하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 방법은 상기 공유 컨텐츠 운용과 관련하여 통신 연결된 전자 장치들의 공유 컨텐츠 운용 권한을 설정하는 동작, 상기 공유 컨텐츠 운용 권한을 기반으로 상대적으로 낮은 우선 순위를 가지는 전자 장치에 입력을 제한하는 잠금 정보를 전송하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 방법은 상기 충돌 발생 가능성이 해제 또는 제거된 경우 입력 제한을 해제하는 잠금 해제 정보를 상기 상대적으로 낮은 우선 순위를 가지는 전자 장치에 전송하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 방법은 상기 공유 컨텐츠 영역들 중 충돌 판단 영역과 충돌 비판단 영역을 설정하는 동작을 더 포함하고, 상기 판단하는 동작은 충돌 판단 영역에서 상기 충돌 발생 가능성에 대한 처리를 수행하는 동작을 포함할 수 있다.
도 6은 본 발명의 한 실시 예에 따른 공유 컨텐츠 운용 환경의 다른 예를 나타낸 도면이다.
도 6을 참조하면, 공유 컨텐츠 운용 환경은 전자 장치 600, 외부 전자 장치 700 및 네트워크 662를 포함할 수 있다. 본 발명의 다양한 실시 예에 따르면, 공유 컨텐츠 운용과 관련한 전자 장치 600과 외부 전자 장치 700은 네트워크 662를 통하여 직접적으로 정보 전달을 수행할 수 있다. 본 발명의 다양한 실시 예에 따르면, 전자 장치 600 및 외부 전자 장치 700의 입력 신호를 릴레이하는 서버 800이 더 포함될 수 있다. 이 경우, 전자 장치 600 및 외부 전자 장치 700은 서버 800을 통하여 정보를 전송할 수 있다.
상기 전자 장치 600은 공유 컨텐츠 선택, 공유 컨텐츠 운용에 참여한 외부 전자 장치 선택, 외부 전자 장치의 사용자 정보에 따른 역할 정보 생성 및 공유를 수행할 수 있다. 또한, 전자 장치 600은 사용자 입력에 따른 공유 컨텐츠 관련 입력 정보 및 외부 전자 장치 700이 입력하는 공유 컨텐츠 관련 입력 정보의 충돌 처리를 수행할 수 있다. 본 발명의 다양한 실시 예에 따르면, 전자 장치 600은 외부 전자 장치의 변경(예: 참여한 외부 전자 장치의 참여 종료, 새로운 외부 전자 장치의 참여 등)을 처리할 수 있다. 이와 관련하여, 전자 장치 600은 외부 전자 장치 700과 통신 채널을 형성하거나, 서버 800을 통하여 연결될 수 있다.
상기 외부 전자 장치 700은 네트워크 662를 통하여 전자 장치 600 또는 서버 800에 연결될 수 있다. 외부 전자 장치 700은 전자 장치 600으로부터 공유 컨텐츠 운용과 관련한 참여 요청을 수신할 수 있다. 또는 외부 전자 장치 700은 전자 장치 600이 전달한 참여 요청을 릴레이 서버 800를 거쳐 수신할 수도 있다. 외부 전자 장치 700은 사용자 입력에 따라, 참여를 수락한 경우, 참여 수락 정보를 전자 장치 600에 전달할 수 있다. 참여 수락 정보 전달에 따라, 외부 전자 장치 700은 전자 장치 600으로부터 공유 컨텐츠를 수신할 수 있다. 또는 외부 전자 장치 700은 전자 장치 600이 참여 요청한 공유 컨텐츠에 대해 운용 이력이 있고, 상기 공유 컨텐츠를 이미 저장하고 있는 경우, 해당 공유 컨텐츠를 활성화할 수도 있다. 외부 전자 장치 700은 공유 컨텐츠 변경과 관련한 입력 정보를 사용자 입력에 따라 생성할 수 있다. 외부 전자 장치 700은 상기 입력 정보를 전자 장치 600에 제공할 수 있다.
본 발명의 다양한 실시 예에 따르면, 외부 전자 장치 700은 전자 장치 600으로부터 입력 제한과 관련한 잠금 정보를 수신할 수 있다. 이 경우, 외부 전자 장치 700은 잠금 정보에 따른 공유 컨텐츠의 적어도 일부 영역에 대한 입력을 제한할 수 있다. 외부 전자 장치 700은 잠금 해제 정보를 수신할 수 있다. 외부 전자 장치 700은 잠금 해제 정보 수신에 따라 입력 제한을 해제할 수 있다. 본 발명의 다양한 실시 예에 따르면, 외부 전자 장치 700은 특정 공유 컨텐츠 운용과 관련하여 전자 장치 600에 참여를 요청하는 메시지를 전송할 수 있다. 또한, 외부 전자 장치 700은 참여 중인 공유 컨텐츠 운용에 대한 종료를 전자 장치 600에 요청할 수 있다.
상기 서버 800은 상기 전자 장치 600과 외부 전자 장치 700 간에 데이터 릴레이를 수행할 수 있다. 이 동작에서 서버 800은 입력 정보 처리에 따른 갱신된 공유 컨텐츠를 전자 장치 600으로부터 수신할 수 있다. 서버 800은 갱신된 공유 컨텐츠를 외부 전자 장치 700에 제공하여, 공유 컨텐츠 동기화를 수행할 수 있다.
도 7은 본 발명의 한 실시 예에 따른 전자 장치 구성의 한 예를 나타낸 도면이다.
도 7을 참조하면, 상기 전자 장치 600은 제1 프로세서 620(예: 어플리케이션 프로세서(application processor(AP)), 제1 메모리 630, 제1 통신 모듈 670, 제1 디스플레이 660, 제1 입출력 인터페이스 650을 포함할 수 있다. 상기 전자 장치 600은 예컨대, 휴대용 전자 장치로 구현될 수 있다. 상기 휴대용 전자 장치는 예컨대, 이동 전화기, 스마트 폰(smart phone), 태블릿 (tablet) PC, PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라 (digital still camera), 디지털 비디오 카메라 (digital video camera), PMP(portable multimedia player), PND(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), 모바일 인터넷 장치(mobile internet device(MID)), 인터넷 태블릿, 또는 e-북(e-book) 등으로 구현될 수 있다.
상기 제1 프로세서 620은 전자 장치 600의 전반적인 동작을 제어할 수 있다. 본 발명의 한 실시 예에 따르면, 제1 프로세서 620은 집적 회로, 시스템 온 칩, 또는 모바일 AP로 구현될 수 있다. 상기 제1 프로세서 620은 공유 컨텐츠 처리와 관련한 적어도 하나의 모듈을 포함할 수 있다. 예컨대, 제1 프로세서 620은 공유 작업 처리 모듈 621, 충돌 처리 모듈 623, 정보 처리 모듈 625, 역할 운용 모듈 627을 포함할 수 있다.
상기 공유 작업 처리 모듈 621은 제1 메모리 630에 저장된 공유 컨텐츠 631 중 적어도 하나의 공유 컨텐츠가 선택되면, 공유 컨텐츠 관련 협업할 적어도 하나의 외부 전자 장치의 사용자 정보를 수집할 수 있다. 예컨대, 공유 작업 처리 모듈 621은 폰 북 정보를 제공하여 협업할 외부 전자 장치를 선택할 수 있도록 지원할 수 있다. 또는, 공유 작업 처리 모듈 621은 공유 컨텐츠의 운용 이력을 확인할 수 있다. 공유 작업 처리 모듈 621은 운용 이력이 있는 공유 컨텐츠인 경우, 이전에 해당 공유 컨텐츠에 참여한 이력을 가진 외부 전자 장치 목록을 제공할 수 있다. 공유 작업 처리 모듈 621은 사용자 입력에 따른 선택(예: 폰북에서 외부 전자 장치에 대응하는 사용자 정보가 선택되거나 참여 이력을 가진 외부 전자 장치 목록에서 선택)에 따라 또는 자동으로 선택(예: 참여 이력을 가진 외부 전자 장치들 자동 선택)할 수 있다. 공유 작업 처리 모듈 621은 선택된 외부 전자 장치에 참여 요청 메시지를 전송할 수 있다. 이 동작에서 상기 공유 작업 처리 모듈 621은 외부 전자 장치 700의 현재 상태를 확인할 수 있다. 예컨대, 외부 전자 장치 700이 공유 컨텐츠 운용과 관련하여 참여 가능한 상태인지를 확인할 수 있다. 상기 현재 상태 공유와 관련하여, 전자 장치 600 및 외부 전자 장치 700은 자신의 현재 상태를 지시하는 정보를 공유하도록 설정할 수 있다. 상기 공유 작업 처리 모듈 621은 참여 수락한 외부 전자 장치의 사용자 정보를 역할 운용 모듈 627에 제공할 수 있다.
본 발명의 다양한 실시 예에 따르면, 공유 작업 처리 모듈 621은 공유 컨텐츠 운용을 함께할 외부 전자 장치들을 먼저 수집한 후, 공유 컨텐츠 선택을 지원할 수도 있다. 이와 관련하여, 공유 작업 처리 모듈 621은 임의의(또는 지정되지 않은) 공유 컨텐츠 운용과 관련한 참여 요청 메시지를 적어도 하나의 외부 전자 장치들에 전송할 수 있다. 공유 작업 처리 모듈 621은 적어도 하나의 외부 전자 장치로부터 참여 요청이 수락되면, 공유 컨텐츠를 선택할 수 있는 화면을 제공할 수 있다. 외부 전자 장치의 참여 요청이 없는 경우, 공유 컨텐츠 선택 화면 출력은 제한될 수 있다.
상기 역할 운용 모듈 627은 공유 컨텐츠 운용과 관련하여 참여한 적어도 하나의 외부 전자 장치들의 사용자 정보를 확인할 수 있다. 역할 운용 모듈 627은 외부 전자 장치들의 사용자 정보를 기반으로 운용 권한(예: 컨텐츠 접근 권한, 충돌 회피 권한)을 설정할 수 있다. 본 발명의 다양한 실시 예에 따르면, 역할 운용 모듈 627은 사용자 입력에 대응하여 외부 전자 장치들의 운용 권한을 설정할 수도 있다. 운용 권한이 결정되면, 역할 운용 모듈 627은 결정된 운용 권한에 따른 역할 정보를 생성하고, 이를 외부 전자 장치에 제공할 수 있다. 상기 역할 운용 모듈 627은 역할 정보를 충돌 처리 모듈 623에 제공할 수 있다.
상기 역할 운용 모듈 627은 공유 컨텐츠 운용과 관련한 외부 전자 장치 변경을 처리할 수 있다. 예컨대, 역할 운용 모듈 627은 외부 전자 장치 700으로부터 참여 요청을 수신하면, 사용자 입력에 대응하여 외부 전자 장치 700을 공유 컨텐츠 운용에 참여시킬 수 있다. 이 동작에서, 역할 운용 모듈 627은 공유 컨텐츠를 외부 전자 장치 700에 제공할 수 있다. 역할 운용 모듈 627은 외부 전자 장치 700이 변경되면, 외부 전자 장치 700의 사용자 정보를 확인하여 역할을 결정하거나, 사용자 입력에 따라 역할을 결정할 수 있다. 이 동작에서, 역할 운용 모듈 627은 해당 공유 컨텐츠와 관련한 전체 외부 전자 장치들의 사용자 정보를 다시 확인하여 역할 재분배를 수행할 수 있다. 또는, 역할 운용 모듈 627은 공유 컨텐츠와 관련한 외부 전자 장치들에 할당된 역할 정보 화면을 출력하여, 전자 장치 600 사용자가 확인하도록 지원할 수 있다. 상기 역할 정보 화면은 사용자 입력에 대응하여 특정 외부 전자 장치들의 역할을 변경하는 기능을 제공할 수 있다. 본 발명의 다양한 실시 예에 따르면, 역할 운용 모듈 627은 공유 컨텐츠 운용과 관련하여 참여한 복수의 외부 전자 장치들 중 참여 종료를 요청한 외부 전자 장치의 참여 종료를 지원할 수 있다. 이 동작에서, 역할 운용 모듈 627은 참여 종료된 외부 전자 장치를 제외한 나머지 외부 전자 장치들의 역할 정보를 자동으로 또는 사용자 입력에 따라 갱신할 수 있다.
본 발명의 다양한 실시 예에 따르면, 전자 장치 및 3개의 외부 전자 장치가 공유 컨텐츠 운용과 관련하여 참여한 경우, 역할 운용 모듈 627은 공유 컨텐츠 영역을 지정된 크기로 분할하고, 분할된 영역들에 대한 운용 권한을 설정할 수 있다. 상기 역할 운용 모듈 627은 사용자 입력 또는 외부 전자 장치 요청에 따라, 상기 공유 컨텐츠의 변경 영역의 크기와 위치 등을 변경할 수 있다. 상기 역할 운용 모듈 627은 새로운 외부 전자 장치가 참여한 경우, 전체 장치들의 개수를 기준으로 공유 컨텐츠 영역을 재분할하고, 분할된 영역들에 대한 운용 권한을 설정할 수 있다. 상기 역할 운용 모듈 627은 참여 중인 외부 전자 장치가 종료된 경우, 줄어든 참여 장치들의 수를 기준으로 공유 컨텐츠 영역을 재분할하고, 분할된 영역들에 대한 운용 권한을 설정할 수 있다.
상기 충돌 처리 모듈 623은 전자 장치 600 및 외부 전자 장치 700이 제공하는 입력 정보들에 대하여 실시간으로 또는 일정 주기로 충돌 가능성을 판단할 수 있다. 예컨대, 충돌 처리 모듈 623은 사용자 입력의 방향성, 입력 속도, 입력의 크기 중 적어도 하나를 판단하여, 입력 정보가 진행할 방향 또는 영역을 추정할 수 있다. 충돌 처리 모듈 623은 입력 정보의 추정 방향 또는 추정 영역들이 중첩되는지 확인할 수 있다. 충돌 처리 모듈 623은 입력 정보의 추정 방향이 일정 시점에 중첩될 것으로 예상되거나 또는 추정 영역들이 지정된 크기 이상으로 중첩되는 경우, 충돌 가능성이 있는 것으로 판단할 수 있다. 추정 방향에 대한 중첩 판단과 관련하여, 충돌 처리 모듈 623은 입력 정보의 추정 방향에 대한 가상의 연장 선들을 그리고, 상기 가상의 연장 선들이 중첩되는지 확인할 수 있다. 충돌 처리 모듈 623은 가상 연장 선들이 중첩되는 경우 충돌 발생 가능성이 있는 것으로 판단할 수 있다. 또는 충돌 처리 모듈 623은 현재 입력 지점에서 지정된 거리 이내에 가상 연장 선들의 중첩 영역이 있는 경우 충돌 발생 가능성이 있는 것으로 판단할 수 있다.
상기 충돌 처리 모듈 623은 충돌 가능성이 존재하는 경우, 역할 정보를 기반으로 입력 제한과 관련한 잠금 정보를 생성할 수 있다. 예컨대, 상대적으로 우선 순위가 낮은 장치의 입력을 제한하는 잠금 정보를 생성할 수 있다. 충돌 처리 모듈 623은 생성된 잠금 정보를 충돌 회피 권한이 상대적으로 낮은 장치에 제공할 수 있다. 상기 충돌 처리 모듈 623은 충돌 가능성이 사라진 경우, 잠금 해제 정보를 생성할 수 있다. 충돌 처리 모듈 623은 잠금 해제 정보를 잠금 정보를 제공한 장치에 전달할 수 있다.
본 발명의 다양한 실시 예에 따르면, 충돌 처리 모듈 623은 공유 컨텐츠 영역에서 충돌 발생 판단 영역과, 충돌 가능성 비판단 영역을 사용자 입력에 따라 또는 컨텐츠에 배치된 정보의 특성에 따라 결정할 수 있다. 충돌 처리 모듈 623은 충돌 발생 판단 영역 내에서, 입력 정보들이 충돌 가능하다고 판단되면, 상기 잠금 정보를 생성할 수 있다. 충돌 처리 모듈 623은 충돌 가능성 비판단 영역에서는 입력 정보들에 대한 충돌 처리를 수행하지 않을 수 있다.
상기 정보 처리 모듈 625는 입력 정보들의 수신에 따른 공유 컨텐츠 갱신을 처리할 수 있다. 예컨대, 정보 처리 모듈 625는 공유 컨텐츠 영역 중 충돌 발생 판단 영역에서 입력 정보들이 수집되는 경우, 지정된 장치(예: 상대적으로 우선 순위가 높게 설정된 장치)의 입력 정보를 공유 컨텐츠에 적용하여 갱신된 공유 컨텐츠를 생성할 수 있다. 공유 컨텐츠 영역 중 충돌 가능성 비판단 영역에서 정보 처리 모듈 625는 입력 정보들을 중첩하여 적용할 수 있다. 정보 처리 모듈 625는 갱신된 공유 컨텐츠를 외부 전자 장치 700에 제공할 수 있다. 또는, 정보 처리 모듈 625는 갱신된 공유 컨텐츠를 서버 800을 통하여 외부 전자 장치 700에 제공할 수 있다. 본 발명의 다양한 실시 예에 따르면, 정보 처리 모듈 625는 입력 정보가 적용된 공유 컨텐츠의 갱신 정보를 생성할 수 있다. 정보 처리 모듈 625는 갱신 정보를 외부 전자 장치 700에 전송하여, 외부 전자 장치 700에 저장된 공유 컨텐츠를 갱신하도록 지원할 수 있다.
상기 제1 메모리 630은 전자 장치 600 운용과 관련한 적어도 하나의 프로그램 및 프로그램 운용과 관련한 데이터를 저장할 수 있다. 본 발명의 한 실시 예에 따르면, 제1 메모리 630은 전자 장치 600의 운영 체제를 저장할 수 있다. 또한, 제1 메모리 630은 공유 컨텐츠 631 및 사용자 리스트 633을 저장할 수 있다. 공유 컨텐츠 631은 예컨대, 외부 전자 장치 700과 협업 가능한 적어도 하나의 컨텐츠를 포함할 수 있다. 본 발명의 다양한 실시 예에 따르면, 상기 공유 컨텐츠 631은 이전 협업 이력을 포함할 수 있다. 이 경우, 공유 컨텐츠 631은 이전 협업한 외부 전자 장치들의 목록 정보를 포함할 수도 있다. 상기 사용자 리스트 633은 공유 컨텐츠 631의 운용과 관련하여 참여 가능한 외부 전자 장치들의 목록을 포함할 수 있다. 사용자 리스트 633은 공유 컨텐츠 631 운용과 관련하여 제1 디스플레이 160에 출력될 수 있다.
상기 제1 입출력 인터페이스 650은, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 상기 전자 장치 600의 다른 구성요소(들)에 전달할 수 있는 인터페이스의 역할을 할 수 있다. 또한, 상기 제1 입출력 인터페이스 650은 상기 전자 장치 600의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다. 상기 제1 입출력 인터페이스 650은 예컨대, 적어도 하나의 물리 버튼 또는 터치 버튼이나 터치 패드 또는 터치스크린 등을 포함할 수 있다. 또한 상기 제1 입출력 인터페이스 650은 전자펜 등에 의한 입력 수단을 포함할 수 있다. 상기 제1 입출력 인터페이스 650은 예컨대, 공유 컨텐츠 선택과 관련한 입력 신호, 참여할 외부 전자 장치 선택과 관련한 입력 신호 등을 사용자 입력에 대응하여 수신할 수 있다. 제1 입출력 인터페이스 650은 운용 권한의 변경, 새 외부 전자 장치의 참여 수락, 외부 전자 장치의 종료 처리 등과 관련한 입력 신호를 사용자 입력에 대응하여 수신할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 제1 입출력 인터페이스 650은 오디오 신호를 수집 또는 출력할 수 있는 오디오 장치를 포함할 수 있다. 본 발명의 한 실시 예에 따르면, 오디오 장치는 제1 프로세서 620 제어에 대응하여 충돌 가능성이 발생한 경우, 그에 대응하는 지정된 오디오 정보(예: 충돌 가능성 발생을 안내하는 오디오 메시지)를 출력할 수 있다. 또한, 오디오 장치는 충돌 가능성이 해제된 경우, 그에 대응하는 지정된 오디오 정보(예: 충돌 가능성 해제를 안내하는 오디오 메시지)를 출력할 수 있다.
상기 제1 디스플레이 660은 TFT-LCD(thin film transistor-liquid crystal display) 패널, LED(light emitting diode) 패널, OLED(organic LED) 패널, AMOLED(active matrix OLED) 패널, 또는 플렉서블(flexible) 패널 등으로 구현될 수 있다. 상기 제1 디스플레이 660은 지정된 어플리케이션 실행에 따른 실행 화면을 출력할 수 있다. 본 발명의 한 실시 예에 따르면, 제1 디스플레이 660은 공유 컨텐츠 운용과 관련한 화면을 출력할 수 있다. 예컨대, 제1 디스플레이 660은 공유 컨텐츠 631 목록 화면, 협업할 외부 전자 장치들의 목록에 해당하는 사용자 리스트 633 화면, 공유 컨텐츠 운용 중에 입력 정보가 적용된 화면(예: 갱신된 공유 컨텐츠 출력 화면)을 출력할 수 있다. 본 발명의 다양한 실시 예에 따르면, 제1 디스플레이 160은 충돌 가능성이 존재하는 추정 영역에 대한 지정된 효과(예: 시각 효과)를 제공할 수 있다. 예컨대, 제1 디스플레이 160은 추정 영역이 주변 영역과 다른 색상을 가지도록 표시할 수 있다. 또는 제1 디스플레이 160은 추정 영역 발생을 안내하는 메시지를 출력할 수 있다.
상기 제1 통신 모듈 670은 전자 장치 600의 통신 채널 형성을 지원하는 적어도 하나의 모듈을 포함할 수 있다. 또는, 상기 제1 통신 모듈 670은 적어도 하나의 통신 방식을 지원할 수 있다. 본 발명의 다양한 실시 예에 따르면, 제1 통신 모듈 670은 예컨대, 네트워크 662를 기반으로 외부 전자 장치 700과 직접 통신 채널을 형성할 수 있다. 제1 통신 모듈 670은 공유 컨텐츠 운용과 관련한 정보를 외부 전자 장치 700과 송수신할 수 있다. 예컨대, 제1 통신 모듈 670은 공유 컨텐츠 협업을 요청하는 참여 요청 메시지를 외부 전자 장치 700에 전송할 수 있다. 또는, 제1 통신 모듈 670은 외부 전자 장치 700으로부터 공유 컨텐츠 참여 요청 메시지를 수신할 수 있다.
상기 제1 통신 모듈 670은 외부 전자 장치 700으로부터 입력 정보를 수신할 수 있다. 제1 통신 모듈 670은 충돌 가능성 발생에 따라, 잠금 정보를 적어도 하나의 외부 전자 장치에 전송할 수 있다. 또한, 제1 통신 모듈 670은 충돌 가능성 해제에 따라, 잠금 해제 정보를 적어도 하나의 외부 전자 장치에 전송할 수 있다.
상술한 본 발명의 다양한 실시 예에 따르면, 한 실시 예에 따른 전자 장치는 공유 컨텐츠 관련 화면을 출력하는 디스플레이, 상기 공유 컨텐츠 운용과 관련한 제1 입력 정보를 수신하는 입력 인터페이스, 적어도 하나의 외부 전자 장치에서의 상기 공유 컨텐츠 운용과 관련한 제2 입력 정보를 수신하는 통신 인터페이스, 상기 공유 컨텐츠 처리와 관련한 적어도 하나의 명령어를 저장하는 메모리, 상기 디스플레이, 상기 입력 인터페이스, 상기 통신 인터페이스 및 상기 메모리에 전기적으로 연결되는 프로세서를 포함하고, 상기 명령어에 의해 수행되는 프로세서는 상기 공유 컨텐츠 운용과 관련하여 입력된 제1 입력 정보 및 상기 공유 컨텐츠 운용과 관련하여 상기 적어도 하나의 외부 전자 장치로부터 수신된 제2 입력 정보의 충돌 발생 가능성을 판단하고, 충돌 발생 가능성이 있는 경우 지정된 효과를 적용하도록 설정될 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 상기 제1 입력 정보의 진행 방향, 진행 속도, 입력의 크기 중 적어도 하나에 따라 제1 입력 정보와 관련한 제1 추정 영역을 산출하고, 상기 제2 입력 정보의 진행 방향, 진행 속도, 입력의 크기 중 적어도 하나에 따라 제2 입력 정보와 관련한 제2 추정 영역을 산출하여, 상기 제1 추정 영역과 상기 제2 추정 영역의 적어도 일부가 중첩되는 경우 충돌 발생 가능성이 있는 것으로 판단하도록 설정될 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 상대적으로 우선 순위가 높게 설정된 전자 장치 또는 외부 전자 장치의 추정 영역에 충돌 발생 가능성을 안내하는 정보, 추정 영역에서 충돌할 수 있는 전자 장치 또는 외부 전자 장치의 식별 정보 중 적어도 하나를 출력하도록 설정될 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 상기 입출력 인터페이스를 통해 입력되는 사용자 입력 또는 상기 외부 전자 장치의 요청에 대응하여 상기 우선 순위 변경을 처리하도록 설정될 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 스트로크 입력에 대응하는 제1 추정 영역 또는 제2 추정 영역을 산출하도록 설정될 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 지정된 객체의 이동에 따른 제1 추정 영역 또는 제2 추정 영역을 산출하도록 설정될 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 상기 제1 추정 영역 또는 제2 추정 영역의 중첩 발생 가능성이 있는 경우 상대적으로 우선 순위가 낮은 외부 전자 장치 관련 객체를 지정된 방향으로 이동되도록 설정될 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 상기 진행 방향, 진행 속도, 입력의 크기 중 적어도 하나에 따라 상기 제1 추정 영역 또는 제2 추정 영역의 크기를 다르게 하도록 설정될 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 상대적으로 우선 순위가 낮게 설정된 전자 장치 또는 외부 전자 장치의 입력 제한과 관련한 시각 정보, 오디오 정보, 촉각 정보 중 적어도 하나가 해당 장치에서 출력되도록 지원할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 상기 공유 컨텐츠 운용과 관련하여 통신 연결된 적어도 하나의 외부 전자 장치를 기반으로 상기 공유 컨텐츠 운용 권한을 설정하고, 상기 공유 컨텐츠 운용 권한을 기반으로 상대적으로 낮은 우선 순위를 가지는 장치의 입력을 제한하는 잠금 정보를 출력하도록 설정될 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 상기 외부 전자 장치가 상기 전자 장치에 비하여 상대적으로 낮은 우선 순위를 가지는 경우 상기 잠금 정보를 상기 외부 전자 장치에 전송하도록 설정될 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 상기 충돌 발생 가능성이 해제 또는 제거된 경우 입력 제한을 해제하는 잠금 해제 정보를 출력하도록 설정될 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 상기 전자 장치 및 외부 전자 장치별 공유 컨텐츠 부분 영역들을 할당하고, 지정된 공유 컨텐츠 부분 영역에서 충돌 발생 가능성이 있는 경우, 지정된 공유 컨텐츠 부분 영역이 할당되지 않은 장치에 상기 잠금 정보를 적용하도록 설정될 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 상기 공유 컨텐츠 영역들 중 충돌 판단 영역과 충돌 비판단 영역을 설정하고, 충돌 판단 영역에서 발생한 상기 제1 입력 정보 및 제2 입력 정보에 대응하여 상기 충돌 발생 가능성에 대한 처리를 수행하도록 설정될 수 있다.
도 8은 본 발명의 한 실시 예에 따른 외부 전자 장치의 구성의 한 예를 나타낸 도면이다.
도 8을 참조하면, 외부 전자 장치 700은 제2 프로세서 720, 제2 메모리 730, 제2 디스플레이 760, 제2 입출력 인터페이스 750, 제2 통신 인터페이스 770을 포함할 수 있다.
상기 제2 프로세서 720은 외부 전자 장치 700 운용과 관련한 적어도 하나의 프로세스를 수행할 수 있다. 한 실시 예에 따르면, 제2 프로세서 720은 컨텐츠 처리 모듈 721 및 정보 표시 모듈 723을 포함할 수 있다. 예컨대, 컨텐츠 처리 모듈 721은 제2 프로세서 720은 참여 요청 메시지 수신, 사용자 입력에 다른 참여 수락 또는 거절 처리를 수행할 수 있다. 정보 표시 모듈 723은 수신된 공유 컨텐츠를 제2 디스플레이 760에 출력할 수 있다. 이 동작에서 역할 정보에서 결정된 운용 권한에 따라, 공유 컨텐츠의 적어도 일부가 출력될 수 있다. 상기 컨텐츠 처리 모듈 721은 공유 컨텐츠가 출력된 상태에서, 사용자 입력에 따른 입력 정보 생성 및 전송 등을 수행할 수 있다. 상기 컨텐츠 처리 모듈 721은 갱신된 공유 컨텐츠를 수신하여, 현재 공유 컨텐츠를 갱신할 수 있다.
상기 컨텐츠 처리 모듈 721은 전자 장치 600 또는 서버 800으로부터 잠금 정보를 수신할 수 있다. 이 경우, 컨텐츠 처리 모듈 721은 잠금 정보 수신에 따른 입력 제한을 설정할 수 있다. 예컨대, 컨텐츠 처리 모듈 721은 추정 영역에 대한 잠금 처리를 수행하여, 잠금 처리된 추정 영역에서 입력이 발생하지 않도록 처리할 수 있다. 본 발명의 한 실시 예에 따르면, 정보 표시 모듈 723은 잠금 처리된 추정 영역에 대한 지정된 효과를 출력할 수 있다. 예컨대, 추정 영역에서 발생하는 입력을 무효 처리할 수 있다. 또는 상기 정보 표시 모듈 723은 잠금 처리된 추정 영역을 주변 영역과 다르게 표시할 수 있다. 또는, 상기 정보 표시 모듈 723은 잠금 처리를 지시하는 이미지 또는 텍스트 중 적어도 하나를 추정 영역과 관련하여 출력할 수 있다.
본 발명의 다양한 실시 예에 따르면, 컨텐츠 처리 모듈 721은 잠금 해제 정보를 수신할 수 있다. 잠금 해제 정보가 수신되면, 컨텐츠 처리 모듈 721은 입력 제한을 해제할 수 있다. 이 동작에서 정보 표시 모듈 723은 잠금 해제 정보 수신에 따른 지정된 효과(예: 잠금 해제를 알리는 이미지 또는 텍스트 중 적어도 하나)를 제공할 수 있다. 또는, 정보 표시 모듈 723은 잠금 처리된 추정 영역에 적용된 지정된 효과를 제거하여, 주변 영역과 동일하게 표시할 수 있다. 본 발명의 다양한 실시 예에 따르면, 정보 표시 모듈 723은 추정 영역에 대하여 전자 장치 600 또는 다른 외부 전자 장치가 입력한 입력 정보가 적용된 공유 컨텐츠를 출력할 수 있다. 상기 컨텐츠 처리 모듈 721은 갱신 정보만을 수신하여, 기 저장된 공유 컨텐츠를 갱신할 수도 있다.
상기 제2 메모리 730은 외부 전자 장치 700 운용과 관련한 운영 체제 및 적어도 하나의 정보를 출력할 수 있다. 본 발명의 한 실시 예에 따르면, 제2 메모리 730은 공유 컨텐츠를 저장할 수 있다. 또한, 제2 메모리 730은 갱신된 공유 컨텐츠를 수신하여, 기 저장된 공유 컨텐츠를 갱신할 수 있다. 또는, 제2 메모리 730은 입력 정보가 적용된 공유 컨텐츠로부터 생성된 갱신 정보를 기반으로 기 저장된 공유 컨텐츠를 갱신할 수 있다.
상기 제2 디스플레이 760은 외부 전자 장치 700 운용과 관련한 화면을 출력할 수 있다. 예컨대, 제2 디스플레이 760은 공유 컨텐츠 운용과 관련한 참여 요청 수신 화면, 사용자 입력에 따른 참여 수락 화면 등을 출력할 수 있다. 또한, 제2 디스플레이 760은 공유 컨텐츠 출력화면, 전자 장치 600의 입력 정보 또는 외부 전자 장치 700의 입력 정보가 적용된 공유 컨텐츠 변경 화면(또는 갱신된 공유 컨텐츠 화면)을 출력할 수 있다.
본 발명의 다양한 실시 예에 따르면, 제2 디스플레이 760은 잠금 정보 수신에 따라 지정된 시각 효과를 출력할 수 있다. 예컨대, 제2 디스플레이 760은 잠금 처리된 추정 영역을 지시하는 이미지 또는 텍스트 중 적어도 하나를 출력할 수 있다. 또는, 제2 디스플레이 760은 잠금 처리된 추정 영역을 하이라이트하여 출력할 수 있다. 본 발명의 다양한 실시 예에 따르면, 제2 디스플레이 760은 잠금 처리된 추정 영역에 입력이 발생하는 경우, 입력 제한을 안내하는 경고 메시지 등을 출력할 수 있다. 본 발명의 다양한 실시 예에 따르면, 제2 디스플레이 760은 잠금 해제 정보를 수신하는 경우, 잠금 처리된 추정 영역 해제를 안내하는 메시지를 출력할 수 있다.
상기 제2 입출력 인터페이스 750은 참여 요청 수락과 관련한 입력 신호, 공유 컨텐츠 변경과 관련한 사용자 입력 등을 수신할 수 있다. 상술한 제2 입출력 인터페이스 750은 예컨대 터치스크린, 터치패널, 전자기 유도 패널 등을 포함할 수 있다. 또한, 상기 제2 입출력 인터페이스 750은 오디오 장치를 포함할 수 있다. 상기 오디오 장치는 공유 컨텐츠 운용과 관련한 적어도 하나의 오디오 정보(예: 참여 요청 메시지 수신을 안내하는 오디오 정보, 참여 수락 관련 오디오 정보, 잠금 정보 수신과 관련한 오디오 정보, 잠금 해제 정보 수신과 관련한 오디오 정보 등)를 해당 이벤트 발생에 대응하여 출력할 수 있다.
상기 제2 통신 인터페이스 770은 외부 전자 장치 700의 통신 채널 형성을 처리할 수 있다. 예컨대, 제2 통신 인터페이스 770은 네트워크 662를 통하여 전자 장치 600 또는 서버 800과 통신 채널을 형성할 수 있다. 제2 통신 인터페이스 770은 참여 요청 메시지 수신, 참여 수락 메시지 전송, 공유 컨텐츠 수신 등을 처리할 수 있다. 또한, 제2 통신 인터페이스 770은 사용자 입력에 따른 입력 정보를 전송하고, 전자 장치 600 또는 서버 800으로부터 갱신 정보 또는 갱신된 공유 컨텐츠를 수신할 수 있다. 제2 통신 인터페이스 770은 잠금 정보 또는 잠금 해제 정보를 수신할 수 있다.
상술한 설명에서는 각각 도 7에서 설명한 구성들을 포함하는 전자 장치 600와 도 8에서 설명한 구성들을 포함하는 외부 전자 장치 700을 나누어 설명하였으나, 다양한 실시 예들이 이에 한정되는 것은 아니다. 상기 전자 장치 600과 상기 외부 전자 장치 700은 동일한 구성들을 포함하고, 공유 컨텐츠에 대한 처리를 수행할 수도 있다. 또는 상기 전자 장치 600의 구성과 외부 전자 장치 700의 구성은 동일한 하나의 전자 장치에 포함되고, 공유 컨텐츠 운용 역할에 따라 각기 운용되는 모듈이 다를 수 있다.
상술한 본 발명의 다양한 실시 예에 다르면, 한 실시 예에 따른 전자 장치는 공유 컨텐츠를 수신하는 통신 인터페이스, 상기 공유 컨텐츠 관련 화면을 출력하는 디스플레이, 상기 공유 컨텐츠 운용과 관련한 입력 정보를 수신하는 입력 인터페이스, 상기 공유 컨텐츠 처리와 관련한 적어도 하나의 명령어를 저장하는 메모리, 상기 디스플레이, 상기 입력 인터페이스, 상기 통신 인터페이스 및 상기 메모리에 전기적으로 연결되는 프로세서를 포함하고, 상기 명령어에 의해 수행되는 프로세서는 상기 입력 정보를 상기 공유 컨텐츠를 운용하는 전자 장치 또는 서버에 전송하고, 상기 전자 장치 또는 상기 서버로부터 상기 입력 정보와 관련한 잠금 정보가 수신되면, 상기 잠금 정보에 따른 추정 영역의 입력을 제한하도록 설정될 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 프로세서는 스트로크 입력에 대응하는 추정 영역의 입력을 제한할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 프로세서는 지정된 객체의 이동에 따른 추정 영역으로 상기 객체의 이동을 제한할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 프로세서는 상기 입력 제한과 관련한 시각 정보, 오디오 정보, 촉각 정보 중 적어도 하나가 해당 장치에서 출력되도록 지원할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 프로세서는 상기 충돌 발생 가능성이 해제 또는 제거된 경우에 대응하는 잠금 해제 정보를 수신하면 상기 입력 제한을 해제하도록 설정될 수 있다.
상술한 다양한 실시 예에 따른 전자 장치는 디스플레이, 상기 디스플레이에 통합되거나 또는 독립되고, 사용자로부터 입력된 터치 및/또는 제스처를 수신하는 회로를 포함하는 사용자 입력 장치(예: 상기 입출력 인터페이스 또는 터치 기능의 디스플레이 중 적어도 하나), 통신 회로(예: 상기 통신 인터페이스), 상기 디스플레이, 상기 사용자 입력 장치 및 상기 통신 회로와 전기적으로 연결되는 프로세서, 상기 프로세서와 전기적으로 연결되는 메모리를 포함하고, 상기 메모리는 상기 프로세서에 의해 실행되는 명령어들을 저장하고, 상기 명령어는 상기 디스플레이 상에 소프트웨어 프로그램의 사용자 인터페이스를 출력하고, 상기 사용자 입력 장치로부터 입력된 제1 제스처를 수신하고, 상기 사용자 인터페이스의 제1 영역에서의 제1 제스처 입력에 대응하여 제1 이미지(예: 공유 컨텐츠)를 표시하고, 다른 전자 장치로부터 생성된 제2 이미지(예: 외부 전자 장치가 제공한 인덱싱된 스트로크 데이터 또는 상기 스트로크 데이터가 적용되는 이미지)를 통신 회로를 통해 수신하고, 상기 제2 이미지의 적어도 일부가 제1 이미지와 오버랩되는 경우 상기 제1 이미지 상부에 놓이거나 또는 상기 제1 이미지 하부에 놓이거나 또는 상기 제1 이미지로부터 분리되는 제2 이미지의 적어도 일부를 변경하거나 이동시키도록 설정될 수 있다.
본 발명의 한 실시 예에 따른 전자 장치는 디스플레이, 상기 디스플레이에 통합되거나 또는 독립되고, 사용자로부터 입력된 터치 및/또는 제스처를 수신하는 회로를 포함하는 사용자 입력 장치(예: 상기 입출력 인터페이스 또는 터치 기능을 가지는 디스플레이), 통신 회로(예: 상기 통신 인터페이스), 상기 디스플레이, 상기 사용자 입력 장치 및 상기 통신 회로와 전기적으로 연결되는 프로세서, 상기 프로세서와 전기적으로 연결되는 메모리를 포함하고, 상기 메모리는 상기 프로세서에 의해 실행되는 명령어들을 저장하고, 상기 명령어는 상기 디스플레이 상에 소프트웨어 프로그램의 사용자 인터페이스를 출력하고, 상기 사용자 입력 장치로부터 입력된 제1 제스처를 수신하고, 상기 사용자 인터페이스의 제1 영역에서의 제1 제스처 입력에 대응하여 제1 이미지(예: 상기 공유 컨텐츠)를 표시하고, 다른 전자 장치로부터 생성된 제2 이미지를 통신 회로를 통해 수신하고, 상기 전자 장치의 외부로 상기 통신 회로를 통하여 제1 이미지 또는 제1 일부에 대한 정보를 전송하고, 상기 통신 회로를 통하여, 다른 전자 장치가 생성한 제2 이미지를 수신하고, 상기 상기 제2 이미지의 적어도 일부는 제1 이미지 상에 놓이거나 또는 상기 제1 이미지 하부에 놓이거나 또는 상기 제1이미지로부터 분리되게 조절되도록 설정될 수 있다.
도 9는 본 발명의 한 실시 예에 따른 공유 컨텐츠 운용과 관련한 전자 장치 운용 방법을 나타낸 도면이다.
도 9를 참조하면, 공유 컨텐츠 운용과 관련하여, 전자 장치 600 운용과 관련한 이벤트가 발생하면(예: 제1 입출력 인터페이스 650 또는 제1 디스플레이 660으로부터 입력 이벤트가 발생하면), 동작 901에서, 전자 장치 600(예: 프로세서 620)는 공유 컨텐츠 운용과 관련한 이벤트인지 확인할 수 있다. 이와 관련하여, 제1 프로세서 620(예: 공유 작업 처리 모듈 621)은 공유 컨텐츠 운용과 관련한 아이콘이나 메뉴 등을 제1 디스플레이 660에 출력할 수 있다. 또는, 제1 프로세서 620은 문서 편집기 또는 갤러리 기능에서 공유 컨텐츠 운용 기능을 제공할 수 있다. 공유 컨텐츠 운용과 관련한 이벤트가 아니면, 동작 903에서, 제1 프로세서 620은 발생한 이벤트 종류에 따른 기능 수행을 할 수 있다. 예컨대, 제1 프로세서 620은 이벤트 종류에 따라 웹 서핑 기능, 문서 편집 기능 등을 수행할 수 있다.
공유 컨텐츠 운용과 관련한 이벤트가 발생하면, 동작 905에서, 제1 프로세서 620(예: 공유 작업 처리 모듈 621)은 지정된 외부 전자 장치 700에게 공유 컨텐츠를 제공하도록 제1 통신 인터페이스 670을 운용할 수 있다. 예컨대, 제1 프로세서 620은 사용자 선택에 따른 외부 전자 장치 또는 공유 컨텐츠의 운용 이력에 포함된 외부 전자 장치 등에게 공유 컨텐츠를 제1 통신 인터페이스 670를 통하여 전송할 수 있다. 또는, 제1 프로세서 620은 사용자 허용에 따라 공유 컨텐츠를 제1 통신 인터페이스 670을 통하여 참여 요청한 외부 전자 장치 700에 제공할 수 있다.
동작 907에서, 제1 프로세서 620은 제1 통신 인터페이스 670을 기반으로 외부 전자 장치 700으로부터 입력 정보를 수신할 수 있다. 제1 프로세서 620은 수신된 입력 정보 및 제1 입출력 인터페이스 650(또는 터치 기능을 가지는 제1 디스플레이 660)을 통해 입력된 입력 정보(또는 공유 컨텐츠 변경과 관련하여 사용자가 입력한 입력 정보)를 수집할 수 있다.
동작 909에서, 제1 프로세서 620(예: 충돌 처리 모듈 623)은 충돌 발생 가능성을 확인할 수 있다. 충돌 발생 가능성이 없는 경우, 제1 프로세서 620은 이하 동작을 생략하고, 수신된 입력 정보 처리를 수행한 후, 동작 919로 분기할 수 있다. 이 동작에서, 제1 프로세서 620은 입력 정보가 적용된 공유 컨텐츠 영역이 충돌 발생 판단 영역인지 또는 충돌 발생 판단 영역인지 확인할 수 있다. 제1 프로세서 620은 충돌 발생 판단 영역으로 판단되면, 수신된 입력 정보를 중복하여 해당 공유 컨텐츠 영역에 적용(예: 제1 메모리 630에 저장된 컨텐츠 631의 갱신 수행)할 수 있다.
충돌 발생 가능성이 있는 경우, 동작 911에서, 제1 프로세서 620은 잠금 정보를 생성하고, 생성된 잠금 정보를 외부 전자 장치 700에 전송할 수 있다. 이 동작에서, 전자 장치 600은 상대적으로 외부 전자 장치 700에 비하여 운용 권한이 높게 설정된(또는 우선 순위가 높게 설정된) 장치일 수 있다. 본 발명의 다양한 실시 예에 따르면, 제1 프로세서 620이 외부 전자 장치 700으로부터 상대적으로 운용 권한이 낮은 경우, 제1 프로세서 620은 잠금 정보 생성 시 자신의 입력을 제한하는 잠금 정보를 생성할 수 있다. 본 발명의 다양한 실시 예에 따르면, 제1 프로세서 620은 잠금 정보가 생성되어 적용되고 있음을 안내하는 메시지를 외부 전자 장치 700에 제1 통신 인터페이스 670을 통하여 전송할 수도 있다.
동작 913에서, 제1 프로세서 620은 제1 통신 인터페이스 670을 기반으로 추가 입력 정보를 외부 전자 장치 700으로부터 수신할 수 있다. 이 동작에서, 제1 프로세서 620은 자신이 추가로 입력한 입력 정보(또는 이전 입력 정보의 유지)를 제1 입출력 인터페이스 650 또는 제1 디스플레이 660을 통하여 수집할 수 있으며, 외부 전자 장치가 제공한 추가 입력 정보를 제1 통신 인터페이스 670을 통하여 수집할 수 있다.
동작 915에서, 제1 프로세서 620은 추가 입력 정보에 따른 충돌 발생 가능성이 있는지 확인할 수 있다. 예컨대, 제1 프로세서 620은 추가 입력 정보와 현재 입력된 입력 정보 간의 충돌 발생 가능성을 확인할 수 있다. 충돌 발생 가능성이 있는 경우, 제1 프로세서 620은 동작 911 이전으로 분기하여 이하 동작을 재수행할 수 있다. 충돌 발생 가능성이 해제(또는 제거)된 경우, 동작 917에서, 제1 프로세서 620은 잠금 해제 정보 생성 및 전송할 수 있다. 이 동작에서, 제1 프로세서 620은 외부 전자 장치 700보다 상대적으로 운용 권한이 낮은 경우, 잠금 해제 정보를 자신에게 적용(예: 입력 제한 해제)할 수 있다. 본 발명의 다양한 실시 예에 따르면, 제1 프로세서 620은 잠금 해제 정보 적용을 안내하는 메시지를 외부 전자 장치 700에 전송할 수 있다. 또한, 제1 프로세서 620은 추가 입력 정보에 따른 공유 컨텐츠 갱신을 수행할 수 있다. 제1 프로세서 620은 갱신된 공유 컨텐츠를 외부 전자 장치 700에 제공할 수 있다.
동작 919에서, 제1 프로세서 620은 기능 종료와 관련한 이벤트 발생이 있는지 확인할 수 있다. 기능 종료 관련 이벤트 발생이 없으면, 제1 프로세서 620은 동작 907 이전으로 분기하여 이하 동작을 재수행할 수 있다. 기능 종료 관련 이벤트가 발생하면, 공유 컨텐츠 운용을 종료할 수 있다. 본 발명의 다양한 실시 예에 따르면, 제1 프로세서 620은 공유 컨텐츠 운용 종료 시, 협업한 외부 전자 장치들의 목록을 협업한 공유 컨텐츠와 관련하여 제1 메모리 630에 저장 관리할 수 있다.
상술한 본 발명의 다양한 실시 예에 따르면, 한 실시 예에 따른 전자 장치 운용 방법은 공유 컨텐츠 운용과 관련하여 입력된 제1 입력 정보와 상기 공유 컨텐츠 운용과 관련하여 상기 적어도 하나의 외부 전자 장치로부터 제2 입력 정보를 수집하는 동작, 상기 제1 입력 정보 및 상기 제2 입력 정보의 충돌 발생 가능성을 판단하는 동작, 충돌 발생 가능성이 있는 경우 지정된 효과를 적용하는 동작을 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 판단하는 동작은 상기 제1 입력 정보의 진행 방향, 진행 속도, 입력의 크기 중 적어도 하나에 따라 제1 입력 정보와 관련한 제1 추정 영역을 산출하는 동작, 상기 제2 입력 정보의 진행 방향, 진행 속도, 입력의 크기 중 적어도 하나에 따라 제2 입력 정보와 관련한 제2 추정 영역을 산출하는 동작, 상기 제1 추정 영역과 상기 제2 추정 영역의 적어도 일부가 중첩되는 경우 충돌 발생 가능성이 있는 것으로 판단하는 동작을 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 방법은 상대적으로 우선 순위가 높게 설정된 전자 장치 또는 외부 전자 장치의 추정 영역에 충돌 발생 가능성을 안내하는 정보, 추정 영역에서 충돌할 수 있는 전자 장치 또는 외부 전자 장치의 식별 정보 중 적어도 하나를 출력하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 방법은 상기 입출력 인터페이스를 통해 입력되는 사용자 입력 또는 상기 외부 전자 장치의 요청에 대응하여 상기 우선 순위 변경을 처리하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 판단하는 동작은 스트로크 입력에 대응하는 제1 추정 영역 또는 제2 추정 영역을 산출하는 동작 또는 지정된 객체의 이동에 따른 제1 추정 영역 또는 제2 추정 영역을 산출하는 동작을 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 방법은 상기 제1 추정 영역 또는 제2 추정 영역의 중첩 발생 가능성이 있는 경우 상대적으로 우선 순위가 낮은 외부 전자 장치 관련 객체를 지정된 방향으로 이동되도록 처리하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 판단하는 동작은 상기 진행 방향, 진행 속도, 입력의 크기 중 적어도 하나에 따라 상기 제1 추정 영역 또는 제2 추정 영역의 크기를 다르게 하는 동작을 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 방법은 상대적으로 우선 순위가 낮게 설정된 전자 장치 또는 외부 전자 장치의 입력 제한과 관련한 시각 정보, 오디오 정보, 촉각 정보 중 적어도 하나가 해당 장치에서 출력되도록 지원하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 방법은 상기 공유 컨텐츠 운용과 관련하여 통신 연결된 적어도 하나의 외부 전자 장치를 기반으로 상기 공유 컨텐츠 운용 권한을 설정하는 동작, 상기 공유 컨텐츠 운용 권한을 기반으로 상대적으로 낮은 우선 순위를 가지는 장치의 입력을 제한하는 잠금 정보를 출력하는 동작을 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 방법은 상기 외부 전자 장치가 상기 전자 장치에 비하여 상대적으로 낮은 우선 순위를 가지는 경우 상기 잠금 정보를 상기 외부 전자 장치에 전송하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 방법은 상기 충돌 발생 가능성이 해제 또는 제거된 경우 입력 제한을 해제하는 잠금 해제 정보를 출력하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 방법은 상기 전자 장치 및 외부 전자 장치별 공유 컨텐츠 부분 영역들을 할당하는 동작, 지정된 공유 컨텐츠 부분 영역에서 충돌 발생 가능성이 있는 경우, 지정된 공유 컨텐츠 부분 영역이 할당되지 않은 장치에 상기 잠금 정보를 적용하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 방법은 상기 공유 컨텐츠 영역들 중 충돌 판단 영역과 충돌 비판단 영역을 설정하는 동작, 충돌 판단 영역에서 발생한 상기 제1 입력 정보 및 제2 입력 정보에 대응하여 상기 충돌 발생 가능성에 대한 처리를 수행하는 동작을 더 포함할 수 있다.
도 10은 본 발명의 한 실시 예에 따른 공유 컨텐츠 운용과 관련한 외부 전자 장치 운용 방법을 나타낸 도면이다. 도 10은 예컨대, 공유 컨텐츠 운용 요청을 전자 장치 600으로부터 수신하고, 사용자 입력에 대응하여 공유 컨텐츠 운용을 처리하는 외부 전자 장치 700의 운용 발명의 한 예일 수 있다.
도 10을 참조하면, 공유 컨텐츠 운용과 관련하여, 이벤트가 발생하면, 동작 1001에서, 외부 전자 장치 700의 제2 프로세서 720은 상기 이벤트가 제2 통신 인터페이스 770을 통하여 수신된 공유 컨텐츠 참여 요청 수신인지 확인할 수 있다. 공유 컨텐츠 참여 요청 수신 이벤트가 아니면, 동작 1003에서, 제2 프로세서 720은 이벤트 종류에 따른 기능 수행을 처리할 수 있다. 예컨대, 제2 프로세서 720은 이벤트 종류에 따른 파일 편집 기능, 갤러리 기능, 카메라 기능, 웹 서핑 기능들을 수행할 수 있다.
공유 컨텐츠 참여 요청과 관련한 이벤트를 수신하면, 동작 1005에서, 사용자 입력(예: 공유 컨텐츠 참여 요청 허락)에 따라 제2 프로세서 720은 공유 컨텐츠를 제2 통신 인터페이스 770을 통하여 수신할 수 있다. 본 발명의 다양한 실시 예에 따르면, 제2 프로세서 720은 이전 협업한 이력이 있는 공유 컨텐츠이면, 마지막으로 제2 메모리 730에 저장한 공유 컨텐츠를 운용할 수도 있다.
동작 1007에서, 제2 프로세서 720은 사용자 입력에 따른 입력 정보를 제2 입출력 인터페이스 750(또는 터치 기능을 가지는 제2 디스플레이 760)을 통하여 수신하고, 수신된 입력 정보를 제2 통신 인터페이스 770을 기반으로 전자 장치 600에 전송할 수 있다. 본 발명의 다양한 실시 예에 따르면, 제2 프로세서 720은 공유 컨텐츠 기반 입력 정보를 제2 입출력 인터페이스 750 또는 제2 디스플레이 760을 기반으로 수집할 수 있다. 예컨대, 제2 프로세서 720은 공유 컨텐츠에서의 입력 정보가 적용되는 위치 정보 및 입력의 종류, 입력의 형태 등의 정보를 수집하고, 수집된 정보를 제2 통신 인터페이스 770을 통하여 전자 장치 600에 전송할 수 있다.
동작 1009에서, 제2 프로세서 720은 제2 통신 인터페이스 770을 통하여 잠금 정보 수신이 있는지 확인할 수 있다. 잠금 정보 수신이 없는 경우, 입력 정보 전송에 대응하여, 전자 장치 600으로부터 갱신된 공유 컨텐츠를 제2 통신 인터페이스 770를 통해 수신하고, 상기 갱신된 공유 컨텐츠와 제2 메모리 730에 저장된 공유 컨텐츠 동기화를 수행할 수 있다. 이후 제2 프로세서 720은 동작 1017로 분기할 수 있다.
잠금 정보가 수신되면, 동작 1011에서, 제2 프로세서 720은 제2 입출력 인터페이스 750 또는 제2 디스플레이 760의 입력 기능을 제한할 수 있다. 예컨대, 제2 프로세서 720은 잠금 정보에 지시된 제2 디스플레이 760의 추정 영역에서 입력이 발생하지 않도록 제2 디스플레이 760 또는 제2 입출력 인터페이스 750의 입력 기능을 제한하도록 처리할 수 있다. 또한, 제2 프로세서 720은 잠금 처리된 추정 영역 발생을 지시하는 지정된 효과를 제2 디스플레이 760출력할 수 있다.
동작 1013에서, 제2 프로세서 720은 제2 통신 인터페이스 770을 통해 잠금 해제 정보 수신이 있는지 확인할 수 있다. 잠금 해제 정보 수신이 없는 경우, 제2 프로세서 720은 동작 1011 이전으로 분기하여 제2 디스플레이 760 또는 제2 입출력 인터페이스 750 중 적어도 하나의 입력 제한 상태를 유지할 수 있다. 잠금 해제 정보가 수신되면, 동작 1015에서, 제2 프로세서 720은 제2 디스플레이 760 또는 제2 입출력 인터페이스 750 중 적어도 하나의 입력 제한을 해제할 수 있다.
동작 1017에서, 제2 프로세서 720은 기능 종료 이벤트가 발생하는지 확인할 수 있다. 제2 프로세서 720은 사용자 입력에 따른 기능 종료 이벤트가 발생하면, 참여 종료 메시지를 전자 장치 600에 전송할 수 있다. 전자 장치 600의 참여 종료 수락 또는 사용자의 종료 요청에 따라 공유 컨텐츠 운용 기능은 종료될 수 있다. 본 발명의 다양한 실시 예에 따르면, 제2 프로세서 720은 전자 장치 600으로부터 기능 종료 이벤트를 수신하면, 공유 컨텐츠 운용을 종료할 수도 있다. 또는, 제2 프로세서 720은 전자 장치 600으로부터 기능 종료 이벤트가 수신되면, 전자 장치 600을 제외하고, 나머지 장치들을 기반으로 공유 컨텐츠 운용 기능을 계속 수행할 수도 있다.
상술한 본 발명의 다양한 실시 예에 따르면, 한 실시 예에 따른 외부 전자 장치 운용 방법은 공유 컨텐츠 운용과 관련한 입력 정보를 상기 공유 컨텐츠를 운용하는 전자 장치 또는 서버에 전송하는 동작, 상기 전자 장치 또는 상기 서버로부터 상기 입력 정보와 관련한 잠금 정보를 수신하는 동작, 상기 잠금 정보에 따른 추정 영역(또는 공유 컨텐츠 일정 영역)의 입력을 제한하는 동작을 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 제한하는 동작은 스트로크 입력에 대응하는 추정 영역의 입력을 제한하는 동작, 지정된 객체의 이동에 따른 추정 영역으로 상기 객체의 이동을 제한하는 동작 중 적어도 하나를 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 방법은 상기 입력 제한과 관련한 시각 정보, 오디오 정보, 촉각 정보 중 적어도 하나를 출력하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 방법은 상기 충돌 발생 가능성이 해제 또는 제거된 경우에 대응하는 잠금 해제 정보를 수신하는 동작, 상기 입력 제한을 해제하는 동작을 더 포함할 수 있다.
상술한 다양한 실시 예에 따른 전자 장치 운용 방법은 디스플레이 상에 소프트웨어 프로그램의 사용자 인터페이스를 출력하는 동작, 사용자 입력 장치로부터 입력된 제1 제스처를 수신하는 동작, 상기 사용자 인터페이스의 제1 영역에서의 제1 제스처 입력에 대응하여 제1 이미지(예: 공유 컨텐츠)를 표시하는 동작, 다른 전자 장치로부터 생성된 제2 이미지(예: 외부 전자 장치가 제공한 인덱싱된 스트로크 데이터 또는 상기 스트로크 데이터가 적용되는 이미지)를 통신 회로를 통해 수신하는 동작, 상기 제2 이미지의 적어도 일부가 제1 이미지와 오버랩되는 경우 상기 제1 이미지 상부에 놓이거나 또는 상기 제1 이미지 하부에 놓이거나 또는 상기 제1 이미지로부터 분리되는 제2 이미지의 적어도 일부를 변경하거나 이동시키는 동작을 포함할 수 있다.
상술한 다양한 실시 예에 따른 전자 장치 운용 방법은 디스플레이 상에 소프트웨어 프로그램의 사용자 인터페이스를 출력하는 동작, 상기 사용자 입력 장치로부터 입력된 제1 제스처를 수신하는 동작, 상기 사용자 인터페이스의 제1 영역에서의 제1 제스처 입력에 대응하여 제1 이미지(예: 상기 공유 컨텐츠)를 표시하는 동작, 다른 전자 장치로부터 생성된 제2 이미지를 통신 회로를 통해 수신하는 동작, 상기 전자 장치의 외부로 상기 통신 회로를 통하여 제1 이미지 또는 제1 일부에 대한 정보를 전송하는 동작, 상기 통신 회로를 통하여, 다른 전자 장치가 생성한 제2 이미지를 수신하는 동작, 상기 상기 제2 이미지의 적어도 일부는 제1 이미지 상에 놓이거나 또는 상기 제1 이미지 하부에 놓이거나 또는 상기 제1이미지로부터 분리되게 조절하는 동작을 포함할 수 있다.
도 11은 본 발명의 한 실시 예에 따른 공유 컨텐츠 운용과 관련한 화면 인터페이스의 한 예를 나타낸 도면이다.
도 11을 참조하면, 전자 장치 600 및 외부 전자 장치 700은 스트로크 입력과 관련한 공유 컨텐츠 운용 및 충돌 처리를 수행할 수 있다.
예컨대, 전자 장치 600은 상태 1101에서와 같이, 공유 컨텐츠 화면을 출력할 수 있다. 공유 컨텐츠 화면은 예컨대, 다수의 외부 전자 장치들에 할당된 공유 컨텐츠 영역들 A, B, C, D, E, F를 포함할 수 있다. 전자 장치 600은 공유 컨텐츠 영역 A를 할당받을 수 있다. 공유 컨텐츠 영역 A는 예컨대, 전자 장치 600의 운용 권한의 우선 순위가 상대적으로 높은 영역일 수 있다. 또는, 공유 컨텐츠 영역 A는 전자 장치 600의 공유 영역일 수 있다. 상기 공유 영역은 예컨대, 전자 장치 600만 입력 정보를 입력할 수 있는 영역일 수 있다. 공유 컨텐츠 영역 B는 예컨대, 다른 외부 전자 장치 700의 입력 정보가 함께 적용되는 영역일 수 있다.
전자 장치 600은 사용자 입력에 대응하는 제1 입력 정보에 따라 제1 스트로크 1111을 제1 디스플레이 160의 공유 컨텐츠 영역 A에 출력할 수 있다. 이 동작에서, 전자 장치 600은 외부 전자 장치 700으로부터 사용자 입력에 따른 제2 입력 정보를 수신할 수 있다. 전자 장치 600은 공유 컨텐츠 영역 E에서 발생하는 제2 입력 정보와 제1 입력 정보 간의 충돌 발생 가능성이 없는 것으로 판단되면, 수신된 제1 입력 정보 및 제2 입력 정보를 공유 컨텐츠에 적용하여 출력할 수 있다. 본 발명의 한 실시 예에 따르면, 상태 1101에서 공유 컨텐츠 영역 E를 출력하기 위한 스크롤 등이 발생하면, 제1 디스플레이 160은 제2 입력 정보에 따라 제2 스트로크 1131이 적용된 화면을 출력할 수 있다.
본 발명의 다양한 실시 예에 다르면, 상태 1103에서와 같이 외부 전자 장치 700은 외부 전자 장치 700 사용자 입력에 대응하는 제2 입력 정보에 따라 제2 스트로크 1131을 제2 디스플레이 760에 출력할 수 있다. 이와 관련하여, 외부 전자 장치 700은 제2 입력 정보를 전자 장치 600에 전송하고, 전자 장치 600으로부터 갱신 정보를 수신하여 공유 컨텐츠 화면을 출력할 수 있다.
충돌 처리와 관련하여, 전자 장치 600은 제1 입력 정보의 진행 방향, 진행 속도, 입력의 크기 중 적어도 하나를 기반으로 제1 입력 정보 관련 제1 추정 영역 1110을 산출할 수 있다. 또한, 전자 장치 600은 외부 전자 장치 700으로부터 수신된 제2 입력 정보를 분석하여, 제2 추정 영역 1130을 산출할 수 있다. 전자 장치 600은 공유 컨텐츠 영역 E(예: 충돌 발생 판단 영역)에서 제1 추정 영역 1110과 제2 추정 영역 1130이 중첩되는 경우, 충돌 발생 가능성이 있는 것으로 판단할 수 있다.
이에 따라, 전자 장치 600은 제1 추정 영역 1110에 대한 잠금 정보를 생성하여 외부 전자 장치 700에 전송할 수 있다. 전자 장치 600은 잠금 처리된 제1 추정 영역 1110과 관련하여 지정된 효과(예: 충돌 발생 가능성을 안내하는 정보)를 출력할 수 있다. 여기서, 전자 장치 600이 외부 전자 장치 700에 비하여 상대적으로 높은 우선 순위를 가지는 경우, 제1 추정 영역 1110에 대하여 전자 장치 600의 입력 가능을 안내할 수 있다. 또한, 전자 장치 600은 제1 추정 영역 1110에 대하여 어떠한 외부 전자 장치 700이 입력을 수행하고자 하였는지를 안내할 수 있다.
상기 외부 전자 장치 700은 잠금 정보 수신에 대응하여 제2 추정 영역 1130을 잠금 처리할 수 있다. 또한, 외부 전자 장치 700은 제2 추정 영역 1130에 대하여 지정된 효과(예: 잠금 처리를 안내하는 효과)를 출력할 수 있다. 또한, 외부 전자 장치 700은 제2 추정 영역 1130에서 운용 권한을 가진 장치(예: 전자 장치 600)의 식별 정보를 출력할 수 있다. 이에 따라, 외부 전자 장치 700 사용자는 어떠한 사용자가 제2 추정 영역에 대한 운용 권한을 가졌는지 확인할 수 있다.
본 발명의 다양한 실시 예에 따르면, 공유 컨텐츠 영역 E가 외부 전자 장치 700의 역할 정보에 대응하여 할당되고, 전자 장치 600의 제1 입력 정보가 공유 컨텐츠 영역 E의 일정 영역에서 발생함과 아울러, 외부 전자 장치 700의 제2 입력 정보가 공유 컨텐츠 영역 E의 일정 영역에서 발생할 수 있다. 여기서, 제1 입력 정보 관련 추정 영역과 제2 입력 정보 관련 추정 영역이 발생하는 경우, 역할 정보를 기반으로(공유 컨텐츠 영역 E가 외부 전자 장치 700에 할당되었기 때문에) 외부 전자 장치 700의 우선 순위가 상대적으로 높은 것으로 결정될 수 있다. 이 경우에는 전자 장치 600의 입력이 제한될 수 있다.
전자 장치 600 및 외부 전자 장치 700에 할당되지 않고 다른 외부 전자 장치에 할당된 공유 컨텐츠 영역 예컨대, C, F 영역 또는 공동 사용 영역 D 등에서는 역할 정보에 따라 상대적으로 우선 순위가 낮게 설정된 장치의 입력이 제한될 수 있다.
상기 입력 제한과 관련하여, 잠금 정보가 적용된 장치(예: 전자 장치 600 또는 외부 전자 장치 700)은 스트로크 입력이 추정 영역에 근접할수록 스트로크 입력을 무시하거나 또는 점진적으로 투명하게 처리할 수 있다. 본 발명의 한 실시 예에 따르면, 잠금 정보가 적용된 장치는 스트로크 입력이 추정 영역에 근접할수록 투명하게 표시하다가 추정 영역에 접근하는 경우 완전 투명 처리할 수 있다. 또한, 잠금 정보가 적용된 장치는 추정 영역으로부터 멀어질수록 원래의 색을 가지도록 처리할 수 있다.
본 발명의 다양한 실시 예에 따르면, 전자 장치 600은 제1 입력 정보에 대응하는 추정 방향선 1113 및 제2 입력 정보에 대응하는 추정 방향선 1131을 기반으로 충돌 발생 판단을 할 수도 있다. 예컨대, 전자 장치 600은 추정 방향선 1113의 가상 연장선과 추정 방향선 1131의 가상 연장선이 일정 시점에 중첩되는지 확인할 수 있다. 전자 장치 600은 중첩되는 지점이 현재 입력 정보의 위치로부터 지정된 거리 이내인 경우, 전자 장치 600은 충돌 발생으로 판단할 수 있다.
도 12는 본 발명의 한 실시 예에 따른 공유 컨텐츠 운용과 관련한 화면 인터페이스의 다른 한 예를 나타낸 도면이다.
도 12를 참조하면, 전자 장치 600 및 외부 전자 장치 700은 객체 이동 입력과 관련한 공유 컨텐츠 운용 및 충돌 처리를 수행할 수 있다.
예컨대, 공유 컨텐츠 영역은 4개의 영역으로 할당될 수 있다. 본 발명의 한 실시 예에 따르면, 제1 사분면 및 4사분면은 전자 장치 600에 할당되고, 제2 사분면 및 제4 사분면은 외부 전자 장치 700에 할당될 수 있다. 상태 1201에서와 같이, 제1 사분면에는 전자 장치 600 입력에 따라 제1 객체 1210이 표시될 수 있다. 또한, 제3 사분면에는 외부 전자 장치 700 입력에 따라 제2 객체 1220이 표시될 수 있다. 또는, 공유 컨텐츠는 상기 제1 객체 1210 및 제2 객체 1220을 포함한 화면에 대응할 수 있다.
제2 객체 1220 이동과 관련한 사용자 입력이 외부 전자 장치 700에서 입력될 수 있다. 예컨대, 제2 객체 1220이 제1 객체 1210 방향으로 이동될 수 있다. 제2 객체 1220이 이동하여 제1 객체 1210과 적어도 일부 중첩될 것으로 예측되는 경우, 예컨대, 전자 장치 600은 제1 객체 1210과 이동될 제2 객체 1221의 충돌 발생을 예측할 수 있다. 이 경우, 전자 장치 600은 상태 1203에서와 같이, 이동 예측된 제2 객체 1221(예: 추정 영역)와 제1 객체 1210의 충돌 제거를 위하여 이동 예측된 제2 객체 1221을 지정된 위치로 이동시켜 표시할 수 있다. 예컨대, 이동 예측된 제2 객체 1221은 지정된 위치 1223으로 이동하여 표시될 수 있다. 이 동작에서, 전자 장치 600은 이동 예측된 제2 객체 1221을 외부 전자 장치 700과 관련한 사분면(예: 제2 사분면)으로 이동 표시할 수 있다.
본 발명의 다양한 실시 예에 따르면, 전자 장치 600은 충돌 처리와 관련하여, 제2 객체 1220을 제1 객체 1210과 중첩되지 않는 최소 영역에 표시할 수 있다. 예컨대, 상태 1205에서와 같이, 전자 장치 600은 제1 객체 1210의 경계선과 이동이 제한된 제2 객체 1224의 경계선이 맞닿도록 표시할 수 있다. 추가로 이동이 제한된 제2 객체 1224를 제1 객체 1210 방향으로 이동시켜 중첩시키는 형태의 입력 정보가 발생하면, 전자 장치 600은 입력 제한과 관련한 잠금 정보 및 효과 정보를 외부 전자 장치 700에 전송할 수 있다. 상술한 동작에서, 전자 장치 600은 충돌 발생에 대응하는 적어도 하나의 이미지 또는 텍스트를 출력할 수 있다. 또한, 전자 장치 600은 상기 제2 객체 1220, 1223, 1224가 어떠한 외부 전자 장치 700의 객체인지를 구분하기 위한 식별 정보를 출력할 수 있다.
상술한 바와 같이, 본 발명의 다양한 실시 예에 따르면, 공유 컨텐츠 운용 방법 및 장치는 예컨대, 핸드라이팅 문서 공동 편집 기능을 지원할 수 있다. 이러한 공유 컨텐츠 운용 방법 및 장치는 다수의 사용자가 동시의 문서 편집 시 충돌을 판단하고, 특정 기준에 따라 입력을 제한하여 충돌을 회피할 수 있다. 충돌 판단과 관련하여, 상기 방법 및 장치는 스트로크 또는 객체가 작성되는 영역을 구분하고, 그 구분된 영역 안에 동시 작업이 이루어지는지 확인 이후 이동방향, 속도 등을 고려하여 충돌을 판단할 수 있다. 충돌 처리와 관련하여, 상기 방법 및 장치는 역할 기반(컨택 정보-컨택 정보에 등록된 사용자 또는 특정 그룹으로 그룹핑된 사용자 장치의 우선 순위를 상대적으로 높게 설정, 사용자 관계, 문서 권한 등)으로 공유 컨텐츠의 운용 권한을 다르게 설정할 수 있다.
본 발명의 다양한 실시 예에 따르면, 충돌 판단의 주체와 관련하여, 공유 컨텐츠 운용을 요청한 전자 장치(또는 지정된 외부 전자 장치)에서 충돌을 판단하고, 서버를 통해 다른 장치로 충돌 판단 데이터를 전달할 수 있다. 이후 입력된 입력 정보(예: 스트로크 정보)를 서버에 전달하여 공유 컨텐츠의 동기화를 수행할 수 있다. 본 발명의 다양한 실시 예에 따르면, 서버가 장치들이 입력한 입력 정보들을 분석하여 충돌을 판단하고, 판단 결과를 각 장치에 전달하면, 각 장치가 충돌 판단에 따른 입력 정보를 적용한 공유 컨텐츠를 서버에 제공할 수도 있다.
본 발명의 다양한 실시 예에 따르면, 충돌 판단과 관련한 데이터 가공과 관련하여, 전자 장치는 충돌 판단을 위한 입력 정보(예: 스트로크 데이터)를 직접 생성하여 외부 전자 장치로 전달(서버는 bypass)할지, 전자 장치가 입력 정보 그대로(로우 데이터)를 서버에 올려주고, 서버가 충돌 판단을 위한 데이터를 생성하여 외부 전자 장치에 전송할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 공유 컨텐츠는 예컨대, 서버에만 존재하고, 장치들이 서버로부터 수신하여 운용할 수 있다. 또는 상기 공유 컨텐츠의 복사본은 전자 장치에 저장하고, 충돌 회피와 관련한 데이터를 서버에 제공하여 공유 컨텐츠 갱신이 수행될 수 있다.
상술한 본 발명의 다양한 실시 예에 따르면, 본 발명의 한 실시 예에 따른 전자 장치는 디스플레이, 사용자로부터 터치 또는 제스처 입력을 수신할 수 있는 회로를 포함하는 사용자 입력 장치(예: 상기 디스플레이와 구분된 입출력 인터페이스 또는 입력 기능의 상기 디스플레이), 통신 인터페이스, 상기 디스플레이와 사용자 인터페이스 및 통신 인터페이스를 전기적으로 연결하는 프로세서, 상기 프로세서에 전기적으로 연결되는 메모리를 포함하고,
상기 메모리에 저장된 명령어는 상기 프로세서 실행 시에 디스플레이 상에 소프트웨어 프로그램의 사용자 인터페이스를 표시하고, 사용자 입력 장치로부터 제1 제스처 입력을 수신하고, 사용자 입력의 제1 부분에서 제1 제스처 입력에 대응하는 제1 이미지를 표시하고, 통신 인터페이스를 통해 상기 제1 이미지의 적어도 일부가 중첩되는 외부 전자 장치에서 생성된 제2 이미지를 수신하면, 제1 이미지와 중첩된 제2 이미지의 적어도 일부를 이동 또는 변경하도록 설정될 수 있다.
본 발명의 다양한 실시 예에 따르면, 한 실시 예에 따른 전자 장치는 디스플레이, 통신 인터페이스, 사용자 입력 장치, 메모리, 프로세서 등을 포함하고, 상기 메모리에 저장된 명령어는 상기 프로세서 실행 시에 상기 통신 인터페이스를 통하여 제1 이미지의 일부의 정보를 전송하고, 제1 이미지와 적어도 일부가 중첩되지 않도록 변경된 제2 이미지를 수신하도록 설정될 수 있다.
도 13은 본 발명의 한 실시 예에 따른 전자 장치 운용 환경을 나타낸다.
도 13을 참조하면, 본 발명의 다양한 실시 예에서의 전자 장치 1301, 1302, 1304 또는 서버 1306이 네트워크 1362 또는 근거리 통신 164를 통하여 서로 연결될 수 있다. 전자 장치 1301은 버스 1310, 프로세서 1320, 메모리 1330, 입출력 인터페이스 1350, 디스플레이 1360, 및 통신 인터페이스 1370을 포함할 수 있다. 어떤 실시 예에서는, 전자 장치 1301은, 구성요소들 중 적어도 하나를 생략하거나 다른 구성 요소를 추가적으로 구비할 수 있다.
버스 1310은, 예를 들면, 구성요소들 1310-1370을 서로 연결하고, 구성요소들 간의 통신(예: 제어 메시지 및/또는 데이터)을 전달하는 회로를 포함할 수 있다.
프로세서 1320은, 중앙처리장치(Central Processing Unit (CPU)), 어플리케이션 프로세서(Application Processor (AP)), 또는 커뮤니케이션 프로세서(Communication Processor (CP)) 중 하나 또는 그 이상을 포함할 수 있다. 프로세서 1320은, 예를 들면, 전자 장치 1301의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다.
메모리 1330은, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리 1330은, 예를 들면, 전자 장치 1301의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 본 발명의 한 실시 예에 따르면, 메모리 1330은 소프트웨어 및/또는 프로그램 1340을 저장할 수 있다. 프로그램 1340은, 예를 들면, 커널 1341, 미들웨어 1343, 어플리케이션 프로그래밍 인터페이스(Application Programming Interface (API)) 1345, 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 1347 등을 포함할 수 있다. 커널 1341, 미들웨어 1343, 또는 API 1345의 적어도 일부는, 운영 시스템(Operating System (OS))으로 지칭될 수 있다.
커널 1341은, 예를 들면, 다른 프로그램들(예: 미들웨어 1343, API 1345, 또는 어플리케이션 프로그램 1347)에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 버스 1310, 프로세서 1320, 또는 메모리 1330 등)을 제어 또는 관리할 수 있다. 또한, 커널 1341은 미들웨어 1343, API 1345, 또는 어플리케이션 프로그램 1347에서 전자 장치 1301의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
미들웨어 1343은, 예를 들면, API 1345 또는 어플리케이션 프로그램 1347이 커널 1341과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다.
또한, 미들웨어 1343은 어플리케이션 프로그램 1347로부터 수신된 하나 이상의 작업 요청들을 우선 순위에 따라 처리할 수 있다. 예를 들면, 미들웨어 1343은 어플리케이션 프로그램 1347 중 적어도 하나에 전자 장치 1301의 시스템 리소스(예: 버스 1310, 프로세서 1320, 또는 메모리 1330 등)를 사용할 수 있는 우선 순위를 부여할 수 있다. 예컨대, 미들웨어 1343은 상기 적어도 하나에 부여된 우선 순위에 따라 상기 하나 이상의 작업 요청들을 처리함으로써, 상기 하나 이상의 작업 요청들에 대한 스케쥴링 또는 로드 밸런싱 등을 수행할 수 있다.
API 1345는, 예를 들면, 어플리케이션 1347이 커널 1341 또는 미들웨어 1343에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 영상 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다.
입출력 인터페이스 1350은, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 전자 장치 1301의 다른 구성요소(들)에 전달할 수 있는 인터페이스의 역할을 할 수 있다. 또한, 입출력 인터페이스 1350은 전자 장치 1301의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다.
디스플레이 1360은, 예를 들면, 액정 디스플레이(Liquid Crystal Display (LCD)), 발광 다이오드(Light-Emitting Diode (LED)) 디스플레이, 유기 발광 다이오드(Organic LED (OLED)) 디스플레이, 또는 마이크로 전자기계 시스템(microelectromechanical systems, MEMS) 디스플레이, 또는 전자 종이(electronic paper) 디스플레이를 포함할 수 있다. 디스플레이 1360은, 예를 들면, 사용자에게 각종 컨텐츠(예: 텍스트, 이미지, 비디오, 아이콘, 또는 심볼 등)을 표시할 수 있다. 디스플레이 1360은, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스처, 근접, 또는 호버링(hovering) 입력을 수신할 수 있다.
통신 인터페이스 1370은, 예를 들면, 전자 장치 1301과 외부 장치(예: 제1 외부 전자 장치 1302, 제2 외부 전자 장치 1304, 또는 서버 1306) 간의 통신을 설정할 수 있다. 예를 들면, 통신 인터페이스 1370은 무선 통신 또는 유선 통신을 통해서 네트워크 1362에 연결되어 상기 외부 장치 (예: 제2 외부 전자 장치 1304 또는 서버 1306)과 통신할 수 있다.
무선 통신은, 예를 들면 셀룰러 통신 프로토콜로서, 예를 들면 LTE(Long-Term Evolution), LTE-A(LTE-Advanced), CDMA(Code Division Multiple Access), WCDMA(Wideband CDMA), UMTS(Universal Mobile Telecommunications System), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 중 적어도 하나를 사용할 수 있다. 또한 무선 통신은, 예를 들면, 근거리 통신 1364를 포함할 수 있다. 근거리 통신 1364는, 예를 들면, Wi-Fi(Wireless Fidelity), Bluetooth, NFC(Near Field Communication), MST(magnetic stripe transmission), 또는 GNSS 중 적어도 하나를 포함할 수 있다.
MST는 전자기 신호를 이용하여 전송 데이터에 따라 펄스를 생성하고, 상기 펄스는 자기장 신호를 발생시킬 수 있다. 전자 장치 1301은 상기 자기장 신호를 POS(point of sales)에 전송하고, POS는 MST 리더(MST reader)를 이용하여 상기 자기장 신호는 검출하고, 검출된 자기장 신호를 전기 신호로 변환함으로써 상기 데이터를 복원할 수 있다.
GNSS는 사용 지역 또는 대역폭 등에 따라, 예를 들면, GPS(Global Positioning System), Glonass(Global Navigation Satellite System), Beidou Navigation Satellite System(이하 "Beidou") 또는 Galileo(the European global satellite-based navigation system) 중 적어도 하나를 포함할 수 있다. 이하, 본 문서에서는, "GPS"는 "GNSS"와 혼용되어 사용(interchangeably used)될 수 있다. 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard 232), 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 네트워크 1362는 통신 네트워크(telecommunications network), 예를 들면, 컴퓨터 네트워크(computer network)(예: LAN 또는 WAN), 인터넷, 또는 전화 망(telephone network) 중 적어도 하나를 포함할 수 있다.
제1 및 제2 외부 전자 장치 1302, 1304 각각은 전자 장치 1301과 동일한 또는 다른 종류의 장치일 수 있다. 본 발명의 한 실시 예에 따르면, 서버 1306은 하나 또는 그 이상의 서버들의 그룹을 포함할 수 있다. 본 발명의 다양한 실시 예에 따르면, 전자 장치 1301에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 전자 장치(예: 전자 장치 1302, 1304, 또는 서버 1306)에서 실행될 수 있다. 본 발명의 한 실시 예에 따르면, 전자 장치 1301이 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치 1301은 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 다른 장치(예: 전자 장치 1302, 1304, 또는 서버 1306)에게 요청할 수 있다. 다른 전자 장치(예: 전자 장치 1302, 1304, 또는 서버 1306)은 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치 1301로 전달할 수 있다. 전자 장치 1301은 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 14는 본 발명의 다양한 실시 예에 따른 전자 장치의 블록도 1401을 나타낸다.
도 14를 참조하면, 전자 장치 1401은, 예를 들면, 도 13에 도시된 전자 장치의 전체 또는 일부를 포함할 수 있다. 전자 장치 1401은 하나 이상의 프로세서(예: AP) 1410, 통신 모듈 1420, 가입자 식별 모듈 1424, 메모리 1430, 센서 모듈 1440, 입력 장치 1450, 디스플레이 1460, 인터페이스 1470, 오디오 모듈 1480, 카메라 모듈 1491, 전력 관리 모듈 1495, 배터리 1496, 인디케이터 1497, 및 모터 1498을 포함할 수 있다.
프로세서 1410은, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 프로세서 1410에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 프로세서 1410은, 예를 들면, SoC(system on chip)로 구현될 수 있다. 본 발명의 한 실시 예에 따르면, 프로세서 1410은 GPU(graphic processing unit) 및/또는 이미지 신호 프로세서(image signal processor)를 더 포함할 수 있다. 프로세서 1410은 도 14에 도시된 구성요소들 중 적어도 일부(예: 셀룰러 모듈 1421)을 포함할 수도 있다. 프로세서 1410은 다른 구성요소들(예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리하고, 다양한 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
통신 모듈 1420은, 도 13의 통신 모듈 또는 통신 인터페이스와 동일 또는 유사한 구성을 가질 수 있다. 통신 모듈 1420은, 예를 들면, 셀룰러 모듈 1421, Wi-Fi 모듈 1422, 블루투스 모듈 1423, GNSS 모듈 1424(예: GPS 모듈, Glonass 모듈, Beidou 모듈, 또는 Galileo 모듈), NFC 모듈 1425, MST 모듈 1426, 및 RF(radio frequency) 모듈 1427을 포함할 수 있다.
셀룰러 모듈 1421은, 예를 들면, 통신망을 통해서 음성 통화, 영상 통화, 문자 서비스, 또는 인터넷 서비스 등을 제공할 수 있다. 본 발명의 한 실시 예에 따르면, 셀룰러 모듈 1421은 가입자 식별 모듈(예: SIM 카드) 1429를 이용하여 통신 네트워크 내에서 전자 장치 1401의 구별 및 인증을 수행할 수 있다. 본 발명의 한 실시 예에 따르면, 셀룰러 모듈 1421은 프로세서 1410이 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 본 발명의 한 실시 예에 따르면, 셀룰러 모듈 1421은 커뮤니케이션 프로세서(CP)를 포함할 수 있다.
Wi-Fi 모듈 1422, 블루투스 모듈 1423, GNSS 모듈 1424, NFC 모듈 1425, 또는 MST 모듈 1426 각각은, 예를 들면, 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다. 어떤 실시 예에 따르면, 셀룰러 모듈 1421, Wi-Fi 모듈 1422, 블루투스 모듈 1423, GNSS 모듈 1424, NFC 모듈 1425, 또는 MST 모듈 1426 중 적어도 일부(예: 두 개 이상)는 하나의 IC(integrated chip) 또는 IC 패키지 내에 포함될 수 있다.
RF 모듈 1427은, 예를 들면, 통신 신호(예: RF 신호)를 송수신할 수 있다. RF 모듈 1427은, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter), LNA(low noise amplifier), 또는 안테나 등을 포함할 수 있다. 다른 실시 예에 따르면, 셀룰러 모듈 1421, Wi-Fi 모듈 1422, 블루투스 모듈 1423, GNSS 모듈 1424, NFC 모듈 1425, MST 모듈 1426 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호를 송수신할 수 있다.
가입자 식별 모듈 1429는, 예를 들면, 가입자 식별 모듈을 포함하는 카드 및/또는 내장 SIM(embedded SIM)을 포함할 수 있으며, 고유한 식별 정보(예: ICCID (integrated circuit card identifier)) 또는 가입자 정보(예: IMSI (international mobile subscriber identity))를 포함할 수 있다.
메모리 1430(예: 메모리 130, 1330)는, 예를 들면, 내장 메모리 1432 또는 외장 메모리 1434를 포함할 수 있다. 내장 메모리 1432는, 예를 들면, 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비-휘발성(non-volatile) 메모리 (예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), 마스크(mask) ROM, 플래시(flash) ROM, 플래시 메모리(예: 낸드플래시(NAND flash) 또는 노아플래시(NOR flash) 등), 하드 드라이브, 또는 SSD(solid state drive) 중 적어도 하나를 포함할 수 있다.
외장 메모리 1434는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD, Mini-SD, xD(extreme digital), MMC(MultiMediaCard), 또는 메모리 스틱(memory stick) 등을 더 포함할 수 있다. 외장 메모리 1434는 다양한 인터페이스를 통하여 전자 장치 1401과 기능적으로 및/또는 물리적으로 연결될 수 있다.
보안 모듈 1436은 메모리 1430보다 상대적으로 보안 레벨이 높은 저장 공간을 포함하는 모듈로써, 안전한 데이터 저장 및 보호된 실행 환경을 보장해주는 회로일 수 있다. 보안 모듈 1436은 별도의 회로로 구현될 수 있으며, 별도의 프로세서를 포함할 수 있다. 보안 모듈 1436은, 예를 들면, 탈착 가능한 스마트 칩, SD(secure digital) 카드 내에 존재하거나, 또는 전자 장치 1401의 고정 칩 내에 내장된 내장형 보안 요소(embedded secure element(eSE))를 포함할 수 있다. 또한, 보안 모듈 1436은 전자 장치(201)의 운영 체제(OS)와 다른 운영 체제로 구동될 수 있다. 예를 들면, 보안 모듈 1436은 JCOP(java card open platform) 운영 체제를 기반으로 동작할 수 있다.
센서 모듈 1440은, 예를 들면, 물리량을 계측하거나 전자 장치 1401의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 센서 모듈 1440은, 예를 들면, 제스처 센서 1440A, 자이로 센서 1440B, 기압 센서 1440C, 마그네틱 센서 1440D, 가속도 센서 1440E, 그립 센서 1440F, 근접 센서 1440G, 컬러 센서 1440H(예: RGB 센서), 생체 센서 1440I, 온/습도 센서 1440J, 조도 센서 1440K, 또는 UV(ultra violet) 센서 1440M 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 센서 모듈 1440은, 예를 들면, 후각 센서(E-nose sensor), EMG(electromyography) 센서, EEG(electroencephalogram) 센서, ECG(electrocardiogram) 센서, IR(infrared) 센서, 홍채 센서 및/또는 지문 센서를 포함할 수 있다. 센서 모듈 1440은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다. 어떤 실시 예에서는, 전자 장치 1401은 프로세서 1410의 일부로서 또는 별도로, 센서 모듈 1440을 제어하도록 구성된 프로세서를 더 포함하여, 프로세서 1410이 슬립(sleep) 상태에 있는 동안, 센서 모듈 1440을 제어할 수 있다.
입력 장치 1450은, 예를 들면, 터치 패널(touch panel) 1452, (디지털) 펜 센서(pen sensor) 1454, 키(key) 1456, 또는 초음파(ultrasonic) 입력 장치 1458을 포함할 수 있다. 터치 패널 1452는, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. 또한, 터치 패널 1452는 제어 회로를 더 포함할 수도 있다. 터치 패널 1452는 택타일 레이어(tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다.
(디지털) 펜 센서 1454는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 시트(sheet)를 포함할 수 있다. 키 1456은, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. 초음파 입력 장치 1458은 마이크(예: 마이크 1488)을 통해, 입력 도구에서 발생된 초음파를 감지하여, 상기 감지된 초음파에 대응하는 데이터를 확인할 수 있다.
디스플레이 1460(예: 디스플레이 160, 1360)은 패널 1462, 홀로그램 장치 1464, 또는 프로젝터 1466을 포함할 수 있다. 패널 1462는, 도 13의 디스플레이와 동일 또는 유사한 구성을 포함할 수 있다. 패널 1462는, 예를 들면, 유연하게(flexible), 투명하게(transparent), 또는 착용할 수 있게(wearable) 구현될 수 있다. 패널 1462는 터치 패널 1452와 하나의 모듈로 구성될 수도 있다. 홀로그램 장치 1464는 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 프로젝터 1466은 스크린에 빛을 투사하여 영상을 표시할 수 있다. 스크린은, 예를 들면, 전자 장치 1401의 내부 또는 외부에 위치할 수 있다. 본 발명의 한 실시 예에 따르면, 디스플레이 1460은 상기 패널 1462, 상기 홀로그램 장치 1464, 또는 프로젝터 1466을 제어하기 위한 제어 회로를 더 포함할 수 있다.
인터페이스 1470은, 예를 들면, HDMI 1472, USB 1474, 광 인터페이스(optical interface) 1476, 또는 D-sub(D-subminiature) 1478을 포함할 수 있다. 인터페이스 1470은, 예를 들면, 도 13에 도시된 통신 인터페이스에 포함될 수 있다. 추가적으로 또는 대체적으로, 인터페이스 1470은, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD 카드/MMC 인터페이스, 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
오디오 모듈 1480은, 예를 들면, 소리(sound)와 전기 신호를 쌍방향으로 변환시킬 수 있다. 오디오 모듈 1480의 적어도 일부 구성요소는, 예를 들면, 도 13에 도시된 입출력 인터페이스(또는, 유저 인터페이스)에 포함될 수 있다. 오디오 모듈 1480은, 예를 들면, 스피커 1482, 리시버 1484, 이어폰 1486, 또는 마이크 1488 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다.
카메라 모듈 1491은, 예를 들면, 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 본 발명의 한 실시 예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈, ISP(image signal processor), 또는 플래시(flash)(예: LED 또는 제논 램프(xenon lamp))를 포함할 수 있다.
전력 관리 모듈 1495는, 예를 들면, 전자 장치 1401의 전력을 관리할 수 있다. 본 발명의 한 실시 예에 따르면, 전력 관리 모듈 1495는 PMIC(power management integrated circuit), 충전 IC(charger integrated circuit), 또는 배터리 또는 연료 게이지(battery or fuel gauge)를 포함할 수 있다. PMIC는, 유선 및/또는 무선 충전 방식을 가질 수 있다. 무선 충전 방식은, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등을 포함하며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 또는 정류기 등을 더 포함할 수 있다. 배터리 게이지는, 예를 들면, 배터리 1496의 잔량, 충전 중 전압, 전류, 또는 온도를 측정할 수 있다. 배터리 1496은, 예를 들면, 충전식 전지(rechargeable battery) 및/또는 태양 전지(solar battery)를 포함할 수 있다.
인디케이터 1497은 전자 장치 1401 혹은 그 일부(예: 프로세서 1410)의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 모터 1498은 전기적 신호를 기계적 진동으로 변환할 수 있고, 진동(vibration), 또는 햅틱(haptic) 효과 등을 발생시킬 수 있다. 도시되지는 않았으나, 전자 장치 1401은 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 모바일 TV 지원을 위한 처리 장치는, 예를 들면, DMB(Digital Multimedia Broadcasting), DVB(Digital Video Broadcasting), 또는 미디어플로(MediaFLOTM)등의 규격에 따른 미디어 데이터를 처리할 수 있다.
본 문서에서 기술된 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 본 발명의 다양한 실시 예에서, 전자 장치는 본 문서에서 기술된 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 본 발명의 다양한 실시 예에 따른 전자 장치의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
도 15은 본 발명의 다양한 실시 예에 따른 프로그램 모듈의 블록도를 나타낸다.
한 실시 예에 따르면, 프로그램 모듈 1510(예: 프로그램 1340)은 전자 장치(예: 전자 장치 100, 200, 1301, 1401)에 관련된 자원을 제어하는 운영 체제(OS) 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션(예: 어플리케이션 프로그램 1570)을 포함할 수 있다. 운영 체제는, 예를 들면, 안드로이드(android), iOS, 윈도우즈(windows), 심비안(symbian), 타이젠(tizen), 또는 바다(bada) 등이 될 수 있다.
프로그램 모듈 1510은 커널 1520, 미들웨어 1530, API 1560, 및/또는 어플리케이션 1570을 포함할 수 있다. 프로그램 모듈 1510의 적어도 일부는 전자 장치 상에 프리로드(preload) 되거나, 외부 전자 장치(예: 전자 장치 1302, 1304, 서버 1306 등)로부터 다운로드 가능하다.
커널 1520(예: 커널 1341)은, 예를 들면, 시스템 리소스 매니저 1521 또는 디바이스 드라이버 1523을 포함할 수 있다. 시스템 리소스 매니저 1521은 시스템 리소스의 제어, 할당, 또는 회수 등을 수행할 수 있다. 본 발명의 한 실시 예에 따르면, 시스템 리소스 매니저 1521은 프로세스 관리부, 메모리 관리부, 또는 파일 시스템 관리부 등을 포함할 수 있다. 디바이스 드라이버 1523은, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, Wi-Fi 드라이버, 오디오 드라이버, 또는 IPC(inter-process communication) 드라이버를 포함할 수 있다.
미들웨어 1530은, 예를 들면, 어플리케이션 1570이 공통적으로 필요로 하는 기능을 제공하거나, 어플리케이션 1570이 전자 장치 내부의 제한된 시스템 자원을 효율적으로 사용할 수 있도록 API 1560을 통해 다양한 기능들을 어플리케이션 1570으로 제공할 수 있다. 본 발명의 한 실시 예에 따르면, 미들웨어 1530(예: 미들웨어 1343)은 런타임 라이브러리 1535, 어플리케이션 매니저(application manager) 1541, 윈도우 매니저(window manager) 1542, 멀티미디어 매니저(multimedia manager) 1543, 리소스 매니저(resource manager) 1544, 파워 매니저(power manager) 1545, 데이터베이스 매니저(database manager) 1546, 패키지 매니저(package manager) 1547, 연결 매니저(connectivity manager) 1548, 통지 매니저(notification manager) 1549, 위치 매니저(location manager) 1550, 그래픽 매니저(graphic manager) 1551, 보안 매니저(security manager) 1552 중 적어도 하나를 포함할 수 있다.
런타임 라이브러리 1535는, 예를 들면, 어플리케이션 1570이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 런타임 라이브러리 1535는 입출력 관리, 메모리 관리, 또는 산술 함수에 대한 기능 등을 수행할 수 있다.
어플리케이션 매니저 1541은, 예를 들면, 어플리케이션 1570 중 적어도 하나의 어플리케이션의 생명 주기(life cycle)를 관리할 수 있다. 윈도우 매니저 1542는 화면에서 사용하는 GUI 자원을 관리할 수 있다. 멀티미디어 매니저 1543은 다양한 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱(codec)을 이용하여 미디어 파일의 인코딩(encoding) 또는 디코딩(decoding)을 수행할 수 있다. 리소스 매니저 1544는 어플리케이션 1570 중 적어도 어느 하나의 어플리케이션의 소스 코드, 메모리 또는 저장 공간 등의 자원을 관리할 수 있다.
파워 매니저 1545는, 예를 들면, 바이오스(BIOS: basic input/output system) 등과 함께 동작하여 배터리 또는 전원을 관리하고, 전자 장치의 동작에 필요한 전력 정보 등을 제공할 수 있다. 데이터베이스 매니저 1546은 어플리케이션 1570 중 적어도 하나의 어플리케이션에서 사용할 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 패키지 매니저 1547은 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 업데이트를 관리할 수 있다.
연결 매니저 1548은, 예를 들면, Wi-Fi 또는 블루투스 등의 무선 연결을 관리할 수 있다. 통지 매니저 1549는 도착 메시지, 약속, 근접성 알림 등의 사건(event)을 사용자에게 방해되지 않는 방식으로 표시 또는 통지할 수 있다. 위치 매니저 1550은 전자 장치의 위치 정보를 관리할 수 있다. 그래픽 매니저 1551은 사용자에게 제공될 그래픽 효과 또는 이와 관련된 출력 정보(예: 화면 UI, 이미지, 또는 텍스트)를 관리할 수 있다. 보안 매니저 1552는 시스템 보안 또는 사용자 인증 등에 필요한 제반 보안 기능을 제공할 수 있다. 본 발명의 한 실시 예에 따르면, 전자 장치(예: 전자 장치 100, 1301, 1401)가 전화 기능을 포함한 경우, 미들웨어 1530은 전자 장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화 매니저(telephony manager)를 더 포함할 수 있다.
미들웨어 1530은 전술한 구성요소들의 다양한 기능의 조합을 형성하는 미들웨어 모듈을 포함할 수 있다. 미들웨어 1530은 차별화된 기능을 제공하기 위해 운영 체제의 종류 별로 특화된 모듈을 제공할 수 있다. 또한, 미들웨어 1530은 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다.
API 1560(예: API 1345)은, 예를 들면, API 프로그래밍 함수들의 집합으로, 운영 체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드 또는 iOS의 경우, 플랫폼 별로 하나의 API 셋을 제공할 수 있으며, 타이젠(tizen)의 경우, 플랫폼 별로 두 개 이상의 API 셋을 제공할 수 있다.
어플리케이션 1570(예: 어플리케이션 프로그램 1347)은, 예를 들면, 홈 1571, 다이얼러 1572, SMS/MMS 1573, IM(instant message) 1574, 브라우저 1575, 카메라 1576, 알람 1577, 컨택트 1578, 음성 다이얼 1579, 이메일 1580, 달력 1581, 미디어 플레이어 1582, 앨범 1583, 또는 시계 1584, 결제, 건강 관리(health care)(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보 제공(예: 기압, 습도, 또는 온도 정보 등을 제공) 등의 기능을 수행할 수 있는 하나 이상의 어플리케이션을 포함할 수 있다.
한 실시 예에 따르면, 어플리케이션 1570은 전자 장치(예: 전자 장치 100, 1301, 1401)와 외부 전자 장치(예: 전자 장치 1302, 1304) 사이의 정보 교환을 지원하는 어플리케이션(이하, 설명의 편의상, "정보 교환 어플리케이션")을 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 외부 전자 장치에 특정 정보를 전달하기 위한 알림 전달(notification relay) 어플리케이션, 또는 외부 전자 장치를 관리하기 위한 장치 관리(device management) 어플리케이션을 포함할 수 있다.
예를 들면, 알림 전달 어플리케이션은 전자 장치의 다른 어플리케이션(예: SMS/MMS 어플리케이션, 이메일 어플리케이션, 건강 관리 어플리케이션, 또는 환경 정보 어플리케이션 등)에서 발생된 알림 정보를 외부 전자 장치(예: 전자 장치 1302, 1304)로 전달하는 기능을 포함할 수 있다. 또한, 알림 전달 어플리케이션은, 예를 들면, 외부 전자 장치로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다.
장치 관리 어플리케이션은, 예를 들면, 전자 장치와 통신하는 외부 전자 장치(예: 전자 장치 1302, 1304)의 적어도 하나의 기능(예: 외부 전자 장치 자체(또는 일부 구성 부품)의 턴-온/턴-오프 또는 디스플레이의 밝기(또는 해상도) 조절), 외부 전자 장치에서 동작하는 어플리케이션 또는 외부 전자 장치에서 제공되는 서비스(예: 통화 서비스 또는 메시지 서비스 등)를 관리(예: 설치, 삭제, 또는 업데이트)할 수 있다.
한 실시 예에 따르면, 어플리케이션 1570은 외부 전자 장치(예: 전자 장치 1302, 1304)의 속성에 따라 지정된 어플리케이션(예: 모바일 의료 기기의 건강 관리 어플리케이션)을 포함할 수 있다. 본 발명의 한 실시 예에 따르면, 어플리케이션 1570은 외부 전자 장치(예: 서버 1306 또는 전자 장치 1302, 1304)로부터 수신된 어플리케이션을 포함할 수 있다. 본 발명의 한 실시 예에 따르면, 어플리케이션 1570은 프리로드 어플리케이션(preloaded application) 또는 서버로부터 다운로드 가능한 제3자 어플리케이션(third party application)을 포함할 수 있다. 도시된 실시 예에 따른 프로그램 모듈 1510의 구성요소들의 명칭은 운영 체제의 종류에 따라서 달라질 수 있다.
본 발명의 다양한 실시 예에 따르면, 프로그램 모듈 1510의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어, 또는 이들 중 적어도 둘 이상의 조합으로 구현될 수 있다. 프로그램 모듈 1510의 적어도 일부는, 예를 들면, 프로세서(예: 프로세서 1320)에 의해 구현(implement)(예: 실행)될 수 있다. 프로그램 모듈 1510의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트(sets of instructions) 또는 프로세스 등을 포함할 수 있다.
본 문서에서 사용된 용어 "모듈"은, 예를 들면, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "모듈"은, 예를 들면, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component), 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "모듈"은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, "모듈"은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
본 발명의 다양한 실시 예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 메모리가 될 수 있다.
컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(magnetic media)(예: 자기테이프), 광기록 매체(optical media)(예: CD-ROM, DVD(Digital Versatile Disc), 자기-광 매체(magneto-optical media)(예: 플롭티컬 디스크(floptical disk)), 하드웨어 장치(예: ROM, RAM, 또는 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 다양한 실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
본 발명의 다양한 실시 예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 본 발명의 다양한 실시 예에 따른 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
그리고 본 문서에 개시된 실시 예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 발명의 범위를 한정하는 것은 아니다. 따라서, 본 문서의 범위는, 본 발명의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시 예를 포함하는 것으로 해석되어야 한다.

Claims (28)

  1. 전자 장치에 있어서,
    공유 컨텐츠와 관련된 화면을 출력하는 디스플레이;
    상기 공유 컨텐츠의 운용과 관련된 제1 입력 정보를 수신하는 입력 인터페이스;
    적어도 하나의 외부 전자 장치로부터 상기 공유 컨텐츠의 운용과 관련된 제2 입력 정보를 수신하는 통신 인터페이스;
    상기 공유 컨텐츠의 처리와 관련된 적어도 하나의 명령어를 저장하는 메모리; 및
    상기 디스플레이, 상기 입력 인터페이스, 상기 통신 인터페이스 및 상기 메모리에 전기적으로 연결되는 프로세서;를 포함하고,
    상기 적어도 하나의 명령어에 의해 수행되는 프로세서는
    상기 제1 입력 정보 및 상기 제2 입력 정보의 충돌 발생 가능성을 판단하고, 충돌 발생 가능성이 있는 경우 지정된 효과를 적용하도록 설정되고,
    상기 제1 입력 정보는 상기 전자 장치를 통해 제1 사용자에 의해 입력되고, 상기 제2 입력 정보는 상기 적어도 하나의 외부 전자 장치를 통해 제2 사용자에 의해 입력된, 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는
    상기 제1 입력 정보의 진행 방향, 진행 속도, 또는 입력의 크기 중 적어도 하나에 따라 상기 제1 입력 정보와 관련된 제1 추정 영역을 산출하고, 상기 제2 입력 정보의 진행 방향, 진행 속도, 또는 입력의 크기 중 적어도 하나에 따라 상기 제2 입력 정보와 관련된 제2 추정 영역을 산출하여, 상기 제1 추정 영역과 상기 제2 추정 영역의 적어도 일부가 중첩되는 경우 충돌 발생 가능성이 있는 것으로 판단하도록 설정된, 전자 장치.
  3. 제2항에 있어서,
    상기 프로세서는
    상대적으로 우선 순위가 높게 설정된 전자 장치 또는 외부 전자 장치의 추정 영역에서의 충돌 발생 가능성을 안내하는 정보, 또는 상기 추정 영역에서 충돌할 수 있는 전자 장치 또는 외부 전자 장치의 식별 정보 중 적어도 하나를 출력하도록 설정된, 전자 장치.
  4. 제2항에 있어서,
    상기 프로세서는
    스트로크 입력에 대응하는 상기 제1 추정 영역 또는 상기 제2 추정 영역을 산출하도록 설정된, 전자 장치.
  5. 제2항에 있어서,
    상기 프로세서는
    지정된 객체의 이동에 따른 상기 제1 추정 영역 또는 상기 제2 추정 영역을 산출하도록 설정된 전자 장치.
  6. 제2항에 있어서,
    상기 프로세서는
    상기 제1 추정 영역 또는 상기 제2 추정 영역의 중첩 발생 가능성이 있는 경우 상대적으로 우선 순위가 낮은 외부 전자 장치와 관련된 객체를 지정된 방향으로 이동시키도록 설정된, 전자 장치.
  7. 제2항에 있어서,
    상기 프로세서는
    상기 제1 입력 정보 또는 상기 제2 입력 정보의 진행 방향, 진행 속도, 또는 입력의 크기 중 적어도 하나에 따라 상기 제1 추정 영역 또는 제2 추정 영역의 크기를 다르게 결정하도록 설정된, 전자 장치.
  8. 제1항에 있어서,
    상기 프로세서는
    상대적으로 우선 순위가 낮게 설정된 전자 장치 또는 외부 전자 장치가 해당 장치의 입력 제한과 관련된 시각 정보, 오디오 정보, 또는 촉각 정보 중 적어도 하나를 출력하도록 지원하는, 전자 장치.
  9. 제1항에 있어서,
    상기 프로세서는
    상기 공유 컨텐츠의 운용과 관련하여 상기 전자 장치와 통신 연결된 상기 적어도 하나의 외부 전자 장치를 기반으로 공유 컨텐츠 운용 권한을 설정하고, 상기 공유 컨텐츠 운용 권한을 기반으로 상대적으로 낮은 우선 순위를 가지는 전자 장치의 입력을 제한하는 잠금 정보를 출력하도록 설정된, 전자 장치.
  10. 삭제
  11. ◈청구항 11은(는) 설정등록료 납부시 포기되었습니다.◈
    제9항에 있어서,
    상기 프로세서는
    상기 충돌 발생 가능성이 해제 또는 제거된 경우 입력 제한을 해제하는 잠금 해제 정보를 출력하도록 설정된, 전자 장치.
  12. ◈청구항 12은(는) 설정등록료 납부시 포기되었습니다.◈
    제9항에 있어서,
    상기 프로세서는
    상기 전자 장치 및 상기 적어도 하나의 외부 장치에 대하여 전자 장치별로 공유 컨텐츠 영역을 할당하고, 지정된 공유 컨텐츠 영역에서 충돌 발생 가능성이 있는 경우, 상기 지정된 공유 컨텐츠 영역이 할당되지 않은 전자 장치에 상기 잠금 정보를 적용하도록 설정된, 전자 장치.
  13. ◈청구항 13은(는) 설정등록료 납부시 포기되었습니다.◈
    제12항에 있어서,
    상기 프로세서는
    상기 공유 컨텐츠 영역 중 충돌 판단 영역과 충돌 비판단 영역을 설정하고, 상기 충돌 판단 영역에서 발생한 상기 제1 입력 정보 및 상기 제2 입력 정보를 기반으로 상기 충돌 발생 가능성에 대한 처리를 수행하도록 설정된, 전자 장치.
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 서버에 있어서,
    공유 컨텐츠를 수신하는 통신 인터페이스;
    상기 공유 컨텐츠의 처리와 관련된 적어도 하나의 명령어를 저장하는 메모리; 및
    상기 통신 인터페이스 및 상기 메모리에 연결되는 프로세서;를 포함하고,
    상기 적어도 하나의 명령어에 의해 수행되는 프로세서는
    상기 공유 컨텐츠의 운용과 관련된 제1 전자 장치 및 제2 전자 장치로부터 각각 제1 입력 정보 및 제2 입력 정보를 수집하고, 상기 제1 입력 정보 및 상기 제2 입력 정보의 충돌 발생 가능성을 판단하고, 충돌 발생 가능성이 있는 경우 지정된 효과를 상기 제1 전자 장치 또는 상기 제2 전자 장치 중 적어도 하나에 전송하도록 설정되고,
    상기 제1 입력 정보는 상기 제1 전자 장치를 통해 제1 사용자에 의해 입력되고, 상기 제2 입력 정보는 상기 제2 전자 장치를 통해 제2 사용자에 의해 입력된, 서버.
  20. ◈청구항 20은(는) 설정등록료 납부시 포기되었습니다.◈
    제19항에 있어서,
    상기 프로세서는
    상기 제1 입력 정보 또는 상기 제2 입력 정보의 진행 방향, 진행 속도, 또는 입력의 크기 중 적어도 하나에 따라 상기 제1 입력 정보와 관련된 제1 추정 영역 및 상기 제2 입력 정보와 관련된 제2 추정 영역을 산출하고, 상기 제1 추정 영역과 상기 제2 추정 영역의 적어도 일부가 중첩되는 경우 충돌 발생 가능성이 있는 것으로 판단하도록 설정된, 서버.
  21. ◈청구항 21은(는) 설정등록료 납부시 포기되었습니다.◈
    제20항에 있어서,
    상기 프로세서는
    상대적으로 우선 순위가 높게 설정된 전자 장치로 추정 영역에서의 충돌 발생 가능성을 안내하는 정보, 또는 상기 추정 영역에서 충돌할 수 있는 전자 장치의 식별 정보 중 적어도 하나를 전송하도록 설정된, 서버.
  22. ◈청구항 22은(는) 설정등록료 납부시 포기되었습니다.◈
    제20항에 있어서,
    상기 프로세서는
    스트로크 데이터를 포함하는 입력 정보 또는 객체 이동 관련 데이터를 포함하는 입력 정보를 수신하고, 상기 스트로크 데이터 또는 상기 객체 이동 관련 데이터를 기반으로 상기 제1 추정 영역 또는 상기 제2 추정 영역을 산출하도록 설정된, 서버.
  23. ◈청구항 23은(는) 설정등록료 납부시 포기되었습니다.◈
    제20항에 있어서,
    상기 프로세서는
    상대적으로 우선 순위가 낮게 설정된 전자 장치가 해당 장치의 입력 제한과 관련된 시각 정보, 오디오 정보, 또는 촉각 정보 중 적어도 하나를 출력하도록 지원하는, 서버.
  24. ◈청구항 24은(는) 설정등록료 납부시 포기되었습니다.◈
    제19항에 있어서,
    상기 프로세서는
    상기 공유 컨텐츠의 운용과 관련하여 상기 서버와 통신 연결된 전자 장치들의 공유 컨텐츠 운용 권한을 설정하고, 상기 공유 컨텐츠 운용 권한을 기반으로 상대적으로 낮은 우선 순위를 가지는 전자 장치에 입력을 제한하는 잠금 정보를 전송하도록 설정된, 서버.
  25. ◈청구항 25은(는) 설정등록료 납부시 포기되었습니다.◈
    제24항에 있어서,
    상기 프로세서는
    상기 충돌 발생 가능성이 해제 또는 제거된 경우 입력 제한을 해제하는 잠금 해제 정보를 상기 상대적으로 낮은 우선 순위를 가지는 전자 장치에 전송하도록 설정된, 서버.
  26. ◈청구항 26은(는) 설정등록료 납부시 포기되었습니다.◈
    제19항에 있어서,
    상기 프로세서는
    상기 공유 컨텐츠의 운용과 관련하여 상기 서버와 통신 연결된 전자 장치들에 대하여 전자 장치별로 할당된 공유 컨텐츠 영역 중 충돌 판단 영역과 충돌 비판단 영역을 설정하고, 상기 충돌 판단 영역에서의 상기 충돌 발생 가능성에 대한 처리를 수행하도록 설정된, 서버.
  27. 삭제
  28. 삭제
KR1020150159944A 2015-11-13 2015-11-13 공유 컨텐츠 운용 방법 및 이를 지원하는 전자 장치 KR102476103B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150159944A KR102476103B1 (ko) 2015-11-13 2015-11-13 공유 컨텐츠 운용 방법 및 이를 지원하는 전자 장치
US15/257,529 US10275204B2 (en) 2015-11-13 2016-09-06 Sharing content operating method and electronic device for supporting the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150159944A KR102476103B1 (ko) 2015-11-13 2015-11-13 공유 컨텐츠 운용 방법 및 이를 지원하는 전자 장치

Publications (2)

Publication Number Publication Date
KR20170056360A KR20170056360A (ko) 2017-05-23
KR102476103B1 true KR102476103B1 (ko) 2022-12-12

Family

ID=58690591

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150159944A KR102476103B1 (ko) 2015-11-13 2015-11-13 공유 컨텐츠 운용 방법 및 이를 지원하는 전자 장치

Country Status (2)

Country Link
US (1) US10275204B2 (ko)
KR (1) KR102476103B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107678857A (zh) * 2017-09-26 2018-02-09 联想(北京)有限公司 一种电子设备的控制方法及电子设备
CN108038210B (zh) * 2017-12-18 2021-03-12 Oppo广东移动通信有限公司 内容更新方法、装置以及移动终端
KR102546670B1 (ko) * 2018-03-15 2023-06-22 삼성전자주식회사 전자 장치 및 컨텐츠를 표시하는 방법
WO2019211689A1 (en) * 2018-04-18 2019-11-07 Singhania Harsh Vardhan An improved system and method of receiving, managing, controlling, saving and sharing information content of social media platforms and other applications
TWI684874B (zh) * 2018-10-18 2020-02-11 瑞軒科技股份有限公司 智慧型音箱及其操作方法
CN110109605B (zh) * 2019-04-29 2021-10-29 努比亚技术有限公司 一种图像分享方法、设备及计算机可读存储介质
CN111860796B (zh) * 2019-04-30 2023-10-03 上海寒武纪信息科技有限公司 运算方法、装置及相关产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050043837A1 (en) * 1999-11-30 2005-02-24 Rudger Rubbert Interactive orthodontic care system based on intra-oral scanning of teeth
US20100191884A1 (en) * 2008-06-12 2010-07-29 Gravic, Inc. Method for replicating locks in a data replication engine
US20110191695A1 (en) * 2010-02-03 2011-08-04 Skype Limited Screen sharing
US20110197147A1 (en) * 2010-02-11 2011-08-11 Apple Inc. Projected display shared workspaces

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7188309B2 (en) * 2002-06-28 2007-03-06 Microsoft Corporation Resolving document object collisions
US8417666B2 (en) 2008-06-25 2013-04-09 Microsoft Corporation Structured coauthoring
US8521917B2 (en) 2008-06-26 2013-08-27 Microsoft Corporation Remote inking
US8473870B2 (en) 2010-02-25 2013-06-25 Microsoft Corporation Multi-screen hold and drag gesture
US8510381B1 (en) 2012-02-14 2013-08-13 Google Inc. Sharing electronic resources with users of nearby devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050043837A1 (en) * 1999-11-30 2005-02-24 Rudger Rubbert Interactive orthodontic care system based on intra-oral scanning of teeth
US20100191884A1 (en) * 2008-06-12 2010-07-29 Gravic, Inc. Method for replicating locks in a data replication engine
US20110191695A1 (en) * 2010-02-03 2011-08-04 Skype Limited Screen sharing
US20110197147A1 (en) * 2010-02-11 2011-08-11 Apple Inc. Projected display shared workspaces

Also Published As

Publication number Publication date
KR20170056360A (ko) 2017-05-23
US20170139665A1 (en) 2017-05-18
US10275204B2 (en) 2019-04-30

Similar Documents

Publication Publication Date Title
KR102476103B1 (ko) 공유 컨텐츠 운용 방법 및 이를 지원하는 전자 장치
CN106354451B (zh) 用于操作电子设备的方法和电子设备
KR102620138B1 (ko) 화면 출력 방법 및 이를 지원하는 전자 장치
KR102481687B1 (ko) 업무 정보 처리 방법 및 이를 지원하는 전자 장치
EP3089020A1 (en) Electronic device for providing short-cut user interface and method therefor
KR102371683B1 (ko) 컨텐츠 공유 방법 및 이를 지원하는 전자 장치
KR102677049B1 (ko) 일정 공유 방법 및 이를 지원하는 전자 장치
KR102373469B1 (ko) 외부 전자 장치를 제어하기 위한 방법 및 그 방법을 처리하기 위한 전자 장치
US20170160884A1 (en) Electronic device and method for displaying a notification object
KR20160143094A (ko) 개인 인증 전자 장치 및 방법
EP3293655B1 (en) Below the lock user interface with mixed authentication settings
KR20170109433A (ko) 보안 결제를 수행하는 전자 장치 및 방법
KR20170013064A (ko) 화면 운용 방법 및 이를 지원하는 전자 장치
US20190306247A1 (en) Method for sharing information on conditional action and electronic device therefor
KR102416071B1 (ko) 전자장치 및 전자장치의 어플리케이션 실행 방법
KR20160147432A (ko) 디스플레이의 서로 다른 영역을 독립적으로 제어하는 전자 장치 및 방법
EP3128460A1 (en) Electronic device and method for storing security information thereof
US10606460B2 (en) Electronic device and control method therefor
KR20180096257A (ko) 식별 정보 관리 방법 및 이를 지원하는 전자 장치
US20160092843A1 (en) Electronic device, method for managing schedule, and storage medium
KR20170120333A (ko) 보안 로그인 서비스를 수행하는 전자 장치 및 방법
KR102703601B1 (ko) 전자 장치 및 전자 장치의 송금 방법
KR102495924B1 (ko) 어플리케이션의 보안 처리 방법 및 이를 지원하는 전자 장치
KR102582923B1 (ko) 컨텐츠 보호 방법 및 이를 지원하는 전자 장치
EP3399400B1 (en) Device for providing user interface by using pressure sensor and screen image configuration method therefor

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant