KR101641005B1 - 소셜 미디어 네트워크의 예측-기반 크롤링을 위한 시스템 및 방법 - Google Patents
소셜 미디어 네트워크의 예측-기반 크롤링을 위한 시스템 및 방법 Download PDFInfo
- 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
Links
- 230000009193 crawling Effects 0.000 title claims abstract description 59
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000000694 effects Effects 0.000 claims abstract description 108
- 238000013480 data collection Methods 0.000 claims description 20
- 238000013459 approach Methods 0.000 abstract description 5
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000875 corresponding effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000001310 location test Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social 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
웹 크롤링(web crawling)은 체계적이고 자동화된 방식으로 또는 질서 정연한 방식으로 월드 와이드 웹을 브라우징하는 소프트웨어-기반 기술들을 지칭한다. 웹 크롤러들은 빠른 검색을 제공하기 위해 다운로드된 페이지들을 수집하고 인덱싱하는 검색 엔진에 의한 후속 처리를 위해 모든 방문된 페이지들의 사본을 생성하는 데 주로 사용된다. 크롤러들은 링크들을 검사하거나 HTML 코드를 검증하는 것과 같은 웹사이트 상에서의 유지보수 작업들을 자동화하는 데에도 사용될 수 있다. 일반적으로, 웹 크롤러는 시드(seed)라고 하는 방문할 URL들의 리스트로부터 시작한다. 크롤러가 이러한 URL들을 방문할 때, 크롤러는 페이지 내의 모든 하이퍼링크들을 식별하고, 이들을 크롤 프론티어(crawl frontier)라고 하는 방문할 URL들의 리스트에 추가한다. 프론티어로부터의 URL들은 한 세트의 정책들에 따라 순환적으로 방문된다.
페이스북 및 트위터와 같은 소셜 미디어 네트워크들은 최근에 웹-기반 통신 플랫폼들로서 기하급수적으로 성장하였다. 날마다 수억 명의 사람들이 다양한 형태의 소셜 미디어 네트워크들을 이용하여 서로 통신하고 접속을 유지하고 있다. 따라서, 소셜 미디어 네트워크들 상의 사용자들로부터의 결과적인 활동 데이터는 경이적이게 되었고, 전통적인 웹 크롤링 기술들을 이용하여 소셜 미디어 네트워크 상의 각각의 그리고 모든 사용자의 활동 데이터를 정기적으로 조사하는 것은 필요한 시간 및 자원들과 관련하여 엄청나게 비용이 많이 들고 실행 불가능하게 되었다. 실제로, 임의의 웹 크롤러는 주어진 시간 내에 소셜 미디어 네트워크 상의 사용자 활동들의 일부만을 수집 및 다운로드할 수 있는 반면, 소셜 미디어 네트워크 상에서 활동적인 사용자들의 높은 활동률은 그들의 데이터가 갱신 또는 삭제되기 전에 자주 수집될 것을 요한다. 수집된 데이터를 "신선하게" 유지하기 위해 효율적이고 때에 알맞은, 소셜 미디어 네트워크에 고유하게 맞춤화된 크롤링 접근법에 대한 필요성이 증가하고 있다.
전술한 관련 기술의 예들 및 이들과 관련된 제한들은 배타적이 아니라 예시적인 것으로 의도된다. 관련 기술에 대한 다른 제한들은 본 명세서를 읽고 도면들을 검토할 때 명백해질 것이다.
<도 1>
도 1은 예측-기반 소셜 미디어 네트워크 크롤링을 지원하기 위한 시스템 도면의 일례.
<도 2>
도 2는 예측-기반 소셜 미디어 네트워크 크롤링을 지원하기 위한 프로세스의 흐름도의 일례.
도 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)
- 동작 시에, 소셜 네트워크 상에서의 복수의 사용자들 중 각각의 사용자에 대한 과거 활동들(past activities)에 관한 데이터를 수집하고, 시간에 따른 상기 소셜 네트워크 상에서의 상기 복수의 사용자들 중 상기 각각의 사용자에 대한 상기 과거 활동들의 패턴을 그 사용자의 상기 과거 활동들과 관련된 타임 스탬프(timestamp)들에 기초하여 확립하는 데이터 수집 엔진;
동작 시에, 상기 소셜 네트워크 상에서의 상기 복수의 사용자들 중 상기 각각의 사용자에 대한 미래 활동들을 그 사용자의 상기 과거 활동들의 상기 패턴에 기초하여 예측하고, 상기 소셜 네트워크 상에서의 상기 복수의 사용자들 중 상기 각각의 사용자에 대한 활동들의 수집 스케줄을 그 사용자의 상기 예측된 미래 활동들에 기초하여 결정하되, 상기 활동들의 수집 스케줄은 상기 복수의 사용자들 중 적어도 2명의 사용자에 대해 상이한, 예측 엔진;
동작 시에, 상기 소셜 네트워크의 크롤링(crawling) 동안 상기 복수의 사용자들의 상기 활동들의 상기 수집 스케줄에 따라 상기 복수의 사용자들의 현재 활동들의 데이터를 수집하는 소셜 미디어 크롤링 엔진
을 포함하는, 시스템. - 제1항에 있어서,
상기 소셜 네트워크는 자신의 사용자들/멤버들로 하여금 서로 게시, 공유, 통신 및 상호작용하는 것을 가능하게 하는 공개적으로 액세스 가능한 웹-기반 플랫폼 또는 커뮤니티인, 시스템. - 제1항에 있어서,
상기 소셜 네트워크는 페이스북 소셜 네트워크, 구글+ 소셜 네트워크, 트위터 소셜 네트워크, 링크드인(LinkedIn) 소셜 네트워크, 블로그들, 포럼들 또는 임의의 다른 웹-기반 커뮤니티들 중 하나인, 시스템. - 제1항에 있어서,
상기 소셜 미디어 네트워크 상에서의 상기 복수의 사용자들의 활동들은 게시들, 다른 사용자들의 게시들에 대한 코멘트들, 의견들, 피드들, 접속들, 참조들, 다른 웹사이트들 또는 애플리케이션들에 대한 링크들, 또는 상기 소셜 네트워크 상에서의 임의의 다른 활동들 중 하나 이상을 포함하는, 시스템. - 제1항에 있어서,
상기 소셜 네트워크 상에서의 상기 복수의 사용자들의 상기 활동들 각각은 상기 활동과 관련된 명확한(explicit) 타임 스탬프를 갖는, 시스템. - 제1항에 있어서,
상기 복수의 사용자들의 상기 과거 활동들의 데이터는 특정 기간에 걸친 상기 소셜 네트워크의 이전 크롤링 동안에 상기 소셜 미디어 크롤링 엔진에 의해 수집되고, 상기 사용자와 관련된 과거 활동 레코드들로서 데이터베이스 내에 유지되는, 시스템. - 제1항에 있어서,
상기 복수의 사용자들의 상기 과거 활동들의 상기 패턴은 그 사용자가 상기 소셜 네트워크 상에서 최고로 또는 최소로 활동적인 시기 및 상기 소셜 네트워크 상에서의 그 사용자의 활동들의 빈도를 반영하는, 시스템. - 제1항에 있어서,
상기 데이터 수집 엔진은 특정 이벤트들의 발생 시에 상기 복수의 사용자들이 최고로 활동적일 가능성이 있는지를 결정하는, 시스템. - 제1항에 있어서,
상기 데이터 수집 엔진은 상기 복수의 사용자들의 상기 활동들이 상기 소셜 네트워크 상에서 그 사용자와 접속된 하나 이상의 다른 소셜 네트워크 사용자들의 활동들과 관련되는지를 결정하는, 시스템. - 제1항에 있어서,
상기 복수의 사용자들의 상기 활동들의 상기 수집 스케줄은 그 사용자가 최고로 활동적인 기간들과 직접 관련되는, 시스템. - 제1항에 있어서,
상기 소셜 미디어 크롤링 엔진은 상기 복수의 사용자들 중 상기 각각의 사용자에 대한 상기 활동 수집 스케줄에 기초하여 상기 복수의 사용자들로부터 최근 데이터를 수집하기 위해 상기 소셜 미디어 네트워크를 주기적으로 크롤링하는, 시스템. - 제1항에 있어서,
상기 소셜 미디어 크롤링 엔진은 상기 복수의 사용자들 중 일부 사용자에 대한 데이터 수집을 그 사용자의 상기 수집 스케줄에 의해 그 사용자가 보다 덜 활동적일 것으로 예측되는 시간 동안 생략(skip)하는, 시스템. - 제1항에 있어서,
상기 소셜 미디어 크롤링 엔진은 상기 복수의 사용자들의 최근 활동들을 상기 데이터 수집 엔진에 제공하는, 시스템. - 제13항에 있어서,
상기 데이터 수집 엔진은, 상기 복수의 사용자들의 상기 활동들이 수집되기 특정 시간 전에 그 활동들이 발생하였는지를 식별하는, 시스템. - 제14항에 있어서,
상기 예측 엔진은, 상기 복수의 사용자들의 상기 활동들이 수집되기 특정 시간 전에 그 활동들이 발생한 것으로 상기 데이터 수집 엔진이 식별하는 경우에, 현재 예측들을 갱신하거나 새로운 예측들 및 수집 스케줄들을 작성(make)하여 상기 복수의 사용자들의 변경된 행동 패턴을 반영하는, 시스템. - 소셜 네트워크 상에서의 복수의 사용자들 중 각각의 사용자에 대한 과거 활동들에 관한 데이터를 수집하는 단계;
시간에 따른 상기 소셜 네트워크 상에서의 상기 복수의 사용자들 중 상기 각각의 사용자에 대한 상기 과거 활동들의 패턴을 그 사용자의 상기 과거 활동들과 관련된 타임 스탬프들에 기초하여 확립하는 단계;
상기 소셜 네트워크 상에서의 상기 복수의 사용자들 중 상기 각각의 사용자에 대한 미래 활동들을 그 사용자의 상기 과거 활동들의 상기 패턴에 기초하여 예측하는 단계;
상기 복수의 사용자들 중 상기 각각의 사용자에 대한 상기 활동들의 수집 스케줄을 그 사용자의 상기 예측된 미래 활동들에 기초하여 결정하는 단계 - 상기 활동들의 수집 스케줄은 상기 복수의 사용자들 중 적어도 2명의 사용자에 대해 상이함 -;
상기 소셜 네트워크의 크롤링 동안 상기 복수의 사용자들의 상기 활동들의 상기 수집 스케줄에 따라 크롤링 동안 상기 복수의 사용자들의 활동들의 데이터를 수집하는 단계
를 포함하는, 방법. - 제16항에 있어서,
특정 기간에 걸친 상기 소셜 네트워크의 이전 크롤링 동안에 상기 복수의 사용자들의 상기 과거 활동들의 데이터를 수집하는 단계; 및
상기 데이터를 상기 복수의 사용자들과 관련된 과거 활동 레코드들로서 데이터베이스 내에 유지하는 단계
를 추가로 포함하는, 방법. - 제16항에 있어서
특정 이벤트들의 발생 시에 상기 복수의 사용자들 중 어느 사용자가 최고로 활동적일 가능성이 있는지를 결정하는 단계를 추가로 포함하는, 방법. - 제16항에 있어서,
상기 복수의 사용자들의 상기 활동들이 상기 소셜 네트워크 상에서 그 사용자와 접속된 하나 이상의 다른 소셜 네트워크 사용자들의 활동들과 밀접하게 관련되는지를 결정하는 단계를 추가로 포함하는, 방법. - 제16항에 있어서,
상기 복수의 사용자들로부터의 최근 데이터를 수집하기 위해 그 사용자에 대한 상기 활동 수집 스케줄에 기초하여 상기 소셜 미디어 네트워크를 주기적으로 크롤링하는 단계를 추가로 포함하는, 방법. - 제16항에 있어서,
상기 복수의 사용자들 중 일부 사용자에 대한 데이터 수집을 그 사용자의 상기 수집 스케줄에 의해 그 사용자가 보다 덜 활동적일 것으로 예측되는 시간 동안 생략하는 단계를 추가로 포함하는, 방법. - 제16항에 있어서,
상기 복수의 사용자들의 상기 과거 활동들의 데이터가 수집되기 특정 시간 전에 상기 과거 활동들이 발생하였는지를 식별하는 단계를 추가로 포함하는, 방법. - 제22항에 있어서,
상기 복수의 사용자들의 상기 과거 활동들의 데이터가 수집되기 특정 시간 전에 그 활동들이 발생한 경우에, 현재 예측들 및 수집 스케줄들을 갱신하거나 새로운 예측들 및 수집 스케줄들을 작성하여 상기 복수의 사용자들의 변경된 행동 패턴을 반영하는 단계를 추가로 포함하는, 방법.
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)
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)
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)
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 | 北京迈朗世讯科技有限公司 | 媒体技术平台系统、数据采集系统和网络内容提供方法 |
-
2012
- 2012-10-09 US US13/648,005 patent/US20130091087A1/en not_active Abandoned
- 2012-10-10 EP EP12783740.9A patent/EP2766821A4/en not_active Withdrawn
- 2012-10-10 AU AU2012323254A patent/AU2012323254B2/en active Active
- 2012-10-10 WO PCT/US2012/059524 patent/WO2013055776A2/en active Application Filing
- 2012-10-10 CN CN201280058438.4A patent/CN105009105A/zh active Pending
- 2012-10-10 KR KR1020147012506A patent/KR101641005B1/ko active IP Right Grant
Patent Citations (1)
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 |