KR20200100336A - 메신저를 통해 리소스를 요청하는 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체 - Google Patents

메신저를 통해 리소스를 요청하는 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체 Download PDF

Info

Publication number
KR20200100336A
KR20200100336A KR1020190018473A KR20190018473A KR20200100336A KR 20200100336 A KR20200100336 A KR 20200100336A KR 1020190018473 A KR1020190018473 A KR 1020190018473A KR 20190018473 A KR20190018473 A KR 20190018473A KR 20200100336 A KR20200100336 A KR 20200100336A
Authority
KR
South Korea
Prior art keywords
data
server
chat room
distributed
electronic device
Prior art date
Application number
KR1020190018473A
Other languages
English (en)
Other versions
KR102602378B1 (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 KR1020190018473A priority Critical patent/KR102602378B1/ko
Priority to JP2020023239A priority patent/JP2020135886A/ja
Publication of KR20200100336A publication Critical patent/KR20200100336A/ko
Application granted granted Critical
Publication of KR102602378B1 publication Critical patent/KR102602378B1/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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/30Transportation; Communications
    • G06Q50/50
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/234Monitoring or handling of messages for tracking messages
    • H04L51/34
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • H04L67/16
    • H04L67/2804
    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web 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/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata

Abstract

메신저를 통해 리소스를 요청하는 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체가 개시된다. 리소스 요청 방법은, 컴퓨터 시스템에 설치된 메신저의 대화방을 통해 작업을 위한 데이터와 작업 유형이 선택되면 상기 데이터를 분산 작업이 가능한 형태로 전처리하는 단계; 및 상기 전처리된 데이터와 상기 작업 유형에 대한 정보를 상기 대화방을 통해 서버로 전송하여 상기 대화방에 포함된 적어도 하나의 다른 사용자의 전자 기기의 리소스를 이용한 분산 작업을 요청하는 단계를 포함한다.

Description

메신저를 통해 리소스를 요청하는 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체{METHOD, SYSTEM, AND NON-TRANSITORY COMPUTER READABLE RECORD MEDIUM FOR REQUESTING RESOURCES THROUGH MESSENGER}
아래의 설명은 전자 기기 간에 리소스를 공유하는 기술에 관한 것이다.
일반적인 커뮤니케이션 도구인 인스턴트 메신저(instant messenger)는 실시간으로 메시지나 데이터를 송수신할 수 있는 소프트웨어로서, 사용자가 메신저 상에 대화 상대를 등록하고 대화 상대 목록에 있는 상대방과 실시간으로 메시지를 주고 받을 수 있다.
이러한 메신저 기능은 PC 뿐만 아니라 이동 통신 단말의 모바일 환경에서도 메신저의 사용이 보편화되고 있다.
예컨대, 한국공개특허 제10-2002-0074304호(공개일 2002년 09월 30일)에는 휴대 단말기에 설치된 모바일 메신저 간에 메신저 서비스를 제공할 수 있도록 한 무선 통신망을 이용한 휴대 단말기의 모바일 메신저 서비스 시스템 및 방법이 개시되어 있다.
인스턴트 메신저의 이용이 대중화되고 인스턴트 메신저를 통해 제공되는 기능이 점점 다양해짐에 따라, 사진, 동영상, 파일, 연락처, 위치, 일정, 공지, 투표 등 각종 정보와 컨텐츠를 공유하는 기능은 물론이고, 게임 서비스나 동영상 서비스 등 다른 서비스와의 연동을 지원하고 있다.
작업을 요청한 사용자의 메신저의 대화방을 통해 해당 대화방에 포함된 다른 사용자의 전자 기기로 작업에 필요한 리소스를 요청할 수 있다.
요청자의 전자 기기에서 작업을 위한 데이터를 서버로 전송하기 전에 효율적이고 신속한 작업 처리와 네트워크 소비 절감을 위해 소정 형태로 가공할 수 있다.
서버에서 리소스 공유를 허락한 사용자들을 대상으로 과거 이력의 통계 정보를 바탕으로 작업량을 분배할 수 있다.
리소스를 요청한 대화방을 통해 각 사용자의 작업 기여 여부나 작업 처리 현황 등을 하나의 메시지 형태로 보여줄 수 있다.
서버를 통해 작업을 위한 데이터를 다른 사용자의 전자 기기로 전송하더라도 대화방을 통해 전달되는 메시지(작업을 위한 데이터를 포함함)에 End-to-end encryption(E2EE)을 적용하여, 서버에서 해당 데이터의 내용을 파악하지 못하게 할 뿐만 아니라 서버에서 불법적으로 데이터를 취득하더라도 해당 데이터의 내용을 파악하지 못하게 할 수 있다.
리소스 공유에 기여하는 사용자에게 작업에 연관된 데이터가 전송되더라도 전처리된 데이터를 전송함으로써 작업을 위한 데이터의 전체에 대해서는 파악하지 못하게 할 수 있다.
컴퓨터 시스템에서 실행되는 리소스 요청 방법에 있어서, 상기 컴퓨터 시스템은 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 리소스 요청 방법은, 상기 적어도 하나의 프로세서에 의해, 상기 컴퓨터 시스템에 설치된 메신저의 대화방을 통해 작업을 위한 데이터와 작업 유형이 선택되면 상기 데이터를 분산 작업이 가능한 형태로 전처리하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 상기 전처리된 데이터와 상기 작업 유형에 대한 정보를 상기 대화방을 통해 서버로 전송하여 상기 대화방에 포함된 적어도 하나의 다른 사용자의 전자 기기의 리소스를 이용한 분산 작업을 요청하는 단계를 포함하는 리소스 요청 방법을 제공한다.
일 측면에 따르면, 상기 전처리하는 단계는, 상기 데이터의 분할을 위한 마킹(marking)을 수행하는 과정, 상기 데이터의 크기나 해상도를 변경하여 상기 데이터를 가공하는 과정, 상기 데이터를 여러 개의 데이터로 분할하여 상기 데이터를 가공하는 과정, 및 상기 데이터에서 작업과 관련된 특징을 추출하여 상기 데이터를 가공하는 과정 중 적어도 하나의 과정을 수행하는 단계를 포함할 수 있다.
다른 측면에 따르면, 상기 전처리하는 단계는, 상기 작업과 관련된 메타데이터를 상기 서버로 전송하는 단계; 및 상기 서버에서 상기 메타데이터를 바탕으로 전처리 수행 주체가 상기 컴퓨터 시스템으로 결정되는 경우 상기 데이터에 대한 전처리를 수행하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 서버에서, 상기 대화방에 포함된 다른 사용자 중 리소스 공유를 허락한 사용자의 수를 파악하여 상기 파악된 사용자의 수에 따라 상기 전처리된 데이터를 분배한 후 상기 분배된 데이터와 상기 작업 유형에 대한 정보를 포함하는 리소스 요청 메시지를 상기 리소스 공유를 허락한 사용자의 전자 기기로 전송할 수 있다.
또 다른 측면에 따르면, 상기 서버에서, 상기 리소스 공유를 허락한 사용자 각각에 대해 리소스 공유에 따른 과거 이력의 통계 정보를 바탕으로 상기 전처리된 데이터를 차등 분배할 수 있다.
또 다른 측면에 따르면, 상기 서버에서, 상기 전처리된 데이터의 일부를 상기 리소스 공유를 허락한 사용자 중 2 이상의 사용자에게 중복하여 분배할 수 있다.
또 다른 측면에 따르면, 상기 리소스 요청 방법은, 상기 적어도 하나의 프로세서에 의해, 상기 서버로부터 상기 대화방에 포함된 다른 사용자 중 리소스 공유를 허락한 사용자의 전자 기기로 분배된 데이터에 대한 중간 결과물을 수신하여 상기 대화방을 통해 상기 수신된 중간 결과물을 제공하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 제공하는 단계는, 상기 분산 작업이 요청되면 상기 분산 작업에 대한 정보를 상기 대화방의 메시지로 제공하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 제공하는 단계는, 상기 전처리된 데이터가 분배되면 상기 리소스 공유를 허락한 사용자의 명단과 작업 처리 현황 중 적어도 하나를 포함하는 요약 정보를 상기 대화방의 메시지로 제공하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 요약 정보를 나타내는 메시지에서 상기 작업 처리 현황이 프로그레스(progress)로 표시될 수 있다.
또 다른 측면에 따르면, 상기 제공하는 단계는, 상기 요약 정보를 나타내는 메시지가 선택되는 경우 상기 리소스 공유를 허락한 사용자 별 작업 기여도와 처리 현황, 및 상기 수신된 중간 결과물을 취합한 작업 결과물 중 적어도 하나를 포함하는 상세 정보를 제공할 수 있다.
또 다른 측면에 따르면, 상기 제공하는 단계는, 상기 전처리된 데이터의 전체 분량 중 중간 결과물이 수신되지 않은 분량에 대해 원본 데이터에 자막이나 필터를 중첩시켜 제공하는 단계를 포함할 수 있다.
상기 리소스 요청 방법을 상기 컴퓨터 시스템에 실행시키기 위해 비-일시적인 컴퓨터 판독가능한 기록 매체에 저장되는 컴퓨터 프로그램을 제공한다.
컴퓨터 시스템에 있어서, 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 컴퓨터 시스템에 설치된 메신저의 대화방을 통해 작업을 위한 데이터와 작업 유형이 선택되면 상기 데이터를 분산 작업이 가능한 형태로 전처리하는 데이터 가공부; 및 상기 전처리된 데이터와 상기 작업 유형에 대한 정보를 상기 대화방을 통해 서버로 전송하여 상기 대화방에 포함된 적어도 하나의 다른 사용자의 전자 기기의 리소스를 이용한 분산 작업을 요청하는 작업 요청부를 포함하는 컴퓨터 시스템을 제공한다.
도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다.
도 2는 본 발명의 일실시예에 있어서 전자 기기 및 서버의 내부 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 일실시예에 따른 전자 기기의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 전자 기기가 수행할 수 있는 방법의 예를 도시한 흐름도이다.
도 5는 본 발명의 일실시예에 있어서 동영상 합성 작업의 전체 흐름도를 도시한 것이다.
도 6은 본 발명의 일실시예에 있어서 동영상 합성 작업의 결과물을 보여주는 예시 도면이다.
도 7은 본 발명의 일실시예에 있어서 사진 변환 작업의 전체 흐름도를 도시한 것이다.
도 8은 본 발명의 일실시예에 있어서 사진 변환 작업의 결과물을 보여주는 예시 도면이다.
도 9는 본 발명의 일실시예에 있어서 사진 분석 작업의 전체 흐름도를 도시한 것이다.
도 10 내지 도 11은 본 발명의 일실시예에 있어서 분산 작업에 대한 정보와 결과를 메시지 형태로 제공하는 대화방의 예시 화면을 도시한 것이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명의 실시예들은 전자 기기 간에 리소스를 공유하는 기술에 관한 것이다.
본 명세서에서 구체적으로 개시되는 것들을 포함하는 실시예들은 메신저의 대화방에 포함된 사용자의 전자 기기 리소스를 공유할 수 있고, 이를 통해 효율성, 신속성, 편의성, 비용 절감 등의 측면에 있어서 상당한 장점들을 달성할 수 있다.
도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다. 도 1의 네트워크 환경은 복수의 전자 기기들(110, 120, 130, 140), 복수의 서버들(150, 160) 및 네트워크(170)를 포함하는 예를 나타내고 있다. 이러한 도 1은 발명의 설명을 위한 일례로 전자 기기의 수나 서버의 수가 도 1과 같이 한정되는 것은 아니다.
복수의 전자 기기들(110, 120, 130, 140)은 컴퓨터 시스템으로 구현되는 고정형 단말이거나 이동형 단말일 수 있다. 복수의 전자 기기들(110, 120, 130, 140)의 예를 들면, 스마트폰(smart phone), 휴대폰, 내비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC, 게임 콘솔(game console), 웨어러블 디바이스(wearable device), IoT(internet of things) 디바이스, VR(virtual reality) 디바이스, AR(augmented reality) 디바이스 등이 있다. 일례로 도 1에서는 전자 기기(110)의 예로 스마트폰의 형상을 나타내고 있으나, 본 발명의 실시예들에서 전자 기기(110)는 실질적으로 무선 또는 유선 통신 방식을 이용하여 네트워크(170)를 통해 다른 전자 기기들(120, 130, 140) 및/또는 서버(150, 160)와 통신할 수 있는 다양한 물리적인 컴퓨터 시스템들 중 하나를 의미할 수 있다.
통신 방식은 제한되지 않으며, 네트워크(170)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망, 위성망 등)을 활용하는 통신 방식뿐만 아니라 기기들간의 근거리 무선 통신 역시 포함될 수 있다. 예를 들어, 네트워크(170)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(170)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.
서버(150, 160) 각각은 복수의 전자 기기들(110, 120, 130, 140)과 네트워크(170)를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다. 예를 들어, 서버(150)는 네트워크(170)를 통해 접속한 복수의 전자 기기들(110, 120, 130, 140)로 제1 서비스를 제공하는 시스템일 수 있으며, 서버(160) 역시 네트워크(170)를 통해 접속한 복수의 전자 기기들(110, 120, 130, 140)로 제2 서비스를 제공하는 시스템일 수 있다. 보다 구체적인 예로, 서버(150)는 복수의 전자 기기들(110, 120, 130, 140)에 설치되어 구동되는 컴퓨터 프로그램으로서의 어플리케이션을 통해, 해당 어플리케이션이 목적하는 서비스(일례로, 메신저 서비스 등)를 제1 서비스로서 복수의 전자 기기들(110, 120, 130, 140)로 제공할 수 있다. 다른 예로, 서버(160)는 상술한 어플리케이션의 설치 및 구동을 위한 파일을 복수의 전자 기기들(110, 120, 130, 140)로 배포하는 서비스를 제2 서비스로서 제공할 수 있다.
도 2는 본 발명의 일실시예에 있어서 전자 기기 및 서버의 내부 구성을 설명하기 위한 블록도이다. 도 2에서는 전자 기기에 대한 예로서 전자 기기(110), 그리고 서버(150)의 내부 구성을 설명한다. 또한, 다른 전자 기기들(120, 130, 140)이나 서버(160) 역시 상술한 전자 기기(110) 또는 서버(150)와 동일한 또는 유사한 내부 구성을 가질 수 있다.
전자 기기(110)와 서버(150)는 메모리(211, 221), 프로세서(212, 222), 통신 모듈(213, 223) 그리고 입출력 인터페이스(214, 224)를 포함할 수 있다. 메모리(211, 221)는 비-일시적인 컴퓨터 판독가능한 기록매체로서, RAM(random access memory), ROM(read only memory), 디스크 드라이브, SSD(solid state drive), 플래시 메모리(flash memory) 등과 같은 비소멸성 대용량 저장 장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM, SSD, 플래시 메모리, 디스크 드라이브 등과 같은 비소멸성 대용량 저장 장치는 메모리(211, 221)와는 구분되는 별도의 영구 저장 장치로서 전자 기기(110)나 서버(150)에 포함될 수도 있다. 또한, 메모리(211, 221)에는 운영체제와 적어도 하나의 프로그램 코드(일례로 전자 기기(110)에 설치되어 구동되는 브라우저나 특정 서비스의 제공을 위해 전자 기기(110)에 설치된 어플리케이션 등을 위한 코드)가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(211, 221)와는 별도의 컴퓨터에서 판독가능한 기록매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독가능한 기록매체가 아닌 통신 모듈(213, 223)을 통해 메모리(211, 221)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템(일례로, 상술한 서버(160))이 네트워크(170)를 통해 제공하는 파일들에 의해 설치되는 컴퓨터 프로그램(일례로 상술한 어플리케이션)에 기반하여 메모리(211, 221)에 로딩될 수 있다.
프로세서(212, 222)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(211, 221) 또는 통신 모듈(213, 223)에 의해 프로세서(212, 222)로 제공될 수 있다. 예를 들어 프로세서(212, 222)는 메모리(211, 221)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.
통신 모듈(213, 223)은 네트워크(170)를 통해 전자 기기(110)와 서버(150)가 서로 통신하기 위한 기능을 제공할 수 있으며, 전자 기기(110) 및/또는 서버(150)가 다른 전자 기기(일례로 전자 기기(120)) 또는 다른 서버(일례로 서버(160))와 통신하기 위한 기능을 제공할 수 있다. 일례로, 전자 기기(110)의 프로세서(212)가 메모리(211)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이 통신 모듈(213)의 제어에 따라 네트워크(170)를 통해 서버(150)로 전달될 수 있다. 역으로, 서버(150)의 프로세서(222)의 제어에 따라 제공되는 제어 신호나 명령, 컨텐츠, 파일 등이 통신 모듈(223)과 네트워크(170)를 거쳐 전자 기기(110)의 통신 모듈(213)을 통해 전자 기기(110)로 수신될 수 있다. 예를 들어 통신 모듈(213)을 통해 수신된 서버(150)의 제어 신호나 명령, 컨텐츠, 파일 등은 프로세서(212)나 메모리(211)로 전달될 수 있고, 컨텐츠나 파일 등은 전자 기기(110)가 더 포함할 수 있는 저장 매체(상술한 영구 저장 장치)로 저장될 수 있다.
입출력 인터페이스(214)는 입출력 장치(215)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 키보드, 마우스, 마이크로폰, 카메라 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커, 햅틱 피드백 디바이스(haptic feedback device) 등과 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(214)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 입출력 장치(215)는 전자 기기(110)와 하나의 장치로 구성될 수도 있다. 또한, 서버(150)의 입출력 인터페이스(224)는 서버(150)와 연결되거나 서버(150)가 포함할 수 있는 입력 또는 출력을 위한 장치(미도시)와의 인터페이스를 위한 수단일 수 있다. 보다 구체적인 예로, 전자 기기(110)의 프로세서(212)가 메모리(211)에 로딩된 컴퓨터 프로그램의 명령을 처리함에 있어서 서버(150)나 전자 기기(120)가 제공하는 데이터를 이용하여 구성되는 서비스 화면이나 컨텐츠가 입출력 인터페이스(214)를 통해 디스플레이에 표시될 수 있다.
또한, 다른 실시예들에서 전자 기기(110) 및 서버(150)는 도 2의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 전자 기기(110)는 상술한 입출력 장치(215) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다. 보다 구체적인 예로, 전자 기기(110)가 스마트폰인 경우, 일반적으로 스마트폰이 포함하고 있는 가속도 센서나 자이로 센서, 카메라 모듈, 각종 물리적인 버튼, 터치패널을 이용한 버튼, 입출력 포트, 진동을 위한 진동기 등의 다양한 구성요소들이 전자 기기(110)에 더 포함되도록 구현될 수 있다.
이하에서는 많은 리소스를 필요로 하는 작업의 경우 메신저의 대화방을 통해 해당 대화방에 포함된 사용자의 전자 기기로 리소스를 요청할 수 있는 방법 및 시스템의 구체적인 실시예를 설명하기로 한다.
본 명세서에서 작업은 컴퓨터 시스템의 리소스로 처리되는 모든 일을 포괄하여 의미하는 것으로, 예를 들어 암호 분석, 비디오/이미지의 합성이나 변환, 분석 등이 포함될 수 있다.
일반적으로는 사용자의 전자 기기에서 해당 전자 기기의 리소스만을 이용하여 작업을 처리한다.
연산이 많이 필요한 일부 작업의 경우 사용자의 전자 기기 리소스만을 이용하여 처리하게 되면 많은 시간이 소요되거나 다른 기능에 제약이 가해지는 문제가 발생할 수 있다.
본 발명의 실시예들은 사용자가 요청한 작업에 대해 메신저의 대화방을 통해 해당 대화방에 포함된 다른 사용자의 전자 기기 리소스를 활용할 수 있는 기술에 관한 것이다.
도 3은 본 발명의 일실시예에 따른 전자 기기의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 블록도이고, 도 4는 본 발명의 일실시예에 따른 전자 기기가 수행할 수 있는 방법의 예를 도시한 흐름도이다.
본 실시예에 따른 전자 기기(110)에는 컴퓨터로 구현된 리소스 요청 시스템이 구성될 수 있다. 일례로, 리소스 요청 시스템은 독립적으로 동작하는 프로그램 형태로 구현되거나, 혹은 특정 어플리케이션의 인-앱(in-app) 형태로 구성되어 상기 특정 어플리케이션 상에서 동작이 가능하도록 구현될 수 있고 경우에 따라 서버(150)와의 연동을 통해 메신저 서비스를 제공할 수 있다.
전자 기기(110)에 설치된 어플리케이션이 제공하는 명령에 기반하여 전자 기기(110)에 구현된 리소스 요청 시스템은 도 4에 도시한 리소스 요청 방법을 수행할 수 있다.
도 4에 따른 리소스 요청 방법을 수행하기 위해, 전자 기기(110)의 프로세서(212)는 구성요소로서 도 3에 도시된 바와 같이, 데이터 가공부(310), 작업 요청부(320), 및 결과 제공부(330)를 포함할 수 있다. 실시예에 따라 프로세서(212)의 구성요소들은 선택적으로 프로세서(212)에 포함되거나 제외될 수도 있다. 또한, 실시예에 따라 프로세서(212)의 구성요소들은 프로세서(212)의 기능의 표현을 위해 분리 또는 병합될 수도 있다.
이러한 프로세서(212) 및 프로세서(212)의 구성요소들은 도 4의 리소스 요청 방법이 포함하는 단계들(S410 내지 S440)을 수행하도록 전자 기기(110)를 제어할 수 있다. 예를 들어, 프로세서(212) 및 프로세서(212)의 구성요소들은 메모리(211)가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다.
여기서, 프로세서(212)의 구성요소들은 전자 기기(110)에 저장된 프로그램 코드가 제공하는 명령(일례로, 전자 기기(110)에서 구동된 어플리케이션이 제공하는 명령)에 따라 프로세서(212)에 의해 수행되는 프로세서(212)의 서로 다른 기능들(different functions)의 표현들일 수 있다. 예를 들어, 전자 기기(110)가 작업 대상이 되는 데이터를 가공하도록 상술한 명령에 따라 전자 기기(110)를 제어하는 프로세서(212)의 기능적 표현으로서 데이터 가공부(310)가 이용될 수 있다.
단계(S410)에서 프로세서(212)는 전자 기기(110)의 제어와 관련된 명령이 로딩된 메모리(211)로부터 필요한 명령을 읽어들일 수 있다. 이 경우, 상기 읽어들인 명령은 프로세서(212)가 이후 설명될 단계들(S420 내지 S440)을 실행하도록 제어하기 위한 명령을 포함할 수 있다.
단계(S420)에서 데이터 가공부(310)는 전자 기기(110)에 설치된 메신저의 대화방에서 전자 기기(110)의 사용자에 의해 작업 대상이 되는 데이터와 작업 유형이 선택되면 선택된 데이터를 분산 작업이 가능한 형태로 전처리할 수 있다. 이때, 데이터 가공부(310)는 데이터의 전처리 과정으로서 데이터를 최대한 많은 분량으로 나눌 수 있도록 데이터 분할을 위한 표시 처리, 즉 마킹(marking)을 수행할 수 있다.
특히, 데이터 가공부(310)는 데이터에 대한 효율적이고 신속한 작업 처리와 네트워크 소비 절감을 위해 마킹 과정에서 작업 유형이나 데이터 유형 등을 고려하여 다양한 방식의 데이터 가공을 수행할 수 있다. 일례로, 데이터 가공부(310)는 비디오나 이미지의 경우 해당 데이터의 해상도를 변경할 수 있으며, 예를 들어 원본보다 낮은 저해상도로 변경할 수 있다. 다른 예로, 데이터 가공부(310)는 데이터를 여러 개의 데이터로 분할할 수 있다. 이미지의 경우 경우 원본 이미지를 작은 여러 개의 이미지로 분할할 수 있고, 비디오의 경우 원본 비디오를 복수 개의 구간으로 분할할 수 있다. 또 다른 예로, 데이터 가공부(310)는 비디오나 이미지의 경우 해당 데이터에서 작업과 관련된 특징을 추출할 수 있다. 다시 말해, 데이터 가공부(310)는 보다 신속한 작업을 위해 작업을 요청하는 사용자의 단말인 전자 기기(110)에서 데이터에서 작업과 관련된 특징을 미리 추출할 수 있다. 따라서, 데이터 가공부(310)는 작업 유형이나 데이터 유형에 따라 작업을 위해 필요한 최소한의 화질 혹은 크기로 변경하거나 작업과 관련된 특징을 추출하여 데이터가 효율적으로 처리되도록 가공할 수 있다. 작업을 위한 데이터를 원본 데이터가 아닌 가공된 데이터로 제공함으로써 데이터 전송을 위한 네트워크 소비를 효과적으로 절감할 수 있다. 또한, 데이터 가공을 통해 데이터의 크기를 줄이거나 데이터에서 작업과 관련된 특징을 추출하여 제공함으로써 해당 작업에 대한 처리 속도를 향상시킬 수 있다.
상기한 데이터 가공을 포함한 전처리 과정이 작업을 요청하는 사용자의 단말인 전자 기기(110)에서 수행되는 것으로 설명하고 있으나, 이에 한정되는 것은 아니며, 메신저 서비스를 제공하는 서버(150)에서 전자 기기(110)로부터 원본 데이터를 전달받아 해당 데이터에 대한 전처리를 수행하는 것 또한 가능하다. 이때, 데이터 가공부(310)는 네트워크 상황에 따라 전처리 수행 여부를 결정할 수 있다. 예를 들어, 네트워크 상황이 좋지 않은 경우 전자 기기(110)에서 전처리 과정을 수행하여 가공된 데이터를 서버(150)로 전송할 수 있고, 한편 네트워크 상황이 좋은 경우 전자 기기(110)에서 원본 데이터를 그대로 서버(150)로 전송하여 서버(150)에서 전처리 과정을 수행하도록 할 수 있다.
실시예에 따라서는, 전자 기기(110)에서 먼저 작업과 관련된 메타데이터만을 서버(150)로 전송하여 서버(150)에서 작업 유형이나 데이터 유형, 네트워크 리소스 등을 바탕으로 작업 효율이나 전처리 정도를 판단한 후 판단 결과에 따라 해당 데이터에 대한 전처리 수행 주체를 선택적으로 결정할 수 있다. 서버(150)의 결정에 따라 데이터에 대한 전처리 과정을 전자 기기(110)로 요청하여 전자 기기(110)에서 수행하도록 할 수 있고, 혹은 전자 기기(110)로부터 원본 데이터를 전달받아 해당 데이터에 대한 전처리를 서버(150)에서 직접 수행할 수 있다.
단계(S430)에서 작업 요청부(320)는 전자 기기(110)의 사용자가 요청한 작업 유형에 대한 정보와 단계(S420)에서 가공된 데이터를 대화방을 통해 서버(150)로 전송함으로써 분산 작업을 요청할 수 있다. 이에, 서버(150)는 대화방을 통해 전자 기기(110)의 사용자로부터 분산 작업 요청이 수신되는 경우 해당 대화방에 포함된 타 사용자 중 리소스 공유를 허락한 사용자(이하, '수신자'라 칭함)를 대상으로 작업할 데이터를 분배하고 분배된 데이터와 작업 유형을 포함한 리소스 요청 메시지를 대화방을 통해 수신자의 전자 기기로 전송할 수 있다. 이때, 수신자 각각에 분배되는 데이터는 전자 기기(110)와 수신자의 전자 기기 간 또는 전자 기기(110)의 사용자와 수신자 간에 E2EE가 적용된 메시지에 포함될 수 있다.
수신자 각각은 대화방 내 설정을 통해 자신의 전자 기기에 대한 리소스 공유를 사전에 허락할 수 있다. 이러한 사전 허락 등을 이유로 수신자의 허락을 필요로 하지 않는 경우에는 전자 기기(110)의 사용자의 분산 작업 요청 시 대화방을 통해 수신자의 전자 기기로 리소스 요청 메시지를 바로 전송할 수 있다. 한편, 사전 허락이 설정되어 있지 않아 수신자의 허락을 필요로 하는 경우에는 대화방에 포함된 타 사용자의 전자 기기로 리소스 공유에 대한 허락을 요청하는 메시지를 먼저 전송한 후 일정 시간을 대기하였다가 리소스 공유를 허락한 사용자, 즉 수신자들을 파악하여 수신자의 전자 기기로 리소스 요청 메시지를 전송할 수 있다. 또 다른 예로써, 사용자가 리소스 공유를 허락을 할 때마다 가공이 필요한 데이터를 순차적으로 전송할 수 있다.
서버(150)는 리소스 공유를 허락한 수신자의 수에 맞춰 데이터를 분배할 수 있으며, 이때, 대화방에 포함된 타 사용자 중 리소스 공유가 실제 가능한 사용자, 즉 메신저가 활성화 상태로 실행 중이거나 백그라운드(background)로 실행 중인 수신자의 수에 맞추어 데이터를 분배할 수 있다.
서버(150)는 각 수신자의 리소스 처리 효율을 고려하여 작업량을 분배할 수 있다. 일례로, 서버(150)는 각 수신자의 리소스 공유에 따른 과거 이력의 통계 정보를 바탕으로 작업량을 분배할 수 있다. 각 수신자 별로 기존의 분산 작업 시 어느 정도의 효율성으로 작업을 처리하였는지 등의 이력을 누적한 후 누적된 통계 결과에 따라 작업량을 차등 분배할 수 있다. 다른 예로, 서버(150)는 각 수신자의 전자 기기에 대한 성능 정보를 바탕으로 작업량을 분배할 수 있다. 다시 말해, 각 수신자의 전자 기기 성능에 맞추어 작업량을 차등 분배할 수 있다. 리소스 처리 효율과 관련된 정보가 없는 경우에는 작업량을 균등 분배할 수 있다. 분산 작업 시 데이터의 유실 또는 작업 지연을 방지하기 위해 서버(150)는 데이터 중 적어도 일부를 복수의 사용자에게 중복하여 분배할 수 있다.
단계(S440)에서 결과 제공부(330)는 대화방을 통해 서버(150)로부터 수신자의 전자 기기로 분배된 데이터에 대한 중간 결과물(interim outputs)을 수신하여 수신된 중간 결과물을 병합함으로써 최종 결과물을 생성하여 제공할 수 있다. 분산 작업을 요청한 사용자의 전자 기기(100)에서 각 수신자에게 분배된 데이터에 대한 중간 결과물을 취합해서 최종 결과물을 만들어 낼 수 있고, 실시예에 따라서는 서버(150)에서 최종 결과물을 만들어 전자 기기(100)로 제공하는 것 또한 가능하다. 또한, 전자 기기(100)는 전자 기기(100)에 의해 생성된 중간 결과물을 각 수신자의 전자 기기로 분배된 데이터에 대한 중간 결과물과 병합하여 최종 결과물을 생성할 수 있다.
결과 제공부(330)는 전자 기기(110)의 사용자가 요청한 작업에 대한 정보를 대화방 내의 하나의 메시지 형태로 생성하여 제공할 수 있고, 사용자가 해당 메시지를 선택한 경우 대화방에 포함된 다른 사용자 각각의 작업 기여 여부, 작업 처리 현황, 결과물 등을 포함한 상세 정보를 제공할 수 있다. 서버(150)에서는 각 수신자에게 분산 작업을 위한 전체 분량의 어느 정도가 분배되었는지 기록하고 있다가 수신자로부터 중간 결과물이 돌아올 때마다 작업 요청자(전자 기기(110)의 사용자)에게 해당 정보를 반환할 수 있고, 이에 결과 제공부(330)는 대화방의 작업 정보를 나타내는 메시지에서 서버(150)로부터 반환된 정보에 따른 현재 진척도를 프로그레스(progress)로 보여줄 수 있다. 현재 진척도를 포함한 작업 처리 과정은 전체 분량 대비 중간 결과물이 수신된 분량에 대응되는 숫자 등으로 보여줄 수도 있다. 다른 예로, 결과 제공부(330)는 서버(150)로부터 반환된 정보를 바탕으로 작업에 기여한 수신자의 명단을 보여주거나 혹은 각 중간 결과물 별로 해당 중간 결과물을 제공한 수신자의 정보를 보여줄 수 있다. 작업 정보를 대화방 내의 메시지 형태로 제공함으로써 해당 작업을 요청한 사용자는 물론이고, 작업에 기여한 수신자들과 작업 처리 과정이나 결과물을 공유할 수 있다. 이때, 작업 정보를 보여주는 메시지는 미리 정의된 정보를 포함하는 액션 메시지일 수 있다.
결과 제공부(330)는 작업의 중간 결과물이 모두 수신되지 않더라도 수신된 중간 결과물을 사용가능하도록 제공할 수 있다. 예를 들어, 10개 구간으로 분할된 비디오에 대해 일부 구간의 중간 결과물만 수신한 경우 해당 비디오 재생 시에 수신된 분량에 해당되는 중간 결과물(즉, 일부 영상)을 보여주고 나머지는 원본에 자막이나 흑백 필터 등을 중첩시켜 보여줄 수 있다. 또한, 여러 개의 작은 이미지로 분할된 이미지에 대해, 전체 이미지의 일부에 해당하는 중간 결과물만 수신한 경우 중간 결과물이 수신된 부분들은 밝게 보여주고 중간 결과물이 수신되지 않은 나머지 부분들 또는 전체 이미지 중 전자 기기(110)에 의해 작업이 완료되지 않은 부분들은 원래 이미지를 어둡게 처리하여 보여줄 수 있다.
서버(150)에서는 작업에 기여한 각 수신자 별로 기여도를 기록하여 기여도에 따른 보상을 제공할 수 있으며, 이때 보상은 가상 화폐로서 인터넷 상의 컨텐츠나 서비스를 구매하는데 활용되거나 분산 작업 기회를 획득하기 위한 수단 등으로 활용될 수 있다.
서버(150)를 통해 작업을 위한 데이터를 수신자의 전자 기기로 전송하더라도 대화방을 통해 전달되는 메시지(작업을 위한 데이터를 포함함)에 End-to-end encryption(E2EE)을 적용함으로써 서버(150)에서 해당 데이터의 내용을 파악하지 못하게 할 뿐만 아니라 서버(150)에서 불법적으로 데이터를 취득하더라도 해당 데이터의 내용을 파악하지 못하게 할 수 있다. 리소스 공유에 기여하는 수신자의 전자 기기로 작업에 연관된 데이터가 전송되더라도 전처리된 데이터를 전송함으로써 작업을 위한 데이터의 전체에 대해서는 파악하지 못하게 할 수 있다.
도 5는 본 발명의 일실시예에 있어서 동영상 합성 작업의 전체 흐름도를 도시한 것이다.
도 5는 비디오에서 특정 인물이 존재하는 부분을 찾아 내서 해당 부분을 아바타로 치환하는 작업을 예시로 한 것이다.
요청자 단말에 해당되는 전자 기기(110)에서는 해당 작업을 위해 요청자가 메신저의 대화방에서 작업 대상이 되는 비디오를 선택하고 작업 유형으로서 비디오 내 인물과 치환할 아바타를 선택할 수 있다(S51).
전자 기기(110)는 비디오, 인물 정보, 아바타 정보를 포함한 분산 작업 요청을 서버(150)로 전달한다(S52). 인물 정보는 아바타로 치환된 인물을 특정할 수 있는 인물의 사진 또는 메신저에서의 사용자 ID 등의 정보를 포함할 수 있다. 이때, 전자 기기(110)는 데이터의 효율적인 처리를 위해 비디오의 화질을 저화질로 변경하거나 비디오를 여러 개의 구간으로 분할하여 전달할 수 있고, 혹은 작업 속도를 향상시키기 위해 비디오에서 아바타로 치환될 인물이 포함된 부분을 마킹하여 마킹된 비디오를 전달하거나 비디오에서 특정 인물과 관련된 특징을 추출하여 해당 특징 정보를 비디오와 함께 전달할 수 있다.
도시되어 있지 않으나, 또 다른 예로, 메신저와 아바타 서비스가 연계되어 아바타로 치환된 인물의 메신저의 사용자 정보로서 아바타가 등록되어 있는 경우, 전자 기기(110)는 비디오만 또는 비디오 및 아바타로 치환된 인물을 특정할 수 있는 정보만을 전달할 수 있다.
서버(150)는 대화방에 포함된 타 사용자 중 리소스 공유를 허락하고 실제 리소스 공유가 가능한 수신자를 파악한 후 수신자의 수에 맞춰 비디오를 분할하여 분배할 수 있다(S53). 이때, 서버(150)는 각 수신자의 리소스 처리 효율에 따라 수신자 별 작업량을 결정하여 분배할 수 있다.
서버(150)는 분배된 비디오, 인물 정보, 아바타 정보를 포함한 리소스 요청 메시지를 해당 대화방을 통해 각 수신자의 전자 기기(120, 130, 140)로 전달할 수 있다(S54).
각 수신자의 전자 기기(120, 130, 140)에서는 서버(150)로부터 전달 받은 비디오, 인물 정보, 아바타 정보를 이용하여 해당 비디오에서 특정 인물이 등장하는 장면을 찾아 해당 인물이 위치하는 부분을 아바타로 치환하는 작업을 수행할 수 있다(S55). 전자 기기(110)에서 비디오의 특징 인물과 관련된 특징을 추출하여 제공하는 경우 각 수신자의 전자 기기(120, 130, 140)에서는 특징 인물과 관련된 특징을 추출하기 위해 비디오를 분석하는 과정을 생략할 수 있어 분배 받은 작업을 더욱 신속하게 처리할 수 있다.
각 수신자의 전자 기기(120, 130, 140)는 분배 받은 작업의 처리가 완료된 결과 영상(중간 결과물)을 서버(150)로 반환할 수 있다(S56). 다른 예에 따르면, 각 수신자의 전자 기기(120, 130, 140)는 각각이 분배 받은 작업의 처리가 완료된 데이터를 서버(150)로 반환할 수 있다. 예를 들어, 전자 기기(110)가 저해상도의 영상을 분할해서 서버(150)에 전송하면(S52), 서버(150)는 리소스 요청 메시지를 해당 대화방을 통해 각 수신자의 전자 기기(120, 130, 140)로 전달하고(S54), 각 수신자는 해당 영상에서 아바타로 변환될 특정 인물이 존재하는 영상이나 위치, 각도 등을 판단해서 서버(150)로 반환할 수 있다.
요청자의 전자 기기(110)는 서버(150)를 통해 각 수신자의 전자 기기(120, 130, 140)의 리소스로 처리된 작업 결과(중간 결과물)를 수신하여 수신된 작업 결과(중간 결과물)를 병합함으로써 최종 결과물을 제공할 수 있다(S57). 이때, 서버(150)는 각 수신자의 전자 기기(120, 130, 140)에서 전달된 결과 영상을 이어서 보거나 다운로드할 수 있는 링크를 대화방을 통해 요청자에게 제공할 수 있다. 다른 예에 따르면, 요청자의 전자 기기(110)는 서버(150)를 통해 각 수신자의 전자 기기(120, 130, 140)의 리소스로 처리가 완료된 데이터(중간 결과물)를 수신하고, 수신된 데이터를 이용하여 아바타가 오버레이된 영상(최종 결과물)을 제공할 수 있다.
요청자의 전자 기기(110)는 대화방을 통해 분산 작업으로 처리된 중간 결과물을 취합해서 제공할 수 있다. 도 6을 참조하면, 6개의 구간으로 분할되어 6명에게 분배된 비디오(600)의 경우 재생 시 재생 순서에 따라 각 구간의 영상을 재생하게 되는데, 중간 결과물이 수신된 구간(601)에서는 아바타가 치환된 영상을 보여주고, 중간 결과물이 수신되지 않은 구간(602)에서는 원본 영상에 흑백 필터를 씌워서 보여줄 수 있다.
도 7은 본 발명의 일실시예에 있어서 사진 변환 작업의 전체 흐름도를 도시한 것이다.
도 7은 여러 장의 사진을 수채화 필터를 적용하여 변환하는 작업을 예시로 한 것이다.
전자 기기(110)에서는 해당 작업을 위해 요청자가 메신저의 대화방에서 작업 대상이 되는 사진을 선택하고 작업 유형으로서 수채화 필터를 선택할 수 있다(S71).
전자 기기(110)는 선택된 사진들과, 수채화 필터 정보를 포함한 분산 작업 요청을 서버(150)로 전달한다(S72). 이때, 전자 기기(110)는 데이터의 효율적인 처리를 위해 사진의 화질을 저화질로 변경하거나 사진의 크기를 작게 조정하거나 혹은 사진을 여러 개의 이미지로 분할하여 전달할 수 있다.
서버(150)는 대화방에 포함된 타 사용자 중 리소스 공유를 허락하고 실제 리소스 공유가 가능한 수신자를 파악한 후 수신자의 수에 맞춰 사진을 분배할 수 있다(S73). 이때, 서버(150)는 각 수신자의 리소스 처리 효율에 따라 수신자 별 작업량을 결정하여 분배할 수 있다.
서버(150)는 분배된 사진과 수채화 필터 정보를 포함한 리소스 요청 메시지를 해당 대화방을 통해 각 수신자의 전자 기기(120, 130, 140)로 전달할 수 있다(S74).
각 수신자의 전자 기기(120, 130, 140)에서는 서버(150)로부터 전달 받은 사진에 수채화 필터를 적용하여 변환하는 작업을 수행할 수 있다(S75). 전자 기기(110)에서 작업할 사진을 저해상도로 변경하여 제공한 경우 전자 기기(110)에서 서버(150)로 전달될 때와 서버(150)에서 전자 기기(120, 130, 140)로 전달될 때 원본보다 네트워크 소모를 줄일 수 있다.
각 수신자의 전자 기기(120, 130, 140)는 분배 받은 작업의 처리가 완료된 결과 사진, 즉 수채화 필터가 적용된 사진을 서버(150)로 반환할 수 있다(S76).
요청자의 전자 기기(110)는 서버(150)를 통해 각 수신자의 전자 기기(120, 130, 140)의 리소스로 처리된 작업 결과(중간 결과물)를 수신하여 수신된 작업 결과(중간 결과물)를 병합함으로써 최종 결과물을 제공할 수 있다(S77).
요청자의 전자 기기(110)는 대화방을 통해 분산 작업으로 처리된 중간 결과물을 취합해서 제공할 수 있다. 요청자가 9개의 사진에 대해 분산 작업을 요청한 경우 도 8에 도시한 바와 같이 결과물 제공 시 분산 작업을 요청한 사진 목록(800)을 제공할 수 있으며, 이때 사진 목록(800) 중 결과가 수신된 사진(801)은 수채화 필터가 적용된 결과 사진으로 보여주고, 결과가 수신되지 않은 사진(802)은 원본 사진에 흑백 필터를 씌워서 보여줄 수 있다.
도 9는 본 발명의 일실시예에 있어서 사진 분석 작업의 전체 흐름도를 도시한 것이다.
도 9는 사진에 포함된 정보를 분석하는 작업을 예시로 한 것이다.
전자 기기(110)에서는 해당 작업을 위해 요청자가 메신저의 대화방에서 작업 대상이 되는 사진을 선택하고 작업 유형으로서 사진 분석 요청을 선택할 수 있다(S91).
전자 기기(110)는 선택된 사진과, 작업 유형에 대한 정보를 포함한 분산 작업 요청을 서버(150)로 전달한다(S92). 이때, 전자 기기(110)는 데이터의 효율적인 처리를 위해 사진의 화질을 저화질로 변경하거나 사진의 크기를 작게 조정하거나 혹은 사진을 여러 개의 이미지로 분할하여 전달할 수 있다.
서버(150)는 대화방에 포함된 타 사용자 중 리소스 공유를 허락하고 실제 리소스 공유가 가능한 수신자를 파악한 후 수신자의 수에 맞춰 사진을 분할하여 분배할 수 있다(S93). 이때, 서버(150)는 각 수신자의 리소스 처리 효율에 따라 수신자 별 작업량을 결정하여 분배할 수 있다.
서버(150)는 분배된 사진과 작업 유형에 대한 정보를 포함한 리소스 요청 메시지를 해당 대화방을 통해 각 수신자의 전자 기기(120, 130, 140)로 전달할 수 있다(S94).
각 수신자의 전자 기기(120, 130, 140)에서는 서버(150)로부터 전달 받은 사진을 전처리한 후 해당 사진에 포함된 정보를 분석하는 작업을 수행할 수 있다(S95). 전자 기기(110)에서 작업할 사진을 저해상도로 변경하여 제공한 경우 전자 기기(110)에서 서버(150)로 전달될 때와 서버(150)에서 전자 기기(120, 130, 140)로 전달될 때 원본보다 네트워크 소모를 줄일 수 있고, 전자 기기(120, 130, 140)에서의 정보 분석 처리 속도를 향상시킬 수 있다.
각 수신자의 전자 기기(120, 130, 140)는 분배 받은 작업의 처리가 완료된 결과, 즉 사진 분석 결과를 서버(150)로 반환할 수 있다(S96).
요청자의 전자 기기(110)는 서버(150)를 통해 각 수신자의 전자 기기(120, 130, 140)의 리소스로 처리된 작업 결과(중간 결과물)를 수신하여 수신된 작업 결과(중간 결과물)를 병합함으로써 최종 결과물을 제공할 수 있다(S97).
도 10 내지 도 11은 본 발명의 일실시예에 있어서 분산 작업에 대한 정보와 결과를 메시지 형태로 제공하는 대화방의 예시 화면을 도시한 것이다.
예를 들어, 도 10을 참조하면, 전자 기기(110)는 대화방(1000)을 통해 사용자가 작업 대상이 되는 사진들과 작업 유형을 선택한 후 분산 작업을 요청하게 되면 요청한 작업 정보(1001)를 해당 대화방(1000)의 메시지 형태로 제공할 수 있다.
그리고, 서버(150)에 의해 대화방(1000)에 포함된 사용자 중 리소스 공유를 허락하고 실제 리소스 공유가 가능한 수신자에게 작업물이 분배된 이후에는 작업에 기여한 수신자의 명단과 작업 처리 현황을 포함한 요약 정보(1002)를 대화방(1000)의 새로운 메시지로서 제공할 수 있다.
서버(150)에서는 각 수신자에게 분산 작업을 위한 전체 분량의 어느 정도가 분배되었는지 기록하고 있다가 수신자로부터 결과물이 수신될 때마다 전자 기기(110)로 해당 정보를 반환할 수 있고, 이에 전자 기기(110)는 요약 정보(1002)를 나타내는 메시지 상에 서버(150)로부터 반환된 정보에 따른 현재 진척도를 프로그레스로 보여줄 수 있다.
대화방(1000)에서 요약 정보(1002)를 나타내는 메시지를 선택하는 경우 도 11에 도시한 바와 같이 상세 정보 화면(1110)이 표시될 수 있으며, 상세 정보 화면(1110)에는 작업에 기여한 수신자의 명단, 각 수신자 별 작업 기여도와 처리 현황, 수신자로부터 수신된 작업 결과물 등이 포함될 수 있다. 작업 대상이 되는 데이터에 대해 모든 결과물이 수신되지 않더라도 수신된 중간 결과물과 함께 나머지는 필터나 밝기 등을 이용하여 원본 데이터를 가공한 작업 결과물을 제공할 수 있다.
작업 정보(1001)와 요약 정보(1002)를 대화방(1000) 내의 메시지 형태로 제공하고 메시지 선택 시 상세 정보 화면(1110)을 제공함으로써 해당 작업을 요청한 사용자는 물론이고, 작업에 기여한 수신자들과 작업 처리 과정이나 결과물을 공유할 수 있다.
따라서, 본 실시예에서는 사용자의 전자 기기에서 많은 리소스를 필요로 하는 작업을 수행할 때 대화방에 포함된 다른 사용자의 전자 기기와 나누어 분산 처리할 수 있고 분산 처리된 결과를 사용자의 전자 기기에서 취합하여 사용할 수 있다.
이처럼 본 발명의 실시예들에 따르면, 작업을 요청한 사용자의 메신저의 대화방을 통해 해당 대화방에 포함된 다른 사용자의 전자 기기로 작업에 필요한 리소스를 요청할 수 있다. 이때, 요청자의 전자 기기에서 작업을 위한 데이터를 서버로 전송하기 전에 효율적이고 신속한 작업 처리와 네트워크 소비 절감을 위해 소정 형태로 가공할 수 있다. 그리고, 리소스를 요청한 대화방을 통해 각 사용자의 작업 기여 여부나 작업 처리 현황 등을 하나의 메시지 형태로 보여줄 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (17)

  1. 컴퓨터 시스템에서 실행되는 리소스 요청 방법에 있어서,
    상기 컴퓨터 시스템은 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고,
    상기 리소스 요청 방법은,
    상기 적어도 하나의 프로세서에 의해, 상기 컴퓨터 시스템에 설치된 메신저의 대화방을 통해 작업을 위한 데이터와 작업 유형이 선택되면 상기 데이터를 분산 작업이 가능한 형태로 전처리하는 단계; 및
    상기 적어도 하나의 프로세서에 의해, 상기 전처리된 데이터와 상기 작업 유형에 대한 정보를 상기 대화방을 통해 서버로 전송하여 상기 대화방에 포함된 적어도 하나의 다른 사용자의 전자 기기의 리소스를 이용한 분산 작업을 요청하는 단계
    를 포함하는 리소스 요청 방법.
  2. 제1항에 있어서,
    상기 전처리하는 단계는,
    상기 데이터의 분할을 위한 마킹(marking)을 수행하는 과정, 상기 데이터의 크기나 해상도를 변경하여 상기 데이터를 가공하는 과정, 상기 데이터를 여러 개의 데이터로 분할하여 상기 데이터를 가공하는 과정, 및 상기 데이터에서 작업과 관련된 특징을 추출하여 상기 데이터를 가공하는 과정 중 적어도 하나의 과정을 수행하는 단계
    를 포함하는, 리소스 요청 방법.
  3. 제1항에 있어서,
    상기 전처리하는 단계는,
    상기 작업과 관련된 메타데이터를 상기 서버로 전송하는 단계; 및
    상기 서버에서 상기 메타데이터를 바탕으로 전처리 수행 주체가 상기 컴퓨터 시스템으로 결정되는 경우 상기 데이터에 대한 전처리를 수행하는 단계
    를 포함하는, 리소스 요청 방법.
  4. 제1항에 있어서,
    상기 서버에서, 상기 대화방에 포함된 다른 사용자 중 리소스 공유를 허락한 사용자의 수를 파악하여 상기 파악된 사용자의 수에 따라 상기 전처리된 데이터를 분배한 후 상기 분배된 데이터와 상기 작업 유형에 대한 정보를 포함하는 리소스 요청 메시지를 상기 리소스 공유를 허락한 사용자의 전자 기기로 전송하는, 리소스 요청 방법.
  5. 제4항에 있어서,
    상기 서버에서, 상기 리소스 공유를 허락한 사용자 각각에 대해 리소스 공유에 따른 과거 이력의 통계 정보를 바탕으로 상기 전처리된 데이터를 차등 분배하는, 리소스 요청 방법.
  6. 제4항에 있어서,
    상기 서버에서, 상기 전처리된 데이터의 일부를 상기 리소스 공유를 허락한 사용자 중 2 이상의 사용자에게 중복하여 분배하는, 리소스 요청 방법.
  7. 제1항에 있어서,
    상기 리소스 요청 방법은,
    상기 적어도 하나의 프로세서에 의해, 상기 서버로부터 상기 대화방에 포함된 다른 사용자 중 리소스 공유를 허락한 사용자의 전자 기기로 분배된 데이터에 대한 중간 결과물을 수신하여 상기 대화방을 통해 상기 수신된 중간 결과물을 제공하는 단계
    를 더 포함하는 리소스 요청 방법.
  8. 제7항에 있어서,
    상기 제공하는 단계는,
    상기 분산 작업이 요청되면 상기 분산 작업에 대한 정보를 상기 대화방의 메시지로 제공하는 단계
    를 포함하는, 리소스 요청 방법.
  9. 제7항에 있어서,
    상기 제공하는 단계는,
    상기 전처리된 데이터가 분배되면 상기 리소스 공유를 허락한 사용자의 명단과 작업 처리 현황 중 적어도 하나를 포함하는 요약 정보를 상기 대화방의 메시지로 제공하는 단계
    를 포함하는, 리소스 요청 방법.
  10. 제9항에 있어서,
    상기 요약 정보를 나타내는 메시지에서 상기 작업 처리 현황이 프로그레스(progress)로 표시되는, 리소스 요청 방법.
  11. 제9항에 있어서,
    상기 제공하는 단계는,
    상기 요약 정보를 나타내는 메시지가 선택되는 경우 상기 리소스 공유를 허락한 사용자 별 작업 기여도와 처리 현황, 및 상기 수신된 중간 결과물을 취합한 작업 결과물 중 적어도 하나를 포함하는 상세 정보를 제공하는, 리소스 요청 방법.
  12. 제7항에 있어서,
    상기 제공하는 단계는,
    상기 전처리된 데이터의 전체 분량 중 중간 결과물이 수신되지 않은 분량에 대해 원본 데이터에 자막이나 필터를 중첩시켜 제공하는 단계
    를 포함하는, 리소스 요청 방법.
  13. 제1항 내지 제12항 중 어느 한 항의 리소스 요청 방법을 상기 컴퓨터 시스템에 실행시키기 위해 비-일시적인 컴퓨터 판독가능한 기록 매체에 저장되는 컴퓨터 프로그램.
  14. 컴퓨터 시스템에 있어서,
    메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서
    를 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 컴퓨터 시스템에 설치된 메신저의 대화방을 통해 작업을 위한 데이터와 작업 유형이 선택되면 상기 데이터를 분산 작업이 가능한 형태로 전처리하는 데이터 가공부; 및
    상기 전처리된 데이터와 상기 작업 유형에 대한 정보를 상기 대화방을 통해 서버로 전송하여 상기 대화방에 포함된 적어도 하나의 다른 사용자의 전자 기기의 리소스를 이용한 분산 작업을 요청하는 작업 요청부
    를 포함하는 컴퓨터 시스템.
  15. 제14항에 있어서,
    상기 데이터 가공부는,
    상기 데이터의 크기나 해상도를 변경하거나, 혹은 상기 데이터를 여러 개의 데이터로 분할하거나, 혹은 상기 데이터에서 작업과 관련된 특징을 추출하여 상기 데이터를 가공하는, 컴퓨터 시스템.
  16. 제14항에 있어서,
    상기 서버에서, 상기 대화방에 포함된 다른 사용자 중 리소스 공유를 허락한 사용자의 수를 파악하여 상기 파악된 사용자의 수에 따라 상기 전처리된 데이터를 분배한 후 상기 분배된 데이터와 상기 작업 유형에 대한 정보를 포함하는 리소스 요청 메시지를 상기 리소스 공유를 허락한 사용자의 전자 기기로 전송하고,
    상기 서버에서, 상기 리소스 공유를 허락한 사용자 각각에 대해 리소스 공유에 따른 과거 이력의 통계 정보를 바탕으로 상기 전처리된 데이터를 차등 분배하는, 컴퓨터 시스템.
  17. 제14항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 서버로부터 상기 대화방에 포함된 다른 사용자 중 리소스 공유를 허락한 사용자의 전자 기기로 분배된 데이터에 대한 중간 결과물을 수신하여 상기 대화방을 통해 상기 수신된 중간 결과물을 제공하는 결과 제공부
    를 더 포함하고,
    상기 결과 제공부는,
    상기 분산 작업이 요청되면 상기 분산 작업에 대한 정보를 상기 대화방의 메시지로 제공하고,
    상기 전처리된 데이터가 분배되면 상기 리소스 공유를 허락한 사용자의 명단과 작업 처리 현황 중 적어도 하나를 포함하는 요약 정보를 상기 대화방의 메시지 형태로 제공하는, 컴퓨터 시스템.
