KR101733426B1 - 소셜네트워크시스템 환경에서의 정보를 추천하는 서버 및 정보 추천 방법 - Google Patents

소셜네트워크시스템 환경에서의 정보를 추천하는 서버 및 정보 추천 방법 Download PDF

Info

Publication number
KR101733426B1
KR101733426B1 KR1020150183188A KR20150183188A KR101733426B1 KR 101733426 B1 KR101733426 B1 KR 101733426B1 KR 1020150183188 A KR1020150183188 A KR 1020150183188A KR 20150183188 A KR20150183188 A KR 20150183188A KR 101733426 B1 KR101733426 B1 KR 101733426B1
Authority
KR
South Korea
Prior art keywords
information
user
service
users
server
Prior art date
Application number
KR1020150183188A
Other languages
English (en)
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 KR1020150183188A priority Critical patent/KR101733426B1/ko
Application granted granted Critical
Publication of KR101733426B1 publication Critical patent/KR101733426B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • G06Q50/30
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Tourism & Hospitality (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Health & Medical Sciences (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명에 따른 소셜네트워크시스템(SNS) 환경에서의 정보를 추천하는 서버는, 단말로부터 어플리케이션의 실행 요청에 응답하여 상기 실행 요청에 대한 인증을 수행하고, 상기 단말로부터의 로그인 정보에 대한 인증을 수행하는 인증 서버; 및 상기 단말의 사용자가 가입한 제1SNS 서비스에서의 상기 사용자가 속한 그룹 내에서 영향력이 높은 순서대로 복수의 다른 사용자들에 대한 사용자 정보 및 제2SNSN 서비스에서의 상기 사용자의 선호도 정보에 기반하여 유사한 선호도의 다른 사용자들이 추천한 추천 정보를 추출하고, 상기 사용자 정보 및 상기 추천 정보를 상기 단말로 송신하는 메인 서버를 포함하고, 단말의 사용자가 속한 그룹 내에서 영향력이 높은 인물로부터 사용자 정보를 제공받거나 또는 사용자와 선호도에 기반하여 컨텐츠를 추천받을 수 있다.

Description

소셜네트워크시스템 환경에서의 정보를 추천하는 서버 및 정보 추천 방법{A SERVER FOR RECOMMENDING INFORMATION IN A SOCIAL NETWORK SYSTEM AND COMMUNICATIONS SYSTEM THEREFOR}
본 발명은 소셜네트워크시스템 환경에서의 정보를 추천하는 서버, 단말 및 상기 서버, 단말에서의 정보 추천 방법에 관한 것이다.
인터넷 기술 발전과 광대역 통합망 기술 보급으로 인해 인터넷 기반으로 서비스되고 있는 페이스북이나 트위터, 인스타그램과 같은 SNS(Social Networking Services) 서비스를 사용하는 사용자들이 증가하고 있다. SNS 서비스의 콘텐츠 데이터들은 정형 데이터보다 비정형 데이터 비율이 높고, 빅데이터로 분류되어 기존 시스템에서는 비효율적으로 처리해야 하는 문제점이 발생되고 있다.
또한, 다양한 빅데이터의 형식들을 처리해야 하고 처리 비용과 처리 속도를 요구한다. 또한, 빅데이터에서 사용자가 찾고자 하는 정보나 선호하는 정보도 효율적으로 제공하는 추천 시스템의 필요성이 증대되고 있다.
하지만, 이러한 정보 추천 시스템은 대용량의 데이터를 처리할 때 발생되는 과부하 현상 및 데이터 처리와 관련된 연산이 복잡하며, 데이터 처리에 많은 시간이 요구된다는 문제점이 있다.
본 발명은 소셜네트워크시스템 환경에서의 정보를 사용자 정보 및 추천 정보를 제공하는 서버 및 단말의 어플리케이션을 제공하는 것을 목적으로 한다.
본 발명은 복수의 소셜네트워크 서비스에서 연관성이 높은 데이터 관계에 기반하여 사용자 정보 및 추천 정보를 제공하는 것을 또 다른 목적으로 한다.
이와 같은 목적을 달성하기 위한 본 발명에 따른 소셜네트워크시스템(SNS) 환경에서의 정보를 추천하는 서버는, 단말로부터 어플리케이션의 실행 요청에 응답하여 상기 실행 요청에 대한 인증을 수행하고, 상기 단말로부터의 로그인 정보에 대한 인증을 수행하는 인증 서버; 및 상기 단말의 사용자가 가입한 제1SNS 서비스에서의 상기 사용자가 속한 그룹 내에서 영향력이 높은 순서대로 복수의 다른 사용자들에 대한 사용자 정보 및 제2SNSN 서비스에서의 상기 사용자의 선호도 정보에 기반하여 유사한 선호도의 다른 사용자들이 추천한 추천 정보를 추출하고, 상기 사용자 정보 및 상기 추천 정보를 상기 단말로 송신하는 메인 서버를 포함하고, 단말의 사용자가 속한 그룹 내에서 영향력이 높은 인물로부터 사용자 정보를 제공받거나 또는 사용자와 선호도에 기반하여 컨텐츠를 추천받을 수 있다.
일 실시예에 따르면, 상기 제1 및 제2 SNS 서비스의 서버들로부터 복수의 사용자들에 대한 상기 그룹 내의 사용자 정보 및 상기 선호도 정보와 이들과 관련된 정보를 저장하는 저장 서버를 더 포함할 수 있다.
일 실시예에 따르면, 상기 메인 서버는, 상기 저장 서버로부터의 상기 제1SNS 서비스와 관련된 정보에 기반하여 상기 복수의 다른 사용자들에 대한 사용자 등급을 결정하고, 상기 저장 서버에 저장된 전체 사용자 정보 중 상기 사용자 등급에 기반하여 결정된 사용자들에 대한 상기 사용자 정보를 필터링할 수 있다.
일 실시예에 따르면, 상기 메인 서버는, 상기 저장 서버로부터의 상기 제2SNS 서비스와 관련된 정보에 기반하여 상기 선호도 정보를 결정하고, 상기 저장 서버에 저장된 전체 추천 정보 중 상기 선호도 정보에 기반하여 상기 추천 정보를 필터링할 수 있다.
일 실시예에 따르면, 상기 인증 서버는, 상기 로그인 정보에 기반하여 상기 사용자가 상기 제1SNS 서비스에 가입되어 있는지를 결정하고, 상기 메인 서버는, 상기 제1SNS 서비스에 가입되어 있는 경우, 상기 제1SNS 서비스와 관련된 상기 그룹 내의 상기 사용자 등급을 결정하고, 상기 사용자 등급에 기반하여 상기 사용자 정보를 필터링할 수 있다.
일 실시예에 따르면, 상기 메인 서버는, 상기 제1SNS 서비스에 가입되어 있지 않은 경우, 상기 제2SNS 서비스와 관련된 상기 선호도 정보를 결정하고, 상기 선호도 정보에 기반하여 상기 추천 정보를 필터링할 수 있다.
이와 같은 목적을 달성하기 위한 본 발명에 따른 소셜네트워크시스템(SNS) 환경에서의 정보를 추천받는 단말은, 상기 정보를 추천받기 위한 어플리케이션의 실행 요청을 수신하고, 로그인 정보를 수신하는 인터페이스부; 및 상기 단말의 사용자가 가입한 제1SNS 서비스에서의 상기 사용자가 속한 그룹 내에서 영향력이 높은 순서대로 복수의 다른 사용자들에 대한 사용자 정보 및 제2SNSN 서비스에서의 상기 사용자의 선호도 정보에 기반하여 유사한 선호도의 다른 사용자들이 추천한 추천 정보를 메인 서버로부터 통신부를 통해 수신하도록 제어하는 제어부를 포함한다.
일 실시예에 따르면, 상기 사용자 정보는, 저장 서버로부터의 상기 제1SNS 서비스와 관련된 정보에 기반하여 상기 복수의 다른 사용자들에 대한 사용자 등급이 결정되고, 상기 저장 서버에 저장된 전체 사용자 정보 중 상기 사용자 등급에 기반하여 결정된 사용자들에 대한 필터링된 것을 특징으로 할 수 있다.
일 실시예에 따르면, 상기 추천 정보는, 저장 서버로부터의 상기 제2SNS 서비스와 관련된 정보에 기반하여 상기 선호도 정보가 결정되고, 상기 저장 서버에 저장된 전체 추천 정보 중 상기 선호도 정보에 기반하여 필터링된 것을 특징으로 할 수 있다.
일 실시예에 따르면, 상기 어플리케이션의 실행에 응답하거나, 상기 단말로부터의 추천 요청 또는 상기 단말의 위치에 기반하여, 상기 사용자 정보 및 상기 추천 정보를 표시하는 디스플레이를 더 포함할 수 있다.
이와 같은 목적을 달성하기 위한 본 발명에 따른 서버에서의 소셜네트워크시스템(SNS) 환경에서의 정보 추천 방법은, 단말로부터 어플리케이션의 실행 요청에 응답하여 상기 실행 요청에 대한 인증을 수행하는 실행 요청 인증 수행 과정; 상기 단말로부터의 로그인 정보에 대한 인증을 수행하는 로그인 정보 인증 수행 과정; 상기 단말의 사용자가 가입한 제1SNS 서비스에서의 상기 사용자가 속한 그룹 내에서 영향력이 높은 순서대로 복수의 다른 사용자들에 대한 사용자 정보 및 제2SNSN 서비스에서의 상기 사용자의 선호도 정보에 기반하여 유사한 선호도의 다른 사용자들이 추천한 추천 정보를 추출하는 사용자 정보/추천 정보 추출 과정; 및 상기 사용자 정보 및 상기 추천 정보를 상기 단말로 송신하는 사용자 정보/추천 정보 송신 과정을 포함한다.
일 실시예에 따르면, 상기 제1 및 제2 SNS 서비스의 서버들로부터 복수의 사용자들에 대한 상기 그룹 내의 사용자 정보 및 상기 선호도 정보와 이들과 관련된 정보를 저장하는 사용자 정보/선호도 정보 저장 과정을 더 포함할 수 있다.
일 실시예에 따르면, 상기 사용자 정보/추천 정보 추출 과정은, 저장 서버로부터의 상기 제1SNS 서비스와 관련된 정보에 기반하여 상기 복수의 다른 사용자들에 대한 사용자 등급을 결정하고, 상기 저장 서버에 저장된 전체 사용자 정보 중 상기 사용자 등급에 기반하여 결정된 사용자들에 대한 상기 사용자 정보를 필터링하는 사용자 정보 필터링 과정을 포함할 수 있다.
일 실시예에 따르면, 상기 사용자 정보/추천 정보 추출 과정은, 저장 서버로부터의 상기 제2SNS 서비스와 관련된 정보에 기반하여 상기 선호도 정보를 결정하고, 상기 저장 서버에 저장된 전체 추천 정보 중 상기 선호도 정보에 기반하여 상기 추천 정보를 필터링하는 추천 정보 필터링 과정을 포함할 수 있다.
일 실시예에 따르면, 상기 로그인 정보에 기반하여 상기 사용자가 상기 제1SNS 서비스에 가입되어 있는지를 결정하는 가입 여부 판단 과정을 더 포함하고, 상기 제1SNS 서비스에 가입되어 있는 경우, 상기 제1SNS 서비스와 관련된 상기 그룹 내의 상기 사용자 등급을 결정하고, 상기 사용자 등급에 기반하여 상기 사용자 정보를 필터링하는 상기 사용자 정보 필터링 과정을 수행할 수 있다.
일 실시예에 따르면, 상기 가입 여부 판단 과정 결과, 상기 제1SNS 서비스에 가입되어 있지 않은 경우, 상기 제2SNS 서비스와 관련된 상기 선호도 정보를 결정하고, 상기 선호도 정보에 기반하여 상기 추천 정보를 필터링하는 추천 정보 필터링 과정을 수행할 수 있다.
본 발명에 따르면, 단말의 사용자가 속한 그룹 내에서 영향력이 높은 인물로부터 사용자 정보를 제공받거나 또는 사용자와 선호도에 기반하여 컨텐츠를 추천받을 수 있다는 장점이 있다.
본 발명에 따르면, 복수의 소셜네트워크 서비스에서 참조 가능한 정보 중 관련된 데이터를 참조하여 사용자 정보 및 추천 정보를 제고할 수 있다는 장점이 있다.
도 1은 본 발명에 따른 소셜네트워크시스템 환경에서의 정보 추천 시스템을 도시한다.
도 2는 본 발명에 따른 소셜네트워크시스템 환경에서의 정보를 추천받는 단말의 상세 구성도를 도시한다.
도 3은 본 발명의 일 실시예에 따른 서드 파티 로그인 과정을 도시한다.
도 4는 본 발명에 따른 샤딩 아키텍쳐가 구현된 클라이언트 및 복수의 서버들을 포함하는 서버-클라이언트 시스템을 도시한다.
도 5는 본 발명에 따른 Mongo-Hadoop 커넥터 처리 과정과 관련하여, MongoDB와 Hadoop 클러스터 간의 데이터 처리 방법을 도시한다.
도 6은 본 발명의 일 실시예에 따른 사용자 SNS 네트워크 구조도를 도시한다.
도 7은 본 발명의 일 실시예에 따른 사용자 랭크 알고리즘과 관련한 사용자 정보의 처리 과정의 다이어그램을 도시한다.
도 8은 본 발명에 따른 서버에 의해 수행되는 SNS 환경에서의 정보 추천 방법의 흐름도를 도시한다.
도 9는 본 발명의 일 실시예에 따른 서버에서의 정보 추천 방법을 도시한다.
도 10은 본 발명의 일 실시예에 따른 트위터 및 페이스북 사용자의 서드 파티 로그인 화면을 도시한다.
도 11은 본 발명의 일 실시예에 따른 필터링된 정보를 트위터 사용자 및 페이스북 사용자에게 제공하는 화면을 도시한다.
상술한 본 발명의 특징 및 효과는 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러가지 형태를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 명세서에서 사용한 용어는 단지 특정한 실시 예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다.
본 발명은 본 발명은 소셜네트워크시스템 환경에서의 정보를 추천하는 서버, 단말 및 상기 서버, 단말에서의 정보 추천 방법을 제안한다.
이하, 본 발명에 따른 본 발명은 소셜네트워크시스템 환경에서의 정보를 추천하는 서버, 단말 및 상기 서버, 단말에서의 정보 추천 방법에 있어, 도면을 참조하여 보다 상세하게 설명한다.
도 1은 본 발명에 따른 소셜네트워크시스템 환경에서의 정보 추천 시스템을 도시한다. 도 1을 참조하면, 상기 정보 추천 시스템(1000)은 단말(100), 인증 서버(200), 저장 서버(300) 및 메인 서버(400)를 포함한다.
한편, 도 2는 본 발명에 따른 소셜네트워크시스템 환경에서의 정보를 추천받는 단말의 상세 구성도를 도시한다. 도 2를 참조하면, 상기 단말(100)은 인터페이스부(110), 통신부(120), 제어부(130), 디스플레이(140) 및 메모리(150)를 포함한다.
먼저, 도 2를 참조하여, 소셜네트워크시스템(SNS) 환경에서의 정보를 추천받는 상기 단말(100)에 대하여 살펴보면 다음과 같다.
상기 인터페이스부(110)는 상기 정보를 추천받기 위한 어플리케이션의 실행 요청을 수신하고, 로그인 정보를 수신한다.
상기 통신부(120)는 상기 인증 서버(200) 및 메인 서버(400) 중 적어도 하나로부터 인증 요청인증 결과 및 사용자 정보/선호도 정보 중 적어도 하나를 수신한다.
상기 제어부(130)는 상기 단말(100)의 사용자가 가입한 제1SNS 서비스에서의 상기 사용자가 속한 그룹 내에서 영향력이 높은 순서대로 복수의 다른 사용자들에 대한 사용자 정보 및 제2SNSN 서비스에서의 상기 사용자의 선호도 정보에 기반하여 유사한 선호도의 다른 사용자들이 추천한 추천 정보를 상기 메인 서버로(400)부터 상기 통신부(120)를 통해 수신하도록 제어한다.
상기 디스플레이(140)는 상기 어플리케이션의 실행에 응답하거나, 상기 단말(100)로부터의 추천 요청 또는 상기 단말(100)의 위치에 기반하여, 상기 사용자 정보 및 상기 추천 정보를 표시한다.
상기 메모리(150)는 상기 수신된 요청인증 결과, 사용자 정보/선호도 정보 및 이들과 관련된 정보를 저장한다.
한편, 도 1을 참조하여, 소셜네트워크시스템(SNS) 환경에서의 정보를 추천하는 정보 추천 시스템에 대해 살펴보면 다음과 같다.
전술한 바와 같이, 상기 정보 추천 시스템(1000)은 상기 정보 추천 시스템(1000)은 단말(100), 인증 서버(200), 저장 서버(300) 및 메인 서버(400)를 포함한다. 여기서, 상기 단말(100)의 세부 구성 및 기능은 전술한 바와 같다.
상기 인증 서버(200)는 단말로부터 어플리케이션의 실행 요청에 응답하여 상기 실행 요청에 대한 인증을 수행하고, 상기 단말로부터의 로그인 정보에 대한 인증을 수행한다.
이와 같은 서드 파티 로그인(third-party login)과 관련하여, 상세히 살펴보기로 한다.
상기 서드 파티 로그인은 사용자가 다른 플랫폼에서 기존의 계정을 사용하여 응용프로그램(어플리케이션)에서 로그인 기능을 사용할 수 있게 한다. 이와 관련하여, 도 3은 본 발명의 일 실시예에 따른 서드 파티 로그인 과정을 도시한다.
로그인 과정과 관련하여, 서드 파티 응용프로그램이 인증 서버(200)에게 사용자의 인증키와 비밀번호를 전송(S310)하면, 상기 인증 서버(200)는 권한이 없는 요청 토큰을 반환(S320)한다. 이때, 상기 인증 서버(200)는 상기 서드 파티 응용프로그램을 통해 사용자의 단말(100)에 인증 페이지가 표시(S330)되도록 한다. 한편, 사용자 인증이 성공되면 상기 인증 서버(200)로 토큰을 반환(S340)한다. 상기 서드 파티 응용프로그램은 방문 토큰을 통해서 사용자의 정보를 얻을 수 있다(S345). 이러한 과정은 서드 파티 응용프로그램이 사용자의 계정 정보를 받을 수 없어 보안성이 높고, 로그인 과정을 단순화할 수 있다. 따라서, 본 발명 및 이에 따른 정보 추천 제공 시스템에서는 서드 파티 로그인 기능을 채택하고 사용할 수 있다.
한편, 상기 서트 파티 로그인 기능을 사용하기 위해서는, 상기 제1 및 제2SNS 서비스의 홈페이지에서 개발자 계정을 생성하고 ID와 비밀번호를 부여받을 수 있다. 개발자 계정은 소비자의 키와 소비자의 비밀코드, 접근 권한, 소유자의 정보로 구성되어 있다. 이러한 개발자 계정을 부여받는 경우, 서드 파티 로그인뿐만 아니라 상기 제1 및 제2SNS 서비스의 API 기능도 사용할 수 있어 효과적으로 기능을 구현할 수 있다.
상기 메인 서버(400)는 상기 단말(100)의 사용자가 가입한 제1SNS 서비스에서의 상기 사용자가 속한 그룹 내에서 영향력이 높은 순서대로 복수의 다른 사용자들에 대한 사용자 정보 및 제2SNSN 서비스에서의 상기 사용자의 선호도 정보에 기반하여 유사한 선호도의 다른 사용자들이 추천한 추천 정보를 추출한다. 또한, 상기 저장 서버(300)는 상기 사용자 정보 및 상기 추천 정보를 상기 단말(100)로 송신한다.
이와 관련하여, 상기 제1SNS 서비스는 사용자들 간에 대한 관계 형성을 제공할 수 있다. 예를 들어, 상기 제1SNS 서비스는 트위터(Tweeter)가 될 수 있고, 상기 관계 형성은 특정 사용자에 대한 팔로잉(following)일 수 있다.
또한, 상기 제2SNS 서비스는 사용자가 업로드한 특정 컨텐츠에 대한 의견을 제공하거나, 상기 특정 컨텐츠를 카테고리별로 제공할 수 있다. 예를 들어, 상기 제2SNS 서비스는 페이스북(Facebook)일 수 있고, 상기 의견 제공은 응답 메시지, 긍정적 평가등 일 수 있다.
상기 저장 서버(300)는 상기 제1 및 제2 SNS 서비스의 서버들로부터 복수의 사용자들에 대한 상기 그룹 내의 사용자 정보 및 상기 선호도 정보와 이들과 관련된 정보를 저장한다. 예를 들어, 상기 저장 서버(300)는 MongoDB일 수 있다. 한편, 상기 저장 서버(300)는 상기 제1 및 제2 SNS 서비스와 관련하여, 상기 사용자 정보 및 선호도 정보는 표1에서 제시된 바와 같은 세부 속성들을 포함할 수 있다.
사용자 정보 선호도 정보
제1SNS
서비스
Id 제2SNS
서비스
Id
Full Name Full Name
Email Email
Screen Name Screen Name
Location Timeline
User Web Site Friend
Language ProfileImg
Friend Count Likes
Followers Count Movies
Background Image URL Music
Favorites Count Hometown
Listed Count Location
Tweet Statues
이와 관련하여, 상기 제1 및 제2 SNS 서비스의 사용자 정보 및 선호도 정보와 같은 프로필 데이터는 상기 저장 서버(300)에 저장되고, 또한 상기 프로필 데이터는 상기 저장 서버(300)로부터 검색 또는 조회될 수 있다.
한편, 상기 메인 서버(400)는 상기 저장 서버(300)로부터의 상기 제1SNS 서비스와 관련된 정보에 기반하여 상기 복수의 다른 사용자들에 대한 사용자 등급을 결정할 수 있다. 또한, 상기 메인 서버(400)는 상기 저장 서버(300)에 저장된 전체 사용자 정보 중 상기 사용자 등급에 기반하여 결정된 사용자들에 대한 상기 사용자 정보를 필터링할 수 있다.
제2SNS 서비스와 관련하여, 상기 메인 서버(400)는 상기 저장 서버(300)로부터의 상기 제2SNS 서비스와 관련된 정보에 기반하여 상기 선호도 정보를 결정할 수 있다. 또한, 상기 메인 서버(400)는 상기 저장 서버(300)에 저장된 전체 추천 정보 중 상기 선호도 정보에 기반하여 상기 추천 정보를 필터링할 수 있다.
이와 관련하여, 상기 사용자 정보 및 상기 추천 정보를 필터링하기 위한 처리 방안에 대하여 상세히 살펴보면 다음과 같다.
예를 들어, 페이스북과 트위터와 같은 SNS 서비스는 수백만의 사용자들이 실시간으로 정보를 생성 및 소비하고 있어 대용량의 데이터를 저장하는 과정에서 문제점들이 발생될 수 있다. 따라서, 이러한 문제점을 해결하기 위해, 상기 저장 서버(300)에서는 데이터 베이스의 자동 분산 방식 및 실시간 처리보다는 분산된 클러스터에 기반하는 일괄 처리 방식을 이용할 수 있다.
먼저, 데이터 베이스의 자동 분산 방식에 대해 살펴보면 다음과 같다.
대용량 데이터를 저장하기 위해서 샤딩(sharding)은 중요한 기능이다. 샤딩을 사용하면 단일 서버의 CPU와 메모리, I/O에서 처리 부하를 충족할 수 없는 경우 큰 컬렉션 데이터를 다른 클러스터로 분할 저장하고 서버 부담을 감소시킬 수 있다.
이와 관련하여, 도 4는 본 발명에 따른 샤딩 아키텍쳐가 구현된 클라이언트 및 복수의 서버들을 포함하는 서버-클라이언트 시스템을 도시한다. 이와 관련하여, 상기 샤딩 아키텍쳐는 MongoDB로 구성될 수 있다. 또한, 도 4에 도시된 바와 같이, 상기 샤딩 아키텍쳐는 응용 계층(Application layer), 중개 계층(Intermediary layer), 데이터 계층(Data layer)를 포함하는 구조를 갖는다. 예를 들어, 상기 샤딩 아키텍처는, 도 4에 도시된 바와 같이, 1대의 Mongos 서버 1대, 3대의 Config 서버 및 3대의 Mongod 서버로 구성될 수 있다.
Mongos는 샤딩 기술에서 가장 핵심 모듈이고, 라우터(Router) 과정에서 중개 계층을 담당한다. 라우터 과정은 Mongos를 통해서 데이터를 Mongod에 저장하고 Config 서버로부터 상태를 모니터링 하며, 샤딩 메타 정보를 취득하거나 변경된 부분을 저장한다. 또한, 응용층의 질의를 분석하고 적절한 샤드에 질의를 수행한다. Config 서버에서는 샤드 메타 정보와 분산 락을 지원하고 복제 집합 정보를 저장하는 역할을 담당한다. 제안하는 시스템은 Config 서버를 3대로 구성하여 Fail-Over를 위해 복제 구조를 사용한다. 이러한 구조는 1대의 Master 서버와 2대의 Slave 서버로 구성되며 Master와 Slave 서버의 데이터를 동기화한다. 샤드 서버에서는 Mongod가 데이터 층의 샤드를 처리하고 데이터 복제 및 저장 부분을 담당한다. Mongod는 복제 및 처리 할 수 있는 Master-Slave 모델이나 복제 집합으로 구성할 수 있다.
샤딩 과정을 처리할 수 있게 샤드 서버를 설치한다. 데이터를 복제할 수 있는 샤드 서버의 Mongod는 도 4와 같이 각각 포트 27017과 27022, 27023로 설치될 수 있다.
Config 서버의 설치와 관련하여, 도4와 같이, 포트 27100과 27200, 27300로 설치될 수 있다.
샤드 서버와 Config 서버를 설치하고 라우터를 설치하는 화면은 도 4와 같이, 포트 28000으로 설치되고, Mongos를 실행한다. 따라서, 클라이언트가 라우터 과정에서 Mongos로 연결되면 도 4와 같이 클라이언트가 Mongos에 접속하게 된다.
한편, 클라이언트가 Mongos에 접속하였지만 Mongos와 Config 서버에만 연결이 되었고, 샤드와는 접속이 되지 않을 수 있다. 이때, 상기 클라이언트가 제1 및 제2 SNS 서버 중 적어도 하나의 데이터가 저장되어 있는 저장 서버로의 샤드 처리 과정을 통해 샤드에 접속될 수 있다. 이때, 상기 클라이언트가 제1 및 제2 SNS 서버 중 적어도 하나의 데이터가 저장된 저장 서버에서 샤드된 데이터는 shard1과 shard2, shard3로 저장될 수 있다.
다음으로, 분산된 클러스터에 기반하는 일괄 처리 방식의 필터링 과정에 대해 살펴보면 아래와 같다.
이와 관련하여, 상기 필터링 과정과 관련하여, 분산 환경에서 기계 학습을 사용하여 사용자 정보 및 추천 정보를 필터링할 수 있다. 예를 들어, 상기 사용자 정보 및 추천 정보의 필터링 등 분산된 클러스터에 기반하는 일괄 처리 방식은 MongoDB에서 제공하는 데이터 처리 기능과 Hadoop프레임워크에서 제공하는 기능을 연결하여 구현할 수 있다. 구체적으로, 데이터 처리를 효과적으로 사용하기 위해 Mongo-hadoop 커넥터 라이브러리를 사용하여 MongoDB와 Hadoop을 통합할 수 있다.
Mongo-Hadoop 커넥터는 오픈 소스 기반의 라이브러리이고 이를 통해 MongoDB에서는 Hadoop의 MapReduce 입력이나 출력으로 사용할 수 있다. 이로 인해 효과적인 유연성과 성능을 제공하며 전문적인 배경지식이 부족하여도 Hadoop의 에코 시스템과 MongoDB의 데이터를 통합 할 수 있도록 제공한다. 에코 시스템은 Pig와 Spark, Hadoop Streaming, Hive, Flume 등이 있으며, Mongo-Hadoop 커넥터가 단일 노드나 분산 노드, 복제 집합, 샤드 클러스터 등에서 데이터를 가져와서 분할하고 읽을 수 있다. 또한, Amazon Elastic MapReduce를 사용 할 수 있고, 읽기 및 로컬 HDFS에 파일을 백업할 수 있다. 이로 인해 제안하는 시스템은 Mongo-Hadoop 커넥터를 채택하여 사용한다.
한편, Mongo-Hadoop 커넥터와 관련하여 상세히 살펴보면 아래와 같다.
이와 관련하여, 도 5는 본 발명에 따른 Mongo-Hadoop 커넥터 처리 과정과 관련하여, MongoDB와 Hadoop 클러스터 간의 데이터 처리 방법을 도시한다.
도 5에 도시된 바와 같이, 상기 Mongo-Hadoop 커넥터 처리 과정은 Mongo-Hadoop 커넥터가 MongoDB의 입력 컬렉션을 검사하고 데이터를 계산한다. 또한, 샤드 chunks와 같이 집합을 분할하고 각각의 분할은 Hadoop 클러스터의 노드에 할당되며 병행으로 Hadoop 노드는 MongoDB에 있는 분할 샤드를 읽어와서 로컬로 처리한다. 그리고 Hadoop은 결과와 스트림을 병합한 뒤에 MongoDB로 출력한다.
한편, Mongo-Hadoop 커넥터는 Git으로도 설치할 수 있다. 또한, Mongo-Hadoop에서 jars를 획득하기 위해 컴파일이 진행될 수 있다. 컴파일된 jar는 특정 경로에서 “$hadoop_home/lib”로 복사될 수 있다.
또한, Mongo-Hadoop 커넥터가 제공하는 MongoTool 통해 MapReduce 과정이 수행될 수 있다.
다음으로, 본 발명에서 제안하는 사용자 정보 및 선호도 정보에 기반한 정보 추천 방법에 대해 상세히 살펴보기로 한다.
이와 관련하여, SNS 사용자에게 적합한 정보를 제공하기 위해 사용자의 프로필 정보를 분석하고 사용자에게 적합한 정보를 제공할 수 있다. 전술된 제1 및 제2SNS 서비스의 플랫폼 운영 방식의 차이점과 사용자 프로필 정보 기반에서 추천하는 방법이 제안될 수 있다. 제안하는 방법을 통해 상기 제1SNS 서비스의 사용자가 네트워크에서 높은 영향력을 가진 복수의 사용자들의 사용자 정보를 제공받을 수 있고, 상기 제1SNS 서비스의 사용자는 자신의 성향과 유사한 사용자들이 좋아하는 정보를 추천받을 수 있다.
먼저, 상기 제1SNS 서비스와 관련하여 사용자 정보 추천 방법에 대해 살펴보기로 한다.
예를 들어, 상기 제1SNS 서비스는 트위터일 수 있다. 이때, 트위터 사용자의 특성을 분석하여 사용자 기반의 SNS 네트워크를 생성한다. 이러한 SNS 네트워크의 주요 정보는 “팔로잉” 및 “팔로워”일 수 있다.
사용자들은 SNS 네트워크 내에서 각 노드로 인식하고 팔로잉과 팔로워 간의 SNS 네트워크에서 각 노드를 연결하는 라인으로 지정한다. 이와 관련하여, 도 6은 본 발명의 일 실시예에 따른 사용자 SNS 네트워크 구조도를 도시한다. 한편, 도 6에 도시된 바와 같이, ID 23455674과 324790530, 234680257 등 사용자의 SNS 네트워크를 생성할 수 있다. SNS 사용자의 네트워크 화살 방향은 사용자에게 팔로잉하는 것이다. 도 6에서, 사용자 E가 사용자 A와 사용자 H의 팔로워가 되고 사용자 B가 사용자 E의 “팔로워”가 된다.
도 6을 참조하면, 사용자 A가 사용자 B의 정보를 중요시하는 것의 정도를 사용자 B가 사용자 A에게 주는 영향력의 크기라고 한다. 그리고 사용자에게 추천하기 위에 사용자 SNS 네트워크 중에서 영향력이 가장 큰 사용자의 트윗을 출력한다. 그러나 사용자의 팔로워수에 따라서 사용자의 영향력을 계산하는 방법과 관련하여, 사용자 영향력을 계산하는 알고리즘인 사용자 랭크 알고리즘이 제안될 수 있다.
SNS 네트워크에서 사용자의 팔로잉은 link-out 링크이고, 팔로워는 link-in 링크로 정의한다. 사용자 랭크 알고리즘은 아래와 같은 조건에 기반하여 실행한다.
1) 노드 사용자가 다른 사용자보다 link-in 링크의 수가 많을수록 사용자의 영향력이 더 크다고 말한다. 도 6에서 도시된 바와 같이, 사용자 A의 팔로워가 가장 많으면 이 네트워크에서 사용자 A의 영향력 가장 큰 것이다.
2) 사용자의 팔로워가 가지는 가치의 차이에 따라서 팔로워 중에 있는 사용자가 가지는 영향력이 크면, 사용자가 전달하는 weight이 더 크다. 즉, 사용자 A의 팔로워 리스트에 있는 사용자 B의 영향력이 클수록 사용자 A의 영향력이 더 크게 된다. 예를 들면, 그림 35에서 사용자 B와 사용자 H의 팔로워가 똑같이 존재하는데 사용자 B의 팔로워인 사용자 A가 사용자 H의 팔로워인 사용자 E보다 영향력이 더 크기 때문에 사용자 B가 사용자 H보다 영향력이 더 크다고 할 수 있다.
3) 사용자의 영향력은 팔로워 중에 있는 사용자 팔로잉의 수와 반비례한다. 예를 들어, 그림 35에서 사용자 E와 사용자 H가 똑같이 사용자 D의 팔로워인데 사용자 E가 4명 사용자를 팔로잉하면 사용자 H는 2명의 사용자만 팔로잉 되어 있으므로 사용자 E보다 사용자 H가 사용자 D의 정보를 더 중시한다. 즉, 사용자 H가 사용자 D에게 영향력이 더 크다고 말할 수 있다.
그러므로 제안하는 사용자 랭크 알고리즘 중에서 가장 중요한 요소는 사용자의 팔로워 수 및 사용자의 팔로워 중에서 영향력 높은 사용자의 수 그리고 사용자 팔로워 중에 있는 사용자의 팔로잉 수이다. 이와 같이 사용자의 영향력을 계산하는 알고리즘은 아래의 수학식 1과 같이 제안될 수 있다.
Figure 112015125442389-pat00001
Figure 112015125442389-pat00002
는 SNS 네트워크의 사용자,
Figure 112015125442389-pat00003
는 사용자
Figure 112015125442389-pat00004
Figure 112015125442389-pat00005
수치,
Figure 112015125442389-pat00006
는 감쇠 계수(damping coefficient)이고 베이지 랭크 알고리즘에 따른 특정 값으로 대입,
Figure 112015125442389-pat00007
은 네트워크 내의 전체 사용자 수,
Figure 112015125442389-pat00008
는 사용자
Figure 112015125442389-pat00009
의 팔로워 집합,
Figure 112015125442389-pat00010
는 사용자
Figure 112015125442389-pat00011
팔로잉의 사용자 수이다.
다음으로, 전술된 사용자 랭크 알고리즘의 Hadoop 클러스터에서 구현 방법에 대해서 살펴보기로 한다.
이와 관련하여, 도 7은 본 발명의 일 실시예에 따른 사용자 랭크 알고리즘과 관련한 사용자 정보의 처리 과정의 다이어그램을 도시한다.
도 7에서 도시된 바와 같이, 상기 사용자 정보의 처리 과정은 입력 데이터 포맷팅 과정(S710), 반복 루프 처리 과정(S720) 및 출력 데이터 포맷팅 과정(S730)을 포함한다. 상기 사용자 정보의 처리 과정과 관련하여, 사용자의 SNS 네트워크 데이터는 대용량으로 수집되기 때문에 Hadoop 클러스터에서 MapReduce를 사용하여 실행될 수 있다.
한편, 상기 입력 데이터 포맷팅 과정(S710)은 InputFomatMapper() 함수와 InputFormatReducer() 함수를 이용할 수 있다 또한, 상기 반복 루프 처리 과정(S720)은 UserRankMapper() 함수와 UserRankReducer() 함수를 이용할 수 있다. 또한, 상기 출력 데이터 포맷팅 과정(S730)은 OutputDataMapper() 함수와 OutputDataReducer() 함수를 이용할 수 있다.
한편, 상기 인증 서버(200) 및 상기 메인 서버(400)는 상기 제1 및 제2SNS 서비스의 가입 여부에 따라 다음과 같은 절차를 수행할 수 있다.
먼저, 상기 인증 서버(200)는 상기 로그인 정보에 기반하여 상기 사용자가 상기 제1SNS 서비스에 가입되어 있는지를 결정할 수 있다. 이때, 상기 메인 서버(400)는 상기 제1SNS 서비스에 가입되어 있는 경우, 상기 제1SNS 서비스와 관련된 상기 그룹 내의 상기 사용자 등급을 결정하고, 상기 사용자 등급에 기반하여 상기 사용자 정보를 필터링할 수 있다.
다음으로, 상기 메인 서버(400)는 상기 제1SNS 서비스에 가입되어 있지 않은 경우, 상기 제2SNS 서비스와 관련된 상기 선호도 정보를 결정하고, 상기 선호도 정보에 기반하여 상기 추천 정보를 필터링할 수 있다.
이러한, 선호도 정보의 일 실시예와 관련하여, 페이스북에서 제공하는 Open API를 사용하여 페이스북의 사용자 친구 정보를 고려할 수 있다. 이와 관련하여, 사용자의 프로필 파일에 따라서 사용자가 좋아하는 영화나 음악 등 연관 정보를 구할 수 있다.
한편, 사용자 정보 및 추천 정보의 필터링과 관련하여, 상기 필터링은 예를 들어 Mahout에서의 다양한 추천 알고리즘을 사용자가 편리하게 사용할 수 있게 API 형태로 제공하는 것이 고려될 수 있다. 본 시스템에서는 사용자 기반의 협업 필터링 추천 알고리즘을 채택하고 사용하여 사용자에게 유사한 영화를 추천한다. 이러한 사용자 기반의 협업 필터링 추천 알고리즘은 사용자가 각각 다른 영화를 평가해 사용자 간의 유사도를 계산하고 유사한 사용자에게 영화를 추천한다. Mahout이 제공하는 사용자 기반의 협업 필터링 추천 알고리즘 API를 사용하여 추천 알고리즘이 제시될 수 있다. 이때, 상기 추천 알고리즘과 관련한 인자는 사용자ID(userID), 목록ID(itemID), 점수(value) 중 적어도 하나일 수 있다. 또한, 상기 인자는 사용자 정보 또는 추천 정보의 수(howMany)와 재평가점수(rescore)를 포함할 수 있다.
이상에서 전술한 바와 같이, 소셜네트워크시스템(SNS) 환경에서의 정보를 추천하는 서버 및 단말에 관한 내용은 상호 참조되어 활용될 수 있다. 또한, 상기 SNS 환경에서의 정보를 추천하는 서버 및 단말에 관한 내용은 이하에서 후술될 서버에서의 SNS 환경에서의 정보 추천 방법과도 상호 참조되어 활용될 수 있다.
다음으로, 서버에서의 SNS 환경에서의 정보 추천 방법에 대해 살펴보면 아래와 같다.
이와 관련하여, 도 8은 본 발명에 따른 서버에 의해 수행되는 SNS 환경에서의 정보 추천 방법의 흐름도를 도시한다.
도 8에 도시된 바와 같이, 상기 SNS 환경에서의 정보 추천 방법은 사용자 정보/선호도 정보 저장 과정(S810), 실행 요청 인증 수행 과정(S820), 로그인 정보 인증 수행 과정(S830), 가입 여부 판단 과정(S840), 사용자 정보/추천 정보 추출 과정(S850) 및 사용자 정보/추천 정보 송신 과정(S860)을 포함한다. 여기서, 상기 사용자 정보/추천 정보 추출 과정(S850)은 사용자 정보 필터링 과정(S851) 및 추천 정보 필터링 과정(S852)을 더 포함한다. 상기 전술된 과정들은 도 1에서 도시된 인증 서버(200), 저장 서버(300) 및 메인 서버(400)에 의해 수행된다.
상기 사용자 정보/선호도 정보 저장 과정(S810)은 제1 및 제2 SNS 서비스의 서버들로부터 복수의 사용자들에 대한 그룹 내의 사용자 정보 및 선호도 정보와 이들과 관련된 정보를 저장한다.
상기 실행 요청 인증 수행 과정(S820)은 단말로부터 어플리케이션의 실행 요청에 응답하여 상기 실행 요청에 대한 인증을 수행한다.
상기 로그인 정보 인증 수행 과정(S830)은 상기 단말로부터의 로그인 정보에 대한 인증을 수행한다.
상기 가입 여부 판단 과정(S840)은 상기 로그인 정보에 기반하여 상기 사용자가 상기 제1SNS 서비스에 가입되어 있는지를 결정한다. 이때, 상기 사용자가 상기 제1SNS 서비스에 가입되어 있는 경우, 상기 사용자 정보 필터링 과정(S851)을 수행한다. 한편, 상기 사용자가 상기 제1SNS 서비스에 가입되어 있지 않은 경우, 상기 추천 정보 필터링 과정(S852)을 더 수행한다.
상기 사용자 정보/추천 정보 추출 과정(S850)은 상기 단말의 사용자가 가입한 제1SNS 서비스에서의 상기 사용자가 속한 그룹 내에서 영향력이 높은 순서대로 복수의 다른 사용자들에 대한 사용자 정보 및 제2SNSN 서비스에서의 상기 사용자의 선호도 정보에 기반하여 유사한 선호도의 다른 사용자들이 추천한 추천 정보를 추출한다.
상기 사용자 정보 필터링 과정(S851)은 저장 서버로부터의 상기 제1SNS 서비스와 관련된 정보에 기반하여 상기 복수의 다른 사용자들에 대한 사용자 등급을 결정하고, 상기 저장 서버에 저장된 전체 사용자 정보 중 상기 사용자 등급에 기반하여 결정된 사용자들에 대한 상기 사용자 정보를 필터링한다.
상기 추천 정보 필터링 과정(S852)은 저장 서버로부터의 상기 제2SNS 서비스와 관련된 정보에 기반하여 상기 선호도 정보를 결정하고, 상기 저장 서버에 저장된 전체 추천 정보 중 상기 선호도 정보에 기반하여 상기 추천 정보를 필터링한다.
상기 사용자 정보/추천 정보 송신 과정(S860)은 상기 사용자 정보 및 상기 추천 정보를 상기 단말로 송신한다.
한편, 도 9는 본 발명의 일 실시예에 따른 서버에서의 정보 추천 방법을 도시한다. 상기 서버에서의 정보 추천 방법은 이러한 정보 추천을 수행하는 어플리케이션에 대한 사용자 인증 및 라이센스가 유효하다면 별도로 제1 및 제2SNS 서비스로의 로그인 없이도 정보 추천 서비스를 제공받을 수 있다.
도 9에 도시된 바와 같이, 상기 서버에서의 정보 추천 방법은 사용자 인증 과정(S910), 라이센스 인증 과정(S920), 로그인 페이지 인증 과정(S930), 제1SNS 서비스 사용자 판단 과정(S940), 제1SNS 서비스 기반 추천 과정(S950) 및 제2SNS서비스 기반 추천 과정(S960) 및 정보 표시 과정(S970)을 포함한다.
상기 사용자 인증 과정(S910)은 정보 추천을 수행하는 어플리케이션에 대한 사용자 인증을 수행한다. 상기 사용자 인증이 성공적으로 수행된 경우, 상기 라이센스 인증 과정(S920)을 수행한다. 반면에, 상기 사용자 인증이 실패한 경우, 상기 로그인 페이지 인증 과정(S930)을 수행한다.
상기 라이센스 인증 과정(S920)은 상기 정보 추천을 수행하는 어플리케이션에 대한 라이센스가 유효한지를 판단한다. 상기 라이센스가 만료된 것으로 판단된 경우, 상기 로그인 페이지 인증 과정(S930)을 수행한다. 반면에, 상기 라이센스가 만료되지 않은 것으로 판단된 경우, 로그인 상태를 유지한다.
상기 로그인 페이지 인증 과정(S930)은 별도로 제1 또는 제2SNS 서비스에 대한 서드 파티 로그인을 수핸한다.
상기 제1SNS 서비스 사용자 판단 과정(S940)은 사용자가 상기 제1SNS 서비스 사용자인지를 판단한다. 여기서, 상기 제1SNS 서비스는 트위터 서비스일 수 있다. 상기 사용자가 상기 제1SNS 서비스 사용자인 경우, 상기 제1SNS 서비스 기반 추천 과정(S950)를 수행한다. 반면에, 상기 사용자가 상기 제1SNS 서비스 사용자가 아닌 경우, 상기 제2SNS서비스 기반 추천 과정(S960)을 수행한다.
상기 제1SNS 서비스 기반 추천 과정(S950)은 로그인 정보를 획득하고, 이에 기반하여 제1SNS 데이터 베이스에 저장된 정보를 추출하고, 상기 추출된 정보에 기반하여 사용자 랭크에 기반하여 사용자 정보를 필터링하고, 상기 필터링된 사용자 정보를 제시한다.
상기 제2SNS 서비스 기반 추천 과정(S960)은 로그인 정보를 획득하고, 이에 기반하여 제2SNS 데이터 베이스에 저장된 정보를 추출하고, 상기 추출된 정보에 기반하여 추천 정보를 필터링하고, 상기 필터링된 추천 정보를 제시한다.
상기 정보 표시 과정(S970)은 상기 필터링된 사용자 정보 및 추천 정보 중 적어도 하나에 기반하여 관련된 정보(인물 정보 또는 컨텐츠 정보)를 단말(클라이언트)의 디스플레이에 표시한다.
한편, 도 10은 본 발명의 일 실시예에 따른 트위터 및 페이스북 사용자의 서드 파티 로그인 화면을 도시한다.
도 10의 (a)를 참조하면, 상기 트위터 사용자의 서드 파티 로그인 화면은 특정 계정 사용을 승인할 지 여부를 질의하는 대화창을 생성하고, 상기 대화창에 아이디와 비밀번호를 입력하도록 요구될 수 있다.
도 10의 (b)를 참조하면, 상기 페이스북 사용자의 서드 파티 로그인 화면은 API를 통해 페이스북의 로그인 화면이 단말에 표시되도록 대화창을 생성할 수 있다. 상기 대화창에 이메일(또는 전화번호)와 비밀번호를 입력하도록 요구될 수 있다.
한편, 도 11은 본 발명의 일 실시예에 따른 필터링된 정보를 트위터 사용자 및 페이스북 사용자에게 제공하는 화면을 도시한다.
도 11의 (a)를 참조하면, 상기 트위터 사용자에게는 상기 사용자가 속한 그룹 내 혹은 전체 사용자에 대해서 영향력 지수가 높은 인물 순으로 사용자 정보가 표시될 수 있다. 예를 들어, 상기 사용자 정보는 아이디 및 상기 아이디 사용자의 트위터 페이지를 포함할 수 있다.
도 11의 (b)를 참조하면, 상기 페이스북 사용자에게는 상기 사용자와 동일 또는 유사한 선호도를 갖는 사용자들이 추천한 컨텐츠가 관련성 순으로 표시될 수 있다. 예를 들어, 상기 추천 정보는 상기 추천 컨텐츠의 명칭을 포함한다. 또한, 상기 추천 정보는 상기 컨텐츠를 추천한 사용자 정보가 포함될 수 있다.
본 발명의 적어도 일 실시예에 따르면, 단말의 사용자가 속한 그룹 내에서 영향력이 높은 인물로부터 사용자 정보를 제공받거나 또는 사용자와 선호도에 기반하여 컨텐츠를 추천받을 수 있다는 장점이 있다.
또한, 본 발명의 적어도 일 실시예에 따르면, 복수의 소셜네트워크 서비스에서 참조 가능한 정보 중 관련된 데이터를 참조하여 사용자 정보 및 추천 정보를 제고할 수 있다는 장점이 있다.
한편, 본 발명에서 기술된 제어부, 각각의 구성부 및 각각의 과정은 하드웨어, 소프트웨어 및 이들의 조합에 의해 구현될 수 있다. 또한, 상기 제어부, 각각의 구성부 및 각각의 과정의 세부 요소 또한 하드웨어, 소프트웨어 및 이들의 조합에 의해 구현될 수 있다.
소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능 뿐만 아니라 각각의 구성 요소들은 별도의 소프트웨어 모듈로도 구현될 수 있다. 상기 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다. 적절한 프로그램 언어로 쓰여진 소프트웨어 어플리케이션으로 소프트웨어 코드가 구현될 수 있다. 상기 소프트웨어 코드는 메모리에 저장되고, 제어부(controller) 또는 프로세서(processor)에 의해 실행될 수 있다.
100: 단말 200: 인증 서버
300: 저장 서버 400: 메인 서버

