Nothing Special   »   [go: up one dir, main page]

KR101575229B1 - 다중 데이터 검색을 위한 사용자 단말 및 그 검색방법 - Google Patents

다중 데이터 검색을 위한 사용자 단말 및 그 검색방법 Download PDF

Info

Publication number
KR101575229B1
KR101575229B1 KR1020140041459A KR20140041459A KR101575229B1 KR 101575229 B1 KR101575229 B1 KR 101575229B1 KR 1020140041459 A KR1020140041459 A KR 1020140041459A KR 20140041459 A KR20140041459 A KR 20140041459A KR 101575229 B1 KR101575229 B1 KR 101575229B1
Authority
KR
South Korea
Prior art keywords
file
search
data
search engine
user terminal
Prior art date
Application number
KR1020140041459A
Other languages
English (en)
Other versions
KR20150116331A (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 KR1020140041459A priority Critical patent/KR101575229B1/ko
Priority to US14/679,584 priority patent/US20150286648A1/en
Publication of KR20150116331A publication Critical patent/KR20150116331A/ko
Application granted granted Critical
Publication of KR101575229B1 publication Critical patent/KR101575229B1/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/18File system types
    • G06F16/182Distributed file systems
    • 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/42Mailbox-related aspects, e.g. synchronisation of mailboxes
    • 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
    • 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/951Indexing; Web crawling techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

다중 데이터 검색을 위한 사용자 단말 및 그 검색방법이 개시된다. 본 발명의 일 실시 예에 따른 사용자 단말은, 사용자가 사용하는 각 사용자 단말로부터 획득된 데이터와 웹을 통해 제공받는 서비스와 연관된 데이터를 인덱싱하고 사용자의 데이터 검색 요청에 따라 해당하는 데이터의 인덱스를 검색하여 검색 결과를 제공하는 검색엔진과, 사용자 명령을 입력받고 처리 결과를 출력하는 인터페이스와, 각 사용자 단말의 인터페이스와 검색엔진의 연결을 중계하여 검색엔진을 통해 획득된 검색 결과를 검색을 요청한 사용자 단말의 인터페이스에 전달하는 검색엔진 에이전트를 포함한다.

Description

다중 데이터 검색을 위한 사용자 단말 및 그 검색방법 {User terminal for multi data searching and searching method thereof}
본 발명은 데이터 검색 및 검색된 데이터를 제공하는 기술에 관한 것이다.
일반적으로 사용자가 사용자 단말에서 데이터를 검색하기 위해서는 로컬화된 검색 방법들을 사용한다. 즉, 사용자가 사용자 단말을 통해 질의(query)를 입력하면 사용자 단말은 입력된 질의에 대응되는 데이터를 검색하여 제공한다. 예를 들어, 사용자가 자신의 스마트폰에 저장된 오디오 파일을 검색하고자 한다면, 사용자는 자신의 스마트폰에서 제공되는 검색을 위한 인터페이스에 자신의 검색 질의를 입력한다. 질의는 오디오 클립 또는 앨범 명, 아티스트 명 등과 연관된 키워드들을 포함할 수 있다. 그러면, 스마트폰은 요구된 오디오 파일에 대한 검색을 수행하고 이를 검색 결과의 형태로 사용자에게 제공한다.
그러나, 검색이 요청된 오디오 파일이 사용자의 스마트폰에 존재하지 않고 랩 탑과 같은 사용자의 다른 단말에 존재할 경우, 사용자는 자신의 스마트폰에서 수행된 검색 동작만으로 다른 사용자 단말로부터 해당 파일을 검색할 수는 없다. 따라서, 사용자가 데이터가 어느 사용자 단말에 있던지 상관없이 언제든지 편리하게 사용자가 원하는 데이터를 검색할 수 있는 기술이 요구된다.
일 실시 예에 따라, 다수의 사용자 단말에 저장된 데이터와 웹을 통해 제공받는 서비스와 연관된 데이터들을 언제든지 편리하고 신속하게 검색할 수 있는 다중 데이터 검색을 위한 사용자 단말 및 그 검색방법을 제안한다.
일 실시 예에 따른 사용자 단말은, 사용자가 사용하는 다수의 사용자 단말로부터 획득된 데이터와 웹을 통해 제공받는 서비스와 연관된 데이터를 인덱싱하고 사용자의 데이터 검색 요청에 따라 해당하는 데이터의 인덱스를 검색하여 검색 결과를 제공하는 검색엔진과, 사용자 명령을 입력받고 처리 결과를 출력하는 인터페이스와, 각 사용자 단말의 인터페이스와 검색엔진의 연결을 중계하여 검색엔진을 통해 획득된 검색 결과를 검색을 요청한 사용자 단말의 인터페이스에 전달하는 검색엔진 에이전트를 포함한다.
검색엔진이 다수의 사용자 단말로부터 획득하는 데이터는 사용자 단말 자신의 파일 데이터, 사용자 단말 자신의 메일 데이터 및 다른 사용자 단말로부터 검색엔진 에이전트를 통해 획득된 파일 속성 데이터를 포함할 수 있다. 웹을 통해 제공받는 서비스와 연관된 데이터는 클라우드 스토리지 서비스와 소셜 네트워크 서비스를 통해 획득되는 데이터를 포함할 수 있다.
일 실시 예에 따른 검색엔진은 사용자 단말에서 파일 관련 이벤트 발생을 감시하고 있다가 이벤트가 발생하면 해당하는 파일의 속성정보와 파일 내용을 실시간으로 인덱싱한다. 일 실시 예에 따른 검색엔진은 미리 설정된 시간에 파일 인덱싱을 수행하되 미리 설정된 시간이 도래하면 파일의 상태 변경 여부를 검사하여 그 이전 마지막 검사 이후에 상태가 변경된 파일의 속성정보와 파일 내용을 인덱싱한다.
일 실시 예에 따른 검색엔진은 사용자 단말을 통해 제공되는 메일 서비스를 대상으로 미리 설정된 시간에 메일 인덱싱을 수행하되, 미리 설정된 시간이 도래하면 그 이전 마지막 메일 인덱싱 이후에 상태가 변경된 메일의 내용과 첨부파일을 인덱싱한다.
일 실시 예에 따른 검색엔진은 클라우드 스토리지에 저장되는 클라우드 데이터를 대상으로 미리 설정된 시간에 인덱싱을 수행하되, 미리 설정된 시간이 도래하면 클라우드 스토리지로부터 파일 리스트를 전달받아 파일 리스트를 조사하여 그 이전 마지막 파일 인덱싱 이후 상태가 변경된 파일이 있는지를 확인하고 변경된 파일이 있으면 클라우드 스토리지에 요청하여 파일을 전달받아 이를 인덱싱한다. 이때, 검색엔진은 인터페이스의 환경 설정에서 획득된 사용자 인증을 위한 인증키와 함께 인덱싱 요청을 인터페이스로부터 수신하는 경우에 한하여 클라우드 데이터 인덱싱을 수행할 수 있다.
일 실시 예에 따른 검색엔진은 사용자 단말에 제공되는 소셜 네트워크 서비스 데이터를 대상으로 미리 설정된 시간에 인덱싱을 수행하되, 미리 설정된 시간이 도래하면 소셜 네트워크 서비스 서버에서 이전 마지막 인덱싱 시각 이후 발생한 메시지 리스트를 조회하여 해당하는 메시지를 전달받고 전달받은 메시지를 인덱싱한다. 이때 검색엔진은 인터페이스의 환경 설정에서 획득된 사용자 인증을 위한 인증키와 함께 인덱싱 요청을 인터페이스로부터 수신하는 경우에 한하여 소셜 네트워크 서비스 데이터 인덱싱을 수행할 수 있다.
일 실시 예에 따른 검색엔진은 인덱싱 대상이 되는 다른 사용자 단말이 모바일 단말인 경우 모바일 단말로부터 파일 속성정보를 검색엔진 에이전트를 통해 전달받아 파일 속성정보를 주기적으로 인덱싱한다.
일 실시 예에 따른 검색엔진 에이전트는 검색을 요청하는 사용자 단말의 인터페이스로부터 데이터 검색을 요청받으면 검색엔진에 검색 요청을 전달하고 검색엔진으로부터 검색결과를 수신하여 해당 인터페이스에 전달한다.
일 실시 예에 따른 검색엔진 에이전트는 검색을 요청하는 사용자 단말의 인터페이스와 로컬 아이피 주소 또는 공인 아이피 주소로 직접 통신하거나 중계 서버를 통해 해당 인터페이스와 통신하다. 이때, 로컬 아이피 주소 또는 공인 아이피 주소는 검색엔진 에이전트가 중계 서버에 접속할 때 중계 서버가 수집하여 검색을 요청하는 사용자 단말의 인터페이스의 요청에 따라 해당 인터페이스에 전달하는 주소일 수 있다.
일 실시 예에 따른 검색엔진 에이전트는 검색 결과를 수신한 소정의 사용자 단말의 인터페이스로부터 파일 다운로드를 요청받아 해당 파일을 전송한다. 이때, 인터페이스는 검색을 요청한 사용자 단말의 인터페이스로부터 푸시 서버를 통해 다운로드 준비 요청 메시지를 통지받는 경우에 한하여 검색엔진 에이전트를 활성화하고, 활성화된 검색엔진 에이전트가 해당 인터페이스로 파일을 전송할 수 있다.
다른 실시 예에 따른 사용자 단말의 데이터 검색방법은, 사용자가 사용하는 다수의 사용자 단말로부터 획득된 데이터와 웹을 통해 제공받는 서비스와 연관된 데이터를 인덱싱하는 단계와, 사용자의 데이터 검색 요청을 입력받는 단계와, 입력받은 검색 요청에 따라 해당하는 데이터의 인덱스를 검색하여 검색 결과를 제공하는 단계를 포함한다.
또 다른 실시 예에 따른 사용자 단말의 데이터 검색방법은, 사용자로부터 데이터 검색 요청을 입력받아 이를 데이터 검색을 위한 사용자 단말에 전송하여 검색을 요청하는 단계와, 검색을 요청받은 사용자 단말이 사용자가 사용하는 다수의 사용자 단말로부터 획득된 데이터와 웹을 통해 제공받는 서비스와 연관된 데이터의 인덱스로부터 사용자가 요청한 데이터를 검색하면, 검색을 요청받은 사용자 단말로부터 검색 결과를 수신하는 단계를 포함한다.
일 실시 예에 따르면, 다수의 사용자 단말에 저장된 데이터와 웹을 통해 제공받는 서비스와 연관된 데이터들을 언제든지 편리하고 신속하게 검색할 수 있다. 나아가, 검색을 위한 인덱스를 별도의 서버에 보관하지 않고 사용자 단말에 생성하고 저장함에 따라 서버에 보관하는 경우 발생할 수 있는 프라이버시 침해나 보안 상의 위험을 사전에 차단할 수 있다. 또한, 사용자는 검색된 파일을 다운로드 받을 수 있고, 다운로드 받은 파일을 공유할 수도 있다.
도 1은 본 발명의 일 실시 예에 따른 검색 시스템의 구성도,
도 2는 본 발명의 일 실시 예에 따른 검색 시스템의 세부 구성도,
도 3은 본 발명의 일 실시 예에 따른 파일 인덱싱 방법을 도시한 흐름도,
도 4는 본 발명의 일 실시 예에 따른 메일 인덱싱 방법을 도시한 흐름도,
도 5는 본 발명의 일 실시 예에 따른 클라우드 데이터 인덱싱 방법을 도시한 흐름도,
도 6은 본 발명의 일 실시 예에 따른 SNS 데이터 인덱싱 방법을 도시한 흐름도,
도 7은 본 발명의 일 실시 예에 따른 모바일 단말 데이터 인덱싱 방법을 도시한 흐름도,
도 8은 본 발명의 일 실시 예에 따른 데이터 검색방법을 도시한 흐름도,
도 9는 본 발명의 일 실시 예에 따른 검색 데이터 다운로드 방법을 도시한 흐름도이다.
이하에서는 첨부한 도면을 참조하여 본 발명의 실시 예들을 상세히 설명한다. 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시 예에 따른 검색 시스템의 구성도이다.
도 1을 참조하면, 일 실시 예에 따른 검색 시스템은 동일 사용자가 사용하는 여러 사용자 단말에 있는 모든 데이터를 쉽고 빠르게 검색하는 서비스를 제공한다. 사용자 단말은 랩 탑 PC, 데스크 탑 PC, 태블릿 PC 등의 PC이거나 스마트폰과 같은 모바일 단말일 수 있다. 설명의 편의를 위해 도 1에 도시된 바와 같이 사용자가 제1 사용자 단말(1), 제2 사용자 단말(2) 및 제3 사용자 단말(3) 3개를 사용하고, 제1 사용자 단말(1)은 집에서 사용하는 PC이고, 제2 사용자 단말(2)은 회사에서 사용하는 PC이며, 제3 사용자 단말(3)은 휴대하면서 이동 가능한 스마트폰이라 가정한다.
일 실시 예에 따른 검색 시스템은 사용자가 어느 사용자 단말을 통해서도 다른 사용자 단말에 저장된 데이터를 검색할 수 있도록 지원한다. 예를 들어, 사용자가 출장 중에 있는 경우 스마트폰(3)을 통해 집 컴퓨터(1) 또는 회사 컴퓨터(2)에 있는 데이터를 검색할 수 있고, 퇴근 후 집 컴퓨터(1)를 통해 회사 컴퓨터(2) 또는 스마트폰(3)의 데이터를 검색할 수 있다. 한편, 도 1에서는 3개의 사용자 단말(1,2,3)을 예를 들었으나, 사용자가 사용 가능한 사용자 단말의 종류와 수는 이에 한정되는 것이 아니고 다양하게 변형 가능하다. 일 실시 예에 따른 검색 시스템은 검색 서비스에 사용자가 가입하면, 가입한 사용자로부터 사용자 단말들을 지정받아 등록하고, 등록된 사용자 단말들을 대상으로 검색 서비스를 제공한다.
일 실시 예에 따른 검색 시스템은 사용자가 사용하는 각 사용자 단말 내에서 생성되는 모든 파일의 속성정보와 내용에 대한 검색 및 다운로드를 지원한다. 또한 메일 검색 서비스를 지원하는데, 메일의 제목과 내용은 물론 첨부파일까지 검색할 수 있다. 또한, 사용자가 웹을 통해 제공받는 서비스를 통해 생성되는 데이터까지도 검색하고 공유할 수 있다. 웹을 통해 제공받는 서비스의 예로는 구글 드라이브(google drive), 드롭 박스(dropbox) 등과 같은 클라우드 스토리지(cloud storage)에 데이터를 저장하는 클라우드 서비스(cloud service)와, 페이스 북(facebook), 트위터(twitter) 등과 같은 소셜 네트워크 서비스(social network service: 이하 SNS이라 칭함) 등이 있다.
일 실시 예에 따른 검색 시스템은 검색을 위한 인덱스를 별도의 서버에 보관하지 않고 사용자 단말에 생성하고 저장한다. 이에 따라 서버에 보관하는 경우 발생할 수 있는 프라이버시 침해나 보안 상의 위험을 사전에 차단할 수 있다.
일 실시 예에 따른 검색 시스템은 검색 결과를 인터페이스를 통해 화면에 표시한다. 이때, 검색된 데이터 리스트들을 검색 대상 별로 구분하여 표시할 수 있다. 예를 들어, 사용자가 검색 서비스 가입 시에 컴퓨터 2대, 스마트폰 1대, 구글 드라이브, 드롭 박스, 페이스 북을 각각 검색 대상으로 지정한 경우, 사용자가 검색 키워드를 입력하면 각 검색 대상 별로 검색된 데이터 리스트를 표시한다.
일 실시 예에 따른 검색 시스템은 검색된 데이터 리스트에서 사용자가 소정의 파일을 다운로드 받을 수 있도록 검색된 파일을 제공한다. 나아가, 사용자는 다운로드 받은 파일을 공유할 수도 있다. 공유 방식의 예로는 클라우드 환경이나 SNS에 파일을 올리거나 메일 등을 통해 파일을 전송할 수 있는 방법 등 다양하다.
도 2는 본 발명의 일 실시 예에 따른 검색 시스템의 세부 구성도이다.
도 2를 참조하면, 각 사용자 단말(1,2,3)은 검색엔진(search engine), 검색엔진 에이전트(search engine agent) 및 인터페이스(interface)를 포함한다. 각 구성요소들은 하드웨어 장치나 소프트웨어 모듈의 조합 중 적어도 하나일 수 있다. 하드웨어 장치는 예를 들어 적어도 하나의 프로세서를 포함하는 집적 회로와 직접 회로 내에 컴퓨터 프로그램 코드를 갖는 메모리일 수 있다.
각 사용자 단말에 위치하는 인터페이스는 사용자 명령을 입력받고 처리 결과를 출력한다. 인터페이스는 각 사용자 단말에 설치되거나 다운로드 가능한 애플리케이션(application)일 수 있다. 이 경우, 사용자에 의해 애플리케이션이 실행되면 애플리케이션을 통해 사용자로부터 데이터 검색 또는 데이터 다운로드 명령을 입력받고, 검색엔진을 통한 검색 결과를 애플리케이션을 통해 출력할 수 있다. 애플리케이션은 브라우징 기능을 가지며, 설치되는 사용자 단말의 운영체제에 맞추어 설치될 수 있다. 예를 들어 PC에 설치되는 경우 윈도우즈(Windows) 버전으로, 스마트폰에 설치되는 경우 안드로이드(Android) 버전 또는 iOS 버전으로 설치될 수 있다.
인터페이스는 데이터 검색 및 다운로드 요청을 위해 검색엔진 에이전트와 통신한다. 통신 최적화를 위해, 일 실시 예에 따른 인터페이스는 첫 번째로 로컬 아이피 주소로 검색엔진 에이전트에 접속한다(1). 접속에 실패하면 두 번째로 공인 아이피 주소로 검색엔진 에이전트에 접속한다(2). 접속에 실패하면 최종적으로 중계 서버(6)를 통해 검색엔진 에이전트에 접속한다(3).
검색엔진은 사용자가 사용하는 사용자 단말들에 저장된 데이터와, 웹을 통해 제공되는 서비스와 연관된 데이터를 인덱싱(indexing)한다. 그리고, 사용자의 데이터 검색 요청에 따라 해당하는 데이터의 인덱스(index)를 검색하여 검색 결과를 제공한다. 인덱싱은 데이터 관련정보를 리스트 형태인 인덱스로 기록하는 것으로, 본 발명에 따르면 데이터의 속성정보뿐만 아니라 내용까지 인덱싱할 수 있다. 예를 들어, 파일의 경우 파일의 속성정보와 파일 내용까지를 인덱싱할 수 있다. 또 다른 예로 메일의 제목, 내용 및 첨부파일까지를 인덱싱할 수 있다.
일 실시 예에 따르면, 사용자가 사용하는 사용자 단말들 중에서 주로 사용하는 메인(main) 단말을 사용자가 인터페이스를 통해 지정하면, 지정된 메인 단말의 검색엔진이 각 데이터들을 인덱싱한다. 예를 들어, 사용자가 집에서 사용하는 PC인 제1 사용자 단말(1)이 메인(main) 단말로 지정된 경우, 제1 사용자 단말(1)의 검색엔진(12)은 제1 사용자 단말(1)에서 생성되는 데이터와, 모바일 단말인 제3 사용자 단말(3)로부터 획득된 데이터와, 제1 사용자 단말(1)이 웹을 통해 제공받는 서비스로부터 획득되는 데이터를 인덱싱한다.
이때, 제1 사용자 단말(1)에서 생성되는 데이터는 디스크(18)를 통해 생성되는 문서 파일과, 메일 스토리지(16)에 저장된 메일 데이터일 수 있다. 메일 데이터는 메일의 제목, 내용 및 첨부파일까지를 포함할 수 있다. 모바일 단말인 제3 사용자 단말(3)로부터 획득되는 데이터는 제3 사용자 단말(3)에서 생성되는 파일의 속성정보일 수 있다. 제1 사용자 단말(1)이 웹을 통해 제공받는 서비스로부터 획득되는 데이터는 드롭 박스(4-1), 구글 드라이브(4-2)와 같은 클라우드 스토리지에 데이터를 저장하는 클라우드 서비스와, 페이스 북(5)과 같은 SNS 등으로부터 획득되는 데이터일 수 있다.
전술한 메인 단말 중심의 인덱싱 방식에 있어서, 효율을 위해 다른 사용자 단말(2,3)은 자신의 단말에서 생성되는 데이터만을 자체 인덱싱하고, 메인 단말인 제1 사용자 단말(1)에서 전술한 데이터들을 인덱싱하는 방식이다. 그러나, 이는 일 실시 예일 뿐, 메인 단말이 아닌 다른 사용자 단말(2,3)에서도 메인 단말의 기능을 수행할 수도 있다.
각 사용자 단말에 위치하는 검색엔진 에이전트는 검색엔진과 인터페이스를 중계하는 역할을 한다. 이를 위해 검색엔진 에이전트는 인터페이스와 통신하게 되는데, 인터페이스는 사용자 단말 자신에 위치하는 인터페이스일 수 있고, 다른 사용자 단말에 위치하는 인터페이스일 수 있다. 예를 들어, 도 1에 도시된 바와 같이 제1 사용자 단말(1)의 검색엔진 에이전트(10)는 제1 사용자 단말(1) 내 인터페이스(14)와 제3 사용자 단말(3)의 인터페이스(34)와 통신할 수 있다.
일 실시 예에 따른 검색엔진 에이전트는 인터페이스에서의 검색 요청을 받아 이를 검색엔진에 전달해 주는 기능과, 인터페이스에서의 파일 다운로드 요청을 받아 디스크에 있는 파일을 전달하는 기능을 수행한다. 검색엔진 에이전트는 서버(server) 기능을 수행하면서 동시에 클라이언트(client) 기능을 수행할 수 있다.
예를 들어, 검색엔진 에이전트는 인터페이스와 직접 통신하여 인터페이스로부터 사용자 명령을 전달받고 사용자 명령에 따른 처리 결과를 해당 인터페이스에 송신하는 서버 기능을 수행한다. 여기서 직접 통신은 인터페이스가 검색엔진 에이전트의 로컬 아이피 주소나 공인 아이피 주소로 접속할 수 있음을 의미한다. 이에 비하여, 검색엔진 에이전트는 인터페이스와 직접 통신할 수 없는 경우, 예를 들어 로컬 아이피 주소나 공인 아이피 주소로 통신이 어려운 경우, 통신을 위해 인터페이스가 상시 연결할 수 있는 중계 서버(6)를 거쳐 명령을 전달받아 처리할 수 있는 클라이언트 기능을 수행한다.
검색엔진 에이전트와 인터페이스 간 통신을 위해 로컬 아이피 주소와 공인 아이피 주소를 이용할 수 있다. 로컬 아이피 주소와 공인 아이피 주소는 중계 서버(6)를 통해 수집될 수 있다. 예를 들어, 검색엔진 에이전트(20)가 중계 서버(6)에 접속할 때 중계 서버(6)가 검색엔진 에이전트(20)의 로컬 아이피 주소와 공인 아이피 주소를 수집한다. 그리고, 인터페이스(34)가 요청 시 이 정보를 인터페이스(34)에 전달한다. 공인 아이피 주소를 이용하여 통신하기 위해서는 주소 변환기(network address translation: NAT)(7)의 포트 포워딩이 사전에 필요하다. 포트 포워딩이란 공인 아이피 주소의 특정 포트로 수신된 메시지를 사전에 정의된 로컬 아이피 주소의 특정 포트로 바이패스(bypass) 시키는 것을 의미한다.
PC에 해당하는 제1 사용자 단말(1)과 제2 사용자 단말(2)에서는 해당하는 단말 내에 검색엔진 에이전트는 상시 백그라운드 프로세스로 구동될 수 있다. 그러나, 스마트폰과 같은 모바일 단말에 해당하는 제3 사용자 단말(3)에서는 검색엔진 에이전트가 백그라운드 프로세스로 구동되기 어렵다. 이는 모바일 단말의 배터리 소모 이슈와 이동성 때문에 로컬 아이피 주소가 계속해서 바뀔 수 있는 이슈 등이 발생하기 때문이다. 이런 이유로, 일 실시 예에 따른 모바일 단말의 검색엔진 에이전트는 상시 구동되는 것이 아니라, 사용자의 요청이 있는 경우에만 활성화된다. 이에 대한 실시 예는 도 9에서 후술한다.
중계 서버(relay server)(6)는 방화벽 등으로 인하여 인터페이스가 검색엔진 에이전트와 직접 통신할 수 없는 경우 통신을 중계한다. 예를 들어, 3G, LTE나 다른 네트워크 등에서 인터페이스와 검색엔진 에이전트 간의 원활한 통신을 중계하기 위해 인터페이스에서의 명령을 검색엔진 에이전트에 대신 전달해 준다.
라우터(router)(8)는 사용자 별로 중계 서버(6)를 할당해 주는 서버이다. 라우터(8)는 동일한 사용자를 대상으로 검색엔진 에이전트와 인터페이스를 동일한 중계 서버에 접속할 수 있도록 할당한다. 이에 따라, 서로 상이한 중계 서버에 동일 사용자의 사용자 단말이 분산됨에 따라 발생하는 불필요한 중계 서버와 중계 서버로의 통신을 사전에 차단할 수 있다.
도 3은 본 발명의 일 실시 예에 따른 파일 인덱싱 방법을 도시한 흐름도이다.
도 3을 참조하면, 파일 인덱싱은 실시간 인덱싱과 벌크(bulk) 인덱싱을 포함한다. 실시간 인덱싱이란 OS에서 발생하는 파일 생성, 수정, 삭제 이벤트를 전달받아 실시간으로 파일을 인덱싱하는 것을 의미한다. 이에 비하여, 벌크 인덱싱이란 미리 설정해 놓은 시간에 자동으로 파일의 전수(full) 검사를 통해 누락된 파일을 인덱싱하는 것을 의미한다. 사용자는 전수 검사 시간을 임의로 설정할 수 있는데, 전수 검사 시간은 예를 들어 새벽 2:00와 같이 사용자가 단말을 사용하지 않는 시간일 수 있다.
일 실시 예에 따른 실시간 파일 인덱싱 프로세스를 설명하면, 파일 감시자(FileWatcher)(210)가 OS에서 발생하는 파일 생성, 수정, 삭제 이벤트 발생을 감시(3000)하고 있다가 파일 관련 이벤트가 발생하면 해당하는 파일을 검색엔진(200)에 전달한다(3020). 파일을 검색엔진(200)에 전달하기 이전에, 파일 감시자(210)는 검색엔진(20)의 인덱싱 효율성을 높이기 위해 파일 속성별로 필터링(3010)할 수 있다. 예를 들어, 불필요하다 판단되는 시스템 폴더를 포함하여 그 하위 폴더에 존재하는 파일이나, 감춤(hidden) 속성을 갖는 파일 등은 필터링을 통해 인덱싱 대상에서 제외한다. 파일을 전달받은 검색엔진(200)은 파일을 문서 필터(220)에 전달(3030)하고, 문서 필터(220)가 텍스트를 추출(3035)하여 추출된 텍스트를 검색엔진(200)에 전달(3040)하면, 검색엔진(200)은 해당 파일의 속성정보와 파일 내용을 인덱싱한다(3050).
일 실시 예에 따른 벌크 파일 인덱싱 프로세스(3055)를 설명하면, 검사 시간을 스케줄링(3060)하고, 스케줄에 따라 미리 설정된 시간이 도래하면 검색엔진(200)이 파일의 생성, 삭제 등 상태 변경 여부를 검사(3070)하여 그 이전 마지막 검사 이후에 상태가 변경된 파일을 문서 필터(220)에 전달(3080)하고, 문서 필터(220)가 텍스트를 추출(3090)하여 추출된 텍스트를 검색엔진(200)에 전달(3100)하면, 검색엔진(200)은 해당 파일의 속성정보와 파일 내용을 인덱싱한다(3110).
도 4는 본 발명의 일 실시 예에 따른 메일 인덱싱 방법을 도시한 흐름도이다.
도 4를 참조하면, 메일 인덱싱은 벌크 인덱싱을 수행한다. 이때, 메일 인덱싱은 마이크로소프트 사에서 제공하는 메시징 애플리케이션 인터페이스(messaging application program interface: MAPI) 라이브러리(library)를 이용하여 메일의 본문과 첨부파일을 인덱싱할 수 있다. 메일 인덱싱에 있어서, 미리 설정된 시간, 예를 들어 1일 1회 새벽 3:00시에 벌크 인덱싱 프로세스(4000)를 수행할 수 있다. 부가적으로 인터페이스(230)가 검색엔진(200)에 즉시 업데이트 명령을 요청(4080)하는 경우에도 벌크 메일 인덱싱 프로세스(4000)를 수행할 수도 있다.
일 실시 예에 따른 벌크 메일 인덱싱 프로세스(4000)를 설명하면, 인덱싱할 시간을 스케줄링(4010)하고, 스케줄에 따라 미리 설정된 시간이 도래하면 검색엔진(200)이 아웃룩과 같은 메일 응용프로그램(240)에서 그 이전에 마지막으로 메일 인덱싱을 수행한 시각 이후 생성되거나 삭제되는 등 그 상태가 변경된 메일을 조사(4020)하여 메일 응용프로그램(240)으로부터 상태가 변경된 메일의 내용 및 첨부파일을 전달받는다(4030). 이어서, 검색엔진(200)은 상태가 변경된 메일의 첨부파일을 문서 필터(220)에 전달(4040)하고, 문서 필터(220)가 첨부파일로부터 텍스트를 추출(4050)하여 추출된 텍스트를 검색엔진(200)에 전달(4060)하면, 검색엔진(200)은 해당 메일의 내용과 첨부파일을 인덱싱한다(4070).
도 5는 본 발명의 일 실시 예에 따른 클라우드 데이터 인덱싱 방법을 도시한 흐름도이다.
도 5를 참조하면, 구글 드라이브나 드롭 박스와 같은 클라우드 데이터 인덱싱을 위해서는 사용자를 인증하기 위한 OAuth 인증키가 있어야 한다. OAuth 인증키는 개방형 애플리케이션 프로그래밍 인터페이스(Open API)로 개발된 표준 인증 방식으로, 각종 애플리케이션에서 사용자 인증을 거칠 때 활용될 수 있다. OAuth 인증키는 인터페이스(230)의 환경 설정에서 사용자를 통해 획득 가능하다. 우선, 인터페이스(230)가 획득한 OAuth 인증키를 검색엔진(200)에 전달하면서 인덱싱을 요청한다(5000).
클라우드 데이터 인덱싱은 벌크 인덱싱(5020)만 가능하며, 미리 설정된 시간 간격, 예를 들어 10분 간격으로 벌크 인덱싱을 수행할 수 있다. 일 실시 예에 따른 클라우드 데이터 벌크 인덱싱 방식(5020)에서, 검색엔진(200)이 인터페이스(230)로부터 OAuth 인증키를 수신(5000)한 이후, 스케줄(5010)에 따라 미리 설정된 시간이 도래하면, 검색엔진(200)은 클라우드 스토리지(250)에 저장된 파일의 리스트를 요청(5030)하여 수신한다(5035). 이때, 검색엔진(200)은 수신한 파일 리스트에서 그 이전에 마지막으로 인덱싱을 수행한 시각 이후 생성되거나 삭제되는 등 그 상태가 변경된 파일을 조사(5040)하여 그 상태가 변경된 파일이 있는지를 확인한다. 변경된 파일이 있으면 검색엔진(200)은 클라우드 스토리지(250)에 변경된 파일을 요청(5050)하여 클라우드 스토리지(250)로부터 변경된 파일을 전달받는다(5060).
이어서, 검색엔진(200)은 변경된 파일을 문서 필터(220)에 전달(5070)하고, 문서 필터(220)가 전달받은 파일로부터 텍스트를 추출(5080)하여 추출된 텍스트를 검색엔진(200)에 전달(5090)하면, 검색엔진(200)은 해당 파일을 인덱싱한다(5100). 전술한 방식은 검색엔진(200)이 인덱싱 대상이 되는 파일을 선택하고, 선택한 파일만을 클라우드 스토리지(250)로부터 전달받아 인덱싱하는 방식이다. 클라우드 데이터 인덱싱을 위해 검색엔진(200)이 클라우드 스토리지(250)로부터 파일을 전달(5060)받고 전달받은 파일을 인덱싱(5100)하여 인덱싱이 완료되면, 검색엔진(200)은 해당 파일을 삭제할 수 있다.
도 6은 본 발명의 일 실시 예에 따른 SNS 데이터 인덱싱 방법을 도시한 흐름도이다.
도 6을 참조하면, 페이스 북이나 트위터와 같은 SNS 데이터 인덱싱을 위해서는 클라우드 데이터 인덱싱과 마찬가지로 OAuth 인증키가 있어야 한다. OAuth 인증키는 인터페이스(230)의 환경 설정에서 사용자를 통해 획득 가능하다. 우선, 인터페이스(230)가 획득한 OAuth 인증키를 검색엔진(200)에 전달하면서 인덱싱을 요청한다(6000). 이어서, 검색엔진(200)은 SNS 서버(260)에 Timeline에 있는 데이터를 대상으로 미리 설정된 시간 간격으로 벌크 인덱싱을 수행한다(6040). 예를 들어, 10분 간격으로 벌크 인덱싱을 수행할 수 있다. 일 실시 예에 따른 SNS 데이터 벌크 인덱싱(6020)에서, 검색엔진(200)은 그 이전 마지막 인덱싱 시각 이후 발생한 메시지 리스트를 조회(6030)하여 해당하는 메시지를 SNS 서버(260)로부터 전달(6040)받아 전달받은 메시지를 인덱싱한다(6050).
도 7은 본 발명의 일 실시 예에 따른 모바일 단말 데이터 인덱싱 방법을 도시한 흐름도이다.
도 7을 참조하면, 검색엔진(200)이 직접 모바일 단말(280)에 접속할 수 없는 관계로, 모바일 단말(280)이 파일 속성정보를 수집하여 주기적으로 검색엔진 에이전트(270)에 전송(7010)하면, 검색엔진 에이전트(270)는 전달받은 파일 속성정보를 검색엔진(200)에 전달한다(7020). 파일 속성정보를 전달받은 검색엔진(200)은 파일 속성정보를 인덱스한다(7030). 이때 파일 내용에 대한 인덱싱은 제외된다. 전술한 인덱싱은 주기적으로 모바일 단말(280)로부터의 파일 속성정보 전송 시에 수행되는 벌크 인덱싱이며, 전송 주기는 모바일 단말(280)이 설정할 수 있다(7000).
도 8은 본 발명의 일 실시 예에 따른 데이터 검색방법을 도시한 흐름도이다.
도 8을 참조하면, 사용자 단말들 중 검색 단말의 검색엔진 에이전트(820)가 로컬 아이피 주소 또는 공인 아이피 주소를 이용하여 중계 서버(810)에 접속(8000)할 때, 중계 서버(810)는 검색엔진 에이전트(820)의 로컬 아이피 주소 또는 공인 아이피 주소를 수집한다. 그리고, 사용자가 사용자 단말들 중 검색요청 단말의 인터페이스(800)를 통해 검색 단말의 데이터 검색(8010)을 원하는 경우, 검색요청 단말의 인터페이스(800)는 중계 서버(810)에 검색 단말의 검색엔진 에이전트(820)의 로컬 아이피 주소 또는 공인 아이피 주소를 요청(8020)하여 수신한다(8030).
로컬 아이피 주소 또는 공인 아이피 주소를 수신한 검색요청 단말의 인터페이스(800)는 수신한 로컬 아이피 주소 또는 공인 아이피 주소로 검색 단말의 검색엔진 에이전트(820)에 직접 연결 가능한지 여부를 조사한다(8040). 직접 연결이 가능하면 인터페이스(800)는 로컬 아이피 주소 또는 공인 아이피 주소로 검색엔진 에이전트(820)에 접속하여 데이터 검색을 요청한다(8050). 그러면, 검색엔진 에이전트(820)는 검색엔진(830)에 검색을 요청한다(8060). 검색 요청에 따라 검색엔진(830)이 데이터를 검색하면 검색엔진 에이전트(820)는 검색엔진(830)으로부터 검색결과를 수신(8070)하고 이를 검색요청 단말의 인터페이스(800)에 전달한다(8080). 검색결과는 검색을 요청한 데이터가 검색 단말에 있는지 여부와, 있는 경우 검색된 데이터 리스트를 제공할 수 있다.
이에 비해, 검색요청 단말의 인터페이스(800)가 로컬 아이피 주소 또는 공인 아이피 주소를 이용하여 검색 단말의 검색엔진 에이전트(820)에 접속이 불가능하면, 인터페이스(800)는 중계 서버(810)를 경유하여 검색엔진 에이전트(820)에 데이터 검색을 요청한다(8090,8100). 그러면, 검색엔진 에이전트(820)는 검색엔진(830)에 데이터 검색을 요청(8110)하고, 검색엔진(830)으로부터 검색결과를 수신(8120)하여 중계 서버(810)를 경유하여 인터페이스(800)에 전달한다(8130,8140).
도 9는 본 발명의 일 실시 예에 따른 검색 데이터 다운로드 방법을 도시한 흐름도이다.
도 9를 참조하면, 사용자 단말 중 검색요청 단말은 검색 단말을 통해 검색한 파일을 검색 단말로부터 다운로드 받을 수 있고, 다운로드 받은 파일을 공유할 수도 있다. 검색요청 단말과 검색 단말은 PC이거나 모바일 단말일 수 있다.
검색요청 단말은 검색 단말의 원본 파일 저장 위치에 따라 각기 다른 방법으로 파일을 다운로드 받을 수 있다. 예를 들어, 원본 파일이 PC에 있는 경우 검색요청 단말은 인터페이스를 통해 검색 단말의 검색엔진 에이전트에 접속하여 검색엔진 에이전트로부터 파일을 다운로드 받는다. 이때 검색 요청 단말의 인터페이스가 직접 검색 단말의 검색엔진 에이전트에 연결할 수 없는 경우 중계 서버를 경유하여 검색 단말의 검색엔진 에이전트로부터 파일을 다운로드 받을 수 있다. 이때 파일은 검색 단말의 디스크에 저장된 파일일 수 있고, 검색 단말의 메일 내 첨부파일일 수도 있다.
구체적으로, 도 9를 참조하면 사용자가 검색요청 단말의 인터페이스(900)를 통해 검색 단말에서 검색된 데이터를 검색 단말로부터 다운로드(9000) 받기를 원하는 경우, 검색 단말의 검색엔진 에이전트(950)가 로컬 아이피 주소 또는 공인 아이피 주소로 중계 서버(920)에 접속(9005) 시 중계 서버(920)가 수집한 로컬 아이피 주소 또는 공인 아이피 주소를 검색요청 단말의 인터페이스(900)가 중계 서버(920)에 요청(9120)하여 수신한다(9130).
이어서, 로컬 아이피 주소 또는 공인 아이피 주소를 수신한 검색요청 단말의 인터페이스(900)는 수신한 로컬 아이피 주소 또는 공인 아이피 주소로 검색 단말의 검색엔진 에이전트(950)에 직접 연결 가능한지 여부를 조사한다(9140). 직접 연결이 가능하면 인터페이스(900)는 로컬 아이피 주소 또는 공인 아이피 주소로 검색엔진 에이전트(950)에 접속하여 파일 다운로드를 요청(9150)하고, 검색엔진 에이전트(950)로부터 파일을 다운로드 받는다(9160). 이에 비해, 검색요청 단말의 인터페이스(900)가 로컬 아이피 주소 또는 공인 아이피 주소를 이용하여 검색 단말의 검색엔진 에이전트(950)에 접속이 불가능하면, 인터페이스(900)는 중계 서버(920)를 경유하여 검색엔진 에이전트(950)에 파일 다운로드를 요청(9170,9180)하고, 검색엔진 에이전트(950)로부터 중계 서버(920)를 경유하여 파일을 다운로드 받는다(9190,9200).
한편, 다운로드 받을 파일이 PC가 아닌 모바일 단말에 있는 경우는 좀더 복잡한 과정을 거친다. 모바일 단말에서도 PC의 검색엔진 에이전트처럼 상시 백그라운드 프로세스로 구동되어 있으면 좋으나, 이것은 배터리 소모 이슈와 이동성 때문에 로컬 아이피 주소가 계속해서 바뀔 수 있다는 이슈 때문에 백그라운드 프로세스로 구동될 수 없다. 이런 이유로 일 실시 예에 따른 검색요청 단말은 파일을 다운로드 받고자 하는 시점에 검색 단말인 모바일 단말의 검색엔진 에이전트를 구동시켜 파일을 다운로드 받는다. 이때, 모바일 단말의 인터페이스는 다운로드 준비 요청 메시지를 수신하면 검색엔진 에이전트(950)를 구동시켜 검색요청 단말에서 파일을 다운로드 받을 수 있도록 한다. 마찬가지로 직접 검색엔진 에이전트에 연결할 수 없는 경우 중계 서버를 경유하여 파일을 전달받는다.
구체적으로, 도 9를 참조하면 사용자가 검색요청 단말의 인터페이스(900)를 통해 검색 단말로부터 파일을 다운로드(9000) 받기를 원하는 경우, 검색 단말이 모바일 단말이면 검색요청 단말의 인터페이스(900)는 웹 애플리케이션 서버(Web Application Server: 이하 WAS라 칭함)(910)에 다운로드 준비를 요청한다(9020). WAS(910)는 회원 관리, 애플리케이션 다운로드, 소개, 도움말, 공지 들을 관리하는 서버이다. WAS(910)는 다운로드 준비요청 메시지를 푸시 서버(930)에 전달한다(9030). 그러면, 푸시 서버(930)는 모바일 단말의 인터페이스(940)에 다운로드 준비요청 메시지를 수신하였음을 푸시(push) 방식을 통해 통지(notification)한다(9040). 통지받은 모바일 단말의 인터페이스(940)는 검색엔진 에이전트(950)를 구동한다(9050). 이어서, 검색엔진 에이전트(950)는 검색요청 단말의 인터페이스(900)와 통신하여 파일을 전송하게 되고 검색요청 단말의 인터페이스(900)는 파일을 다운로드 받는다(9150,9160). 또는 검색엔진 에이전트(950)로부터 중계 서버(920)를 경유하여 파일을 다운로드 받을 수도 있다(9170,9180,9190,9200). 한편, 클라우드 서비스나 SNS의 경우는 각 벤더가 제공해주는 API(application programming interface)를 이용하여 직접 다운로드 받는다.
이제까지 본 발명에 대하여 그 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (21)

  1. 사용자가 사용하는 다수의 사용자 단말로부터 획득된 데이터와 웹을 통해 제공받는 서비스와 연관된 데이터를 인덱싱하고 사용자의 데이터 검색 요청에 따라 해당하는 데이터의 인덱스를 검색하여 검색 결과를 제공하는 검색엔진;
    사용자 명령을 입력받고 처리 결과를 출력하는 인터페이스; 및
    사용자 단말 간의 데이터 검색을 위해 각 사용자 단말의 인터페이스와 상기 검색엔진의 연결을 중계하여 상기 검색엔진을 통해 획득된 검색 결과를 검색을 요청한 사용자 단말의 인터페이스에 전달하는 검색엔진 에이전트; 를 포함하며,
    상기 검색엔진은 데이터 파일의 속성정보 및 파일 내용을 포함하여 인덱스 검색하는 것을 특징으로 하는 사용자 단말.
  2. 제 1 항에 있어서,
    상기 검색엔진이 다수의 사용자 단말로부터 획득하는 데이터는 상기 사용자 단말 자신의 파일 데이터, 상기 사용자 단말 자신의 메일 데이터 및 다른 사용자 단말로부터 상기 검색엔진 에이전트를 통해 획득된 파일 속성 데이터를 포함하는 것을 특징으로 하는 사용자 단말.
  3. 제 1 항에 있어서,
    상기 웹을 통해 제공받는 서비스와 연관된 데이터는 클라우드 스토리지 서비스와 소셜 네트워크 서비스를 통해 획득되는 데이터를 포함하는 것을 특징으로 하는 사용자 단말.
  4. 제 1 항에 있어서, 상기 검색엔진은
    사용자 단말에서 파일 관련 이벤트 발생을 감시하고 있다가 이벤트가 발생하면 해당하는 파일의 속성정보와 파일 내용을 실시간으로 인덱싱하는 것을 특징으로 하는 사용자 단말.
  5. 제 1 항에 있어서, 상기 검색엔진은
    미리 설정된 시간에 파일 인덱싱을 수행하되 미리 설정된 시간이 도래하면 파일의 상태 변경 여부를 검사하여 그 이전 마지막 검사 이후에 상태가 변경된 파일의 속성정보와 파일 내용을 인덱싱하는 것을 특징으로 하는 사용자 단말.
  6. 제 1 항에 있어서, 상기 검색엔진은
    사용자 단말을 통해 제공되는 메일 서비스를 대상으로 미리 설정된 시간에 메일 인덱싱을 수행하되, 미리 설정된 시간이 도래하면 그 이전 마지막 메일 인덱싱 이후에 상태가 변경된 메일의 내용과 첨부파일을 인덱싱하는 것을 특징으로 하는 사용자 단말.
  7. 제 1 항에 있어서, 상기 검색엔진은
    클라우드 스토리지에 저장되는 클라우드 데이터를 대상으로 미리 설정된 시간에 인덱싱을 수행하되, 미리 설정된 시간이 도래하면 클라우드 스토리지로부터 파일 리스트를 전달받아 파일 리스트를 조사하여 그 이전 마지막 파일 인덱싱 이후 상태가 변경된 파일이 있는지를 확인하고 변경된 파일이 있으면 클라우드 스토리지에 요청하여 파일을 전달받아 이를 인덱싱하는 것을 특징으로 하는 사용자 단말.
  8. 제 7 항에 있어서, 상기 검색엔진은
    인터페이스의 환경 설정에서 획득된 사용자 인증을 위한 인증키와 함께 인덱싱 요청을 상기 인터페이스로부터 수신하는 경우에 한하여 클라우드 데이터 인덱싱을 수행하는 것을 특징으로 하는 사용자 단말.
  9. 제 1 항에 있어서, 상기 검색엔진은
    사용자 단말에 제공되는 소셜 네트워크 서비스 데이터를 대상으로 미리 설정된 시간에 인덱싱을 수행하되, 미리 설정된 시간이 도래하면 소셜 네트워크 서비스 서버에서 이전 마지막 인덱싱 시각 이후 발생한 메시지 리스트를 조회하여 해당하는 메시지를 전달받고 전달받은 메시지를 인덱싱하는 것을 특징으로 하는 사용자 단말.
  10. 제 9 항에 있어서, 상기 검색엔진은
    인터페이스의 환경 설정에서 획득된 사용자 인증을 위한 인증키와 함께 인덱싱 요청을 상기 인터페이스로부터 수신하는 경우에 한하여 소셜 네트워크 서비스 데이터 인덱싱을 수행하는 것을 특징으로 하는 사용자 단말.
  11. 제 1 항에 있어서, 상기 검색엔진은
    인덱싱 대상이 되는 다른 사용자 단말이 모바일 단말인 경우 모바일 단말로부터 파일 속성정보를 상기 검색엔진 에이전트를 통해 전달받아 파일 속성정보를 주기적으로 인덱싱하는 것을 특징으로 하는 사용자 단말.
  12. 제 1 항에 있어서, 상기 검색엔진 에이전트는
    검색을 요청하는 사용자 단말의 인터페이스로부터 데이터 검색을 요청받으면 상기 검색엔진에 검색 요청을 전달하고 검색엔진으로부터 검색결과를 수신하여 해당 인터페이스에 전달하는 것을 특징으로 하는 사용자 단말.
  13. 제 1 항에 있어서, 상기 검색엔진 에이전트는
    검색을 요청하는 사용자 단말의 인터페이스와 로컬 아이피 주소 또는 공인 아이피 주소로 직접 통신하거나 중계 서버를 통해 해당 인터페이스와 통신하는 것을 특징으로 하는 사용자 단말.
  14. 제 13 항에 있어서,
    상기 로컬 아이피 주소 또는 공인 아이피 주소는 검색엔진 에이전트가 중계 서버에 접속할 때 중계 서버가 수집하여 검색을 요청하는 사용자 단말의 인터페이스의 요청에 따라 해당 인터페이스에 전달하는 주소인 것을 특징으로 하는 사용자 단말.
  15. 제 1 항에 있어서, 상기 검색엔진 에이전트는
    검색 결과를 수신한 소정의 사용자 단말의 인터페이스로부터 파일 다운로드를 요청받아 해당 파일을 전송하는 것을 특징으로 하는 사용자 단말.
  16. 제 15 항에 있어서,
    상기 인터페이스는 검색을 요청한 사용자 단말의 인터페이스로부터 푸시 서버를 통해 다운로드 준비 요청 메시지를 통지받는 경우에 한하여 상기 검색엔진 에이전트를 활성화하고, 상기 활성화된 검색엔진 에이전트가 해당 인터페이스로 파일을 전송하는 것을 특징으로 하는 사용자 단말.
  17. 사용자가 사용하는 다수의 사용자 단말로부터 획득된 데이터와 웹을 통해 제공받는 서비스와 연관된 데이터를 인덱싱하는 단계;
    사용자가 사용하는 다른 사용자 단말로부터 데이터 검색 요청을 입력받는 단계; 및
    입력받은 검색 요청에 따라 해당하는 데이터의 인덱스를 검색하여 검색 결과를 상기 다른 사용자 단말에 제공하는 단계; 를 포함하며,
    상기 데이터를 인덱싱하는 단계는 데이터 파일의 속성정보 및 파일 내용을 포함하여 인덱싱하는 것을 특징으로 하는 사용자 단말의 데이터 검색방법.
  18. 제 17 항에 있어서, 검색 결과를 제공하는 단계는
    각 사용자 단말과 각 서비스 별로 검색된 결과를 제공하는 것을 특징으로 하는 사용자 단말의 데이터 검색방법.
  19. 제 17 항에 있어서, 상기 사용자 단말의 데이터 검색방법은
    검색 결과를 기초로 하여 사용자 요청에 따라 해당하는 파일을 제공하는 단계;
    를 더 포함하는 것을 특징으로 하는 사용자 단말의 데이터 검색방법.
  20. 사용자로부터 데이터 검색 요청을 입력받아 이를 데이터 검색을 위한 다른 사용자 단말에 전송하여 검색을 요청하는 단계; 및
    상기 다른 사용자 단말이 사용자가 사용하는 다수의 사용자 단말로부터 획득된 데이터와 웹을 통해 제공받는 서비스와 연관된 데이터의 인덱스로부터 사용자가 요청한 데이터를 검색하면, 상기 다른 사용자 단말로부터 검색 결과를 수신하는 단계; 를 포함하며,
    상기 다른 사용자 단말로부터 수신되는 검색 결과는 데이터 파일의 속성정보 및 파일 내용을 포함하는 것을 특징으로 하는 사용자 단말의 데이터 검색방법.
  21. 제 1 항에 있어서,
    상기 사용자 단말이 메인 단말이면 적어도 하나의 다른 사용자 단말로부터 데이터를 획득하여 메인 단말 자신의 데이터와 함께 다른 사용자 단말로부터 획득된 데이터를 인덱싱하고 다른 단말로부터의 검색 요청에 따라 해당하는 데이터의 인덱스를 검색하여 검색 결과를 제공하며,
    상기 사용자 단말이 메인 단말이 아니면 자신의 단말에서 생성되는 데이터만을 자체 인덱싱하고 필요 시 메인 단말에 데이터 검색을 요청하는 것을 특징으로 하는 사용자 단말.
KR1020140041459A 2014-04-07 2014-04-07 다중 데이터 검색을 위한 사용자 단말 및 그 검색방법 KR101575229B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140041459A KR101575229B1 (ko) 2014-04-07 2014-04-07 다중 데이터 검색을 위한 사용자 단말 및 그 검색방법
US14/679,584 US20150286648A1 (en) 2014-04-07 2015-04-06 User terminal for searching multi data and searching method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140041459A KR101575229B1 (ko) 2014-04-07 2014-04-07 다중 데이터 검색을 위한 사용자 단말 및 그 검색방법

Publications (2)

Publication Number Publication Date
KR20150116331A KR20150116331A (ko) 2015-10-15
KR101575229B1 true KR101575229B1 (ko) 2015-12-07

Family

ID=54209903

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140041459A KR101575229B1 (ko) 2014-04-07 2014-04-07 다중 데이터 검색을 위한 사용자 단말 및 그 검색방법

Country Status (2)

Country Link
US (1) US20150286648A1 (ko)
KR (1) KR101575229B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105227673B (zh) * 2015-10-16 2019-03-05 北京奇虎科技有限公司 防劫持的数据下载方法、客户端、服务器及系统
US20170192854A1 (en) * 2016-01-06 2017-07-06 Dell Software, Inc. Email recovery via emulation and indexing
US20190068533A1 (en) * 2017-08-28 2019-02-28 Microsoft Technology Licensing, Llc Acquiring attachments from data storage providers for use in electronic communications
CN108200567B (zh) * 2018-01-18 2021-04-16 浙江大华技术股份有限公司 一种设备发现方法及设备

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7219304B1 (en) * 2000-06-19 2007-05-15 International Business Machines Corporation System and method for developing and administering web applications and services from a workflow, enterprise, and mail-enabled web application server and platform
US7519910B2 (en) * 2002-10-10 2009-04-14 International Business Machines Corporation Method for transferring files from one machine to another using adjacent desktop displays in a virtual network
US7627552B2 (en) * 2003-03-27 2009-12-01 Microsoft Corporation System and method for filtering and organizing items based on common elements
US9058388B2 (en) * 2004-06-22 2015-06-16 Digimarc Corporation Internet and database searching with handheld devices
US20080082490A1 (en) * 2006-09-28 2008-04-03 Microsoft Corporation Rich index to cloud-based resources
US7877368B2 (en) * 2007-11-02 2011-01-25 Paglo Labs, Inc. Hosted searching of private local area network information with support for add-on applications
US8521732B2 (en) * 2008-05-23 2013-08-27 Solera Networks, Inc. Presentation of an extracted artifact based on an indexing technique
US9104738B2 (en) * 2008-06-19 2015-08-11 Tropare, Inc. Leveraging collaborative cloud services to build and share apps
US8620861B1 (en) * 2008-09-30 2013-12-31 Google Inc. Preserving file metadata during atomic save operations
US20100306249A1 (en) * 2009-05-27 2010-12-02 James Hill Social network systems and methods
US8966110B2 (en) * 2009-09-14 2015-02-24 International Business Machines Corporation Dynamic bandwidth throttling
US20110078243A1 (en) * 2009-09-30 2011-03-31 Boopsie, Inc. Leveraging Collaborative Cloud Services to Build and Share Apps
US9479480B2 (en) * 2010-01-29 2016-10-25 Citrix Systems, Inc. Systems and methods of using SSL pools for WAN acceleration
US9703791B2 (en) * 2010-03-23 2017-07-11 Nokia Technologies Oy Method and apparatus for managing files in an online account
US8612423B2 (en) * 2010-10-29 2013-12-17 Microsoft Corporation Search cache for document search
US20120203733A1 (en) * 2011-02-09 2012-08-09 Zhang Amy H Method and system for personal cloud engine
KR20130086005A (ko) * 2012-01-20 2013-07-30 삼성전자주식회사 다수의 장치들에서 데이터 검색 방법 및 장치
KR101312125B1 (ko) * 2012-02-22 2013-09-26 주식회사 팬택 콘텐츠 필터링 장치 및 방법
WO2013130588A1 (en) * 2012-02-29 2013-09-06 Construcs, Inc. Synchronizing local clients with a cloud-based data storage system
US9262496B2 (en) * 2012-03-30 2016-02-16 Commvault Systems, Inc. Unified access to personal data
US9374359B2 (en) * 2012-05-23 2016-06-21 Red Hat, Inc. Generating a data display in view of user activities
US8745267B2 (en) * 2012-08-19 2014-06-03 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
KR20140107713A (ko) * 2013-02-25 2014-09-05 한국전자통신연구원 통합 앱스토어 장치, 상기 장치에서의 애플리케이션 제공 방법 및 통합 앱스토어 시스템

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
https://web.archive.org/web/20080828161212/http://bin.myfolder.net/story/77643(2008.08.28)*
www.dropbox.com(2008.12.31)

Also Published As

Publication number Publication date
KR20150116331A (ko) 2015-10-15
US20150286648A1 (en) 2015-10-08

Similar Documents

Publication Publication Date Title
JP7532452B2 (ja) コンテンツアイテムテンプレート
US11269491B2 (en) Bookmarking shared file and folder links
KR101575229B1 (ko) 다중 데이터 검색을 위한 사용자 단말 및 그 검색방법
CN103873519A (zh) 一种数据同步方法、客户端、服务器、终端和系统
US11184451B2 (en) Intelligently delivering notifications including summary of followed content and related content
US9398021B2 (en) Method for providing file aging service
JP2015046781A (ja) 遠隔操作方法、遠隔操作システム、その装置、およびプログラム
JP2015046026A (ja) ファイル管理方法、ファイル管理システム、その装置、およびプログラム
JP2015046024A (ja) データファイル管理方法、データファイル管理システム、その装置、およびプログラム
JP2015046025A (ja) データファイル管理方法、データファイル管理システム、その装置、およびプログラム

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20181203

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20191118

Year of fee payment: 5