KR1020190018473A 2019-02-18 2019-02-18 메신저를 통해 리소스를 요청하는 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체 KR102602378B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190018473A KR102602378B1 (ko) 2019-02-18 2019-02-18 메신저를 통해 리소스를 요청하는 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체
JP2020023239A JP2020135886A (ja) 2019-02-18 2020-02-14 コンピュータプログラム、リソース要求方法、コンピュータシステム及びサーバ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190018473A KR102602378B1 (ko) 2019-02-18 2019-02-18 메신저를 통해 리소스를 요청하는 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체

Publications (2)

Publication Number Publication Date
KR20200100336A true KR20200100336A (ko) 2020-08-26
KR102602378B1 KR102602378B1 (ko) 2023-11-16

Family

ID=72242496

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190018473A KR102602378B1 (ko) 2019-02-18 2019-02-18 메신저를 통해 리소스를 요청하는 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체

Country Status (2)

Country Link
JP (1) JP2020135886A (ko)
KR (1) KR102602378B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102504537B1 (ko) * 2020-11-25 2023-02-28 (주)디지탈쉽 데이터 분할 기반 데이터 전처리 장치 및 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020048319A (ko) * 2002-03-19 2002-06-22 문의선 분산컴퓨팅에 사용된 정보처리기에 대한 보상 방법 및 장치
KR20050036039A (ko) * 2003-10-14 2005-04-20 주식회사 이파워게이트 3차원 렌더링 처리를 위한 컴퓨팅자원의 중개시스템 및방법, 이에 사용되는 중개서버
KR20100118357A (ko) * 2009-04-28 2010-11-05 인하대학교 산학협력단 분산 처리를 위한 시멘틱 컴퓨팅 기반의 동적 작업 스케줄링 시스템
KR20100123562A (ko) * 2009-05-15 2010-11-24 에스케이 텔레콤주식회사 다자간 컨텐츠 협업 시스템 및 방법
KR101075870B1 (ko) * 2007-04-27 2011-10-25 후지쯔 가부시끼가이샤 신호 출력 장치, 정보 기기 및 신호 출력 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020048319A (ko) * 2002-03-19 2002-06-22 문의선 분산컴퓨팅에 사용된 정보처리기에 대한 보상 방법 및 장치
KR20050036039A (ko) * 2003-10-14 2005-04-20 주식회사 이파워게이트 3차원 렌더링 처리를 위한 컴퓨팅자원의 중개시스템 및방법, 이에 사용되는 중개서버
KR101075870B1 (ko) * 2007-04-27 2011-10-25 후지쯔 가부시끼가이샤 신호 출력 장치, 정보 기기 및 신호 출력 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체
KR20100118357A (ko) * 2009-04-28 2010-11-05 인하대학교 산학협력단 분산 처리를 위한 시멘틱 컴퓨팅 기반의 동적 작업 스케줄링 시스템
KR20100123562A (ko) * 2009-05-15 2010-11-24 에스케이 텔레콤주식회사 다자간 컨텐츠 협업 시스템 및 방법