Claims (16)

  1. 소셜네트워크시스템(SNS) 환경에서의 정보를 추천하는 서버에 있어서,
    단말로부터 어플리케이션의 실행 요청에 응답하여 상기 실행 요청에 대한 인증을 수행하고, 상기 단말로부터의 로그인 정보에 대한 인증을 수행하는 인증 서버; 및
    상기 단말의 사용자가 가입한 제1SNS 서비스에서의 상기 사용자가 속한 그룹 내에서 영향력이 높은 순서대로 복수의 다른 사용자들에 대한 사용자 정보 및 제2SNS 서비스에서의 상기 사용자의 선호도 정보에 기반하여 유사한 선호도의 다른 사용자들이 추천한 추천 정보를 추출하고, 상기 사용자 정보 및 상기 추천 정보를 상기 단말로 송신하는 메인 서버를 포함하고,
    상기 제1SNS 서비스는 사용자들 간에 관계 형성을 제공하고, 상기 제2SNS 서비스는 사용자가 업로드한 특정 컨텐츠에 대한 의견을 제공하거나, 상기 특정 컨텐츠를 카테고리 별로 제공하고,
    상기 사용자 정보는 상기 단말의 위치(Location), 팔로잉(link-out)의 개수, 팔로워(link-in)의 개수를 포함하고,
    상기 선호도 정보는 상기 사용자의 친구 정보(Friend), 프로필 파일, 위치(Location)를 포함하고,
    상기 사용자 등급은 상기 팔로잉의 개수, 상기 사용자의 팔로워가 가지는 가치에 비례하고, 상기 팔로워 중에 있는 사용자 팔로잉의 수에 반비례하고,
    상기 메인 서버는,
    상기 사용자가 제1SNS 서비스에 가입되어 있는 경우, 상기 제1SNS 서비스와 관련된 상기 그룹 내의 상기 사용자 등급을 결정하고, 상기 사용자 등급에 기반하여 상기 사용자 정보를 필터링하고, 상기 사용자 정보 및 상기 선호도 정보에 기반하여 상기 추천 정보를 필터링하고,
    상기 제1SNS 서비스에 가입되어 있지 않은 경우, 상기 제2SNS 서비스와 관련된 상기 선호도 정보를 결정하고, 상기 선호도 정보에 기반하여 상기 추천 정보를 필터링하는, 소셜네트워크시스템 환경에서의 정보를 추천하는 서버.
  2. 제1항에 있어서,
    상기 제1 SNS 서비스 및 상기 제2 SNS 서비스의 서버들로부터 복수의 사용자들에 대한 상기 그룹 내의 사용자 정보 및 상기 선호도 정보와 이들과 관련된 정보를 저장하는 저장 서버를 더 포함하는, 소셜네트워크시스템 환경에서의 정보를 추천하는 서버.
  3. 제2항에 있어서,
    상기 메인 서버는,
    상기 저장 서버로부터의 상기 제1SNS 서비스와 관련된 정보에 기반하여 상기 복수의 다른 사용자들에 대한 사용자 등급을 결정하고, 상기 저장 서버에 저장된 전체 사용자 정보 중 상기 사용자 등급에 기반하여 결정된 사용자들에 대한 상기 사용자 정보를 필터링하는, 소셜네트워크시스템 환경에서의 정보를 추천하는 서버.
  4. 제3항에 있어서,
    상기 메인 서버는,
    상기 저장 서버로부터의 상기 제2SNS 서비스와 관련된 정보에 기반하여 상기 선호도 정보를 결정하고, 상기 저장 서버에 저장된 전체 추천 정보 중 상기 선호도 정보에 기반하여 상기 추천 정보를 필터링하는, 소셜네트워크시스템 환경에서의 정보를 추천하는 서버.
  5. 제4항에 있어서,
    상기 인증 서버는, 상기 로그인 정보에 기반하여 상기 사용자가 상기 제1SNS 서비스에 가입되어 있는지를 결정하는, 소셜네트워크시스템 환경에서의 정보를 추천하는 서버.
  6. 제1항에 있어서,
    상기 사용자 등급은,
    Figure 112016096932448-pat00023
    에 의해 결정되고,
    Figure 112016096932448-pat00024
    는 상기 제1SNS 네트워크의 사용자,
    Figure 112016096932448-pat00025
    는 사용자
    Figure 112016096932448-pat00026
    Figure 112016096932448-pat00027
    수치,
    Figure 112016096932448-pat00028
    는 감쇠 계수(damping coefficient)이고,
    Figure 112016096932448-pat00029
    은 네트워크 내의 전체 사용자 수,
    Figure 112016096932448-pat00030
    는 사용자
    Figure 112016096932448-pat00031
    의 팔로워 집합,
    Figure 112016096932448-pat00032
    는 사용자
    Figure 112016096932448-pat00033
    팔로잉의 사용자 수인, 소셜네트워크시스템 환경에서의 정보를 추천하는 서버.
  7. 소셜네트워크시스템(SNS) 환경에서의 정보를 추천받는 단말에 있어서,
    상기 정보를 추천받기 위한 어플리케이션의 실행 요청을 수신하고, 로그인 정보를 수신하는 인터페이스부; 및
    상기 단말의 사용자가 가입한 제1SNS 서비스에서의 상기 사용자가 속한 그룹 내에서 영향력이 높은 순서대로 복수의 다른 사용자들에 대한 사용자 정보 및 제2SNS 서비스에서의 상기 사용자의 선호도 정보에 기반하여 유사한 선호도의 다른 사용자들이 추천한 추천 정보를 메인 서버로부터 통신부를 통해 수신하도록 제어하는 제어부를 포함하고,
    상기 제1SNS 서비스는 사용자들 간에 관계 형성을 제공하고, 상기 제2SNS 서비스는 사용자가 업로드한 특정 컨텐츠에 대한 의견을 제공하거나, 상기 특정 컨텐츠를 카테고리 별로 제공하고,
    상기 사용자 정보는 상기 단말의 위치(Location), 팔로잉(link-out)의 개수, 팔로워(link-in)의 개수를 포함하고,
    상기 선호도 정보는 상기 사용자의 친구 정보(Friend), 프로필 파일, 위치(Location)를 포함하고,
    상기 사용자 등급은 상기 팔로잉의 개수, 상기 사용자의 팔로워가 가지는 가치에 비례하고, 상기 팔로워 중에 있는 사용자 팔로잉의 수에 반비례하고,
    상기 사용자가 제1SNS 서비스에 가입되어 있는 경우, 상기 사용자 정보는 상기 제1SNS 서비스와 관련된 상기 그룹 내에서 결정된 상기 사용자 등급에 기반하여 필터링되고, 상기 추천 정보는 상기 사용자 정보 및 상기 선호도 정보에 기반하여 필터링되고,
    상기 제1SNS 서비스에 가입되어 있지 않은 경우, 상기 추천 정보는 상기 제2SNS 서비스와 관련된 상기 선호도 정보에 기반하여 필터링되는, 소셜네트워크시스템(SNS) 환경에서의 정보를 추천받는 단말.
  8. 제7항에 있어서,
    상기 사용자 정보는,
    저장 서버로부터의 상기 제1SNS 서비스와 관련된 정보에 기반하여 상기 복수의 다른 사용자들에 대한 사용자 등급이 결정되고, 상기 저장 서버에 저장된 전체 사용자 정보 중 상기 사용자 등급에 기반하여 결정된 사용자들에 대한 필터링된 것을 특징으로 하는, 소셜네트워크시스템(SNS) 환경에서의 정보를 추천받는 단말.
  9. 제8항에 있어서,
    상기 추천 정보는,
    저장 서버로부터의 상기 제2SNS 서비스와 관련된 정보에 기반하여 상기 선호도 정보가 결정되고, 상기 저장 서버에 저장된 전체 추천 정보 중 상기 선호도 정보에 기반하여 필터링된 것을 특징으로 하는, 소셜네트워크시스템(SNS) 환경에서의 정보를 추천받는 단말.
  10. 제9항에 있어서,
    상기 어플리케이션의 실행에 응답하거나, 상기 단말로부터의 추천 요청 또는 상기 단말의 위치에 기반하여, 상기 사용자 정보 및 상기 추천 정보를 표시하는 디스플레이를 더 포함하는, 소셜네트워크시스템(SNS) 환경에서의 정보를 추천받는 단말.
  11. 서버에서의 소셜네트워크시스템(SNS) 환경에서의 정보 추천 방법에 있어서,
    단말로부터 어플리케이션의 실행 요청에 응답하여 상기 실행 요청에 대한 인증을 수행하는 실행 요청 인증 수행 과정;
    상기 단말로부터의 로그인 정보에 대한 인증을 수행하는 로그인 정보 인증 수행 과정;
    상기 단말의 사용자가 가입한 제1SNS 서비스에서의 상기 사용자가 속한 그룹 내에서 영향력이 높은 순서대로 복수의 다른 사용자들에 대한 사용자 정보 및 제2SNS 서비스에서의 상기 사용자의 선호도 정보에 기반하여 유사한 선호도의 다른 사용자들이 추천한 추천 정보를 추출하는 사용자 정보/추천 정보 추출 과정; 및
    상기 사용자 정보 및 상기 추천 정보를 상기 단말로 송신하는 사용자 정보/추천 정보 송신 과정을 포함하고,
    상기 제1SNS 서비스는 사용자들 간에 관계 형성을 제공하고, 상기 제2SNS 서비스는 사용자가 업로드한 특정 컨텐츠에 대한 의견을 제공하거나, 상기 특정 컨텐츠를 카테고리 별로 제공하고,
    상기 사용자 정보는 상기 단말의 위치(Location), 팔로잉(link-out)의 개수, 팔로워(link-in)의 개수를 포함하고,
    상기 선호도 정보는 상기 사용자의 친구 정보(Friend), 프로필 파일, 위치(Location)를 포함하고,
    상기 사용자 등급은 상기 팔로잉의 개수, 상기 사용자의 팔로워가 가지는 가치에 비례하고, 상기 팔로워 중에 있는 사용자 팔로잉의 수에 반비례하고,
    상기 서버는,
    제1SNS 서비스에 가입되어 있는 경우, 상기 제1SNS 서비스와 관련된 상기 그룹 내의 상기 사용자 등급을 결정하고, 상기 사용자 등급에 기반하여 상기 사용자 정보를 필터링하는 상기 사용자 정보 필터링 과정; 및
    상기 사용자 정보 및 상기 선호도 정보에 기반하여 상기 추천 정보를 필터링하는 과정을 수행하고,
    상기 제1SNS 서비스에 가입되어 있지 않은 경우, 상기 제2SNS 서비스와 관련된 상기 선호도 정보를 결정하고, 상기 선호도 정보에 기반하여 상기 추천 정보를 필터링하는 추천 정보 필터링 과정을 수행하는, 서버에서의 소셜네트워크시스템(SNS) 환경에서의 정보 추천 방법.
  12. 제11항에 있어서,
    상기 제1 SNS 서비스 및 상기 제2 SNS 서비스의 서버들로부터 복수의 사용자들에 대한 상기 그룹 내의 사용자 정보 및 상기 선호도 정보와 이들과 관련된 정보를 저장하는 사용자 정보/선호도 정보 저장 과정을 더 포함하는, 서버에서의 소셜네트워크시스템(SNS) 환경에서의 정보 추천 방법.
  13. 제12항에 있어서,
    상기 사용자 정보/추천 정보 추출 과정은,
    저장 서버로부터의 상기 제1SNS 서비스와 관련된 정보에 기반하여 상기 복수의 다른 사용자들에 대한 사용자 등급을 결정하고, 상기 저장 서버에 저장된 전체 사용자 정보 중 상기 사용자 등급에 기반하여 결정된 사용자들에 대한 상기 사용자 정보를 필터링하는 사용자 정보 필터링 과정을 포함하는, 서버에서의 소셜네트워크시스템(SNS) 환경에서의 정보 추천 방법.
  14. 제13항에 있어서,
    상기 사용자 정보/추천 정보 추출 과정은,
    저장 서버로부터의 상기 제2SNS 서비스와 관련된 정보에 기반하여 상기 선호도 정보를 결정하고, 상기 저장 서버에 저장된 전체 추천 정보 중 상기 선호도 정보에 기반하여 상기 추천 정보를 필터링하는 추천 정보 필터링 과정을 포함하는, 서버에서의 소셜네트워크시스템(SNS) 환경에서의 정보 추천 방법.
  15. 제14항에 있어서,
    상기 로그인 정보에 기반하여 상기 사용자가 상기 제1SNS 서비스에 가입되어 있는지를 결정하는 가입 여부 판단 과정을 더 포함하는, 서버에서의 소셜네트워크시스템(SNS) 환경에서의 정보 추천 방법.
  16. 제15항에 있어서,
    상기 사용자 등급은,
    Figure 112016096932448-pat00034
    에 의해 결정되고,
    Figure 112016096932448-pat00035
    는 상기 제1SNS 네트워크의 사용자,
    Figure 112016096932448-pat00036
    는 사용자
    Figure 112016096932448-pat00037
    Figure 112016096932448-pat00038
    수치,
    Figure 112016096932448-pat00039
    는 감쇠 계수(damping coefficient)이고,
    Figure 112016096932448-pat00040
    은 네트워크 내의 전체 사용자 수,
    Figure 112016096932448-pat00041
    는 사용자
    Figure 112016096932448-pat00042
    의 팔로워 집합,
    Figure 112016096932448-pat00043
    는 사용자
    Figure 112016096932448-pat00044
    팔로잉의 사용자 수인, 서버에서의 소셜네트워크시스템(SNS) 환경에서의 정보 추천 방법.
