KR102515264B1 - 다국어 입력 가능한 원격 서비스 제공 방법 및 이를 수행하는 서버 - Google Patents

다국어 입력 가능한 원격 서비스 제공 방법 및 이를 수행하는 서버 Download PDF

Info

Publication number
KR102515264B1
KR102515264B1 KR1020210037469A KR20210037469A KR102515264B1 KR 102515264 B1 KR102515264 B1 KR 102515264B1 KR 1020210037469 A KR1020210037469 A KR 1020210037469A KR 20210037469 A KR20210037469 A KR 20210037469A KR 102515264 B1 KR102515264 B1 KR 102515264B1
Authority
KR
South Korea
Prior art keywords
input
remote service
user terminal
text
processor
Prior art date
Application number
KR1020210037469A
Other languages
English (en)
Other versions
KR20220132316A (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 KR1020210037469A priority Critical patent/KR102515264B1/ko
Priority to US17/319,054 priority patent/US20220309253A1/en
Publication of KR20220132316A publication Critical patent/KR20220132316A/ko
Application granted granted Critical
Publication of KR102515264B1 publication Critical patent/KR102515264B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • 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
    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/454Multi-language systems; Localisation; Internationalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Machine Translation (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은, 다국어 입력 가능한 원격 서비스 제공 방법으로서, 상기 방법은, 원격 서비스를 이용 중인 사용자 단말에서 획득되어, 가상 입력창으로 입력되는 텍스트를 수신하는 단계, 상기 텍스트가 포함된 상기 가상 입력창을 표시하는 입력 객체를 생성하는 단계 및 상기 입력 객체를 상기 사용자 단말로 송신하는 단계를 포함하도록 구성된다.

Description

다국어 입력 가능한 원격 서비스 제공 방법 및 이를 수행하는 서버{METHOD FOR PROVIDING REMOTE SERVICE CAPABLE OF MULTILINGUAL INPUT AND SERVER PERFORMING THE SAME}
본 발명은 다국어 입력 가능한 원격 서비스 제공 방법 및 이를 수행하는 서버에 관한 것이다.
인터넷의 급속한 발달은 개인의 통신 속도를 급격히 향상시키는 결과를 가져왔다. 개인의 통신 속도의 향상은 개인 단말(이하, 클라이언트 단말)이, 원격지에 위치한 컴퓨터(호스트 시스템)에 접속하여 대용량의 데이터를 다운로드 또는 업로드 하거나, 원격지 컴퓨터 제어 프로그램을 사용하여 마치 원격지의 컴퓨터에 로컬 로그인한 것과 같이 원격지 컴퓨터를 이용할 수 있는 환경을 제공하고 있다.
또한, 스마트 폰과 같이 이동통신 단말에서 구동되는 어플리케이션이 다양하게 개발되면서, 비교적 낮은 성능의 클라이언트 단말에서 높은 성능을 필요로 하는 어플리케이션을 구동하기 위한 가상화 기술들이 많이 제안되고 있다.
그에 따라, 호스트 시스템은 클라이언트 단말에서 입력되는 모든 인풋 데이터를 처리할 수 있는 환경을 구축하여야 하지만, 클라이언트 단말의 인풋 설정이 상이할 경우 매번 새로운 환경을 구축해야 하는 비효율적인 과정이 선행되어야 한다.
발명의 배경이 되는 기술은 본 발명에 대한 이해를 보다 용이하게 하기 위해 작성되었다. 발명의 배경이 되는 기술에 기재된 사항들이 선행기술로 존재한다고 인정하는 것으로 이해되어서는 안 된다.
이에, 하나의 원격 시스템(호스트 시스템)에서 클라이언트 단말을 위한 환경을 구축하지 않고도 클라이언트 단말의 인풋 데이터를 처리할 수 있는 새로운 방법이 요구된다.
그 결과, 본 발명의 발명자들은, 원격 서비스 시스템에서 사용자 단말(클라이언트 단말)에 구현된 입력 모듈/입력 장치를 이용하여 사용자가 입력하는 텍스트를 획득하고, 이를 이미지 또는 영상 객체로 변환하여 원격 서비스 화면에 출력함으로써, 서비스 제공 효율을 높일 수 방법을 개발하고자 하였다.
특히, 본 발명의 발명자들은 원격 서비스 화면 내 사용자가 입력하는 텍스트를 표시 가능한 영역을 검출하고, 검출된 영역에 텍스트를 실시간으로 출력하여, 다수의 사용자 단말로 원격 서비스를 제공하는 서버의 연산량을 줄일 수 있는 방법을 개발하기에 이르렀다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 다국어 입력 가능한 원격 서비스 제공 방법이 제공된다. 상기 방법은, 원격 서비스를 이용 중인 사용자 단말에서 획득되어, 가상 입력창으로 입력되는 텍스트를 수신하는 단계, 상기 텍스트가 포함된 상기 가상 입력창을 표시하는 입력 객체를 생성하는 단계 및 상기 입력 객체를 상기 사용자 단말로 송신하는 단계를 포함하도록 구성된다.
본 발명의 특징에 따르면, 상기 입력 객체는, 상기 사용자 단말에 표시되는 원격 서비스 화면 중 일부 영역에 대한 이미지 또는 영상일 수 있다.
본 발명의 다른 특징에 따르면, 상기 입력 객체는, 상기 사용자 단말의 디스플레이 장치에 표시되는 복수의 입력창 중 어느 하나의 입력창을 나타내는 이미지 또는 영상일 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 텍스트를 수신하는 단계 이전에, 상기 가상 입력창에 검색을 위한 가이드 텍스트를 제공하는 단계를 더 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 입력 객체는, 상기 사용자 단말에 의해 선택된 위치에 출력 가능할 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 텍스트는, 복수의 언어 중 상기 사용자 단말에 의해 선택된 어느 한 종류의 언어로 구성된 문자일 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 텍스트를 수신하는 단계 이전에, 상기 원격 서비스 화면 내 텍스트 표시가 가능한 가상 입력창의 위치를 검출하는 단계를 더 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 송신하는 단계는, 상기 검출된 가상 입력창의 위치로 상기 입력 객체의 위치를 지정하여 송신하는 단계일 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 텍스트를 수신하는 단계는, 상기 사용자 단말과 연결된 물리적인 입력 장치 또는 사용자 단말의 디스플레이 장치로부터 획득되어, 상기 가상 입력창으로 입력되는 텍스트를 수신하는 단계일 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 텍스트를 수신하는 단계 이전에, 상기 사용자 단말의 요청에 따라 렌더링된 원격 서비스 화면을 제공하는 단계를 더 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 원격 서비스 화면은, 어느 하나의 어플리케이션 또는 웹 페이지에 대한 화면일 수 있다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 다른 실시예에 따른 다국어 입력 가능한 원격 서비스 이용 방법이 제공된다. 상기 방법은, 원격 서비스 서버로부터 원격 서비스 화면 내 가상 입력창의 위치 정보를 수신하는 단계, 상기 가상 입력창에 입력되는 텍스트를 획득하여, 상기 원격 서비스 서버로 송신하는 단계 및 상기 원격 서비스 서버로부터 상기 가상 입력창을 표시하는 입력 객체를 제공받고, 상기 수신된 위치 정보에 맞게 출력하는 단계를 포함하도록 구성된다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 또 다른 실시예에 따른 서비스 제공 서버가 제공된다. 상기 서버는, 통신 인터페이스, 메모리 및 상기 통신 인터페이스, 상기 메모리와 동작 가능하게 연결된 프로세서를 포함하고, 상기 프로세서는, 원격 서비스를 이용 중인 사용자 단말에서 획득되어, 가상 입력창으로 입력되는 텍스트를 수신하고, 상기 텍스트가 포함된 상기 가상 입력창을 표시하는 입력 객체를 생성하고, 상기 입력 객체를 상기 사용자 단말로 송신하도록 구성된다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 또 다른 실시예에 따른 사용자 단말이 제공된다. 상기 단말은, 통신 인터페이스, 메모리 및 상기 통신 인터페이스, 상기 메모리와 동작 가능하게 연결된 프로세서를 포함하고, 상기 프로세서는, 원격 서비스 서버로부터 원격 서비스 화면 내 가상 입력창의 위치를 선택 받고, 상기 가상 입력창에 입력되는 텍스트를 획득하여, 상기 원격 서비스 서버로 송신하고, 상기 원격 서비스 서버로부터 상기 가상 입력창을 표시하는 입력 객체를 제공받아 출력하도록 구성된다.
기타 실시예의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명은 원격 서비스를 제공하는 서버에 사용자 단말에 설치된 입력 장치/입력 인터페이스가 구현되어 있지 않더라도, 원격 서비스 화면 내 사용자가 입력하고자 하는 텍스트를 입력 텍스트로 출력할 수 있다.
또한, 본 발명은 원격 서비스를 제공하는 서버에 언어별 입력 프로그램을 설치할 필요가 없이, 사용자 단말에서 획득된 텍스트를 이미지 또는 영상 입력 객체로 생성하여 제공하는 동작만을 수행하는 바, 원격 서비스를 구현하기 위한 개발 비용을 줄일 수 있으며, 서비스 제공 서버의 연산량을 줄일 수도 있다.
또한, 본 발명은 하나의 원격 서비스 제공 엔진을 통해 동시 다발적으로 많은 사용자 단말에 원격 서비스를 제공할 수 있다.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 발명 내에 포함되어 있다.
도 1은 종래 다국어 입력이 가능한 원격 서비스 제공 방법의 개요를 설명하기 위한 개략도이다.
도 2는 본 발명의 일 실시예에 따른 다국어 입력 가능한 원격 서비스 제공 시스템의 개략도이다.
도 3은 본 발명의 일 실시예에 따른 사용자 단말의 구성을 나타낸 블록도이다.
도 4는 본 발명의 일 실시예에 따른 원격 서비스 서버의 구성을 나타낸 블록도이다.
도 5는 본 발명의 일 실시예에 따른 원격 서비스 제공 방법의 순서도이다.
도 6 내지 도 9b는 본 발명의 일 실시예에 따른 원격 서비스 제공 화면을 설명하기 위한 예시도들이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조부호가 사용될 수 있다.
본 문서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "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)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 다른 실시예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 문서에 기재된 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 문서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 실시예들을 배제하도록 해석될 수 없다.
본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.
본 명세서의 해석의 명확함을 위해, 이하에서는 본 명세서에서 사용되는 용어들을 정의하기로 한다.
한편, 본 발명을 설명하기에 앞서 본 발명에서 정의하는 “원격 서비스”란 네트워크 연결이 수립된 호스트(Host)-클라이언트(Client) 사이에서, 원격지의 호스트 시스템이 클라이언트 단말 측의 요청에 따라 어플리케이션 또는 웹 페이지를 실행하고, 그 화면을 클라이언트 단말에 제공해줌으로써, 사용자에게 마치 클라이언트 단말에서 어플리케이션 또는 웹 페이지가 실행된 것과 같은 경험을 제공해주는 일련의 서비스인 것으로 이해될 수 있다.
도 1은 종래 다국어 입력이 가능한 원격 서비스 제공 방법의 개요를 설명하기 위한 개략도이다.
도 1을 참조하면, 종래 원격 서비스 시스템(1)은 원격 서비스를 제공받는 복수의 클라이언트 시스템(사용자 단말)(10-1)(10-2)(10-3)과 원격 서비스를 제공하는 호스트 시스템(서비스 제공 서버)(20)을 포함하며, 서비스 제공 서버(20)는 사용자 단말의 요청을 처리하기 위한 브라우저 엔진(25)을 포함할 수 있다.
종래의 브라우저 엔진(25)은 복수의 사용자 단말(10-1)(10-2)(10-3)로부터 서로 다른 종류의 언어를 입력 받아, 각각의 원격 서비스 화면(15)에 제공할 수 있도록 언어 별 언어 입력기(25-1)(25-2)(25-3)를 개발 및 설치하여야 했으며, 그에 따른 비용이 증가되는 문제점이 존재한다.
만약, 원격 서비스를 제공받는 사용자 단말의 수가 증가할 경우, 서비스 제공 서버(20)는 복수의 브라우저 엔진(25)을 구비해야 하며, 그 각각에 언어 입력기를 개발 및 설치해야 하는 비용이 추가됨에 따라, 원격 서비스를 제공하고 운영하는데 있어 비효율적인 측면이 존재한다.
이에, 본 발명에서는 원격 서비스를 효율적으로 운영하기 위한 시스템을 개발하였으며, 이하 설명하도록 한다.
도 2는 본 발명의 일 실시예에 따른 다국어 입력 가능한 원격 서비스 제공 시스템의 개략도이다.
도 2를 참조하면, 다국어 입력 가능한 원격 서비스 제공 시스템(이하, 원격 서비스 제공 시스템(1000)은 복수의 사용자 단말(100-1)(100-2)(100-3) 및 원격 서비스 서버(200)를 포함할 수 있다.
원격 서비스 제공 시스템(1000)은 원격 서비스 서버(200)에 언어 입력기를 설치하지 않은 상태에서 복수의 사용자 단말(100-1)(100-2)(100-3)로 원격 서비스를 제공할 수 있으며, 사용자 단말(100)의 인풋 데이터는 각 단말에 내장된 입력기를 이용할 수 있다. 여기서, 복수의 사용자 단말(100-1)(100-2)(100-3)은 스마트 폰, PC, 태블릿 PC 등 원격 서비스 화면을 출력할 수 있는 디스플레이 장치를 구비한 각종 전자 장치를 포함할 수 있다.
원격 서비스 제공 시스템(1000)은 제1 사용자 단말(100-1)에 연결된 키보드(144), 제2 사용자 단말(100-2)에 띄워진 가상 키보드(143), 제3 사용자 단말(100-3)에 연결된 마우스 또는 트랙패드(144)를 통해 “구름”을 의미하는 영어, 중국어, 태국어 등의 언어를 획득하여 원격 서비스 서버(200)로 제공할 수 있으며, 원격 서비스 서버(200) 내 샌드박스 기반의 엔진(220)은 언어별 텍스트 전체를 이미지로 나타내는 입력 객체를 생성하여 원격 서비스 화면(153) 각각에 제공할 수 있다.
즉, 원격 서비스 제공 시스템(1000)은 복수의 사용자 단말(100-1)(100-2)(100-3) 내 원격 서비스 화면(153)만을 보았을 때 종래의 시스템과 동일한 것으로 보여질 수 있으나, 사용자 단말(100)에서 이미 사용되고 있는 언어 별 입력기를 이용하는 바, 원격 서비스에서 인풋 데이터를 처리하기 위한 비용과 자원을 절약할 수 있다.
지금까지 본 발명의 일 실시예에 따른 원격 서비스 제공 시스템(1000)의 구성에 대하여 간략하게 설명하였으며, 이하 가상의 컴퓨팅 서비스(원격 서비스)를 이용하는 사용자 단말(100)과 이러한 서비스를 제공하는 원격 서비스 서버(200)의 구성에 대하여 도 3 내지 도 9를 참조하여 구체적으로 설명하도록 한다.
도 3은 본 발명의 일 실시예에 따른 사용자 단말의 구성을 나타낸 블록도이고, 도 4는 본 발명의 일 실시예에 따른 원격 서비스 서버의 구성을 나타낸 블록도이며, 도 5는 본 발명의 일 실시예에 따른 원격 서비스 제공 방법의 순서도이며, 도 6 내지 도 9b는 본 발명의 일 실시예에 따른 원격 서비스 제공 화면을 설명하기 위한 예시도들이다.
먼저, 도 3을 참조하면, 사용자 단말(100)은 메모리 인터페이스(110), 하나 이상의 프로세서(120) 및 주변 인터페이스(130)를 포함할 수 있다. 사용자 단말(100) 내의 다양한 컴포넌트들은 하나 이상의 통신 버스 또는 신호 라인에 의해 연결될 수 있다.
메모리 인터페이스(110)는 메모리(150)에 연결되어 프로세서(120)로 다양한 데이터를 전할 수 있다. 여기서, 메모리(150)는 플래시 메모리 타입, 하드디스크 타입, 멀티미디어 카드 마이크로 타입, 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램, SRAM, 롬, EEPROM, PROM, 네트워크 저장 스토리지, 클라우드, 블록체인 데이터베이스 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
다양한 실시예에서, 메모리(150)는 운영 체제(151), 통신 모듈(152), 그래픽 사용자 인터페이스 모듈(GUI)(153), 센서 처리 모듈(154), 전화 모듈(155) 및 애플리케이션(156) 중 적어도 하나 이상을 저장할 수 있다. 구체적으로, 운영 체제(151)는 기본 시스템 서비스를 처리하기 위한 명령어 및 하드웨어 작업들을 수행하기 위한 명령어를 포함할 수 있다. 통신 모듈(152)은 다른 하나 이상의 디바이스, 컴퓨터 및 서버 중 적어도 하나와 통신할 수 있다. 그래픽 사용자 인터페이스 모듈(GUI)(153)은 그래픽 사용자 인터페이스를 처리할 수 있다. 센서 처리 모듈(154)은 센서 관련 기능(예를 들어, 하나 이상의 마이크(192)를 이용하여 수신된 음성 입력을 처리함)을 처리할 수 있다. 전화 모듈(155)은 전화 관련 기능을 처리할 수 있다. 애플리케이션 모듈(156)은 사용자 애플리케이션의 다양한 기능들, 예컨대 전자 메시징, 웹 브라우징, 미디어 처리, 탐색, 이미징, 기타 프로세스 기능을 수행할 수 있다. 아울러, 사용자 단말(100)은 메모리(150)에 어느 한 종류의 서비스와 연관된 하나 이상의 소프트웨어 애플리케이션(156-1, 156-2)을 저장할 수 있다.
다양한 실시예에서, 메모리(150)는 디지털 어시스턴트 클라이언트 모듈(157)(이하, DA 클라이언트 모듈)을 저장할 수 있으며, 그에 따라 디지털 어시스턴트의 클라이언트 측의 기능을 수행하기 위한 명령어 및 다양한 사용자 데이터(158)(예. 사용자 맞춤형 어휘 데이터, 선호도 데이터, 사용자의 전자 주소록, 할 일 목록, 쇼핑 리스트 등과 같은 기타 데이터)를 저장할 수 있다.
한편, DA 클라이언트 모듈(157)은 사용자 단말(100)에 구비된 다양한 사용자 인터페이스(예. I/O 서브시스템(140))를 통해 사용자의 음성 입력, 텍스트 입력, 터치 입력 및/또는 제스처 입력을 획득할 수 있다.
또한, DA 클라이언트 모듈(157)은 시청각적, 촉각적 형태의 데이터를 출력할 수 있다. 예를 들어, DA 클라이언트 모듈(157)은 음성, 소리, 알림, 텍스트 메시지, 메뉴, 그래픽, 비디오, 애니메이션 및 진동 중 적어도 둘 하나 이상의 조합으로 이루어진 데이터를 출력할 수 있다. 아울러, DA 클라이언트 모듈(157)은 통신 서브시스템(180)을 이용하여 디지털 어시스턴트 서버(미도시)와 통신할 수 있다.
다양한 실시예에서, DA 클라이언트 모듈(157)은 사용자 입력과 연관된 상황(context)을 구성하기 위하여 다양한 센서, 서브시스템 및 주변 디바이스로부터 사용자 단말(100)의 주변 환경에 대한 추가 정보를 수집할 수 있다. 예를 들어, DA 클라이언트 모듈(157)은 사용자 입력과 함께 상황 정보를 디지털 어시스턴트 서버에 제공하여 사용자의 의도를 추론할 수 있다. 여기서, 사용자 입력에 동반될 수 있는 상황 정보는 센서 정보, 예를 들어, 광(lighting), 주변 소음, 주변 온도, 주변 환경의 이미지, 비디오 등을 포함할 수 있다. 다른 예를 들어, 상황 정보는 사용자 단말(100)의 물리적 상태(예. 디바이스 배향, 디바이스 위치, 디바이스 온도, 전력 레벨, 속도, 가속도, 모션 패턴, 셀룰러 신호 강도 등)을 포함할 수 있다. 또 다른 예를 들어, 상황 정보는 사용자 단말(100)의 소프트웨어 상태에 관련된 정보(예. 사용자 단말(100)에서 실행 중인 프로세스, 설치된 프로그램, 과거 및 현재 네트워크 활동성, 백그라운드 서비스, 오류 로그, 리소스 사용 등)를 포함할 수 있다.
다양한 실시예에서, 메모리(150)는 추가 또는 삭제된 명령어를 포함할 수 있으며, 나아가 사용자 단말(100)도 도 3에 도시된 구성 외에 추가 구성을 포함하거나, 일부 구성을 제외할 수도 있다.
프로세서(120)는 사용자 단말(100)의 전반적인 동작을 제어할 수 있으며, 메모리(150)에 저장된 저장된 어플리케이션 또는 프로그램을 구동하여 다국어 입력 가능한 원격 서비스를 이용하기 위한 다양한 명령들을 수행할 수 있다.
실시예에 따라, 프로세서(120)는 통신 모듈(152)을 통해 원격 서비스 서버(200)로부터 원격 서비스 화면 내 텍스트가 입력될 가상 입력창의 위치 정보를 수신한 뒤, 사용자의 입력에 의해 가상 입력창에 입력되는 텍스트를 획득하여 이를 원격 서비스 서버(200)로 송신할 수 있다. 구체적으로, 프로세서(120)는 “검색, 전달, 확인" 등 입력 종료와 관련된 의미를 내포하는 사용자 입력을 수신하는 경우, 통신 모듈(152)을 통해 입력이 완료된 텍스트를 원격 서비스 서버(200)로 송신할 수 있다. 여기서, 텍스트는 복수의 언어 중 사용자 단말(100)에 의해 선택된 어느 한 종류의 언어로 구성된 문자이며, 텍스트를 포함하는 각종 사용자의 입력은 사용자 단말(100)과 연결된 키보드, 마우스, 트랙 패드와 같은 물리적인 입력 장치 또는 사용자 단말(100)의 디스플레이 장치(터치 스크린(143))로부터 획득될 수 있다.
프로세서(120)는 통신 모듈(152)을 통해 가상 입력창을 표시하는 입력 객체를 제공 받고, 수신된 위치 정보에 맞게 입력 객체를 출력할 수 있다. 구체적으로, 사용자 단말(100)에 표시되고 있는 원격 서비스 화면은 원격 서비스 서버(200)에 의해 실시간으로 렌더링된 어플리케이션 화면 또는 웹 페이지 화면 인 바, 입력 객체는 사용자 단말(100)에 표시되는 원격 서비스 화면 중 일부 영역에 대한 이미지일 수 있다.
이와 관련하여, 도 7을 참조하면, 입력 객체란 사용자 단말(100) 내 원격 서비스 화면 속에서 텍스트를 입력할 수 있도록 정의된 ①입력창의 이미지와 사용자 단말(100)에서 획득한 ②텍스트를 포함하는 이미지일 수 있다.
즉, 입력 객체는 사용자 단말(100)의 디스플레이 장치에 표시되는 복수의 입력창 중 어느 하나의 입력창을 나타내는 이미지일 수 있으며, 사용자 단말(100)에서 어떠한 텍스트를 획득했는지에 따라, 입력 객체(71)(72)(73)는 입력창 내 각종 언어를 포함하여 제공될 수 있다.
프로세서(120)는 “검색, 전달, 확인” 등의 사용자 입력을 수신하지 않고, 실시간으로 텍스트를 획득하여 통신 모듈(152)을 통해 원격 서비스 서버(200)로 송신할 수 있으며, 이를 포함하는 입력 객체를 실시간으로 수신할 수도 있다. 그에 따라 입력 객체는 원격 서비스 화면 중 일부 영역에 대한 영상일 수 있다.
예를 들어, 프로세서(120)가 “서울시 날씨”를 실시간으로 획득하여 통신 모듈(152)을 통해 원격 서비스 서버(200)로 송신하는 경우, 원격 서비스 서버(200)로부터 입력 객체에 대한 영상을 수신하여 터치 스크린(143)에 재생할 수 있다.
다시 도 3을 참조하면, 프로세서(120)는 CPU(Central Processing Unit)나 AP(Application Processor)와 같은 연산 장치에 해당할 수 있다. 또한, 프로세서(120)는 다양한 연산 장치가 통합된 SoC(System on Chip)와 같은 통합 칩(Integrated Chip (IC))의 형태로 구현될 수 있다.
주변 인터페이스(130)는 다양한 센서, 서브 시스템 및 주변 디바이스와 연결되어, 사용자 단말(100)이 다양한 기능을 수행할 수 있도록 데이터를 제공해 줄 수 있다. 여기서, 사용자 단말(100)이 어떠한 기능을 수행한다는 것은 프로세서(120)에 의해 수행되는 것으로 이해될 수 있다.
주변 인터페이스(130)는 모션 센서(160), 조명 센서(광 센서)(161) 및 근접 센서(162)로부터 데이터를 제공 받을 수 있으며, 이를 통해, 사용자 단말(100)은 배향, 광, 및 근접 감지 기능 등을 수행할 수 있다. 다른 예를 들어, 주변 인터페이스(130)는 기타 센서들(163)(포지셔닝 시스템-GPS 수신기, 온도 센서, 생체인식 센서)로부터 데이터를 제공 받을 수 있으며, 이를 통해 사용자 단말(100)이 기타 센서들(163)과 관련된 기능들을 수행할 수 있다.
다양한 실시예에서, 사용자 단말(100)은 주변 인터페이스(130)와 연결된 카메라 서브시스템(170) 및 이와 연결된 광학 센서(171)를 포함할 수 있으며, 이를 통해 사용자 단말(100)은 사진 촬영 및 비디오 클립 녹화 등의 다양한 촬영 기능을 수행할 수 있다.
다양한 실시예에서, 사용자 단말(100)은 주변 인터페이스(130)와 연결된 통신 서브 시스템(180)을 포함할 수 있다. 통신 서브 시스템(180)은 하나 이상의 유/무선 네트워크로 구성되며, 다양한 통신 포트, 무선 주파수 송수신기, 광학 송수신기를 포함할 수 있다.
다양한 실시예에서, 사용자 단말(100)은 주변 인터페이스(130)와 연결된 오디오 서브 시스템(190)을 포함하며, 이러한 오디오 서브 시스템(190)은 하나 이상의 스피커(191) 및 하나 이상의 마이크(192)를 포함함으로써, 사용자 단말(100)은 음성 작동형 기능, 예컨대 음성 인식, 음성 복제, 디지털 녹음, 및 전화 기능 등을 수행할 수 있다.
다양한 실시예에서, 사용자 단말(100)은 주변 인터페이스(130)와 연결된 I/O 서브시스템(140)을 포함할 수 있다. 예를 들어, I/O 서브시스템(140)은 터치 스크린 제어기(141)를 통해 사용자 단말(100)에 포함된 터치 스크린(143)을 제어할 수 있다. 일 예로서, 터치 스크린 제어기(141)는 정전용량형, 저항형, 적외형, 표면 탄성파 기술, 근접 센서 어레이 등과 같은 복수의 터치 감지 기술 중 어느 하나의 기술을 사용하여 사용자의 접촉 및 움직임 또는 접촉 및 움직임의 중단을 검출할 수 있다. 다른 예를 들어, I/O 서브시스템(140)은 기타 입력 제어기(들)(142)를 통해 사용자 단말(100)에 포함된 기타 입력/제어 디바이스(144)를 제어할 수 있다. 일 예로서, 기타 입력 제어기(들)(142)은 하나 이상의 버튼, 로커 스위치(rocker switches), 썸 휠(thumb-wheel), 적외선 포트, USB 포트 및 스타일러스 등과 같은 포인터 디바이스를 제어할 수 있다.
다음으로, 도 4를 참조하면, 원격 서비스 서버(200)는 통신 인터페이스(210), 메모리(220), I/O 인터페이스(230) 및 프로세서(240)를 포함할 수 있으며, 각 구성은 하나 이상의 통신 버스 또는 신호 라인을 통해 서로 통신할 수 있따.
통신 인터페이스(210) 유/무선 통신 네트워크를 통해 복수의 사용자 단말(100)과 연결되어 데이터를 주고 받을 수 있다. 예를 들어, 통신 인터페이스(210)는 사용자 단말(100)로부터 텍스트를 수신할 수 있으며, 이를 기초로 생성된 입력 객체를 사용자 단말(100)로 송신할 수 있다.
한편, 이러한 데이터의 송수신을 가능하게 하는 통신 인터페이스(210)는 유선 통신 포트(211) 및 무선 회로(212)를 포함하며, 여기 유선 통신 포트(211)는 하나 이상의 유선 인터페이스, 예를 들어, 이더넷, 범용 직렬 버스(USB), 파이어와이어 등을 포함할 수 있다. 또한, 무선 회로(212)는 RF 신호 또는 광학 신호를 통해 외부 디바이스와 데이터를 송수신할 수 있다. 아울러, 무선 통신은 복수의 통신 표준, 프로토콜 및 기술, 예컨대 GSM, EDGE, CDMA, TDMA, 블루투스, Wi-Fi, VoIP, Wi-MAX, 또는 임의의 기타 적합한 통신 프로토콜 중 적어도 하나를 사용할 수 있다.
메모리(220)는 원격 서비스 서버(200)에서 사용되는 다양한 데이터를 저장할 수 있다. 예를 들어, 메모리(220)는 샌드박스 기반의 엔진 별로 원격 서비스를 제공 중인 사용자 단말(100)의 식별 정보를 저장할 수 있다.
다양한 실시예에서, 메모리(220)는 각종 데이터, 명령 및 정보를 저장할 수 있는 휘발성 또는 비휘발성 기록 매체를 포함할 수 있다. 예를 들어, 메모리(220)는 플래시 메모리 타입, 하드디스크 타입, 멀티미디어 카드 마이크로 타입, 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램, SRAM, 롬, EEPROM, PROM, 네트워크 저장 스토리지, 클라우드, 블록체인 데이터베이스 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
다양한 실시예에서, 메모리(220)는 운영 체제(221), 통신 모듈(222), 사용자 인터페이스 모듈(223) 및 하나 이상의 애플리케이션(224) 중 적어도 하나의 구성을 저장할 수 있다.
운영 체제(221)(예. LINUX, UNIX, MAC OS, WINDOWS, VxWorks 등의 내장형 운영 체제)는 일반적인 시스템 작업(예. 메모리 관리, 저장 디바이스 제어, 전력 관리 등)를 제어하고 관리하기 위한 다양한 소프트웨어 컴포넌트 및 드라이버를 포함할 수 있으며, 다양한 하드웨어, 펌웨어, 및 소프트웨어 컴포넌트 간의 통신을 지원할 수 있다.
통신 모듈(223)은 통신 인터페이스(210)를 통해 다른 디바이스와 통신을 지원할 수 있다. 통신 모듈(220)은 통신 인터페이스(210)의 유선 통신 포트(211) 또는 무선 회로(212)에 의해 수신되는 데이터를 처리하기 위한 다양한 소프트웨어 구성 요소들을 포함할 수 있다.
사용자 인터페이스 모듈(223)은 I/O 인터페이스(230)를 통해 키보드, 터치 스크린, 마이크 등으로부터 사용자의 요청 또는 입력을 수신하고, 디스플레이 상에 사용자 인터페이스를 제공할 수 있다.
애플리케이션(224)은 하나 이상의 프로세서(240)에 의해 실행되도록 구성되는 프로그램 또는 모듈을 포함할 수 있다. 여기서, 원격 서비스를 제공하기 위한 애플리케이션은 서버 팜(server farm) 상에서 될 수 있다.
I/O 인터페이스(230)는 원격 서비스 서버(200)의 입출력 디바이스(미도시), 예컨대 디스플레이, 키보드, 터치 스크린 및 마이크 중 적어도 하나를 사용자 인터페이스 모듈(223)과 연결할 수 있다. I/O 인터페이스(230)는 사용자 인터페이스 모듈(223)과 함께 사용자 입력(예. 음성 입력, 키보드 입력, 터치 입력 등)을 수신하고, 수신된 입력에 따른 명령을 처리할 수 있다.
프로세서(240)는 통신 인터페이스(210), 메모리(220) 및 I/O 인터페이스(230)와 연결되어 원격 서비스 서버(200)의 전반적인 동작을 제어할 수 있으며, 메모리(220)에 저장된 애플리케이션 또는 프로그램을 통해 원격 서비스에서 다국어 입력이 가능하도록 하기 위한 다양한 명령들을 수행할 수 있다.
프로세서(240)는 CPU(Central Processing Unit)나 AP(Application Processor)와 같은 연산 장치에 해당할 수 있다. 또한, 프로세서(240)는 다양한 연산 장치가 통합된 SoC(System on Chip)와 같은 통합 칩(Integrated Chip (IC))의 형태로 구현될 수 있다. 또는 프로세서(240)는 NPU(Neural Processing Unit)과 같이 인공 신경망 모델을 계산하기 위한 모듈을 포함할 수 있다.
이하에서는, 프로세서(240)가 사용자 단말(100)로 다국어 입력이 가능한 원격 서비스를 제공하는 방법에 대하여 설명하도록 한다.
도 5를 참조하면, 프로세서(240)는 샌드박스 기반의 엔진에서 사용자 단말(100)의 요청에 따라 어느 하나의 서비스 어플리케이션 또는 웹 페이지를 실행하고, 실행된 화면을 렌더링하여 사용자 단말(100)에 제공할 수 있다(S101). 즉, 프로세서(240)는 사용자 단말(100)로 어느 하나의 어플리케이션 또는 웹 페이지에 대한 화면을 원격 서비스 화면으로 제공할 수 있다.
사용자 단말(100)과 원격 서비스 연결이 수립되면, 프로세서(240)는 사용자 단말(100)로 현재 제공 중인 화면 내에서 가상 입력창을 삽입할 수 있는 위치를 검출하고(S102), 사용자 단말(100)로 가상 입력창의 위치 정보를 제공할 수 있다(S103).
도 6을 참조하면, 프로세서(240)는 웹 페이지로 구성된 원격 서비스 화면(61)의 소스 코드를 분석하여, 다음과 같이 텍스트 표시가 가능하여 “INPUT”으로 정의된 영역(62)(63)을 검출할 수 있으며, 해당 영역을 가상 입력창을 삽입할 수 있는 영역으로 지정할 수 있다.
만약, 가상 입력창을 삽입할 수 있는 영역이 하나인 경우, 프로세서(240)는 해당 영역(63)에 대한 위치 정보(예. X-Y 좌표 정보)를 사용자 단말(100)로 제공할 수 있으며, 그에 따라 사용자 단말(100)의 서비스 화면(61) 내에서 커서의 위치가 해당 위치로 이동할 수 있다.
이 외에도, 도 8을 참조하면, 프로세서(240)는 검출 결과에 따라 가상 입력창을 삽입할 수 있는 영역이 복수인 경우, 프로세서(240)는 복수의 영역에 대한 위치 정보(81)(82)(83)를 서비스 화면 내 동시에 제공해줄 수 있으며, 통신 모듈(220)을 통해 사용자 단말(100)로부터 이 중 하나의 선택 정보를 수신할 수 있다. 예를 들어, 프로세서(240)는 서비스 화면 내에서 가상 입력창을 삽입할 수 있는 영역에 특정 아이콘 또는 강조선을 삽입하여 제공할 수 있다.
아울러, 프로세서(240)는 검출된 영역에 사용자에 의한 텍스트 입력을 보조하기 위해, 가상 입력창에 검색을 위한 가이드 텍스트를 제공할 수 있으며, 가이드 텍스트는 서비스 화면 내 가상 입력창 영역으로 검출된 영역의 소스 코드를 토대로 결정될 수 있다. 예를 들어, 프로세서(240)는 가상 입력창을 삽입할 수 있는 어느 하나의 영역(83)에 강조 표시된 바와 같이 가이드 텍스트를 제공할 수 있다.
다시 도 5를 참조하면, 가상 입력창의 위치 정보를 제공 받은 사용자 단말(100)은 사용자에 의해 가상 입력창의 위치를 설정할 수 있으며(S104), 설정된 위치로 사용자에 의해 입력되는 텍스트를 획득하여(S105), 이를 원격 서비스 서버(200)로 제공할 수 있다(S106). 여기서 텍스트란 복수의 언어 중 사용자 단말(100)에 의해 선택된 어느 한 종류의 언어로 구성된 문자이며, 텍스트를 포함하는 각종 사용자의 입력은 사용자 단말(100)과 연결된 키보드, 마우스, 트랙 패드와 같은 물리적인 입력 장치 또는 사용자 단말(100)의 디스플레이 장치로부터 획득될 수 있다.
S106 단계를 통해 텍스트를 획득한 프로세서(240)는 텍스트가 포함된 가상 입력창을 표시하는 입력 객체를 생성하고(S107), 이를 사용자 단말(100)로 제공할 수 있다(S108). 실시예에 따라, 입력 객체는 사용자 단말(100)에 표시되는 원격 서비스 화면 중 일부 영역에 대한 이미지 또는 영상일 수 있으며, 도 7과 같이 입력창을 나타내는 이미지와 함께 사용자 단말(100)에서 획득된 텍스트를 포함한 이미지일 수 있다.
S108 단계를 통해 텍스트를 획득한 사용자 단말(100)은 입력 객체의 유형에 따라 입력 객체를 출력하거나 스트리밍 할 수 있다(S109). 즉, 프로세서(240)는 샌드박스 기반의 엔진에서 텍스트 전체를 이미지화 또는 영상화하여 입력 객체를 생성 및 제공하는 동작을 통해, 사용자에게 마치 원격 서비스 화면 내에서 입력기가 설치되어 동작하는 것과 같은 경험을 제공할 수 있다.
한편, 도 9a를 참조하면, 프로세서(240)가 제공하는 원격 서비스 화면은 앞선 예시와 다르게 다음과 같은 어플리케이션 화면(91)일 수도 있다. 프로세서(240)는 가상 입력창을 삽입하고, 가상 입력창을 삽입할 수 있는 위치(92)를 검출할 수 있으며, 사용자 단말(100)로부터 검출된 가상 입력창의 위치에 맞게 입력 객체로 삽입될 수 있는 텍스트를 수신할 수 있다.
다른 실시예에 따라, 프로세서(240)는 가상 입력창의 위치를 지정 받지 않고, 사용자 단말(100)로부터 선택 받은 위치를 가상 입력창의 위치로 설정하고, 설정된 위치에 입력 객체를 제공할 수 있다. 예를 들어, 도 9b를 참조하면, 프로세서(240)는 도면 부호 94로 기재된 영역을 가상 입력창을 삽입할 수 있는 위치로 검출하거나, 원격 서비스 화면(93) 내에 사용자 단말(100)로부터 어느 일 지점을 선택 받고, 선택 받은 위치에 입력 객체(95)를 생성하여 제공할 수 있다.
지금까지 본 발명의 실시예에 따른 원격 서비스 서버(200)의 구성에 대하여 설명하였다. 본 발명에 따르면, 비대면 팬미팅을 진행하기 전, 팬미팅에 참여하는 사용자들을 관리자에 의해 확인할 수 있는 인터페이스를 자동으로 제공함으로써, 관리자가 팬미팅을 상시 모니터링하지 않고도 규제 대상이 되는 사용자들을 차단할 수 있다.
지금까지 본 발명의 실시예에 따른 다국어 입력이 가능한 원격 서비스 제공 방법에 대하여 설명하였다. 본 발명에 따르면, 원격 서비스를 제공하는 서버에 사용자 단말에 설치된 입력 장치/입력 인터페이스가 구현되어 있지 않더라도, 원격 서비스 화면 내 사용자가 입력하고자 하는 텍스트를 입력 텍스트로 출력할 수 있으며, 이를 통해 원격 서비스를 제공하는 시스템의 개발/운영 비용을 절감시킬 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 일 실시예들을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형 실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
1, 1000: 원격 서비스 제공 시스템
10-1, 10-2, 10-3, 100-1, 100-2, 100-3: 제1, 2, 3 사용자 단말
15: 원격 서비스 화면 인터페이스
25: 브라우저 엔진
25-1, 25-2, 25-3: 언어 입력기
100: 사용자 단말
110: 메모리 인터페이스 120: 프로세서
130: 주변 인터페이스 140: I/O 서브 시스템
141: 터치 스크린 제어기 142: 기타 입력 제어기
143: 터치 스크린
144: 기타 입력 제어 디바이스
150: 메모리 151: 운영 체제
152: 통신 모듈 153: GUI 모듈
154: 센서 처리 모듈 155: 전화 모듈
156: 애플리케이션들
156-1, 156-2: 애플리케이션
157: 디지털 어시스턴트 클라이언트 모듈
158: 사용자 데이터
160: 모션 센서 161: 조명 센서
162: 근접 센서 163: 기타 센서
17: 카메라 서브 시스템 171: 광학 센서
180: 통신 서브 시스템
190: 오디오 서브 시스템
191: 스피커 192: 마이크
200: 원격 서비스 서버
210: 통신 인터페이스
211: 유선 통신 포트 212: 무선 회로
220: 메모리
221: 운영 체제 222: 통신 모듈
223: 사용자 인터페이스 모듈 224: 애플리케이션
230: I/O 인터페이스 240: 프로세서

Claims (19)

  1. 원격 서비스 서버의 프로세서에 의해 수행되는 원격 다국어 입력 서비스를 제공하는 방법으로서,
    상기 프로세서를 통해 사용자 단말의 원격 서비스 요청에 따라 렌더링된 원격 서비스 화면을 상기 사용자 단말로 제공하는 단계;
    상기 프로세서를 통해 상기 원격 서비스 화면 내 텍스트 표시 및 입력이 가능한 적어도 하나의 인풋 영역을 검출하는 단계;
    상기 프로세서와 동작 가능하게 연결된 통신 인터페이스를 통해 상기 사용자 단말에서 획득되는 텍스트 및 상기 텍스트가 입력될 어느 하나의 인풋 영역에 대한 선택 정보를 수신하는 단계;
    상기 프로세서를 통해 수신된 선택 정보에 대응되는 인풋 영역의 이미지 및 수신된 텍스트를 포함하는 입력 객체를 생성하는 단계; 및
    상기 프로세서를 통해 생성된 입력 객체가 상기 인풋 영역에 가상 입력창 형태로 삽입된 상기 원격 서비스 화면을 렌더링하여 상기 사용자 단말로 제공하는 단계; 를 포함하며,
    상기 입력 객체는, 상기 사용자 단말에 표시되는 원격 서비스 화면 중 일부의 상기 인풋 영역에 대한 이미지 또는 영상이고,
    상기 텍스트는, 복수의 언어 중 상기 사용자 단말에 의해 선택된 어느 한 종류의 언어로 구성된 문자인, 다국어 입력 가능한 원격 서비스 제공 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 입력 객체는,
    상기 사용자 단말의 디스플레이 장치에 표시되는 복수의 입력창 중 어느 하나의 입력창을 나타내는 이미지 또는 영상인, 다국어 입력 가능한 원격 서비스 제공 방법.
  4. 제1항에 있어서,
    상기 텍스트를 수신하는 단계 이전에,
    상기 프로세서를 통해 상기 가상 입력창에 검색을 위한 가이드 텍스트를 제공하는 단계, 를 더 포함하는 다국어 입력 가능한 원격 서비스 제공 방법.
  5. 제1항에 있어서,
    상기 입력 객체는,
    상기 사용자 단말에 의해 선택된 위치에 출력 가능한, 다국어 입력 가능한 원격 서비스 제공 방법.
  6. 삭제
  7. 삭제
  8. 삭제
  9. 제1항에 있어서,
    상기 텍스트를 수신하는 단계는,
    상기 통신 인터페이스를 통해 상기 사용자 단말과 연결된 물리적인 입력 장치 또는 사용자 단말의 디스플레이 장치로부터 획득되는 텍스트를 수신하는 단계인, 다국어 입력 가능한 원격 서비스 제공 방법.
  10. 삭제
  11. 제1항에 있어서,
    상기 원격 서비스 화면은,
    어느 하나의 어플리케이션 또는 웹 페이지에 대한 화면인, 다국어 입력이 가능한 원격 서비스 제공 방법.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 통신 인터페이스;
    메모리; 및
    상기 통신 인터페이스, 상기 메모리와 동작 가능하게 연결된 프로세서; 를 포함하고,
    상기 프로세서는,
    사용자 단말의 원격 서비스 요청에 따라 렌더링된 원격 서비스 화면을 상기 사용자 단말로 제공하고, 상기 원격 서비스 화면 내 텍스트 표시가 가능한 적어도 하나의 인풋 영역을 검출하고, 상기 통신 인터페이스를 통해 상기 사용자 단말에서 획득되는 텍스트 및 상기 텍스트가 입력될 어느 하나의 인풋 영역에 대한 선택 정보를 수신하고, 수신된 선택 정보에 대응되는 인풋 영역의 이미지 및 수신된 텍스트를 포함하는 입력 객체를 생성하고, 생성된 입력 객체가 상기 인풋 영역에 가상 입력창 형태로 삽입된 상기 원격 서비스 화면을 렌더링하여 상기 사용자 단말로 제공하도록 구성되며,
    상기 입력 객체는, 상기 사용자 단말에 표시되는 원격 서비스 화면 중 일부의 상기 인풋 영역에 대한 이미지 또는 영상이고,
    상기 텍스트는, 복수의 언어 중 상기 사용자 단말에 의해 선택된 어느 한 종류의 언어로 구성된 문자인, 서비스 제공 서버.
  19. 삭제
KR1020210037469A 2021-03-23 2021-03-23 다국어 입력 가능한 원격 서비스 제공 방법 및 이를 수행하는 서버 KR102515264B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210037469A KR102515264B1 (ko) 2021-03-23 2021-03-23 다국어 입력 가능한 원격 서비스 제공 방법 및 이를 수행하는 서버
US17/319,054 US20220309253A1 (en) 2021-03-23 2021-05-12 Method for providing remote service capable of multilingual input and server performing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210037469A KR102515264B1 (ko) 2021-03-23 2021-03-23 다국어 입력 가능한 원격 서비스 제공 방법 및 이를 수행하는 서버

Publications (2)

Publication Number Publication Date
KR20220132316A KR20220132316A (ko) 2022-09-30
KR102515264B1 true KR102515264B1 (ko) 2023-03-29

Family

ID=83363455

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210037469A KR102515264B1 (ko) 2021-03-23 2021-03-23 다국어 입력 가능한 원격 서비스 제공 방법 및 이를 수행하는 서버

Country Status (2)

Country Link
US (1) US20220309253A1 (ko)
KR (1) KR102515264B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080221900A1 (en) * 2007-03-07 2008-09-11 Cerra Joseph P Mobile local search environment speech processing facility
US20100115454A1 (en) * 2008-10-30 2010-05-06 Raja Singh Tuli Method for reducing user-perceived lag on text data exchange with a remote server
US20150269271A1 (en) 2012-12-18 2015-09-24 Tencent Technology (Shenzhen) Company Limited Method And Apparatus For Displaying A Webpage

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7801721B2 (en) * 2006-10-02 2010-09-21 Google Inc. Displaying original text in a user interface with translated text
WO2015029193A1 (ja) * 2013-08-29 2015-03-05 株式会社野村総合研究所 Webサーバシステム、アプリケーション開発支援システム、Webサーバシステムにおける多言語対応方法、Webサーバシステムにおけるマルチデバイス対応方法、およびアプリケーション開発支援方法
US10902193B2 (en) * 2017-12-13 2021-01-26 Think Research Corporation Automated generation of web forms using fillable electronic documents
US11163377B2 (en) * 2018-03-22 2021-11-02 Adobe Inc. Remote generation of executable code for a client application based on natural language commands captured at a client device
KR102625254B1 (ko) * 2018-06-05 2024-01-16 삼성전자주식회사 입력기를 통해 이미지와 관련된 정보를 어플리케이션에 제공하는 전자 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080221900A1 (en) * 2007-03-07 2008-09-11 Cerra Joseph P Mobile local search environment speech processing facility
US20100115454A1 (en) * 2008-10-30 2010-05-06 Raja Singh Tuli Method for reducing user-perceived lag on text data exchange with a remote server
US20150269271A1 (en) 2012-12-18 2015-09-24 Tencent Technology (Shenzhen) Company Limited Method And Apparatus For Displaying A Webpage

Also Published As

Publication number Publication date
KR20220132316A (ko) 2022-09-30
US20220309253A1 (en) 2022-09-29

Similar Documents

Publication Publication Date Title
US11868680B2 (en) Electronic device and method for generating short cut of quick command
US8352962B2 (en) Managing application interactions using distributed modality components
WO2018196808A1 (zh) 交互处理方法及装置
US8639749B2 (en) Platform independent information handling system, communication method, and computer program product thereof
US11204681B2 (en) Program orchestration method and electronic device
KR20210134675A (ko) 사용자 시연을 통하여 명령들을 학습하고 실행 가능하게 하기 위한 방법 및 시스템
US9823819B1 (en) Method for launching remote applications from a mobile device using cloud cache
CN103473253B (zh) 经地理编码的数据的检测及用于其的用户界面
US10152308B2 (en) User interface display testing system
WO2015176352A1 (zh) 一种基于安卓系统的应用间信息交互方法及装置
JP7393487B2 (ja) プロフィール写真を推薦する方法とシステム、および非一時的なコンピュータ読み取り可能な記録媒体
KR20170016362A (ko) 컴파일 동안 표시 메타데이터를 브라우저 렌더링 가능 포맷으로 변환하는 기법
US9342386B1 (en) Messaging channel for web pages, extensions, and applications to communicate
US11243679B2 (en) Remote data input framework
KR20180087608A (ko) 검색 서비스를 제공하는 시스템 및 방법
KR102515264B1 (ko) 다국어 입력 가능한 원격 서비스 제공 방법 및 이를 수행하는 서버
WO2023169193A1 (zh) 用于生成智能合约的方法和装置
CN111352357B (zh) 机器人的控制方法、装置及终端设备
US20160267156A1 (en) Transforming data to share across applications
US10275529B1 (en) Active content rich media using intelligent personal assistant applications
EP2752765A1 (en) Method of providing a cloud-based application
WO2024114451A1 (zh) 一种跨系统内容显示方法及设备
KR20240065364A (ko) 영상을 사용하는 근로자의 안전 감지 방법 및 이를 이용한 장치
US20150128082A1 (en) Multi-language input method and multi-language input apparatus using the same
KR20230101167A (ko) 한국 문화 교육 플랫폼에서 텍스트 기반 음성 생성 방법 및 장치

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right