Also Published As

Publication number Publication date
JP2020135886A (ja) 2020-08-31
KR102602378B1 (ko) 2023-11-16

Similar Documents

Publication Publication Date Title
US20210211487A1 (en) Method and system for sharing avatars through instant messaging application
KR102385081B1 (ko) 메신저 내 플랫폼에 추가된 애플리케이션을 이용하여 대화방에서 정보를 공유하는 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체
JP6861287B2 (ja) 映像のための効果共有方法およびシステム
JP7120790B2 (ja) メッセージと対応するタスクを生成、処理、管理するコンピュータプログラム、及び電子機器
KR102249501B1 (ko) 영상 채팅에 이용 가능한 평판 뱃지를 제공하는 방법, 시스템, 및 컴퓨터 프로그램
US11829809B2 (en) Method, system, and non-transitory computer-readable record medium for managing event messages and system for presenting conversation thread
KR102656642B1 (ko) 대화방 임베디드형 컨텐츠를 제공하는 방법, 시스템, 및 컴퓨터 프로그램
JP7393487B2 (ja) プロフィール写真を推薦する方法とシステム、および非一時的なコンピュータ読み取り可能な記録媒体
KR20220127221A (ko) 이미지 기반 컨텐츠의 개인화 추천을 위한 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체
KR20200120288A (ko) 하나의 대화방에서 다수의 그룹통화를 제공하는 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체
KR102602378B1 (ko) 메신저를 통해 리소스를 요청하는 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체
JP6347636B2 (ja) 画像処理システム、データ管理方法及びプログラム
KR20200076273A (ko) 얼굴 이미지와 메신저 계정의 연동에 기반한 이미지 관리 방법 및 시스템
KR102407665B1 (ko) 이미지에서 추출된 키워드를 이용하여 이미지를 필터링하기 위한 방법과 시스템 및 비-일시적인 컴퓨터 판독 가능한 기록 매체
KR20200122602A (ko) 이미지 검색 및 전달을 위한 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체
KR20200134544A (ko) 대화방의 컨텐츠 저작권을 보호하는 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체
KR20210015449A (ko) 메시지 모니터링을 위한 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체에 저장되는 컴퓨터 프로그램
JP2019220152A (ja) イメージフィルタリング方法、電子機器および記録媒体
KR20210009301A (ko) 사용 정도에 기초하여 대화방을 처리하는 방법과 시스템 및 비-일시적인 컴퓨터 판독가능한 기록 매체
KR102243964B1 (ko) 영상 채팅 중 호감을 표출하는 방법, 시스템, 및 컴퓨터 프로그램
KR102502258B1 (ko) 방송 시청단에서 크로마키를 이용한 개인화 배경을 노출하는 방법과 시스템 및 비-일시적인 컴퓨터 판독 가능한 기록 매체
CN111083095B (zh) 提供认证数据的方法、计算机装置及存储介质
KR20200138977A (ko) 대화방에서 컨텐츠 생성자를 픽할 수 있는 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right