KR1020150183188A 2015-12-21 2015-12-21 소셜네트워크시스템 환경에서의 정보를 추천하는 서버 및 정보 추천 방법 KR101733426B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150183188A KR101733426B1 (ko) 2015-12-21 2015-12-21 소셜네트워크시스템 환경에서의 정보를 추천하는 서버 및 정보 추천 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150183188A KR101733426B1 (ko) 2015-12-21 2015-12-21 소셜네트워크시스템 환경에서의 정보를 추천하는 서버 및 정보 추천 방법

Publications (1)

Publication Number Publication Date
KR101733426B1 true KR101733426B1 (ko) 2017-05-24

Family

ID=59051479

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150183188A KR101733426B1 (ko) 2015-12-21 2015-12-21 소셜네트워크시스템 환경에서의 정보를 추천하는 서버 및 정보 추천 방법

Country Status (1)

Country Link
KR (1) KR101733426B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200042211A (ko) 2018-10-15 2020-04-23 산즈 오이아나 알루에 온라인 플랫폼 서비스를 제공하는 컴퓨터 프로그램 및 서버

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200042211A (ko) 2018-10-15 2020-04-23 산즈 오이아나 알루에 온라인 플랫폼 서비스를 제공하는 컴퓨터 프로그램 및 서버

Similar Documents

