KR101641005B1 - 소셜 미디어 네트워크의 예측-기반 크롤링을 위한 시스템 및 방법 - Google Patents

소셜 미디어 네트워크의 예측-기반 크롤링을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR101641005B1
KR101641005B1 KR1020147012506A KR20147012506A KR101641005B1 KR 101641005 B1 KR101641005 B1 KR 101641005B1 KR 1020147012506 A KR1020147012506 A KR 1020147012506A KR 20147012506 A KR20147012506 A KR 20147012506A KR 101641005 B1 KR101641005 B1 KR 101641005B1
Authority
KR
South Korea
Prior art keywords
activities
users
user
social network
data
Prior art date
Application number
KR1020147012506A
Other languages
English (en)
Other versions
KR20140113631A (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 애플 인크.
Publication of KR20140113631A publication Critical patent/KR20140113631A/ko
Application granted granted Critical
Publication of KR101641005B1 publication Critical patent/KR101641005B1/ko

Links

Images

Classifications

    • 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
    • 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
    • G06Q10/00Administration; Management
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Marketing (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Human Resources & Organizations (AREA)
  • Tourism & Hospitality (AREA)
  • Data Mining & Analysis (AREA)
  • Game Theory and Decision Science (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

소셜 네트워크 상의 각각의 사용자의 예측되는 미래의 활동들에 기초하여 소셜 미디어 네트워크의 효율적인 크롤링을 지원하기 위한 시스템들 및 방법들을 고려하는 새로운 접근법이 제안된다. 먼저, 소셜 네트워크 상에서의 사용자의 과거 활동들과 관련된 데이터가 수집되고, 소셜 네트워크 상에서의 시간에 따른 사용자의 과거 활동들의 패턴이 확립된다. 사용자의 과거 활동들에 대한 확립된 패턴에 기초하여, 소셜 네트워크 상에서의 사용자의 미래 활동들에 대한 예측들이 확립될 수 있다. 이어서, 그러한 예측들은 소셜 네트워크의 미래의 크롤링을 위해 사용자의 활동들에 관한 데이터를 수집하기 위한 수집 스케줄 - 타이밍(시기) 및 빈도 - 을 결정하는 데 사용될 수 있다.

Description

소셜 미디어 네트워크의 예측-기반 크롤링을 위한 시스템 및 방법{SYSTEMS AND METHODS FOR PREDICTION-BASED CRAWLING OF SOCIAL MEDIA NETWORK}
웹 크롤링(web crawling)은 체계적이고 자동화된 방식으로 또는 질서 정연한 방식으로 월드 와이드 웹을 브라우징하는 소프트웨어-기반 기술들을 지칭한다. 웹 크롤러들은 빠른 검색을 제공하기 위해 다운로드된 페이지들을 수집하고 인덱싱하는 검색 엔진에 의한 후속 처리를 위해 모든 방문된 페이지들의 사본을 생성하는 데 주로 사용된다. 크롤러들은 링크들을 검사하거나 HTML 코드를 검증하는 것과 같은 웹사이트 상에서의 유지보수 작업들을 자동화하는 데에도 사용될 수 있다. 일반적으로, 웹 크롤러는 시드(seed)라고 하는 방문할 URL들의 리스트로부터 시작한다. 크롤러가 이러한 URL들을 방문할 때, 크롤러는 페이지 내의 모든 하이퍼링크들을 식별하고, 이들을 크롤 프론티어(crawl frontier)라고 하는 방문할 URL들의 리스트에 추가한다. 프론티어로부터의 URL들은 한 세트의 정책들에 따라 순환적으로 방문된다.
페이스북 및 트위터와 같은 소셜 미디어 네트워크들은 최근에 웹-기반 통신 플랫폼들로서 기하급수적으로 성장하였다. 날마다 수억 명의 사람들이 다양한 형태의 소셜 미디어 네트워크들을 이용하여 서로 통신하고 접속을 유지하고 있다. 따라서, 소셜 미디어 네트워크들 상의 사용자들로부터의 결과적인 활동 데이터는 경이적이게 되었고, 전통적인 웹 크롤링 기술들을 이용하여 소셜 미디어 네트워크 상의 각각의 그리고 모든 사용자의 활동 데이터를 정기적으로 조사하는 것은 필요한 시간 및 자원들과 관련하여 엄청나게 비용이 많이 들고 실행 불가능하게 되었다. 실제로, 임의의 웹 크롤러는 주어진 시간 내에 소셜 미디어 네트워크 상의 사용자 활동들의 일부만을 수집 및 다운로드할 수 있는 반면, 소셜 미디어 네트워크 상에서 활동적인 사용자들의 높은 활동률은 그들의 데이터가 갱신 또는 삭제되기 전에 자주 수집될 것을 요한다. 수집된 데이터를 "신선하게" 유지하기 위해 효율적이고 때에 알맞은, 소셜 미디어 네트워크에 고유하게 맞춤화된 크롤링 접근법에 대한 필요성이 증가하고 있다.
전술한 관련 기술의 예들 및 이들과 관련된 제한들은 배타적이 아니라 예시적인 것으로 의도된다. 관련 기술에 대한 다른 제한들은 본 명세서를 읽고 도면들을 검토할 때 명백해질 것이다.
<도 1>
도 1은 예측-기반 소셜 미디어 네트워크 크롤링을 지원하기 위한 시스템 도면의 일례.
<도 2>
도 2는 예측-기반 소셜 미디어 네트워크 크롤링을 지원하기 위한 프로세스의 흐름도의 일례.
유사한 도면 부호들이 유사한 요소들을 지시하는 첨부 도면들에 본 접근법이 제한이 아니라 예로서 예시된다. 본 명세서에서 "일" 또는 "하나" 또는 "일부" 실시예(들)에 대한 참조들은 반드시 동일한 실시예를 참조하지는 않으며, 그러한 참조들은 적어도 하나를 의미한다는 점에 유의해야 한다.
소셜 네트워크 상의 각각의 사용자의 예측되는 미래의 활동들에 기초하여 소셜 미디어 네트워크의 효율적인 크롤링을 지원하기 위한 시스템들 및 방법들을 고려하는 새로운 접근법이 제안된다. 먼저, 소셜 네트워크 상에서의 사용자의 과거 활동들(past activities)과 관련된 데이터가 수집되고, 소셜 네트워크 상에서의 시간에 따른 사용자의 과거 활동들의 패턴이 확립된다. 사용자의 과거 활동들에 대한 확립된 패턴에 기초하여, 소셜 네트워크 상에서의 사용자의 미래 활동들에 대한 예측들이 확립될 수 있다. 이어서, 그러한 예측들은 소셜 네트워크의 미래의 크롤링을 위해 사용자의 활동들에 관한 데이터를 수집하기 위한 수집 스케줄 - 타이밍(시기) 및 빈도 - 을 결정하는 데 사용될 수 있다. 그러한 예측-기반 소셜 미디어 네트워크는 사용자들 중 일부가 비활동적일 때에도 매번 모든 사용자의 활동들에 대한 소셜 네트워크의 시간 및 자원 소모적인 크롤링을 피하면서도 각각의 사용자로부터의 신선한 데이터를 사용자의 예측 활동 시간에 때맞춰 수집함으로써 소셜 네트워크 크롤링의 효율과 "신선도" 사이의 균형을 맞춘다.
아래에서 언급될 때, 소셜 미디어 네트워크 또는 간단히 소셜 네트워크는 그의 사용자들/멤버들이 서로 게시, 공유, 통신 및 상호작용하는 것을 가능하게 하는 임의의 공개적으로 액세스 가능한 웹-기반 플랫폼 또는 커뮤니티일 수 있다. 비제한적인 예들로서, 그러한 소셜 미디어 네트워크는 페이스북, 구글+, 트위터, 링크드인(LinkedIn), 블로그들, 포럼들 또는 임의의 다른 웹-기반 커뮤니티들일 수 있지만, 이에 제한되지 않는다.
아래에서 언급될 때, 소셜 미디어 네트워크 상의 사용자의 활동들은 트윗, 게시, 다른 사용자의 게시에 대한 코멘트, 의견(예로서, 공감(Like)), 피드(feed), 접속(예로서, 다른 사용자를 친구로 추가함), 참조, 다른 웹사이트 또는 애플리케이션에 대한 링크, 또는 소셜 네트워크 상의 임의의 다른 활동들을 포함하지만, 이에 제한되지 않는다. 생성 시간이 콘텐츠와 항상 명확하게 연관되지는 않을 수 있는 통상적인 웹 콘텐츠와 달리, 소셜 네트워크 상의 사용자의 활동들의 하나의 고유한 특성은 활동들 각각과 연관된 명확한(explicit) 타임 스탬프(time stamp)가 존재하여, 소셜 네트워크 상에서의 시간에 따른 사용자의 활동들의 패턴을 확립하는 것이 가능하게 된다는 것이다.
도 1은 예측-기반 소셜 미디어 네트워크 크롤링을 지원하기 위한 시스템 도면의 일례를 나타낸다. 도면들은 컴포넌트들을 기능적으로 분리된 것으로 도시하지만, 그러한 도시는 예시의 목적을 위한 것일 뿐이다. 이 도면에 도시된 컴포넌트들은 임의로 조합되거나, 개별 소프트웨어, 펌웨어 및/또는 하드웨어 컴포넌트들로 분할될 수 있다는 것이 명백할 것이다. 더구나, 그러한 컴포넌트들은 그들이 조합되거나 분할되는지에 관계없이 동일 호스트 또는 다수의 호스트 상에서 실행될 수 있다는 것도 명백할 것이며, 여기서 다수의 호스트는 하나 이상의 네트워크에 의해 접속될 수 있다.
도 1의 예에서, 시스템(100)은 적어도 데이터 수집 엔진(102), 예측 엔진(104) 및 소셜 미디어 크롤링 엔진(106)을 포함한다. 본 명세서에서 사용될 때, 엔진이라는 용어는 목적을 실현하는 데 사용되는 소프트웨어, 펌웨어, 하드웨어 또는 다른 컴포넌트를 지칭한다. 엔진은 통상적으로 (보조 메모리로도 지칭되는) 비휘발성 메모리 내에 저장되는 소프트웨어 명령어들을 포함할 것이다. 소프트웨어 명령어들이 실행될 때, 소프트웨어 명령어들의 적어도 서브세트가 프로세서에 의해 (주 메모리로도 지칭되는) 메모리 내에 로딩된다. 이어서, 프로세서는 메모리 내의 소프트웨어 명령어들을 실행한다. 프로세서는 공유 프로세서, 전용 프로세서, 또는 공유 또는 전용 프로세서들의 조합일 수 있다. 통상적인 프로그램은 (I/O 디바이스들과 같은) 하드웨어 컴포넌트들에 대한 호출들을 포함할 것이며, 이는 통상적으로 드라이버들의 실행을 필요로 한다. 드라이버들은 엔진의 일부로서 간주될 수 있거나 간주되지 않을 수 있지만, 그 차이는 중요하지 않다.
도 1의 예에서, 엔진들 각각은 하나 이상의 호스팅 디바이스(호스트) 상에서 실행될 수 있다. 여기서, 호스트는 컴퓨팅 디바이스, 통신 디바이스, 저장 디바이스, 또는 소프트웨어 컴포넌트를 실행할 수 있는 임의의 전자 디바이스일 수 있다. 비제한적인 예들로서, 컴퓨팅 디바이스는 랩탑 PC, 데스크탑 PC, 태블릿 PC, 아이팟, 아이폰, 아이패드, 구글의 안드로이드 디바이스, PDA 또는 서버 기계일 수 있지만, 이에 제한되지 않는다. 저장 디바이스는 하드 디스크 드라이브, 플래시 메모리 디바이스 또는 임의의 휴대용 저장 디바이스일 수 있지만, 이에 제한되지 않는다. 통신 디바이스는 이동 전화일 수 있지만, 이에 제한되지 않는다.
도 1의 예에서, 데이터 수집 엔진(102), 예측 엔진(104) 및 소셜 미디어 크롤링 엔진(106) 각각은 엔진들이 하나 이상의 통신 네트워크(도시되지 않음)를 통해 TCP/IP 프로토콜과 같은 특정 통신 프로토콜들에 따라 서로 통신하는 것을 가능하게 하는 소프트웨어 컴포넌트인 통신 인터페이스(도시되지 않음)를 구비한다. 여기서, 통신 네트워크들은 인터넷, 인트라넷, 광역 네트워크(WAN), 근거리 네트워크(LAN), 무선 네트워크, 블루투스, 와이파이 및 이동 통신 네트워크일 수 있지만, 이에 제한되지 않는다. 네트워크 및 통신 프로토콜들의 물리적 접속들은 당업자들에게 주지되어 있다.
도 1의 예에서, 데이터 수집 엔진(102)은 소셜 네트워크 상에서의 각각의 사용자의 과거 활동들을 수집한다. 사용자의 과거 활동들은 특정 기간에 걸친 소셜 미디어 크롤링 엔진(106)에 의한 소셜 네트워크의 이전 크롤링 동안 수집되어 데이터베이스 내에 사용자와 관련된 과거 활동 레코드들로서 유지되었을 수 있다. 사용자의 과거 활동들이 수집되면, 데이터 수집 엔진(102)은 사용자의 활동들과 관련된 타임 스탬프들에 기초하여 시간에 따른 사용자에 대한 활동 분포 패턴/모델을 확립할 수 있다. 시간에 따른 그러한 활동 분포 패턴은 사용자가 소셜 네트워크 상에서 최고로 또는 최소로 활동적인 시기 및 소셜 네트워크 상의 사용자의 활동들의 빈도를 반영할 수 있다. 비제한적인 예로서, 사용자는 저녁 8-12시 사이에 소셜 네트워크 상에서 최고로 활동적일 수 있는 반면, 이른 아침 동안에 최소로 활동적일 수 있거나, 사용자는 주중이 아니라 주말에 최고로 활동적이다.
일부 실시예들에서, 데이터 수집 엔진(102)은 또한 사용자가 흥미를 갖는 특정 스포츠 이벤트 또는 뉴스와 같은 특정 이벤트들의 발생 시에 사용자가 최고로 활동적일 가능성이 있는지를 결정할 수 있다. 대안으로서, 데이터 수집 엔진(102)은 사용자의 활동들이 소셜 네트워크 상에서 사용자와 접속된 하나 이상의 사용자의 친구의 활동들과 밀접하게 관련된 것으로 결정할 수 있다. 비제한적인 예로서, 사용자의 친구들 중 하나 이상이 활동하게 되는 경우, 예를 들어 흥미로운 토론을 시작하거나 온라인 게임에 참가하는 경우, 사용자도 적극적으로 연루될 가능성이 있다.
도 1의 예에서, 예측 엔진(104)은 사용자의 과거 활동들의 확립된 패턴에 기초하여 소셜 네트워크 상에서의 사용자의 미래 활동들에 대한 예측들을 작성(make)한다. 그러한 예측의 근거는 사람이 통상적으로 사용자 자신의 습관, 일상, 의식을 가지며, 평소에 특정의 예측 가능한 방식으로 활동하거나 행동한다는 점이다. 따라서, 사용자의 과거 활동은 사용자의 미래의 활동들을 예측하는 데 사용될 수 있다. 비제한적인 예로서, 사용자가 지난 몇 주 또는 몇 달 동안 통상적으로 저녁에 또는 주말에 매우 활동적이었던 경우, 사용자는 이어지는 저녁들 및 주말들에 계속 매우 활동적일 것으로 예측될 수 있다.
사용자의 미래 활동들에 대한 예측들에 기초하여, 예측 엔진(104)은 데이터 수집의 효율과 신선도 사이의 균형을 맞추는 사용자에 대한 대응하는 활동 수집 스케줄을 결정할 수 있다. 그러한 수집 스케줄은 사용자가 최고로 활동적인 기간들과 직접 관련되는데, 즉 사용자가 최고로 활동적일 것으로 예측되는 시간 동안 활동 데이터 수집이 스케줄링되는 반면, 사용자가 사용자의 수집 스케줄에 의해 보다 덜 활동적일 것으로 예측되는 시간 동안에는 소셜 미디어 크롤링 엔진(106)에 의해 사용자에 대한 데이터 수집이 생략(skip)될 수 있다.
도 1의 예에서, 소셜 미디어 크롤링 엔진(106)은 소셜 네트워크를 주기적으로 크롤링하여, 사용자에 대한 활동 수집 스케줄에 기초하여 각각의 사용자로부터 최근 활동 데이터를 수집한다. 사용자의 활동들이 사용자의 활동 수집 스케줄에 따라 크롤링 시에 수집되지 않아야 하는 경우, 소셜 미디어 크롤링 엔진(106)은 사용자와 관련된 콘텐츠를 생략하고, 자신의 활동이 그의 스케줄에 따라 수집되어야 하는 다음 사용자로 이동할 것이다. 소셜 미디어 네트워크 내에서 액세스 가능한 막대한 양의 데이터가 주어지는 경우, 소셜 미디어 크롤링 엔진(106)에 의한 그러한 선택적 데이터 수집은 수집되는 데이터의 신선도를 손상시키지 않고서 각각의 크롤링 시에 필요한 시간 및 자원들을 줄인다. 일부 실시예들에서, 소셜 미디어 크롤링 엔진(106)은 가능한 한 많은 데이터를 수집하기 위해 상이한 인터넷 주소들(IP들)로부터 오는 다수의 크롤러를 실행하고 조정할 수 있다. 소셜 미디어 크롤링 엔진(106)은 또한 (HTTP) 요청마다 수집되는 새로운 데이터의 양을 최대화할 수 있다.
사용자가 사용자의 활동들을 조정하게 하고, 사용자가 활동하지 않을 것으로 예측될 때 갑자기 활동적이게 할 수 있는 특정의 예측되지 않은 그리고 예측 불가능한 이벤트들로 인해, 통상적으로 예측 가능한 사용자 행동에 대한 이상이 존재할 수 있다는 점에 유의한다. 그러한 예측되지 않은 그리고 예측 불가능한 사용자 행동 변화들을 조절하기 위해, 전체 예측-기반 소셜 미디어 크롤링 프로세스는 적응성을 갖도록 설계된다. 더 구체적으로, 일부 실시예들에서, 소셜 미디어 크롤링 엔진(106)은 활동 데이터의 최근의 수집들을 데이터 수집 엔진(102)에 적시에(in a timely manner) 제공하도록 동작할 수 있다. 데이터 수집 엔진(102)이 특정 사용자로부터의 활동 데이터가 "신선"하지 않은 것으로 식별하는 경우 - 이는 사용자의 활동들이 수집되기 특정 시간 전에 활동들이 발생했음을 의미함 - , 사용자의 활동 패턴은 조정되는 것이 필요할 수 있으며, 예측 엔진(104)은 현재의 예측들 및 수집 스케줄들을 갱신하거나, 새로운 예측들 및 수집 스케줄들을 작성하여 사용자의 변경된 행동 패턴을 반영할 것이다.
도 2는 예측-기반 소셜 미디어 네트워크 크롤링을 지원하기 위한 프로세스의 흐름도의 일례를 나타낸다. 이 도면은 예시의 목적을 위해 기능 단계들을 특정 순서로 도시하지만, 프로세스는 단계들의 임의의 특정 순서 또는 배열로 제한되지 않는다. 관련 분야의 당업자는 이 도면에 도시된 다양한 단계들이 다양한 방식으로 생략, 재배열, 조합 및/또는 적응될 수 있다는 것을 알 것이다.
도 2의 예에서, 흐름도(200)는 블록 202에서 시작되며, 여기서 소셜 네트워크 상에서의 사용자의 과거 활동들에 대한 데이터가 수집된다. 흐름도(200)는 블록 204로 계속되며, 여기서 시간에 따른 소셜 네트워크 상에서의 사용자의 과거 활동의 패턴이 확립된다. 흐름도(200)는 블록 206으로 계속되며, 여기서 소셜 네트워크 상에서의 사용자의 미래 활동들이 사용자의 과거 활동들의 패턴에 기초하여 예측된다. 흐름도(200)는 블록 208로 계속되며, 여기서 사용자의 활동들의 수집 스케줄이 사용자의 예측된 미래 활동들에 기초하여 결정된다. 흐름도(200)는 블록 210에서 종료되며, 여기서 사용자의 수집 스케줄에 따라 소셜 네트워크의 크롤링 동안 사용자의 활동들이 수집된다.
일부 실시예들에서, 소셜 미디어 크롤링 엔진(106)은 소셜 네트워크에 의해 제공되는 애플리케이션 프로그래밍 인터페이스(API)를 이용하여 소셜 네트워크 상에서의 사용자의 활동 데이터를 수집할 수 있다. 비제한적인 예로서, 페이스북에 의해 제공되는 오픈그래프 API는 소셜 네트워크 상에 다수의 자원(즉, 사용자의 활동들과 관련된 데이터)을 표시하며, 모든 타입의 자원은 ID를 갖고, 그에 대해 이용가능한 타입 및 방법들을 학습하기 위해 내성법(introspection method)이 이용될 수 있다. 여기서, ID들은 사용자 이름들 및/또는 번호들일 수 있다. 모든 자원들이 번호 ID들을 갖고, 일부만이 이름 ID들을 갖기 때문에, 번호 ID들만이 자원들을 참조하는 데 사용된다.
일부 실시예들에서, 소셜 미디어 크롤링 엔진(106)은 사용자의 활동들에 관한 데이터의 그의 수집을 2가지 타입의 자원들, 즉 주요 객체들 및 주요 객체들의 피드들로 나눈다. 여기서, 관심 대상의 주요 객체들은 "사용자", "페이지", "비디오", "링크", "swf", "사진", "애플리케이션", "상태" 및 "코멘트"를 포함하지만, 이에 제한되지 않는다. 주요 객체들은 그들과 관련된 피드들을 가지며, 이들은 새로운 주요 객체들을 찾기 위해 폴링될 수 있는 "접속들"로서 위의 자원 내에 목록화된다. 페이스북과 같이 복합 프라이버시 설정들을 갖는 소셜 네트워크에 대해, 소셜 미디어 크롤링 엔진(106)은 객체 또는 피드를 단순히 불러옴으로써 그가 비공개적인지의 여부를 파악할 수 있다. 예를 들어, 자신은 공개적이지만, 피드가 비공개적이기를 원하는 사용자에 대해, 소셜 미디어 크롤링 엔진(106)은 사용자의 비공개 객체들을 불러올 때 예외를 수신할 것이다. (친구들과 같은) 특정 접속 타입들은 항상 비공개적이며, 명확히 블랙리스트화되어야 하는 것이 가능하다.
일부 실시예들에서는, 소셜 미디어 크롤링 엔진(106)이 크롤 프로세스를 시딩하는 적어도 2가지 방식이 존재한다:
1. 단일 시드, 비제한적인 예로서 테크크런치(techcrunch)(http://graph.facebook.com/techcrunch)를 이용하여 크롤 프로세스를 시작한다.
2. 공감 버튼을 갖는 웹페이지들로부터의 시드들의 리스트를 이용하여 시작한다.
두 번째 접근법의 한 가지 이점은 소셜 미디어 크롤링 엔진(106)이 더 높은 밀도의 공개 피드들을 이용하여 시작함으로써 활동 데이터가 포괄적으로 수집되는 것을 보증할 수 있다는 것이지만, 이러한 접근법은 첫 번째 접근법보다 높은 준비 비용을 초래한다.
일부 실시예들에서, 소셜 미디어 크롤링 엔진(106)은 사용자의 활동들에 관한 데이터를 위해 적어도 3개의 인-메모리 데이터 구조를 유지한다:
1. 프론티어: 이것은 사용자에 대해 검색되어야 하는 자원들(객체들 및 피드들 모두)의 리스트이다. 이것은 튜플들(url, timestamp)의 리스트이며, 이 리스트에 대한 2가지 첨부 타입이 존재한다:
1) 새로운 객체 또는 피드가 발견될 때, 이것은 (url, now)로서 첨부되며;
2) 객체가 검색되면, 그에 대해 수집 스케줄에 기초하여 리프레시 데이터가 예측되고, (uri, refresh_date)로서 프론티어에 첨부될 수 있다.
일부 실시예들에서, 소셜 미디어 크롤링 엔진(106)은 프론티어를 주기적으로(예를 들어, 10분마다) 분류 및 갱신하며, 이에 따라 가장 이른 날짜를 갖는 아이템들이 프론트에 위치한다. 그러한 분류는 수천만 개의 아이템을 갖는 프론티어들에 대해서도 매우 빠르다. 분류는 프론티어를 절단할 수도 있는데, 그 이유는 절단된 아이템들이 결국에는 임의의 방식으로 다시 발견될 것이기 때문이다.
2. 팝퓰레이션(population), 이것은 프론티어에 추가된 URL들의 해시이다. 이 해시는 더 높은 우선 순위(timestamp now)를 갖는 프론티어 상의 새로운 객체들을 푸시하기 위한 방식을 제공한다.
3. 코퍼스(corpus), 이것은 성공적으로 검색된 자원들의 리스트이다. 소셜 미디어 크롤링 엔진(106)은 리스트 내의 특정 양의 자원들이 존재하면 코퍼스를 디스크 파일들/데이터베이스에 사용자의 활동들에 관한 데이터로서 기록한다.
일부 실시예들에서, 소셜 미디어 크롤링 엔진(106)의 크롤 프로세스는 HTTP 명령을 이용하여 프론티어로부터 최상위 자원을 불러온다. 이어서, 소셜 미디어 크롤링 엔진(106)은 자원 타입을 검사하고, 자원에 프로세스 체인을 할당한다.
여기서, "프로세스 체인" 방법은 소셜 미디어 크롤링 엔진(106)이 페이스북 밖의 코퍼스들을 논-페이스북(non-Facebook) 자원들에 대해 확장하기 위한 방식이다. 자원들에 대한 일부 통상적인 프로세스 체인들은 아래를 포함하지만, 이에 제한되지 않는다:
1. 비공개, 자원 URL이 팝퓰레이션에 추가되지만, 프론티어 상으로 다시 푸시되지 않으며, 따라서 이 객체는 결코 다시 불러내지 못한다.
2. 주요 객체, 자원 URL이 팝퓰레이션에 추가되며, 자원 문서가 코퍼스에 추가된다. 먼저, 객체 리프레시 전략을 적용하여, 객체를 언제 다시 불러올지를 결정할 수 있다. 예를 들어, 사용자들은 매주 불러와야 하는 그들의 사진들을 종종 변경하는 반면, 비디오들은 더 정적이며, 이들이 삭제되었는지를 파악하기 위해 한 달에 한 번만 불러오면 될 것이다. 소셜 미디어 크롤링 엔진(106)은 리프레시 날짜를 계산하고, 객체를 다시 프론티어 상에 푸시한다. 이어서, 관심 대상의 이 객체와 관련된 피드들, 예를 들어 사용자/공감들, 사용자/피드, 사용자/게시들이 결정된다. 소셜 미디어 크롤링 엔진(106)은 피드가 팝퓰레이션 내에 있지 않은 경우에 (feed, now)를 프론티어 상에 푸시한다.
3. 피드, 이것은 팝퓰레이션에 추가되며, 자원 내에서 참조되는 모든 ID들을 찾기 위해 파싱된다(parsed). 예를 들어, 순환 파서가 "id" 키를 이용하여 모든 필드들을 찾을 수 있다. 소셜 미디어 크롤링 엔진(106)은 (자원이 아직 팝퓰레이션에 있지 않은 경우) 자원을 팝퓰레이션에 추가하며, 프론티어 상에 (resource, now)를 푸시할 것이다. 페이스북과 같은 소셜 네트워크로부터 반환되는 모든 피드들은 그들 안에 객체들 및 이들의 날짜들을 가지므로, 날짜들 내의 AVERAGE_INTERVAL과 같은 정보가 아래의 예시적인 공식을 이용하여 REFRESH_DATE를 예측하는 데 사용될 수 있다:
REFRESH_DATE = NOW + (AVERAGE_INTERVAL * NUM_ELEMENTS)
여기서, NUM_ELEMENTS는 최종 불러오기 이후에 리스트 내에 있을 것으로 예측되는 새로운 요소들의 수이다. 페이스북에 대해 행해지는 호출들의 수에 부족함이 있는 경우, 이것을 하나의 요청에서 페이스북에 의해 반환되는 요소들의 최대 수로 설정하는 것이 바람직하다.
4. 코퍼스 피드, 이것은 개별적으로 불러올 필요가 없거나(예로서, "상태/코멘트") 개별적으로 불러올 수 없는(예로서, "링크/공감들") 주요 객체들을 포함하는 특정 타입의 피드들이다.
프론티어 및 팝퓰레이션은 소정의 소셜 네트워크에서 10억 개 초과의 자원에 대해 확장될 수 있으므로, 단일 크롤링 엔진이 프론티어를 담당하는 크롤링 시스템을 확장하는 것은 특히 어렵다. 프론티어 및 팝퓰레이션의 대형 영구 버전들을 관리하는 것은 또한 비용이 많이 들며, 프론티어가 디스크 파일들 또는 데이터베이스에 기록되어야 하는 경우에는 분류 작업에 비용이 많이 들게 된다. 일부 실시예들에서, 소셜 미디어 크롤링 엔진(106)은 그러한 문제를 해결하기 위해 분산형 크롤 프로토콜을 구현하며, 여기서 소셜 미디어 크롤링 엔진(106)은 다수의 서브-크롤러(즉, 분산 크롤링 프로세스)의 네트워크를 포함하고, 따라서 프론티어는 주요 객체들의 ID들에 대한 공유 스킴을 이용하여 서브-크롤러들 사이에 분산된다. 구체적으로, 각각의 서브-크롤러는 그 자신의 프론티어를 발견하고 유지하며, 외부 ID들을 다른 담당 서브-크롤러들로 핸드오프한다. 분산형 크롤 프로토콜은 가벼우며, 코퍼스를 제외하고는 디스크에 아무것도 유지되지 않는다. 새로운 서브-크롤러들이 네트워크 내에 삽입될 수 있으며, 기존의 서브-크롤러들이 임의의 시간에 네트워크를 떠날 수 있다.
일부 실시예들에서, 소셜 미디어 크롤링 엔진(106)은 서브-크롤러의 주소(IP: PORT)를 각자 포함하는 슬롯들의 리스트인, 서브-크롤러들의 네트워크의 토폴로지를 유지한다. 토폴로지 내에 하나의 서브-크롤러만이 존재할 때, 토폴로지 내의 모든 슬롯들은 이 단일 서브-크롤러의 주소를 포함한다. 서브크롤러가 시작될 때, 이것은 기존 토폴로지에 대한 변경을 최소화하고 프론티어의 분산을 최대화하는 방식으로 토폴로지에 등록되고 추가된다. 토폴로지가 갱신될 때마다, 소셜 미디어 크롤링 엔진(106)은 토폴로지 내의 모든 서브-크롤러에 접속하여 이들을 갱신한다.
일부 실시예들에서, 서브-크롤러는 HTTP 청취기를 실행하고, 그의 가용성을 지시하기 위해 그의 시동 시에 그의 IP 주소를 소셜 미디어 크롤링 엔진(106)에 등록한다. 서브-크롤러들은 2가지 타입의 메시지들:
1. 토폴로지에 노드가 추가되거나 제거될 때 소셜 미디어 크롤링 엔진(106)으로부터 topology_update();
2. 서브크롤러가 담당하는 ID들을 수신하기 위해 다른 서브-크롤러들로부터 handoff()를 수신할 수 있다.
새로운 ID들(즉, 팝퓰레이션 내에 존재하지 않는 ID)이 발견될 때, 서브-크롤러는 HASH(id)를 계산하여, ID에 대한 토폴로지 내의 슬롯(예를 들어, 1 내지 1024)을 계산하고, 토폴로지를 검사하여, 어느 서브-크롤러가 슬롯을 담당하는지를 결정한다. 서브-크롤러가 슬롯을 소유하는 경우, ID는 로컬 프로세스 체인 내에 들어가고; 그렇지 않은 경우에는 담당 서브-크롤러에 재할당된다.
일부 실시예들에서, 서브-크롤러는 다른 서브-크롤러들에 접속할 때 크롤러들의 네트워크 내의 장애 노드들을 발견할 수 있다. 비제한적인 예로서, 서브-크롤러(예로서, SENDER)가 장애 노드(예로서, RECIPIENT)를 통지할 때, 서브-크롤러는 소셜 미디어 크롤링 엔진(106)에 접속하여 RECIPIENT가 도달 불가능하다는 것을 보고한다. 이어서, RECIPIENT는 그에 대해 전송되는 핑이 실패하는 경우에 토폴로지로부터 제거된다. 핑이 성공하는 경우, SENDER가 대신 토폴로지로부터 제거된다. 네트워크로부터 적절히 벗어나기 위해, 서브-크롤러는 그의 청취기를 턴오프시키고, 도달 불가능(SELF)을 소셜 미디어 크롤링 엔진(106)으로 전송하고, SELF 없이 갱신된 새로운 토폴로지를 기다린 후에, 그의 프론티어 내의 각각의 아이템 상에서 핸드오프를 실행한다.
일부 실시예들에서, 서브-크롤러들의 네트워크의 토폴로지는 자원들이 프론티어에 추가된 후에 변경될 수 있다. 예를 들어 HTTP GET를 통해 프론티어로부터 자원을 검색하기 전에, 서브-크롤러는 그의 위치를 결정하고, 자원이 더 이상 그의 담당이 아닌 경우에 핸드오프를 수행해야 한다. 하나의 HTTP GET를 행하는 데 걸리는 시간에 수십만 번의 위치 테스트가 수행될 수 있으므로, 이러한 전략은 심하게 변하는 토폴로지에도 불구하고 소셜 네트워크에 의해 제공되는 API 할당들의 최적 사용을 보증한다.
컴퓨터 분야의 당업자들에게 명백하듯이, 일 실시예는 본 발명의 교시 내용에 따라 프로그래밍된 전통적인 범용 또는 특수 디지털 컴퓨터 또는 마이크로프로세서(들)를 이용하여 구현될 수 있다. 소프트웨어 분야의 당업자들에게 명백한 바와 같이, 본 발명의 교시 내용에 기초하여, 적절한 소프트웨어 코딩이 숙련된 프로그래머들에 의해 쉽게 준비될 수 있다. 당업자들에게 자명하듯이, 본 발명은 또한 집적 회로들의 준비에 의해 또는 전통적인 컴포넌트 회로들의 적절한 네트워크를 상호접속함으로써 구현될 수 있다.
일 실시예는 본 명세서에서 제공되는 임의의 특징을 수행하도록 하나 이상의 호스트를 프로그래밍하는 데 사용될 수 있는 명령어들을 그 상에/내에 저장한 기계 판독가능 매체(매체들)인 컴퓨터 프로그램 제품을 포함한다. 기계 판독가능 매체는 플로피 디스크, 광 디스크, DVD, CD-ROM, 마이크로 드라이브 및 광자기 디스크를 포함하는 하나 이상의 타입의 디스크들, ROM, RAM, EPROM, EEPROM, DRAM, VRAM, 플래시 메모리 디바이스, 자기 또는 광학 카드, (분자 메모리 IC들을 포함하는) 나노시스템, 또는 명령어들 및/또는 데이터를 저장하는 데 적합한 임의 타입의 매체 또는 디바이스를 포함할 수 있지만, 이에 제한되지 않는다. 임의의 하나의 컴퓨터 판독가능 매체(매체들) 상에 저장될 때, 본 발명은 범용/특수 컴퓨터 또는 마이크로프로세서의 하드웨어를 제어하기 위한 그리고 컴퓨터 또는 마이크로프로세서로 하여금 본 발명의 결과들을 이용하여 사람 관찰자 또는 다른 메커니즘과 상호작용하는 것을 가능하게 하기 위한 소프트웨어를 포함한다. 그러한 소프트웨어는 디바이스 드라이버, 운영 체제, 실행 환경/컨테이너 및 애플리케이션을 포함할 수 있지만, 이에 제한되지 않는다.

Claims (23)

  1. 동작 시에, 소셜 네트워크 상에서의 복수의 사용자들 중 각각의 사용자에 대한 과거 활동들(past activities)에 관한 데이터를 수집하고, 시간에 따른 상기 소셜 네트워크 상에서의 상기 복수의 사용자들 중 상기 각각의 사용자에 대한 상기 과거 활동들의 패턴을 그 사용자의 상기 과거 활동들과 관련된 타임 스탬프(timestamp)들에 기초하여 확립하는 데이터 수집 엔진;
    동작 시에, 상기 소셜 네트워크 상에서의 상기 복수의 사용자들 중 상기 각각의 사용자에 대한 미래 활동들을 그 사용자의 상기 과거 활동들의 상기 패턴에 기초하여 예측하고, 상기 소셜 네트워크 상에서의 상기 복수의 사용자들 중 상기 각각의 사용자에 대한 활동들의 수집 스케줄을 그 사용자의 상기 예측된 미래 활동들에 기초하여 결정하되, 상기 활동들의 수집 스케줄은 상기 복수의 사용자들 중 적어도 2명의 사용자에 대해 상이한, 예측 엔진;
    동작 시에, 상기 소셜 네트워크의 크롤링(crawling) 동안 상기 복수의 사용자들의 상기 활동들의 상기 수집 스케줄에 따라 상기 복수의 사용자들의 현재 활동들의 데이터를 수집하는 소셜 미디어 크롤링 엔진
    을 포함하는, 시스템.
  2. 제1항에 있어서,
    상기 소셜 네트워크는 자신의 사용자들/멤버들로 하여금 서로 게시, 공유, 통신 및 상호작용하는 것을 가능하게 하는 공개적으로 액세스 가능한 웹-기반 플랫폼 또는 커뮤니티인, 시스템.
  3. 제1항에 있어서,
    상기 소셜 네트워크는 페이스북 소셜 네트워크, 구글+ 소셜 네트워크, 트위터 소셜 네트워크, 링크드인(LinkedIn) 소셜 네트워크, 블로그들, 포럼들 또는 임의의 다른 웹-기반 커뮤니티들 중 하나인, 시스템.
  4. 제1항에 있어서,
    상기 소셜 미디어 네트워크 상에서의 상기 복수의 사용자들의 활동들은 게시들, 다른 사용자들의 게시들에 대한 코멘트들, 의견들, 피드들, 접속들, 참조들, 다른 웹사이트들 또는 애플리케이션들에 대한 링크들, 또는 상기 소셜 네트워크 상에서의 임의의 다른 활동들 중 하나 이상을 포함하는, 시스템.
  5. 제1항에 있어서,
    상기 소셜 네트워크 상에서의 상기 복수의 사용자들의 상기 활동들 각각은 상기 활동과 관련된 명확한(explicit) 타임 스탬프를 갖는, 시스템.
  6. 제1항에 있어서,
    상기 복수의 사용자들의 상기 과거 활동들의 데이터는 특정 기간에 걸친 상기 소셜 네트워크의 이전 크롤링 동안에 상기 소셜 미디어 크롤링 엔진에 의해 수집되고, 상기 사용자와 관련된 과거 활동 레코드들로서 데이터베이스 내에 유지되는, 시스템.
  7. 제1항에 있어서,
    상기 복수의 사용자들의 상기 과거 활동들의 상기 패턴은 그 사용자가 상기 소셜 네트워크 상에서 최고로 또는 최소로 활동적인 시기 및 상기 소셜 네트워크 상에서의 그 사용자의 활동들의 빈도를 반영하는, 시스템.
  8. 제1항에 있어서,
    상기 데이터 수집 엔진은 특정 이벤트들의 발생 시에 상기 복수의 사용자들이 최고로 활동적일 가능성이 있는지를 결정하는, 시스템.
  9. 제1항에 있어서,
    상기 데이터 수집 엔진은 상기 복수의 사용자들의 상기 활동들이 상기 소셜 네트워크 상에서 그 사용자와 접속된 하나 이상의 다른 소셜 네트워크 사용자들의 활동들과 관련되는지를 결정하는, 시스템.
  10. 제1항에 있어서,
    상기 복수의 사용자들의 상기 활동들의 상기 수집 스케줄은 그 사용자가 최고로 활동적인 기간들과 직접 관련되는, 시스템.
  11. 제1항에 있어서,
    상기 소셜 미디어 크롤링 엔진은 상기 복수의 사용자들 중 상기 각각의 사용자에 대한 상기 활동 수집 스케줄에 기초하여 상기 복수의 사용자들로부터 최근 데이터를 수집하기 위해 상기 소셜 미디어 네트워크를 주기적으로 크롤링하는, 시스템.
  12. 제1항에 있어서,
    상기 소셜 미디어 크롤링 엔진은 상기 복수의 사용자들 중 일부 사용자에 대한 데이터 수집을 그 사용자의 상기 수집 스케줄에 의해 그 사용자가 보다 덜 활동적일 것으로 예측되는 시간 동안 생략(skip)하는, 시스템.
  13. 제1항에 있어서,
    상기 소셜 미디어 크롤링 엔진은 상기 복수의 사용자들의 최근 활동들을 상기 데이터 수집 엔진에 제공하는, 시스템.
  14. 제13항에 있어서,
    상기 데이터 수집 엔진은, 상기 복수의 사용자들의 상기 활동들이 수집되기 특정 시간 전에 그 활동들이 발생하였는지를 식별하는, 시스템.
  15. 제14항에 있어서,
    상기 예측 엔진은, 상기 복수의 사용자들의 상기 활동들이 수집되기 특정 시간 전에 그 활동들이 발생한 것으로 상기 데이터 수집 엔진이 식별하는 경우에, 현재 예측들을 갱신하거나 새로운 예측들 및 수집 스케줄들을 작성(make)하여 상기 복수의 사용자들의 변경된 행동 패턴을 반영하는, 시스템.
  16. 소셜 네트워크 상에서의 복수의 사용자들 중 각각의 사용자에 대한 과거 활동들에 관한 데이터를 수집하는 단계;
    시간에 따른 상기 소셜 네트워크 상에서의 상기 복수의 사용자들 중 상기 각각의 사용자에 대한 상기 과거 활동들의 패턴을 그 사용자의 상기 과거 활동들과 관련된 타임 스탬프들에 기초하여 확립하는 단계;
    상기 소셜 네트워크 상에서의 상기 복수의 사용자들 중 상기 각각의 사용자에 대한 미래 활동들을 그 사용자의 상기 과거 활동들의 상기 패턴에 기초하여 예측하는 단계;
    상기 복수의 사용자들 중 상기 각각의 사용자에 대한 상기 활동들의 수집 스케줄을 그 사용자의 상기 예측된 미래 활동들에 기초하여 결정하는 단계 - 상기 활동들의 수집 스케줄은 상기 복수의 사용자들 중 적어도 2명의 사용자에 대해 상이함 -;
    상기 소셜 네트워크의 크롤링 동안 상기 복수의 사용자들의 상기 활동들의 상기 수집 스케줄에 따라 크롤링 동안 상기 복수의 사용자들의 활동들의 데이터를 수집하는 단계
    를 포함하는, 방법.
  17. 제16항에 있어서,
    특정 기간에 걸친 상기 소셜 네트워크의 이전 크롤링 동안에 상기 복수의 사용자들의 상기 과거 활동들의 데이터를 수집하는 단계; 및
    상기 데이터를 상기 복수의 사용자들과 관련된 과거 활동 레코드들로서 데이터베이스 내에 유지하는 단계
    를 추가로 포함하는, 방법.
  18. 제16항에 있어서
    특정 이벤트들의 발생 시에 상기 복수의 사용자들 중 어느 사용자가 최고로 활동적일 가능성이 있는지를 결정하는 단계를 추가로 포함하는, 방법.
  19. 제16항에 있어서,
    상기 복수의 사용자들의 상기 활동들이 상기 소셜 네트워크 상에서 그 사용자와 접속된 하나 이상의 다른 소셜 네트워크 사용자들의 활동들과 밀접하게 관련되는지를 결정하는 단계를 추가로 포함하는, 방법.
  20. 제16항에 있어서,
    상기 복수의 사용자들로부터의 최근 데이터를 수집하기 위해 그 사용자에 대한 상기 활동 수집 스케줄에 기초하여 상기 소셜 미디어 네트워크를 주기적으로 크롤링하는 단계를 추가로 포함하는, 방법.
  21. 제16항에 있어서,
    상기 복수의 사용자들 중 일부 사용자에 대한 데이터 수집을 그 사용자의 상기 수집 스케줄에 의해 그 사용자가 보다 덜 활동적일 것으로 예측되는 시간 동안 생략하는 단계를 추가로 포함하는, 방법.
  22. 제16항에 있어서,
    상기 복수의 사용자들의 상기 과거 활동들의 데이터가 수집되기 특정 시간 전에 상기 과거 활동들이 발생하였는지를 식별하는 단계를 추가로 포함하는, 방법.
  23. 제22항에 있어서,
    상기 복수의 사용자들의 상기 과거 활동들의 데이터가 수집되기 특정 시간 전에 그 활동들이 발생한 경우에, 현재 예측들 및 수집 스케줄들을 갱신하거나 새로운 예측들 및 수집 스케줄들을 작성하여 상기 복수의 사용자들의 변경된 행동 패턴을 반영하는 단계를 추가로 포함하는, 방법.
KR1020147012506A 2011-10-10 2012-10-10 소셜 미디어 네트워크의 예측-기반 크롤링을 위한 시스템 및 방법 KR101641005B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161545527P 2011-10-10 2011-10-10
US61/545,527 2011-10-10
US13/648,005 2012-10-09
US13/648,005 US20130091087A1 (en) 2011-10-10 2012-10-09 Systems and methods for prediction-based crawling of social media network
PCT/US2012/059524 WO2013055776A2 (en) 2011-10-10 2012-10-10 Systems and methods for prediction-based crawling of social media network

Publications (2)

Publication Number Publication Date
KR20140113631A KR20140113631A (ko) 2014-09-24
KR101641005B1 true KR101641005B1 (ko) 2016-07-19

Family

ID=48042747

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147012506A KR101641005B1 (ko) 2011-10-10 2012-10-10 소셜 미디어 네트워크의 예측-기반 크롤링을 위한 시스템 및 방법

Country Status (6)

Country Link
US (1) US20130091087A1 (ko)
EP (1) EP2766821A4 (ko)
KR (1) KR101641005B1 (ko)
CN (1) CN105009105A (ko)
AU (1) AU2012323254B2 (ko)
WO (1) WO2013055776A2 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9519408B2 (en) 2013-12-31 2016-12-13 Google Inc. Systems and methods for guided user actions
US10817791B1 (en) 2013-12-31 2020-10-27 Google Llc Systems and methods for guided user actions on a computing device
US10075510B2 (en) 2014-03-13 2018-09-11 Google Llc Analytics-based update of digital content
US9451007B2 (en) * 2014-08-04 2016-09-20 Facebook, Inc. Electronic notifications
US20160110766A1 (en) * 2014-10-16 2016-04-21 Oracle International Corporation System and method of displaying social ads along with organic or paid search results
US10216694B2 (en) * 2015-08-24 2019-02-26 Google Llc Generic scheduling
US20190026786A1 (en) * 2017-07-19 2019-01-24 SOCI, Inc. Platform for Managing Social Media Content Throughout an Organization
CN108259574A (zh) * 2017-12-26 2018-07-06 北京海杭通讯科技有限公司 一种个人自媒体系统的建立方法及其智能终端
CN109040990B (zh) * 2018-08-15 2022-04-01 平安科技(深圳)有限公司 信息采集方法、装置、计算机设备及存储介质
KR102308317B1 (ko) * 2019-03-06 2021-10-01 강릉원주대학교 산학협력단 치매 노인을 위한 회상 요법 제공 방법 및 그 시스템
CN110046319B (zh) * 2019-04-01 2021-04-09 北大方正集团有限公司 社交媒体信息采集方法、装置、系统、设备及存储介质
CN111241366A (zh) * 2019-12-25 2020-06-05 杭州龙席网络科技股份有限公司 一种基于saas的客户社媒监控方法
KR102231762B1 (ko) * 2020-12-29 2021-03-24 (주)케이엔랩 분산 웹 크롤링 방법, 분산 웹 크롤링 시스템, 이를 위한 컴퓨터 프로그램

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090240647A1 (en) * 2008-03-19 2009-09-24 Appleseed Networks, Inc. Method and appratus for detecting patterns of behavior

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2191395A4 (en) * 2007-08-17 2011-04-20 Google Inc RANKING OF SOCIAL NETWORK OBJECTS
US8805110B2 (en) * 2008-08-19 2014-08-12 Digimarc Corporation Methods and systems for content processing
US8302015B2 (en) * 2008-09-04 2012-10-30 Qualcomm Incorporated Integrated display and management of data objects based on social, temporal and spatial parameters
US8468158B2 (en) * 2008-11-06 2013-06-18 Yahoo! Inc. Adaptive weighted crawling of user activity feeds
WO2010116371A1 (en) * 2009-04-06 2010-10-14 Tracx Systems Ltd. Method and system for tracking online social interactions
US20100281035A1 (en) * 2009-04-30 2010-11-04 David Carmel Method and System of Prioritising Operations On Network Objects
CN101561825B (zh) * 2009-06-02 2012-11-07 北京迈朗世讯科技有限公司 媒体技术平台系统、数据采集系统和网络内容提供方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090240647A1 (en) * 2008-03-19 2009-09-24 Appleseed Networks, Inc. Method and appratus for detecting patterns of behavior

Also Published As

Publication number Publication date
AU2012323254B2 (en) 2016-04-14
EP2766821A4 (en) 2015-05-06
AU2012323254A1 (en) 2014-05-15
KR20140113631A (ko) 2014-09-24
EP2766821A2 (en) 2014-08-20
US20130091087A1 (en) 2013-04-11
CN105009105A (zh) 2015-10-28
WO2013055776A2 (en) 2013-04-18
WO2013055776A3 (en) 2013-06-20

Similar Documents

Publication Publication Date Title
KR101641005B1 (ko) 소셜 미디어 네트워크의 예측-기반 크롤링을 위한 시스템 및 방법
US9584465B2 (en) Optimizing messages to users of a social network using a prediction model that determines likelihood of user performing desired activity
US8407338B2 (en) Methods and systems for polling an on demand service
Armbrust et al. Scads: Scale-independent storage for social computing applications
US8150889B1 (en) Parallel processing framework
Boloor et al. Dynamic request allocation and scheduling for context aware applications subject to a percentile response time SLA in a distributed cloud
Nazir et al. Network level footprints of facebook applications
CN105144159A (zh) Hive表链接
US11934983B2 (en) Issue and trigger rebalancing in a ranked issue management system
US20190163664A1 (en) Method and system for intelligent priming of an application with relevant priming data
CN101594377A (zh) 用于管理Feed数据的系统和方法
US11488082B2 (en) Monitoring and verification system for end-to-end distribution of messages
CN106104626A (zh) 基于分析的数字内容的更新
US10282685B2 (en) Issue rank management in an issue tracking system
CN115552378A (zh) 程序指令的可预测分发
Khalajzadeh et al. Cost effective dynamic data placement for efficient access of social networks
Aldin et al. Strict timed causal consistency as a hybrid consistency model in the cloud environment
Eyers et al. Living in the present: on-the-fly information processing in scalable web architectures
KR20180042536A (ko) 소셜 미디어 분산 크롤링을 위한 작업 분배 시스템 및 방법
Guo et al. Parallelizing the extraction of fresh information from online social networks
EP2680171A2 (en) Intelligent index scheduling
US10706073B1 (en) Partitioned batch processing for a usage analysis system
Huang et al. Differentiating your friends for scaling online social networks
US10348596B1 (en) Data integrity monitoring for a usage analysis system
Bonvin Linear scalability of distributed applications

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E902 Notification of reason for refusal
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190617

Year of fee payment: 4