KR101528133B1 - 검색 결과를 통한 애플리케이션 실행 제공 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체 - Google Patents

검색 결과를 통한 애플리케이션 실행 제공 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체 Download PDF

Info

Publication number
KR101528133B1
KR101528133B1 KR1020130079402A KR20130079402A KR101528133B1 KR 101528133 B1 KR101528133 B1 KR 101528133B1 KR 1020130079402 A KR1020130079402 A KR 1020130079402A KR 20130079402 A KR20130079402 A KR 20130079402A KR 101528133 B1 KR101528133 B1 KR 101528133B1
Authority
KR
South Korea
Prior art keywords
keyword
application
unit
user terminal
search
Prior art date
Application number
KR1020130079402A
Other languages
English (en)
Other versions
KR20150006116A (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 KR1020130079402A priority Critical patent/KR101528133B1/ko
Publication of KR20150006116A publication Critical patent/KR20150006116A/ko
Application granted granted Critical
Publication of KR101528133B1 publication Critical patent/KR101528133B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/156Query results presentation
    • 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/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 검색 결과를 통한 애플리케이션 실행 제공 시스템에 관한 것으로, 본 발명의 일 측면에 따르면 검색 결과를 통한 애플리케이션 실행 제공 시스템은 사용자 단말로부터 수신한 키워드가 특정 애플리케이션 관련 키워드에 해당하는지 여부를 분석하는 키워드 분석부, 상기 키워드 및 상기 키워드 분석부의 분석 결과에 기초하여, 상기 특정 애플리케이션을 실행할 수 있는 링크를 포함하는 검색 결과 화면을 생성하는 검색 서비스 제공부 및 상기 사용자 단말로부터 상기 키워드를 수신하고, 상기 생성된 검색 결과 화면을 상기 사용자 단말로 전송하는 송수신부를 포함한다.

Description

검색 결과를 통한 애플리케이션 실행 제공 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체{SYSTEM, METHOD AND COMPUTER READABLE RECORDING MEDIUM FOR PROVIDING EXECUTION OF APPLICATION THROUGH SEARCH RESULT}
본 발명은 검색 결과를 통한 애플리케이션 실행 제공 시스템 등에 관한 것으로, 보다 상세하게는 사용자 단말기에 설치된 애플리케이션을 실행할 수 있도록 하는 링크 등을 검색 결과의 일부로서 제공하고, 사용자가 이를 선택하여 별도의 애플리케이션 실행 절차 없이도 바로 해당 애플리케이션 실행이 제공될 수 있는 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다.
오늘날 인터넷의 광범위한 보급은 이제 유선을 넘어 무선 이동통신 기술로의 급발전을 가져오게 되었고, 실생활에 있어서도 휴대폰, PDA, 핸드헬드(Hand-Held) 컴퓨터 등의 휴대용 단말기를 통한 인터넷상에서의 정보 검색이 시간과 장소에 구애받지 않고 가능하게 되었다.
한편, 최근 출시되는 스마트폰들의 성능이 향상되면서, 일반 휴대폰에서 스마트폰으로 사용자들이 많이 옮겨가고 있는 추세이다. 스마트폰(smart phone)이란 종래의 핸드폰에 컴퓨터 지원 기능을 추가한 지능형 단말기으로서, 핸드폰 기능에 충실하면서도 개인 휴대 정보 단말기(PDA) 기능, 인터넷 기능, 동영상 재생 기능 등이 추가되며, 다양한 입력 방식과 터치스크린 등이 구비되어 사용에 보다 편리한 인터페이스를 제공한다. 또한, 무선 인터넷 기능의 지원으로 인터넷 및 컴퓨터에 접속되어 이메일, 웹브라우징, 팩스, 뱅킹, 게임 등 단말기로서의 기능도 수행한다. 한편, 스마트폰은 다양한 기능의 수용을 위하여 표준화된 운영 체제(OS) 또는 전용 운영 체제를 갖추기도 한다.
이와 같이, 스마트폰 등 다양한 모바일 단말을 통해 다양한 기능의 구현이 가능해짐에 따라, 모바일 단말 내에서 구동되는 다양한 애플리케이션 프로그램(application program) 파일들이 개발되고 있다.
이러한, 스마트폰에 설치되어 구동되는 애플리케이션 파일은 통상적으로 '앱(App.)'이라고도 하며, 각종 애플리케이션 마켓 등을 통해 유료 또는 무료로 다운로드 받아 스마트폰에 설치하여 사용된다. 따라서, 사용자는 스마트폰에서 특정 애플리케이션 마켓에 접속하여 원하는 애플리케이션을 검색하고, 해당 애플리케이션을 선택하여 다운로드 받아 설치할 수 있다.
한편, 스마트폰 등을 이용한 애플리케이션 시장이 확대되면서 애플사가 운영하는 애플리케이션 마켓인 앱스토어 및 구글사가 운영하는 애플리케이션 마켓인 구글 플레이 스토어에는 현재 수십만개 이상의 애플리케이션들이 등록되어 다운로드 및 설치가 가능하고, 이용자들은 자신의 스마트폰에 적게는 수십개, 많게는 백여 개 이상의 애플리케이션을 설치하고 실행하는 것이 일반적이다. 따라서, 자신이 설치한 수많은 애플리케이션 중에 실행하고자 하는 애플리케이션을 찾는데 어려움을 느끼거나, 심지어 자신이 특정 애플리케이션을 설치하였는지 여부를 확인하는데도 어려움을 느끼는 이용자들이 점점 늘어나고 있는 실정이다.
이러한 문제점을 해결하고자 자주 실행하는 애플리케이션을 바탕화면상에 배치하거나, 위젯(widget)을 설치하거나 또는 여러 개의 애플리케이션을 그룹화하여 하나의 폴더 내에 저장하는 방법들이 사용되고 있다. 또한 이러한 문제점을 해결하기 위한 기술 중의 하나로서 대한민국 특허공개번호 제10-2012-0075094호 "이동 단말기 및 이의 검색 방법(엘지전자 주식회사)"(문헌 1)에는 검색 가능한 웹사이트 또는 선호하는 애플리케이션들을 그룹화하여 하나의 스마트 검색 위젯에 연동하고 다양한 방식으로 검색 사이트들에 로그인하거나 애플리케이션들을 실행할 수 있도록 하는 방법 등이 개시된다.
하지만, 전술한 선행기술들에 의하더라도 위젯에 연동하거나 그룹화하여 폴더 내에 저장할 수 있는 애플리케이션의 수는 한정되어 있으며, 설사 그 수가 한정되지 않는다 하더라도 그 수가 많아질수록 그 중에서 자신이 실행하고자 하는 애플리케이션을 찾는 것은 종래와 마찬가지로 어려워진다는 문제점이 있다. 이러한 문제점은 자신이 자주 실행하던 애플리케이션이 아닌 경우에는 더욱 빈번하게 발생할 수 있다.
따라서, 이러한 종래 기술들의 문제점을 해결하고 스마트폰 이용자들이 검색 결과를 통하여 자신의 스마트폰에 특정 애플리케이션이 설치되었는지를 확인하고 간단하게 실행할 수 있도록 하는 기능을 제공하는 검색 서비스에 대한 필요성이 요구되고 있는 실정이다.
[문헌 1] 대한민국 특허공개번호 제10-2012-0075094호 이동 단말기 및 이의 검색 방법(엘지전자 주식회사) 2012.07.06
본 발명의 목적은 애플리케이션 관련 키워드를 이용하여 해당 애플리케이션이 사용자 단말기에 설치되었는지 여부를 검색 결과로서 제공할 수 있는 검색 결과를 통한 애플리케이션 실행 제공 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체를 제공함에 있다.
본 발명의 다른 목적은 애플리케이션 관련 키워드를 이용하여 사용자 단말기에 설치된 해당 애플리케이션을 실행할 수 있도록 하는 링크 등을 검색 결과의 일부로서 제공하고, 사용자의 선택시 별도의 애플리케이션 실행 절차 없이도 바로 해당 애플리케이션을 실행할 수 있도록 하는 검색 결과를 통한 애플리케이션 실행 제공 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다.
본 발명의 또 다른 목적은 애플리케이션 관련 키워드의 일부만을 입력하여도 제공되는 자동완성 키워드 리스트 중에 해당 애플리케이션의 설치 여부 및 해당 애플리케이션을 실행할 수 있는 키워드 등을 제공할 수 있는 검색 결과를 통한 애플리케이션 실행 제공 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체를 제공함에 있다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특유의 효과를 달성하기 위한, 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 측면에 따르면, 검색 결과를 통한 애플리케이션 실행 제공 시스템은, 사용자 단말과 데이터 통신을 수행하기 위한 송수신부; 상기 사용자 단말로부터 수신한 사용자 입력 상황 또는 키워드가 특정 애플리케이션 관련 키워드에 해당하는지 여부를 분석하는 키워드 분석부; 상기 사용자 입력 상황에 대한 상기 키워드 분석부의 분석 결과에 기초하여 상기 특정 애플리케이션이 상기 사용자 단말에 설치되어 있는지를 확인하는 앱 설치 확인부; 및 상기 앱 설치 확인부의 확인 결과에 기초하여 상기 특정 애플리케이션을 실행할 수 있는 키워드를 포함하는 자동완성 키워드 리스트를 생성하는 자동완성 키워드 추출부를 포함한다.
바람직하게는, 상기 특정 애플리케이션 관련 키워드는 해당 애플리케이션의 정식 명칭, 약칭, 및 해당 애플리케이션을 의미하는 것으로 추측되는 키워드들을 포함한다.
바람직하게는, 상기 시스템은, 상기 사용자 단말이 모바일 단말기에 해당하는지 여부를 감지하는 단말기 감지부, 및 상기 단말기 감지부의 감지 결과에 기초하여 검색 결과 화면을 생성하는 검색 서비스 제공부를 더 포함한다.
바람직하게는, 상기 단말기 감지부는, 상기 사용자 단말로부터 수신된 HTTP 리퀘스트 헤더(request header)에 기초하여 상기 사용자 단말이 모바일 단말기인지 여부를 감지한다.
바람직하게는, 상기 시스템은, 상기 앱 설치 확인부의 확인 결과에 기초하여 상기 특정 애플리케이션을 설치 또는 실행할 수 있는 링크를 포함하는 검색 결과 화면을 생성하는 검색 서비스 제공부를 더 포함한다.
바람직하게는, 상기 시스템의 상기 송수신부는, 상기 사용자 단말로부터 상기 사용자 입력 상황 또는 상기 키워드를 수신하고, 상기 생성된 자동완성 키워드 리스트 및 키워드 검색 결과 화면 중 적어도 하나를 상기 사용자 단말로 전송한다.
본 발명의 다른 측면에 의하면, 검색 결과를 통한 애플리케이션 실행 제공 시스템은, 사용자 단말과 데이터 통신을 수행하기 위한 송수신부; 상기 사용자 단말이 모바일 단말기에 해당하는지 여부를 감지하는 단말기 감지부; 상기 사용자 단말로부터 수신한 사용자 입력 상황 또는 키워드가 특정 애플리케이션 관련 키워드에 해당하는지 여부를 분석하는 키워드 분석부; 및 상기 단말기 감지부의 감지 결과 및 상기 키워드 분석부의 분석결과에 기초하여 상기 특정 애플리케이션을 실행할 수 있는 키워드를 포함하는 자동완성 키워드 리스트를 생성하는 자동완성 키워드 추출부를 포함한다.
본 발명의 또 다른 측면에 따르면, 검색 서버에 의해 수행되는, 검색 결과를 통한 애플리케이션 실행 제공 방법은, 사용자 단말과 데이터 통신을 수행하기 위한 송수신부; 상기 사용자 단말이 모바일 단말기에 해당하는지 여부를 감지하는 단말기 감지부; 상기 사용자 단말로부터 수신한 사용자 입력 상황 또는 키워드가 특정 애플리케이션 관련 키워드에 해당하는지 여부를 분석하는 키워드 분석부; 및 상기 단말기 감지부의 감지 결과 및 상기 키워드 분석부의 분석결과에 기초하여 상기 특정 애플리케이션을 실행할 수 있는 키워드를 포함하는 자동완성 키워드 리스트를 생성하는 자동완성 키워드 추출부를 포함한다.
본 발명의 또 다른 측면에 따르면, 검색 서버에 의해 수행되는, 검색 결과를 통한 애플리케이션 실행 제공 방법은, 사용자 단말로부터 수신한 키워드 또는 사용자 입력 상황이 특정 애플리케이션 관련 키워드에 해당하는지 여부를 분석하는 분석 단계; 상기 입력 상황 분석 단계에서의 분석 결과에 기초하여 상기 특정 애플리케이션이 상기 사용자 단말에 설치되어 있는지를 확인하는 앱 설치 확인 단계; 및 상기 앱 설치 확인 단계의 확인 결과에 기초하여 상기 특정 애플리케이션을 실행할 수 있는 키워드를 포함하는 자동완성 키워드 리스트를 생성하는 자동완성 키워드 추출 단계를 포함한다.
한편, 검색 결과를 통한 애플리케이션 실행 제공 방법을 수행하기 위한 프로그램은 컴퓨터로 읽을 수 있는 기록 매체에 저장될 수 있다. 이러한 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있도록 프로그램 및 데이터가 저장되는 모든 종류의 기록매체를 포함한다. 그 예로는, 롬(Read Only Memory), 램(Random Access Memory), CD(Compact Disk), DVD(Digital Video Disk)-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함된다. 또한, 이러한 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
상술한 바와 같이, 본 발명에 따르면 애플리케이션 관련 키워드를 이용하여 해당 애플리케이션이 사용자 단말기에 설치되었는지 여부를 검색 결과로서 제공할 수 있다는 장점이 있다.
또한, 본 발명에 따르면 애플리케이션 관련 키워드를 이용하여 사용자 단말기에 설치된 해당 애플리케이션을 실행할 수 있도록 하는 링크 등을 검색 결과의 일부로서 제공하고, 사용자의 선택시 별도의 애플리케이션 실행 절차 없이도 바로 해당 애플리케이션을 실행할 수 있다는 장점이 있다.
또한, 본 발명에 따르면 애플리케이션 관련 키워드의 일부만을 입력하여도 제공되는 자동완성 키워드 리스트 중에 해당 애플리케이션의 설치 여부 및 해당 애플리케이션을 실행할 수 있는 키워드 등을 제공할 수 있다는 장점이 있다.
도 1은 본 발명의 실시예에 따른 검색 결과를 통한 애플리케이션 실행 제공 시스템을 도시한 도면이다.
도 2는 본 발명의 실시예에 따른 검색 서버의 세부 구조를 나타내는 블록도이다.
도 3 내지 도 5는 본 발명의 다양한 실시예에 따라 애플리케이션 실행 링크가 추가된 검색 결과 화면을 도시한 도면이다.
도 6은 본 발명의 실시예에 따라 애플리케이션 실행 키워드가 추가된 자동완성 키워드 리스트를 도시한 도면이다.
도 7은 본 발명의 실시예에 따른 검색 결과를 통한 애플리케이션 실행 제공 방법을 나타내는 흐름도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는 적절하게 설명된다면 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
본 발명은 사용자 단말기로부터 수신한 키워드가 특정 애플리케이션 관련 키워드인 경우 해당 애플리케이션을 설치 또는 실행할 수 있는 링크를 검색 결과의 일부로서 제공하고, 사용자의 선택에 의해 별도의 애플리케이션 설치 또는 실행 절차 없이도 바로 해당 애플리케이션을 다운로드 받을 수 있는 애플리케이션 마켓으로 이동하거나 해당 애플리케이션을 실행할 수 있는 검색 결과를 통한 애플리케이션 실행 제공 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체를 개시한다.
본 발명에서 용어 "사용자 입력 상황"은 사용자가 검색 서비스에 필요한 키워드 입력시 현재까지 입력되어 있는 키워드의 적어도 일부에 해당하는 광의의 개념을 나타낸다. 예컨대, 'ㄴ'만을 입력한 시점에서 사용자 입력 상황은 'ㄴ'에 해당하고, '남ㅅ'까지 입력된 시점에서 사용자 입력 상황은 '남ㅅ'에 해당한다.
또한 본 발명에서 용어 "애플리케이션" 또는 "앱"은 스마트폰을 포함하는 스마트 기기에 설치되어 실행되는 콘텐츠 응용 프로그램을 의미한다.
한편, 후술하는 설명에서의 모바일 단말기는 스마트폰, 이동 통신 단말기, 노트북 컴퓨터, 팜톱(palmtop) 컴퓨터, 개인 휴대 정보 단말기(personal digital assistant: PDA), 태블릿, 웹 패드 등과 같이 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖추고, 애플리케이션 마켓 등을 통해 제공되는 애플리케이션이 설치 및 실행될 수 있으며 이동성이 구비된 디지털 기기라면 얼마든지 본 발명에 따른 모바일 단말기로서 채택될 수 있다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
먼저, 도 1 내지 2를 참조하여 본 발명의 실시예에 따른 시스템을 설명하며, 다음으로 도 7을 참조하여 본 발명의 실시예에 따른 방법을 상세히 설명한다.
검색 결과를 통한 애플리케이션 실행 제공 시스템
도 1은 본 발명의 실시예에 따른 검색 결과를 통한 애플리케이션 실행 제공 시스템을 도시한 도면이다. 본 발명에 따른 검색 결과를 통한 애플리케이션 실행 제공 시스템은 모바일 단말기를 통해 특정 애플리케이션 관련 키워드를 입력하는 경우 그 검색 결과의 일부로서 해당 애플리케이션을 실행할 수 있는 링크를 제공하고, 사용자가 링크를 선택하는 경우 별도의 애플리케이션 실행 절차 없이도 사용자 단말기 상에서 해당 애플리케이션을 바로 실행할 수 있다.
도 1을 참조하여 보다 구체적으로 설명하면, 모바일 단말기(100) 내에는 키워드에 기초하여 검색 결과를 제공받고 또한 해당 키워드가 특정 애플리케이션 관련 키워드에 해당하는 경우 검색 결과의 일부로서 해당 애플리케이션을 실행할 수 있는 링크를 제공받을 수 있는 검색 애플리케이션(110)이 설치되고 실행될 수 있다. 검색 애플리케이션(110)은 인터넷을 통해 정보를 검색하는데 사용되는 응용 프로그램인 웹 브라우저(web browser)라도 무방하고, 또는 웹 브라우징 기능을 탑재한 독립적인 애플리케이션인 경우라도 무방하다.
한편, 검색 결과의 일부로서 제공되는 링크는 검색 결과 화면의 어디에도 위치할 수 있으며, 클릭 등 사용자의 선택에 의해 모바일 단말기(100)에 설치된 해당 애플리케이션을 실행할 수 있도록 호출한다. 본 발명의 다양한 실시예에 따라 검색 결과 화면 생성 전에 해당 애플리케이션의 설치 여부를 확인하는 과정이 포함되는 경우, 링크는 상기 확인 결과에 따라 설치 링크 또는 실행 링크로 나뉘어 제공될 수 있고, 또는 검색 결과 화면 생성시 애플리케이션 설치 여부 판단 과정 없이 링크를 제공하고, 해당 링크의 선택시 모바일 단말기(100)에서 자체적으로 해당 애플리케이션의 설치 여부를 판단하고 그 판단 결과에 기초하여 해당 애플리케이션의 설치 화면으로 이동하거나 실행 요청을 수행할 수도 있다.
통신 네트워크(200)는 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 단거리 통신망(PAN; Personal Area Network), 근거리 통신망(LAN; Local Area Network), 도시권 통신망(MAN; Metropolitan Area Network), 광역 통신망(WAN; Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 또한, 상기 통신 네트워크(200)는 공지의 월드와이드웹(WWW; World Wide Web)일 수 있으며, 적외선(Infrared Data Association; IrDA) 또는 블루투스(Bluetooth)와 같이 단거리 통신에 이용되는 무선전송기술을 이용할 수도 있다.
검색 서버(300)는 모바일 단말기(100)로부터의 검색을 위한 웹사이트 요청을 수신하고, 이에 기초하여 요청된 특정 웹사이트를 제공한다. 또한, 검색 서버(300)는 모바일 단말기(100)로부터 검색을 위한 키워드를 수신하고, 수신된 키워드에 기초한 검색 결과 화면을 생성하여 모바일 단말기(100)로 제공하며 이 때 수신된 키워드가 특정 애플리케이션 관련 키워드인지 여부를 판단하여 이에 해당하는 경우 해당 애플리케이션을 설치 또는 실행할 수 있는 링크를 검색 결과 화면의 소정 위치에 추가하도록 반영한다. 한편, 본 발명의 다양한 실시예에 따라 검색 서버(300)는 모바일 단말기(100)로부터 입력된 사용자 입력 상황을 수신하고, 수신된 사용자 입력 상황에 기초하여 자동완성 키워드 리스트 및 관련된 애플리케이션을 설치 또는 실행할 수 있는 키워드를 모바일 단말기(100)로 제공하는 기능 또한 수행할 수 있다. 검색 서버(300)의 구체적인 기능 각각에 대해서는 후술하도록 한다.
검색 서버의 세부 구조
도 2는 본 발명의 실시예에 따른 검색 서버의 세부 구조를 나타내는 블록도이다. 도 2를 참조하면 본 발명의 일 실시예에 따른 검색 서버(300)는 송수신부(310), 검색 서비스 제공부(320), 단말기 감지부(330), 키워드 분석부(340), 자동완성 키워드 추출부(350), 앱 설치 확인부(360) 및 데이터베이스(370)를 포함하여 구성될 수 있다.
송수신부(310)는 모바일 단말기(100)와 검색 서버(300)간에 통신되는 각종 정보를 송수신하는 기능을 수행한다. 보다 구체적으로, 모바일 단말기(100)로부터 검색 서비스를 제공하는 웹사이트의 요청, 또는 특정 키워드를 포함하는 검색 요청을 수신하여 검색 서비스 제공부(320)로 전송하고, 검색 서비스 제공부(320)로부터 수신 받은 웹사이트 또는 검색결과 화면을 모바일 단말기(100)로 전송한다. 여기서 검색 요청은 URL의 형식 또는 입력이 완료된 키워드를 포함할 수 있으며, 검색 서비스 제공부(320)로부터 제공받은 검색결과 화면에는 특정 애플리케이션의 실행 또는 설치와 관련된 링크가 포함될 수 있다.
또한, 송수신부(310)는 모바일 단말기(100)로부터 사용자의 입력 진행 등에 따라 계속하여 변화될 수 있는 사용자 입력 상황을 수신하여 자동완성 키워드 추출부(350)로 전송하고, 자동완성 키워드 추출부(350)로부터 수신 받은 자동완성 키워드 리스트를 모바일 단말기(100)로 전송하며, 이 중 어느 하나에 대한 선택 정보를 더 수신하여 검색 서비스 제공부(320)로 전송하고 그에 따라 검색 서비스 제공부(320)로부터 제공되는 검색결과 화면을 모바일 단말기(100)로 전송할 수 있다. 만일 선택 정보가 특정 애플리케이션의 실행에 관련된 키워드인 경우 선택 정보에 포함된 링크에 기초하여 모바일 단말기(100)는 송수신부(310)로 선택 정보를 전송하지 않고 해당 애플리케이션을 설치하는 화면으로 이동하거나 또는 실행을 요청한다. 일반적인 웹페이지의 경우 클라이언트로부터 서버에 특정 데이터를 전송하기 위해서는 웹페이지 전체를 리프레시(refresh)해야 한다는 문제점이 있으나, AJAX(Asynchronous JavaScript And XML) 기술을 이용하는 경우 웹페이지 전체의 리프레시 없이도 필요한 정보만을 서버에 전송하고 서버로부터 수신할 수 있다. 따라서, 모바일 단말기(100)와 송수신부(310)간에 사용자 입력 상황의 수신 및 자동완성 키워드 리스트의 제공에 AJAX 기술을 적용하는 것이 바람직하나, 그 구현이 반드시 AJAX 기술에 한정되어야 하는 것은 아니다.
그 밖에도, 송수신부(310)는 단말기 감지부(330) 및 앱 설치 확인부(360)로부터의 요청에 기초한 정보를 모바일 단말기(100)로 전송하고 그 응답을 해당 구성요소로 더 전송할 수 있다.
검색 서비스 제공부(320)는 송수신부(310)로부터 수신한 전송 요청에 해당하는 검색 서비스를 제공하는 웹사이트를 데이터베이스(370)로부터 검색하고, 검색을 통해 매칭되는 웹사이트를 모바일 단말기(100)로 보내기 위해 송수신부(310)로 전송한다. 이 과정에서 검색 서비스 제공부(320)는 후술하는 바와 같이 단말기 감지부(330)를 통해 전송 요청을 보내온 모바일 단말기(100)가 애플리케이션을 설치 또는 실행할 수 있는 모바일 단말기에 해당하는지 여부에 대한 감지 결과를 더 수신할 수 있다. 단말기 감지부(330)의 감지 결과에 기초하여 검색 서비스 제공부(320) 및/또는 자동완성 키워드 추출부(350)는 검색 결과 화면 또는 자동완성 키워드 리스트 제공시에 해당 키워드에 연관된 애플리케이션을 설치 또는 실행할 수 있는 링크 또는 키워드를 제공할지 여부를 결정할 수 있다.
또한, 검색 서비스 제공부(320)는 송수신부(310)가 특정 키워드에 기초한 검색 요청을 수신하는 경우 상기 키워드에 대한 검색 결과 화면을 데이터베이스(370)에 기초하여 생성하고 송수신부(310)로 전송한다. 이 과정에서 검색 서비스 제공부(320)는 후술하는 바와 같이 키워드 분석부(340)를 통해 수신된 상기 키워드가 특정 애플리케이션 관련 키워드인지 여부를 더 분석하고 그 분석 결과에 기초하여 생성되는 검색 결과 화면에 해당 애플리케이션을 실행할 수 있는 링크를 더 추가할 수 있다.
해당 애플리케이션을 실행할 수 있는 링크는 모바일 단말기(100)의 운영 체제(Operation System: OS) 종류 및 운영 체제에서 지원하는 다양한 API(Application Programming Interface), 그리고 모바일 단말기(100)에서 검색 서버(300)에 접속한 검색 애플리케이션(110)이 웹브라우저 인지 또는 브라우징 기능을 탑재한 애플리케이션인지 여부 등에 기초하여 다양한 방식으로 생성될 수 있으며, 일 예로서 안드로이드(Android) 운영체제를 갖는 모바일 단말기(100)에서 브라우징 기능을 탑재한 애플리케이션을 이용하여 검색 서버(300)에 접속한 경우 해당 애플리케이션의 패키지명을 갖는 인텐트(Intent) 객체를 생성하고, 원하는 액션을 설정(setAction)하여 객체의 액티비티를 실행(startActivity)하는 일련의 API들을 호출(invoke)할 수 있는 링크를 생성하여 검색 결과 화면에 추가할 수 있으며, 이 때 모바일 단말기(100)는 링크 클릭시 해당 애플리케이션이 설치되어 있지 않은 경우 운영체제 자체적으로 해당 애플리케이션을 설치할 수 있는 애플리케이션 마켓으로 이동하는 기능을 제공할 수 있다.
검색 서비스 제공부(320)는 전술한 바와 같이 생성된 링크를 검색 결과 화면의 다양한 위치에 다양한 형태로 추가할 수 있다. 본 발명의 다양한 실시예에 따라 애플리케이션 실행 링크가 추가된 검색 결과 화면을 도시한 도 3을 참조하면, (a)에서와 같이 검색 결과 화면의 상단에 신규 영역인 (1)을 활용하여 해당 애플리케이션을 설치 또는 실행하기 위한 링크를 추가할 수 있고, (b)에서와 같이 검색 결과 화면에서 기존에 제공되는 영역 중 하나(예컨대, 바로가기 영역)인 (2)를 활용하여 해당 애플리케이션을 설치 또는 실행하기 위한 링크를 추가할 수 있으며, 또는 (c)에서와 같이 검색 결과 화면 중간에 신규 영역인 (3)을 이용하여 해당 애플리케이션을 설치 또는 실행하기 위한 링크를 추가할 수 있다. 도 3은 애플리케이션을 설치 또는 실행하기 위한 링크를 추가할 수 있는 영역 및 방식의 예시에 불과하므로 본 발명에 따른 링크의 추가 영역 및 방식이 도 3에 한정되는 것은 아니다.
또한, 검색 서비스 제공부(320)는 후술하는 바와 같이 앱 설치 확인부(360)를 통해 모바일 단말기(100)에 해당 애플리케이션이 설치되었는지 여부를 더 확인하고, 확인 결과에 기초하여 검색 결과 화면에 해당 애플리케이션을 설치 또는 실행할 수 있는 링크를 구분하여 추가할 수 있다. 해당 애플리케이션을 설치할 수 있는 링크 또한 전술한 바와 같이 모바일 단말기(100)의 운영 체제 종류 및 운영 체제에서 지원하는 다양한 API, 그리고 모바일 단말기(100)에서 검색 서버(300)에 접속한 검색 애플리케이션(110)이 웹브라우저 인지 또는 브라우징 기능을 탑재한 애플리케이션인지 여부 등에 기초하여 다양한 방식으로 생성될 수 있으며, 일 예로서 안드로이드 운영체제를 갖는 모바일 단말기(100)에서 브라우징 기능을 탑재한 애플리케이션을 이용하여 검색 서버(300)에 접속한 경우 해당 애플리케이션의 패키지명을 ID로 하는 URI(Uniform Resource Identifier)를 설정하고 설정된 URI를 데이터로 설정(setData)하는 인텐트 객체를 생성한 후 생성된 객체의 액티비티를 실행(startActivity)하는 일련의 API들을 호출(invoke)할 수 있는 링크를 생성하여 검색 결과 화면에 추가할 수 있으나 반드시 전술된 예에 한정되는 것은 아니다.
도 4를 참조하면, 검색 서비스 제공부(320)는 앱 설치 확인부(360)를 통해 해당 애플리케이션이 모바일 단말기(100)에 설치되지 않은 것을 확인한 경우 전술한 바와 같이 해당 애플리케이션을 설치할 수 있는 링크를 생성한 후 해당 링크인 것을 구분하여 (a)에서와 같이 검색 결과 화면의 소정 영역에 추가할 수 있다. 한편, 해당 애플리케이션이 모바일 단말기(100)에 설치되어 있는 것으로 확인된 경우 해당 애플리케이션을 실행할 수 있는 링크를 생성한 후 해당 링크인 것을 구분하여 (b)에서와 같이 검색 결과 화면의 소정 영역에 추가할 수 있다.
단말기 감지부(330)는 모바일 단말기(100)로부터 수신된 정보에 기초하여 모바일 단말기(100)가 애플리케이션을 설치 또는 실행할 수 있는 모바일 단말기에 해당하는지 여부를 감지한다. 모바일 단말기인지 여부를 감지하기 위한 방식은 다수 존재하며, 단말기 감지부(330)는 이러한 다수의 방식 중 하나 이상을 취사 선택하여 모바일 단말기 여부를 감지할 수 있다. 먼저, 모바일 단말기 여부 감지 방식의 일 예로서 HTTP 리퀘스트(request)에 기초한 감지 방식을 들 수 있다. 모바일 단말기(100)를 이용하여 특정 웹사이트를 요청하는 경우에 모바일 단말기(100)는 해당 웹사이트에 대응되는 서버로 HTTP 리퀘스트를 전송하며, 예시적인 HTTP 리퀘스트의 헤더(header)는 이하의 표 1과 같다.
GET http://www.aaa.com HTTP/1.0
User-Agent: Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_5 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8L1 Safari/6533.18.5
Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*
Cookie: id=aaa
Host: www.aaa.com
상기 표1에 도시된 예시적인 HTTP 리퀘스트 헤더는 다양한 정보를 포함하고 있으나, 이 중에서 단말기 감지부(330)와 관련된 정보는 사용자의 웹 브라우저 종류, 운영체제 종류 및 버전 정보를 포함하고 있는 User-Agent이다. 상기 표 1에서 User-Agent를 살펴보면, HTTP 리퀘스트를 전송한 모바일 단말기(100)는 아이폰(iPhone)이고 운영체제 버전은 iPhone OS 4.3.5이며, 사용하고 있는 브라우저는 Mozilla 버전 5.0임을 확인할 수 있다. 즉, 단말기 감지부(330)는 HTTP 리퀘스트, 특히 HTTP 리퀘스트 헤더 중 User-Agent에 기초하여 애플리케이션을 설치 또는 실행할 수 있는 모바일 단말기에 해당하는지 여부를 감지할 수 있으며, 예컨대 표 1의 경우 운영체제가 iPhone OS인 것에 기초하여 또는 단말기가 아이폰인 것에 기초하여 애플리케이션을 설치 또는 실행할 수 있는 모바일 단말기에 해당한다고 판단할 수 있다. 또 다른 예로서, 운영체제가 Windows NT 등과 같이 모바일 단말기에 사용되지 않는 운영체제인 경우에는 애플리케이션을 설치 또는 실행할 수 있는 모바일 단말기에 해당하지 않는다고 판단할 수 있다.
한편, 다른 모바일 단말기 여부 감지 방식으로 특정 애플리케이션 이용 여부에 기초한 감지 방식을 들 수 있다. 안드로이드(Android) 또는 iPhone OS 등 모바일 단말기 전용 운영체제를 탑재한 모바일 단말기들을 위해 다양한 애플리케이션이 개발 및 배포되고 있으며, 이 중에는 웹 브라우저의 기능을 갖는 애플리케이션 또한 포함된다. 이러한 애플리케이션을 이용하여 자동적으로 또는 웹사이트의 주소를 입력하여 검색 서버(300)로 특정 웹사이트 요청시, HTTP 리퀘스트 이외에도 해당 애플리케이션을 이용하여 요청하였다는 추가적인 정보를 전송할 수 있으며, 단말기 감지부(330)는 전송된 추가적인 정보에 기초하여 특정 애플리케이션을 통해 웹사이트를 요청하였음을 확인할 수 있다. 즉, 특정 애플리케이션을 통해 웹사이트를 요청한 경우 해당 단말기는 애플리케이션을 설치 또는 실행할 수 있는 모바일 단말기에 해당한다고 판단할 수 있다.
또 다른 모바일 단말기 여부 감지 방식으로는 웹사이트를 요청한 IP(Internet Protocol) 주소에 기초한 감지를 들 수 있다. 일반적으로, 3G 또는 LTE 등 이동통신사에서 제공하는 이동통신 데이터 전송 규격을 이용하는 IP 주소는 이동통신사에서 미리 할당해 두고 있으며, 단말기 감지부(330)는 웹사이트를 요청한 단말기의 IP 주소가 미리 할당된 IP 주소의 범위 내에 포함되는지 여부에 기초하여 해당 단말기가 애플리케이션을 설치 또는 실행할 수 있는 모바일 단말기에 해당하는지 여부를 감지할 수 있다.
단말기 감지부(330)는 전술한 모바일 단말기 여부 감지 방식 중 어느 하나에 한정되는 것은 아니며, 전술한 모바일 단말기 여부 감지 방식 중 하나 이상을 조합하여 사용할 수도 있고, 또는 이와 동일하거나 유사한 기능을 갖는 공지된 다양한 방법을 취사 선택하여 그 기능을 수행할 수 있다.
단말기 감지부(330)에 의해 웹사이트를 요청한 단말기가 애플리케이션을 설치 또는 실행할 수 있는 모바일 단말기에 해당하는 것으로 감지된 경우, 검색 서비스 제공부(320) 및 자동완성 키워드 추출부(350)는 검색 결과 화면 또는 자동완성 키워드 리스트 제공시 키워드에 연관된 애플리케이션을 설치 또는 실행할 수 있는 링크 또는 키워드를 더 제공할 수 있다.
키워드 분석부(340)는 모바일 단말기(100)가 검색 요청을 위해 전송한 키워드가 특정 애플리케이션 관련 키워드인지를 분석한다. 애플리케이션의 정식 명칭과 그 약칭, 그리고 사용자가 해당 애플리케이션을 의미하는 것으로 추측될 수 있는 모든 키워드들을 애플리케이션 관련 키워드라 칭하며, 데이터베이스(370)에는 각 애플리케이션 별로 애플리케이션 관련 키워드가 미리 저장되어 있다. 하나의 키워드는 복수개의 애플리케이션 관련 키워드와 매칭될 수 있으며 특정 애플리케이션이 아닌 모바일 단말기(100)에 설치된 모든 애플리케이션을 통칭할 수도 있다.
일 예로서, 그 정식 명칭이 '카카오톡'인 애플리케이션인 경우, '카카오톡' 이외에도 그 약칭인 '카톡', 그리고 해당 애플리케이션을 의미하는 것으로 추측될 수 있는 '카카오', '카토크', '카카오토크' 등을 애플리케이션 관련 키워드로 그룹핑하여 데이터베이스(370)에 저장할 수 있다.
따라서, 키워드 분석부(340)는 모바일 단말기(100)로부터 전송된 키워드를 데이터베이스에 저장된 애플리케이션 관련 키워드와 매칭하여 특정 애플리케이션 관련 키워드로 분석된 경우 그 결과를 이를 검색 서비스 제공부(320)에 통지하고, 검색 서비스 제공부(320)는 키워드에 기초한 검색 결과 화면 생성시에 해당 애플리케이션을 설치 또는 실행할 수 있는 링크를 더 추가할 수 있다. 만일 키워드가 복수개의 애플리케이션 관련 키워드와 매칭되는 경우(예컨대, 키워드가 '네이버'이고, 해당 키워드를 포함하는 애플리케이션들이 '네이버', '네이버 블로그', '네이버 캘린더' 등 복수 개인 경우) 분석된 모든 애플리케이션들에 대한 결과를 검색 서비스 제공부(320)에 통지하고, 검색 서비스 제공부(320)는 키워드에 기초한 검색 결과 화면 생성시에 복수개의 해당 애플리케이션들을 설치 또는 실행할 수 있는 링크들을 더 추가할 수 있다. 또한, 만일 키워드가 특정 애플리케이션이 아닌 모바일 단말기(100)에 설치된 모든 애플리케이션을 통칭하는 경우(예컨대, 키워드가 '내 스마트 폰 앱' '내폰앱' 등인 경우) 그 결과를 검색 서비스 제공부(320)에 통지하고, 검색 서비스 제공부(320)는 모든 애플리케이션들 또는 주요 애플리케이션들에 대해 설치되어 있는지 여부를 후술하는 앱 설치 확인부(360)를 통하여 확인하고, 그 확인 결과에 기초하여 설치된 애플리케이션들을 실행할 수 있는 링크들을 검색 결과 화면 생성시에 더 추가할 수 있다. 도 5를 참조하면, 키워드가 복수개의 애플리케이션 관련 키워드와 매칭되는 경우에는 (a)와 같이 검색 결과 화면 생성시에 매칭되는 모든 애플리케이션들을 실행할 수 있는 링크를 추가할 수 있고, 키워드가 특정 애플리케이션이 아닌 모바일 단말기(100)에 설치된 모든 애플리케이션을 통칭하는 경우에는 (b)와 같이 검색 결과 화면 생성시에 모바일 단말기(100)에 설치된 모든 애플리케이션들을 실행할 수 있는 링크를 추가할 수 있다.
또한, 키워드 분석부(340)는 모바일 단말기(100)에서 입력된 사용자 입력 상황을 전달 받고 해당 사용자 입력 상황이 특정 애플리케이션 관련 키워드인지 여부를 분석하여 그 결과를 자동 완성 키워드 추출부(350)로 제공한다. 후술할 자동 완성 키워드 추출부(350)는 사용자 입력 상황이 특정 애플리케이션 관련 키워드에 해당하는 경우 모바일 단말기(100)로 제공하게 될 자동완성 키워드 리스트의 소정 위치에 해당 애플리케이션을 설치 또는 실행할 수 있는 키워드를 더 제공할 수 있다.
자동완성 키워드 추출부(350)는 송수신부(310)로부터 수신한 사용자 입력 상황에 기초하여 데이터베이스(370)를 검색하고, 검색을 통해 얻어지는 자동완성 키워드 리스트를 추출하여 모바일 단말기(100)로 전송하기 위해 송수신부(310)로 전송한다. 전술한 바와 같이, 자동완성 키워드 추출부(350)는 키워드 분석부(340)를 통해 수신한 사용자 입력 상황이 특정 애플리케이션 관련 키워드인지 여부를 분석할 수 있으며, 그 분석 결과에 기초하여 모바일 단말기(100)로 전송할 자동완성 키워드 리스트의 소정 위치에 해당 애플리케이션을 실행할 수 있는 키워드를 더 제공할 수 있다. 본 발명의 실시예에 따라 애플리케이션 실행 키워드가 추가된 자동완성 키워드 리스트를 도시한 도 6을 참조하면, 키워드 분석부(340)를 통해 수신한 사용자 입력 상황이 특정 애플리케이션 관련 키워드인 것으로 확인된 경우 자동완성 키워드 리스트의 소정 영역에 해당 애플리케이션을 실행할 수 있는 키워드를 추가할 수 있다.
한편, 자동완성 키워드는 정렬 및 색인하여 데이터베이스(370)에 저장되어 있다. 상기 자동완성 키워드는 검색 서비스 제공부(320)에서 제공하는 소정의 검색 서비스에서 사용자들이 입력한 전체 키워드들의 집합으로부터 추출될 수 있으며 추출시 사용자들의 검색 빈도를 참조할 수 있다. 검색 빈도는 예컨대 특정 키워드가 일정 기간 내에 몇 회 입력되는가를 분석하여 생성한 일종의 통계 정보일 수 있다.
앱 설치 확인부(360)는 특정 애플리케이션이 모바일 단말기(100)에 설치되어 있는지 여부를 확인한다. 모바일 단말기(100)에 특정 애플리케이션이 설치되어 있는지 여부는 모바일 단말기(100)의 운영 체제에서 지원하는 다양한 API에 기초하여 다양한 방식으로 확인될 수 있으며, 일 예로서 안드로이드 운영체제의 경우 특정 애플리케이션의 패키지명에 기초하여 설치 여부를 확인할 수 있다. 보다 상세하게는, 키워드 분석부(340)를 통해 특정된 애플리케이션의 패키지명을 데이터베이스(370)로부터 검색하여 모바일 단말기(100)로 전송하기 위해 송수신부(310)로 전송하고, 모바일 단말기(100)는 수신한 패키지명에 해당하는 애플리케이션이 설치되어 있는지를 확인하고 그 결과를 송수신부(310)로 전송한다. 따라서, 앱설치 확인부(360)는 송수신부(310)가 모바일 단말기(100)로부터 수신한 해당 애플리케이션 설치 여부 결과에 기초하여 모바일 단말기(100)에 해당 애플리케이션이 설치되어 있는지 여부를 확인할 수 있다. 한편, 앱 설치 확인부(360)는 검색 서버(300)가 아닌 모바일 단말기(100) 내에 설치될 수도 있다.
데이터베이스(370)는 검색 서비스 제공부(320)에서 제공하는 검색 웹사이트 및 검색 결과 화면, 단말기 감지부(330)에서 애플리케이션을 설치 또는 실행할 수 있는 모바일 단말기인지 여부를 판단하기 위한 정보들, 키워드 분석부(340)에서 수신된 키워드가 특정 애플리케이션 관련 키워드인지 여부를 판단하기 위한 애플리케이션 관련 키워드들, 자동 완성 키워드 추출부(350)에서 추출하는 다양한 사용자 입력 상황에 대한 자동완성 키워드 리스트들, 그리고 앱 설치 확인부(360)에서 애플리케이션 설치 확인에 사용될 수 있는 각 애플리케이션에 대한 패키지명 등 본 발명을 수행하는데 있어 필요한 모든 정보가 임시적 또는 영구적으로 저장되어 있는 공간을 통칭하는 개념이다. 또한, 데이터베이스(370)에 저장된 정보는 검색 서버(300)의 각 구성요소에서 필요에 따라 추출되거나 가공될 수 있다. 본 발명의 간략한 예시를 위해서 도 2에는 데이터베이스(370)가 하나만 도시되어 있지만, 본 발명의 다른 실시예에 따라, 앞서 나열한 다양한 정보들이 하나 이상의 물리적으로 구별되는 별도의 데이터베이스에 저장될 수 있음은 본 발명이 속하는 분야에서 통상의 지식을 가진 자에게 자명하다.
도 2에서의 송수신부(310), 검색 서비스 제공부(320), 단말기 감지부(330), 키워드 분석부(340), 자동완성 키워드 추출부(350) 및 앱 설치 확인부(360)는 물리적으로 하나의 기계 내에 구현될 수도 있고 일부 또는 그 각각이 물리적으로 다른 기계에 구현되거나, 동일한 기능을 하는 물리적으로 복수 개 존재하는 기계가 병렬적으로 존재할 수도 있다. 또한, 일부 구성요소는 검색 서버에 구현되고 일부 구성요소는 모바일 단말기에 구현될 수도 있다. 이렇듯 본 발명은 각 구성부가 설치된 기계 또는 데이터베이스의 물리적인 개수 및 위치에 한정되지 않고 다양한 방식으로 설계 변경될 수 있음은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 자명하다.
검색 결과를 통한 애플리케이션 실행 제공 방법
도 7은 본 발명의 실시예에 따른 검색 결과를 통한 애플리케이션 실행 제공 방법을 나타내는 흐름도이다. 도 7을 참조하면, 모바일 단말기(100)로부터 특정 웹사이트에 대한 요청이 수신(S700)되면, 검색 서비스 제공부(320)는 단말기 감지부(330)를 통해 모바일 단말기(100)가 애플리케이션을 설치 또는 실행할 수 있는 모바일 단말기에 해당하는지 여부를 감지(S710)하고, 요청에 대응하는 웹사이트를 제공(S720)한다. 여기서 단계 S710의 수행 시점은 도 7에 도시된 시점에 한정되지 않고 단계 S720 이후 임의의 시점에서 수행될 수도 있으며 생략될 수도 있다.
이후, 모바일 단말기(100)를 통하여 입력된 키워드에 기초한 검색 요청이 수신될 수도 있고 또는 검색 요청 이전의 사용자 입력 상황이 수신될 수도 있는 바 그 각각의 경우에 대해 설명하도록 한다. 만일 검색 요청 이전의 사용자 입력 상황이 수신(S730)되는 경우, 키워드 분석부(340)에서는 수신된 사용자 입력 상황이 특정 애플리케이션 관련 키워드에 해당하는지 여부를 분석(S740)하고, 단계 S740의 분석 결과 수신된 사용자 입력 상황이 특정 애플리케이션 관련 키워드에 해당하는 경우 앱 설치 확인부(360)는 단계 S750을 통해 해당 애플리케이션이 모바일 단말기(100)에 설치되었는지 여부를 더 확인한다. 또한, 자동완성 키워드 추출부(350)는 단계 S760을 통해 수신된 사용자 입력 상황에 기초한 자동완성 키워드 리스트를 추출하되 단계 S740의 분석 결과 및 단계 S750의 앱 설치 확인 결과 중 하나 이상에 기초하여 해당 애플리케이션을 설치 또는 실행할 수 있는 키워드를 더 추가할 수 있다.
추출된 자동완성 키워드 리스트는 송수신부(310)를 통하여 모바일 단말기(100)로 제공(S770)되고, 자동완성 키워드 리스트 중 해당 애플리케이션을 설치 또는 실행할 수 있는 키워드가 선택되는 경우에는 모바일 단말기(100)는 설치 화면으로 이동하거나 실행을 요청하고, 그 외의 키워드가 선택되는 경우에는 선택된 키워드에 기초한 검색 요청이 발생한다.
입력된 키워드에 기초한 검색 요청이 수신(S735)되는 경우, 키워드 분석부(340)에서는 수신된 키워드가 특정 애플리케이션 관련 키워드에 해당하는지 여부를 분석(S745)하고, 단계 S745의 분석 결과 수신된 키워드가 특정 애플리케이션 관련 키워드에 해당하는 경우 앱 설치 확인부(360)는 단계 S755을 통해 해당 애플리케이션이 모바일 단말기(100)에 설치되었는지 여부를 더 확인한다. 검색 서비스 제공부(320)는 단계 S765을 통해 수신된 키워드에 기초한 검색 결과 화면을 생성하되 단계 S745의 분석 결과 및 단계 S755의 앱 설치 확인 결과 중 하나 이상에 기초하여 해당 애플리케이션을 설치 또는 실행할 수 있는 링크를 검색 결과 화면의 소정 영역에 더 추가할 수 있다.
생성된 검색 결과 화면은 송수신부(310)를 통하여 모바일 단말기(100)로 제공(S775)되고, 사용자에 의해 애플리케이션을 설치 또는 실행할 수 있는 링크가 선택되는 경우에는 모바일 단말기(100)는 설치 화면으로 이동하거나 실행 요청한다.
한편, 단계 S740 및 S750, 그리고 단계 S745 및 S755는 단계 S710의 감지 결과에 기초하여 선택적으로 수행될 수 있고, 단계 S750 및 S755는 선택적으로 수행될 수 있는 등 본 발명은 도 7에 도시된 방법에 한정되지 않고 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 통상의 창작 능력 범위 내에서 이루어지는 다양한 설계 변경 사항을 모두 포함한다.
본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 발명은 특정 기능들 및 그의 관계들의 성능을 나타내는 방법 단계들의 목적을 가지고 위에서 설명되었다. 이러한 기능적 구성 요소들 및 방법 단계들의 경계들 및 순서는 설명의 편의를 위해 여기에서 임의로 정의되었다. 상기 특정 기능들 및 관계들이 적절히 수행되는 한 대안적인 경계들 및 순서들이 정의될 수 있다. 임의의 그러한 대안적인 경계들 및 순서들은 그러므로 상기 청구된 발명의 범위 및 사상 내에 있다. 추가로, 이러한 기능적 구성 요소들의 경계들은 설명의 편의를 위해 임의로 정의되었다. 어떠한 중요한 기능들이 적절히 수행되는 한 대안적인 경계들이 정의될 수 있다. 마찬가지로, 흐름도 블록들은 또한 어떠한 중요한 기능성을 나타내기 위해 여기에서 임의로 정의되었을 수 있다. 확장된 사용을 위해, 상기 흐름도 블록 경계들 및 순서는 정의되었을 수 있으며 여전히 어떠한 중요한 기능을 수행한다. 기능적 구성 요소들 및 흐름도 블록들 및 순서들 둘 다의 대안적인 정의들은 그러므로 청구된 본 발명의 범위 및 사상 내에 있다.
본 발명은 또한 하나 이상의 실시예들의 용어로, 적어도 부분적으로 설명되었을 수 있다. 본 발명의 실시예는 본 발명, 그 측면, 그 특징, 그 개념, 및/또는 그 예를 나타내기 위해 여기에서 사용된다. 본 발명을 구현하는 장치, 제조의 물건, 머신, 및/또는 프로세스의 물리적인 실시예는 여기에 설명된 하나 이상의 실시예들을 참조하여 설명된 하나 이상의 측면들, 특징들, 개념들, 예들 등을 포함할 수 있다. 더구나, 전체 도면에서, 실시예들은 상기 동일한 또는 상이한 참조 번호들을 사용할 수 있는 상기 동일하게 또는 유사하게 명명된 기능들, 단계들, 모듈들 등을 통합할 수 있으며, 그와 같이, 상기 기능들, 단계들, 모듈들 등은 상기 동일한 또는 유사한 기능들, 단계들, 모듈들 등 또는 다른 것들일 수 있다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
100 : 모바일 단말기 110 : 검색 애플리케이션
200 : 통신 네트워크 300 : 검색 서버
310 : 송수신부 320 : 검색 서비스 제공부
330 : 단말기 감지부 340 : 키워드 분석부
350 : 자동완성 키워드 추출부 360 : 앱 설치 확인부
370 : 데이터베이스

Claims (17)

  1. 사용자 단말과 데이터 통신을 수행하기 위한 송수신부;
    상기 사용자 단말로부터 수신한 사용자 입력 상황 또는 키워드가 특정 애플리케이션 관련 키워드에 해당하는지 여부를 분석하는 키워드 분석부;
    상기 사용자 입력 상황에 대한 상기 키워드 분석부의 분석 결과에 기초하여 상기 특정 애플리케이션이 상기 사용자 단말에 설치되어 있는지를 확인하는 앱 설치 확인부; 및
    상기 앱 설치 확인부의 확인 결과에 기초하여 상기 특정 애플리케이션을 실행할 수 있는 키워드를 포함하는 자동완성 키워드 리스트를 생성하는 자동완성 키워드 추출부를 포함하는, 검색 결과를 통한 애플리케이션 실행 제공 시스템.
  2. 청구항 1에 있어서, 상기 특정 애플리케이션 관련 키워드는 해당 애플리케이션의 정식 명칭, 약칭, 및 해당 애플리케이션을 의미하는 것으로 추측되는 키워드들을 포함하는, 검색 결과를 통한 애플리케이션 실행 제공 시스템.
  3. 청구항 1에 있어서,
    상기 시스템은,
    상기 사용자 단말이 모바일 단말기에 해당하는지 여부를 감지하는 단말기 감지부, 및
    상기 단말기 감지부의 감지 결과에 기초하여 검색 결과 화면을 생성하는 검색 서비스 제공부를 더 포함하는, 검색 결과를 통한 애플리케이션 실행 제공 시스템.
  4. 청구항 3에 있어서, 상기 단말기 감지부는,
    상기 사용자 단말로부터 수신된 HTTP 리퀘스트 헤더(request header)에 기초하여 상기 사용자 단말이 모바일 단말기인지 여부를 감지하는, 검색 결과를 통한 애플리케이션 실행 제공 시스템.
  5. 청구항 1에 있어서,
    상기 시스템은,
    상기 앱 설치 확인부의 확인 결과에 기초하여 상기 특정 애플리케이션을 설치 또는 실행할 수 있는 링크를 포함하는 검색 결과 화면을 생성하는 검색 서비스 제공부를 더 포함하는, 검색 결과를 통한 애플리케이션 실행 제공 시스템.
  6. 청구항 1에 있어서,
    상기 송수신부는,
    상기 사용자 단말로부터 상기 사용자 입력 상황 또는 상기 키워드를 수신하고, 상기 생성된 자동완성 키워드 리스트 및 상기 키워드 검색 결과 화면 중 적어도 하나를 상기 사용자 단말로 전송하는, 검색 결과를 통한 애플리케이션 실행 제공 시스템.
  7. 사용자 단말과 데이터 통신을 수행하기 위한 송수신부;
    상기 사용자 단말이 모바일 단말기에 해당하는지 여부를 감지하는 단말기 감지부;
    상기 사용자 단말로부터 수신한 사용자 입력 상황 또는 키워드가 특정 애플리케이션 관련 키워드에 해당하는지 여부를 분석하는 키워드 분석부; 및
    상기 단말기 감지부의 감지 결과 및 상기 키워드 분석부의 분석결과에 기초하여 상기 특정 애플리케이션을 실행할 수 있는 키워드를 포함하는 자동완성 키워드 리스트를 생성하는 자동완성 키워드 추출부를 포함하는, 검색 결과를 통한 애플리케이션 실행 제공 시스템.
  8. 삭제
  9. 검색 서버에 의해 수행되는, 검색 결과를 통한 애플리케이션 실행 제공 방법에 있어서,
    사용자 단말로부터 수신한 키워드 또는 사용자 입력 상황이 특정 애플리케이션 관련 키워드에 해당하는지 여부를 분석하는 분석 단계;
    상기 입력 상황 분석 단계에서의 분석 결과에 기초하여 상기 특정 애플리케이션이 상기 사용자 단말에 설치되어 있는지를 확인하는 앱 설치 확인 단계; 및
    상기 앱 설치 확인 단계의 확인 결과에 기초하여 상기 특정 애플리케이션을 실행할 수 있는 키워드를 포함하는 자동완성 키워드 리스트를 생성하는 자동완성 키워드 추출 단계를 포함하는, 검색 결과를 통한 애플리케이션 실행 제공 방법.
  10. 청구항 9에 있어서,
    상기 특정 애플리케이션 관련 키워드는 해당 애플리케이션의 정식 명칭, 약칭, 및 해당 애플리케이션을 의미하는 것으로 추측되는 키워드들을 포함하는, 검색 결과를 통한 애플리케이션 실행 제공 방법.
  11. 청구항 9에 있어서,
    상기 방법은,
    상기 사용자 단말이 모바일 단말기에 해당하는지 여부를 감지하는 단말기 감지 단계, 및
    상기 단말기 감지 단계의 감지 결과에 기초하여 검색 결과 화면을 생성하는 검색 결과 화면 생성 단계를 더 포함하는, 검색 결과를 통한 애플리케이션 실행 제공 방법.
  12. 청구항 11에 있어서, 상기 단말기 감지 단계는,
    상기 사용자 단말로부터 수신된 HTTP 리퀘스트 헤더(request header)에 기초하여 상기 사용자 단말이 모바일 단말기인지 여부를 감지하는, 검색 결과를 통한 애플리케이션 실행 제공 방법.
  13. 청구항 9에 있어서,
    상기 방법은,
    상기 앱 설치 확인 단계의 확인 결과에 기초하여 상기 특정 애플리케이션을 설치 또는 실행할 수 있는 링크를 포함하는 검색 결과 화면을 생성하는 검색 결과 화면 생성 단계를 더 포함하는, 검색 결과를 통한 애플리케이션 실행 제공 방법.
  14. 청구항 9에 있어서, 상기 방법은,
    상기 사용자 단말로부터 상기 사용자 입력 상황 또는 상기 키워드를 수신하고, 상기 생성된 자동완성 키워드 리스트 및 키워드 검색 결과 화면 중 적어도 하나를 상기 사용자 단말로 전송하는 송수신 단계를 더 포함하는, 검색 결과를 통한 애플리케이션 실행 제공 방법.
  15. 검색 서버에 의해 수행되는, 검색 결과를 통한 애플리케이션 실행 제공 방법에 있어서,
    사용자 단말이 모바일 단말기에 해당하는지 여부를 감지하는 단말기 감지 단계;
    상기 사용자 단말로부터 수신한 키워드 또는 사용자 입력 상황이 특정 애플리케이션 관련 키워드에 해당하는지 여부를 분석하는 분석 단계; 및
    상기 단말기 감지 단계 및 상기 분석 단계의 분석 결과에 기초하여 상기 특정 애플리케이션을 실행할 수 있는 키워드를 포함하는 자동완성 키워드 리스트를 생성하는 자동완성 키워드 추출 단계를 포함하는, 검색 결과를 통한 애플리케이션 실행 제공 방법.
  16. 삭제
  17. 청구항 9 내지 청구항 15 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터 판독 가능한 기록 매체.
KR1020130079402A 2013-07-08 2013-07-08 검색 결과를 통한 애플리케이션 실행 제공 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체 KR101528133B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130079402A KR101528133B1 (ko) 2013-07-08 2013-07-08 검색 결과를 통한 애플리케이션 실행 제공 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130079402A KR101528133B1 (ko) 2013-07-08 2013-07-08 검색 결과를 통한 애플리케이션 실행 제공 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체

Publications (2)

Publication Number Publication Date
KR20150006116A KR20150006116A (ko) 2015-01-16
KR101528133B1 true KR101528133B1 (ko) 2015-06-11

Family

ID=52569601

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130079402A KR101528133B1 (ko) 2013-07-08 2013-07-08 검색 결과를 통한 애플리케이션 실행 제공 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체

Country Status (1)

Country Link
KR (1) KR101528133B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170060891A1 (en) * 2015-08-26 2017-03-02 Quixey, Inc. File-Type-Dependent Query System
KR101653686B1 (ko) * 2015-12-17 2016-09-09 주식회사 비디 서비스 플로우 제공 방법, 이를 수행하는 서비스 플로우 제공 서버 및 이를 저장하는 기록매체
WO2017209564A1 (ko) 2016-06-02 2017-12-07 주식회사 플런티코리아 앱 리스트 제공 방법 및 그 장치
KR101852905B1 (ko) * 2017-12-20 2018-06-20 삼성전자주식회사 앱 리스트 제공 방법 및 이를 위한 장치
KR20240062495A (ko) * 2022-11-01 2024-05-10 삼성전자주식회사 전자 장치 및 그 제어 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060001891A (ko) * 2005-12-08 2006-01-06 주원범 검색어 자동입력 검색창
KR20120040160A (ko) * 2009-05-27 2012-04-26 구글 인코포레이티드 검색 결과들 내의 컴퓨터 어플리케이션 데이터
KR20120097008A (ko) * 2011-02-24 2012-09-03 삼성전자주식회사 휴대단말에서 어플리케이션 획득 방법 및 장치
KR20130058856A (ko) * 2011-11-28 2013-06-05 에스케이플래닛 주식회사 인스턴트 메시징 환경에서 어플리케이션 추천 시스템 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060001891A (ko) * 2005-12-08 2006-01-06 주원범 검색어 자동입력 검색창
KR20120040160A (ko) * 2009-05-27 2012-04-26 구글 인코포레이티드 검색 결과들 내의 컴퓨터 어플리케이션 데이터
KR20120097008A (ko) * 2011-02-24 2012-09-03 삼성전자주식회사 휴대단말에서 어플리케이션 획득 방법 및 장치
KR20130058856A (ko) * 2011-11-28 2013-06-05 에스케이플래닛 주식회사 인스턴트 메시징 환경에서 어플리케이션 추천 시스템 및 방법

Also Published As

Publication number Publication date
KR20150006116A (ko) 2015-01-16

Similar Documents

Publication Publication Date Title
US10592515B2 (en) Surfacing applications based on browsing activity
KR102105636B1 (ko) 원격으로 애플리케이션들을 설치
TWI536173B (zh) 元件間之無縫瀏覽
KR101528133B1 (ko) 검색 결과를 통한 애플리케이션 실행 제공 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체
US10152660B2 (en) Smart card read/write method and apparatus
CN107329985B (zh) 一种页面的收藏方法、装置和移动终端
EP3281103A1 (en) System and method for extracting and sharing application-related user data
US20160210365A1 (en) Executing a fast crawl over a computer-executable application
CN102323937A (zh) 一种提供搜索结果的方法与设备
WO2018085499A1 (en) Techniques for classifying a web page based upon functions used to render the web page
US20140040307A1 (en) Software downloads from search results page
US9292321B2 (en) System, method and computer-readable recording medium for synchronous script lazy loading
US20160253708A1 (en) Method and system for efficiently serving upsell content based on complex user archetypes
US10839066B1 (en) Distinguishing human from machine input using an animation
JP6544871B2 (ja) 情報表示方法、端末、及びサーバ
KR102046991B1 (ko) 모바일 단말기용 핫토픽 키워드 관련 문서 제공 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체
CN104392009A (zh) 获取移动站点链接地址的方法和装置
US20140359426A1 (en) Method and apparatus for providing suggestion for browser address bar input, browser and terminal thereof
US9230038B2 (en) Content fetching and caching on a mobile device
EP3002665B1 (en) Communication device crawler
WO2018080944A1 (en) Systems and methods for app query driven results
WO2017029640A1 (en) Application cards as advertisements
US20150106734A1 (en) Expedited access to a website by a mobile device
US20150293697A1 (en) Assigning keyboard shortcut keys to web page resource locators
KR101472073B1 (ko) 악의적인 메시지 검출 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체

Legal Events

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