Publication Publication Date Title
US20170250930A1 (en) Interactive content recommendation personalization assistant
US8843463B2 (en) Providing content by using a social network
US8914367B2 (en) Socially collaborative filtering for providing recommended content to a website for presentation to an identified user
US8346953B1 (en) Methods and systems for restricting electronic content access based on guardian control decisions
JP6676080B2 (ja) 近距離通信を介してアプリケーションバージョンをインストールする方法およびシステム
KR101692208B1 (ko) 문의 언어들을 사용하여 웹 서비스 응용 프로그래밍 인터페이스들을 확장하는 방법
CN104573109A (zh) 一种基于群组关系的自动推荐方法、终端及系统
CN102089776A (zh) 通过多个装置管理个人数字资源
US9652554B2 (en) Systems and methods for adding users to a networked computer system
US10958973B2 (en) Deriving and identifying view preferences of a user consuming streaming content
US11516520B2 (en) Data sharing system, share list processing method, and non-transitory machine-readable medium for data sharing
US20140067909A1 (en) Sharing social network feeds via proxy relationships
CN106169133A (zh) 一种基于RESTful风格的就业信息推荐系统
US10616309B2 (en) Systems and methods for resumable uploading of data in a social networking system
KR101733426B1 (ko) 소셜네트워크시스템 환경에서의 정보를 추천하는 서버 및 정보 추천 방법
US20190356622A1 (en) Rule-based annotation service in a cloud platform
US20150294331A1 (en) Peer-to-peer data collector and analyzer
Shen et al. SOS: A distributed mobile Q&A systembased on social networks
WO2011153605A1 (en) Method and system for coupling disparate networked services
US9536199B1 (en) Recommendations based on device usage
US10524011B2 (en) Systems and methods for utilizing social metrics to provide videos in video categories
US12026278B2 (en) System and method for securing and facilitating access to a digital legacy
US20220292216A1 (en) System and method for securing and facilitating access to a digital legacy
US11921887B2 (en) Decentralized identity metaverse database system
WO2024114034A1 (zh) 内容推荐方法、装置、设备、介质和程序产品

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20200227

Year of fee payment: 4