KR20100022980A - 복수의 서비스로부터의 프로필 데이터의 집계 및 검색 - Google Patents

복수의 서비스로부터의 프로필 데이터의 집계 및 검색 Download PDF

Info

Publication number
KR20100022980A
KR20100022980A KR1020097026085A KR20097026085A KR20100022980A KR 20100022980 A KR20100022980 A KR 20100022980A KR 1020097026085 A KR1020097026085 A KR 1020097026085A KR 20097026085 A KR20097026085 A KR 20097026085A KR 20100022980 A KR20100022980 A KR 20100022980A
Authority
KR
South Korea
Prior art keywords
data
networking service
user
profile
profile data
Prior art date
Application number
KR1020097026085A
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 마이크로소프트 코포레이션
Publication of KR20100022980A publication Critical patent/KR20100022980A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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

Abstract

다수의 네트워킹 서비스로부터의 프로필 데이터는 결합될 수 있고, 하나의 네트워킹 서비스로부터 쿼리될 수 있다. 일차 네트워킹 서비스는 하나 이상의 이차 네트워킹 서비스 및 상기 일차 네트워킹 서비스에 대한 사용자 프로필 데이터를 저장할 수 있다. 저장시에, 다수의 네트워크로부터의 데이터는 집계되거나 병합될 수 있다. 저장된 데이터는 일차 네트워킹 서비스가 프로필 계정을 갖는 각각의 네트워킹 서비스에 대한 사용자 프로필 데이터 및 관계 데이터를 포함할 수 있다. 일차 네트워킹 서비스 및 하나 이상의 이차 네트워킹 서비스에 걸쳐 존재하는 사용자-연락처 관계의 그래프가 구성될 수 있고, 반대로 쿼리될 수 있다.
Figure P1020097026085
일차 네트워킹 서비스, 이차 네트워킹 서비스, 프로필 데이터, URL 데이터, 크롤러, 관계 분리 파라미터

Description

복수의 서비스로부터의 프로필 데이터의 집계 및 검색{AGGREGATING AND SEARCHING PROFILE DATA FROM MULTIPLE SERVICES}
인터넷뿐만 아니라 인트라넷 및 엑스트라넷과 같은 기타 컴퓨터 네트워크의 증가는 개인적 및 직업적 네트워킹 서비스를 포함한 다수의 새로운 네트워크 서비스를 초래했다. 많은 사람은 사용자가 프로필(profile)을 유지할 수 있게 하는 네트워킹 서비스를 통해 하나 이상의 계정을 갖는다. 프로필은 사회적 및 직업적 네트워킹 관계, 연락처 정보, 블로그, 사진 공유, 비디오, 안내 광고 및 기타 콘텐트를 포함할 수 있다.
몇 가지 네트워킹 서비스가 사용 가능하지만, 이들 서비스는 통상적으로 별도의 데이터를 포함하고, 서로 별개로 운영된다. 서로 다른 네트워크를 통해 사용자 프로필을 경험하고 살펴보기 위해, 살펴보는 사용자는 제2 사용자가 가입한 각 서비스를 액세스해야 한다. 별도의 프로필을 살펴보고 검색하기 위해 별도의 네트워킹 서비스로 이동해 다니는 것은 살펴보는 사용자가 보여질 각 사용자 프로필의 위치를 알고 있는(그렇지 않을 수도 있음) 경우에도 번거로울 수 있다.
간략하게 설명하면, 본 기술은 다수의 네트워킹 서비스로부터의 프로필 데이터가 하나의 일차 네트워킹 서비스의 사용자에 의해 집계되고 액세스될 수 있게 한다. 하나 이상의 이차 네트워킹 서비스, 및 일차 네트워킹 서비스에 대한 사용자 프로필 데이터는 일차 네트워킹 서비스 내에서 집계된다. 결합된 이차 네트워킹 서비스 데이터 및 일차 네트워킹 서비스 데이터는 일차 네트워킹 서비스에 계정이 있는 사용자에 대한 사용자 프로필 데이터 및 관계 데이터를 포함할 수 있다. 프로필 데이터는 동시에 다수의 네트워킹 서비스에 대해 집계되거나 병합된(merged) 프로필로서 표시될 수 있다.
일차 네트워킹 서비스 및 하나 이상의 이차 네트워킹 서비스에 존재하는 사용자-연락처 관계의 그래프는 일차 네트워킹 서비스 내에 저장되는 각 서비스에 대한 관계 데이터에 기초하여 구성되고, 자세히 검토되며(traversed), 검색될 수 있다. 구성시에, 그래프는 임의의 한 네트워킹 서비스 내에서 아무런 직접 접속이 없는 사용자들 사이의 간접 접속을 자세히 검토하기 위해 사용될 수 있다.
몇몇 실시예에서, 하나 이상의 이차 네트워킹 서비스로부터의 프로필 데이터가 검색된다(retrieved). 데이터는 애플리케이션 프로그램 인터페이스를 통해 크롤링(crawling) 메커니즘인 RSS 피드(feed)에 의해 검색되거나, 또는 일부 다른 메커니즘을 사용하여 검색될 수 있다. 검색된 프로필 데이터는 저장되고 선택적으로 처리된다. 저장된 데이터는 각각의 액세스된 이차 네트워킹 서비스 프로필에 대한 사용자 관계 데이터뿐만 아니라 사용자 프로필 데이터를 포함한다. 몇몇 실시예에서, 각 연락처 프로필과 관련된 저장된 관계 데이터는 접속 데이터가 중복되지 않게 하기 위해 제거될 수 있다. 그 다음, 다수의 네트워크 프로필 데이터는 저장된 프로필 콘텐트 및 관계 데이터에 기초하여 쿼리되고 제공될 수 있다.
실시예에서, 제1 일차 네트워킹 서비스 사용자는 일차 네트워킹 서비스에 의해 유지된 프로필 데이터를 갖는 사용자로서 식별된다. 제1 사용자와 관련된 제2 프로필 데이터 집합은 이차 네트워킹 서비스로부터 검색된다. 일차 네트워킹 서비스 및 이차 네트워킹 서비스는 서로 별도로 각자의 사용자 프로필 데이터를 저장한다. 검색된 제2 프로필 데이터 집합은 제1 일차 네트워킹 서비스와 관련된 하나 이상의 데이터 저장소 내에 저장된다. 데이터의 저장은 하나 이상의 데이터 저장소 내의 이차 네트워킹 서비스 프로필 데이터와 함께 일차 네트워킹 서비스 프로필 데이터를 집계하는 것을 포함할 수 있다.
실시예에서, 다수의 네트워크로부터의 집계된 데이터는 요청에 응답하여 제공될 수 있다. 일차 네트워킹 서비스의 하나 이상의 사용자 프로필에 대한 요청이 수신될 수 있다. 그 다음, 데이터 저장소는 요청된 하나 이상의 프로필을 찾기 위해 쿼리될 수 있다. 데이터 저장소는 일차 네트워킹 서비스 프로필 데이터(제1 프로필 데이터 집합) 및 이차 네트워킹 서비스 프로필 데이터(제2 프로필 데이터 집합)로부터 구성된 집계된 프로필 데이터를 포함할 수 있는데, 일차 네트워킹 서비스 및 이차 네트워킹 서비스는 네트워크를 통해 제공된 별도의 서비스들이다. 집계된 프로필 데이터의 부분집합은 하나 이상의 제1 프로필 데이터 집합 및 하나 이상의 제2 프로필 데이터 집합에 포함된 관계 데이터에 기초하여 액세스된다. 하나 이상의 제2 프로필 데이터 집합 내의 관계 데이터는 일차 네트워킹 서비스의 두 사용자 사이의 신뢰 관계를 포함한다. 신뢰 관계는 일차 네트워킹 서비스의 하나 이상의 제1 프로필 데이터 집합의 관계 데이터 내에 지정되지 않는다. 그 다음, 집계된 프로필 데이터의 부분집합은 클라이언트에 제공된다.
이 요약은 아래의 상세한 설명에서 더욱 설명되는 개념들의 선택을 단순화된 형태로 소개하기 위해 제공된다. 이 요약은 청구된 주제의 중요한 특징이나 본질적인 특징을 식별하고자 하는 것도 아니고, 청구된 주제의 범위를 결정하는데 보조적으로 사용되고자 하는 것도 아니다.
도 1은 다수의 네트워킹 서비스로부터의 사용자 프로필을 집계하고 쿼리하는 시스템의 실시예의 블록도.
도 2는 데이터 저장소 내의 사용자 프로필 데이터의 블록도.
도 3은 본 기술을 구현하는 컴퓨팅 환경의 실시예.
도 4A는 상이한 네트워킹 서비스 내의 사용자 관계의 예.
도 4B는 다수의 네트워크에 걸쳐 있는 사용자 사이의 관계의 예.
도 5는 사용자 프로필 데이터를 액세스하고 저장하는 방법의 실시예의 순서도.
도 6은 프로필 액세스 정보를 구성하는 방법의 실시예의 순서도.
도 7은 이차 네트워킹 서비스 데이터를 입력하는 사용자 인터페이스의 예.
도 8은 이차 네트워킹 서비스의 프로필 데이터를 저장하는 방법의 실시예의 순서도.
도 9는 요청에 응답하여 프로필 데이터를 제공하는 방법의 실시예의 순서도.
도 10은 프로필 데이터를 검색하는 방법의 실시예의 순서도.
도 11은 다수의 네트워크에 대한 관계 데이터와 함께 프로필을 제공하는 콘텐트 페이지의 예.
다수의 네트워킹 서비스로부터의 프로필 데이터는 결합될 수 있고, 하나의 네트워킹 서비스로부터 쿼리될 수 있다. 일차 네트워킹 서비스는 하나 이상의 이차 네트워킹 서비스 및 상기 일차 네트워킹 서비스에 대한 사용자 프로필 데이터를 저장할 수 있다. 저장시에, 다수의 네트워크로부터의 데이터는 집계되거나 병합될 수 있다. 저장된 이차 네트워킹 서비스 데이터 및 일차 네트워킹 서비스 데이터는 일차 네트워킹 서비스가 프로필 계정을 갖는 각 네트워킹 서비스에 대한 사용자 프로필 데이터 및 관계 데이터를 포함할 수 있다. 요청시에, 프로필 데이터는 동시에 다수의 네트워킹 서비스에 대해 집계되거나 병합된 프로필로서 표시될 수 있다. 예를 들어, 미국 워싱턴 레드몬드에 위치한 마이크로소프트사에 의해 제공된 일차 네트워킹 서비스인 "Windows Live Spaces"는 이차 네트워킹 서비스로부터 데이터를 검색하고 저장할 수 있다. 그 다음, "Windows Live Spaces"는 자체 사용자에 대한 프로필을 표시할 수 있는데, 또한 그들 사용자에 대한 임의의 대응하는 "LinkedIn" 프로필 데이터도 포함하여 표시한다.
일차 네트워킹 서비스 및 하나 이상의 이차 네트워킹 서비스에 존재하는 사용자-연락처 관계의 그래프는 구성되고, 자세히 검토되며, 검색될 수 있다. 데이터의 검색 및 쿼리는 (일차 네트워킹 서비스 내에 저장되는) 각 서비스에 대한 관계 데이터에 기초하여 실행될 수 있다. 구성시에, 그래프는 임의의 한 네트워킹 서비스 내에서 아무런 직접 접속을 갖지 않는 사용자들 사이의 전이적 접속(transitive connection)을 자세히 검토하기 위해 사용될 수 있다.
하나 이상의 이차 네트워킹 서비스로부터의 프로필 데이터는 일차 네트워킹 서비스의 메커니즘에 의해 검색된다. 데이터는 애플리케이션 프로그램 인터페이스를 통해 크롤링 메커니즘인 RSS 피드에 의해 검색되거나 또는 소정의 다른 메커니즘을 사용하여 검색될 수 있다. 검색된 프로필 데이터는 액세스된 각각의 이차 네트워킹 서비스 프로필에 대한 사용자 프로필 데이터 및 사용자 관계 데이터를 포함할 수 있다. 검색된 데이터는 저장되고, 저장된 프로필 콘텐트 및 관계 데이터에 기초하여 쿼리될 수 있다.
도 1은 다수의 네트워킹 서비스의 사용자 프로필을 집계하고 쿼리하는 시스템의 실시예의 블록도이다. 도 1의 시스템은 클라이언트(110), 일차 네트워킹 서비스(190), 네트워킹 서비스 크롤러(crawler)(150), 이차 네트워킹 서비스(192), 이차 네트워킹 서비스(194) 및 네트워크(180)를 포함한다.
클라이언트(110)는 네트워크(180)를 통해 일차 네트워킹 서비스(190) 및 이차 네트워크 서비스(192)와 통신할 수 있다. 클라이언트(110)는 모바일 장치, 데스크톱 컴퓨터, 워크스테이션 또는 소정의 다른 머신으로서 구현될 수 있다. 클라이언트(110)는 네트워크(180)를 통해 네트워크 서버(120 및 160)로부터 콘텐트를 액세스하는 브라우저 클라이언트 또는 네트워크 브라우저(115)를 포함한다. 몇몇 실시예에서, 클라이언트(110)에서의 사용자는 서버(120-130) 및 데이터 저장소(140)에 의해 제공된 일차 네트워킹 서비스(190)의 사용자 계정을 액세스할 수 있다.
네트워크(180)는 인터넷 또는 기타 WAN, LAN, 인트라넷, 엑스트라넷, 개인 네트워크, 또는 기타 네트워크 또는 네트워크들로서 구현될 수 있다.
일차 네트워킹 서비스(190)는 네트워크(180)를 통해 클라이언트(110)와 통신하고, 네트워크 서버(120), 애플리케이션 서버(130) 및 데이터 저장소(140)를 포함한다. 네트워크 서버(120)는 하나 이상의 서버로서 구현될 수 있고, 클라이언트(110)로부터 요청을 수신하고 처리한다. 서버(180)가 인터넷일 때, 네트워크 서버(120)는 요청 네트워크 브라우저(115)에 응답하여, 콘텐트 페이지, 또는 htlm 콘텐트를 포함한 기타 콘텐트를 제공하는 웹 서버로서 구현될 수 있다. 이러한 요청 처리시에, 네트워크 서버(120)는 애플리케이션 서버(130) 상의 하나 이상의 애플리케이션을 호출할 수 있다.
애플리케이션 서버(130)는 네트워크 서버(120)로부터의 요청을 처리하고, 요청 응답을 생성하며, 데이터 저장소(140)로부터의 데이터를 선택적으로 캐시하는 하나 이상의 서버로서 구현될 수 있다. 호출시에, 애플리케이션 서버(130) 상의 애플리케이션은 네트워크 서버 요청에 대한 응답을 구성하는데 필요한 데이터 또는 기타 콘텐트를 검색하기 위해 데이터 저장소(140)를 액세스할 수 있다.
데이터 저장소(140)는 하나 이상의 데이터베이스, SQL 서버 또는 소정의 다른 유형의 저장 장치로서 구현될 수 있다. 몇몇 실시예에서, 데이터 저장소(140)는 프로필, 이메일, 인스턴트 메시징, 및 일차 네트워킹 서비스의 하나 이상의 게시자에 의해 제공된 기타 통신 서비스를 위한 사용자 데이터를 포함한다. 몇몇 실 시예에서, 데이터 저장소(140)에 저장되고 일차 네트워킹 서비스(190)에 의해 제공된 프로필은 미국 워싱턴 레드몬드에 위치한 마이크로소프트사의 "Windows Live Spaces"라고 하는 네트워킹 서비스의 일부이다.
네트워크 서비스 크롤러(150)는 이차 네트워킹 서비스(192 및 194)로부터 데이터를 액세스하고, 이들 서비스로부터 검색된 데이터를 데이터 저장소(140)에 제공하기 위해 사용될 수 있다. 예를 들어, 네트워킹 서비스 크롤러(150)는 네트워킹 서비스(192 또는 194)에 의해 제공된 특정 URL에 위치한 프로필을 액세스하고, 프로필 데이터를 검색하며, 검색 데이터를 데이터 저장소(140)에 로컬 저장할 수 있다. 몇몇 실시예에서, 크롤러(150)는 RSS 피드를 수신하고, 애플리케이션 프로그램 인터페이스를 액세스하며, 또는 소정의 다른 방식으로 이차 네트워킹 서비스의 프로필 데이터를 액세스하는 메커니즘으로서 구현될 수 있다. 네트워킹 서비스 크롤러(150)의 동작은 아래에서 더욱 상세하게 설명된다.
이차 네트워킹 서비스(192)는 네트워크 서버(160) 및 데이터베이스(165)를 포함한다. 네트워킹 서비스(192)는 또한 하나 이상의 애플리케이션 서버(도 1에 도시되지 않음)를 포함할 수 있다. 네트워크 서버(160) 및 데이터베이스(165)에 의해 제공된 네트워킹 서비스는 한 명 이상의 사용자가 이차 네트워킹 서비스(192)에 계정이 있는 다른 사용자들과 네트워킹할 수 있게 한다. 이와 유사하게, 이차 네트워킹 서비스(194)는 네트워크 서버(170) 및 데이터베이스(175)를 포함하고, 그 네트워킹 서비스에 계정이 있는 한 명 이상의 사용자에게 네트워킹 서비스를 제공한다. 서비스(192)에서와 같이, 네트워킹 서비스(194)는 또한 하나 이상의 애플리 케이션 서버(도시되지 않음)를 포함할 수 있다.
이차 네트워킹 서비스는 신디케이트화(syndicated)되거나, 미리 정의되거나, 또는 정의되지 않은 네트워킹 서비스일 수 있다. 신디케이트 네트워킹 서비스는 일차 네트워킹 서비스(190)에 관련될 수 있다. 예를 들어, 신디케이트 네트워킹 서비스는 일차 네트워킹 서비스(190)를 제공하는 것과 동일한 게시자 또는 회사, 이를테면 마이크로소프트사에 의해 제공될 수 있다. 신디케이트 네트워킹 서비스는 일차 네트워킹 서비스(190)의 프로필과 다른 프로필을 포함할 수 있지만, 데이터는 동일한 사용자 식별자와 관련될 수 있고, URL과 같은 프로필 위치의 구성을 요구하지 않고 액세스될 수 있다. 예를 들어, 신디케이트 네트워킹 서비스는 일차 네트워킹 서비스의 동일한 게시자에 의해 실행될 수 있고, 일차 서비스의 게시자를 식별하는 정보로 공동 상표화될 수 있다(예를 들어, "Helicopter Pilots R Us Spaces with Windows Live").
미리 정의된 네트워킹 서비스는 일차 네트워킹 서비스와 동일한 게시자에 의해 제공되지 않지만, 일차 네트워킹 서비스(190)에 의해 인식된다. 일차 네트워킹 서비스(190)는 미리 정의된 네트워킹 서비스의 저장된 URL 정보 및 수신될 사용자 프로필의 사용자 식별자 정보로부터, 미리 정의된 네트워킹 서비스에 대한 사용자 프로필의 (URL과 같은) 위치 정보를 구성할 수 있다. 정의되지 않은 네트워킹 서비스는 일차 네트워킹 서비스(190)에 의해 정의되지 않은 것이다. 일차 네트워킹 서비스(190)는 일차 네트워킹 서비스의 사용자에 의해 제공된 프로필 URL 정보 및 사용자 프로필 식별자 정보로부터, 정의되지 않은 네트워킹 서비스에 대한 (URL과 같은) 프로필 위치 정보를 구성할 수 있다. 각 유형의 이차 네트워킹 서비스는 아래에서 더욱 상세하게 정의된다.
도 2는 데이터 저장소(140)의 블록도이다. 데이터 저장소(140)는 사용자 테이블(142), 사용자 프로필 테이블(144), 사용자 관계 테이블(146) 및 구성 파일(148)을 포함한다.
사용자 테이블(142)은 일차 네트워킹 서비스(190)에 대한 사용자 프로필 데이터를 저장한다. 사용자 테이블(142)에 저장된 사용자 프로필 데이터는 사용자 이름, 주소, 성별, 직업, 이메일, 좋아하는 것 및 기타 사용자 데이터를 포함할 수 있다. 사용자 프로필 테이블(144)은 일차 네트워킹 서비스(190)에 계정이 있는 사용자에 대해 하나 이상의 이차 네트워킹 서비스에 의해 제공된 하나 이상의 프로필의 목록을 포함할 수 있다. 그러므로, 일차 네트워킹 서비스(190)에 계정이 있는 사용자의 경우에, 이차 네트워킹 서비스(192 및 194) 내의 사용자 프로필의 데이터는 사용자 프로필 테이블(114)에 저장된다. 사용자 프로필 테이블(144) 내에 포함된 데이터는 일차 네트워킹 서비스를 위해 제공된 사용자 식별자, 그 서비스 내의 사용자 프로필과 관련된 이차 네트워킹 서비스의 ID(identification), 및 이차 네트워킹 서비스 내의 사용자 프로필 내에 포함된 데이터, 이를테면 이차 네트워킹 서비스의 사용자 프로필 내에 제공된 것과 같은 이차 네트워킹 서비스의 사용자 식별자, 사용자 이름, 주소, 성별, 직업 등등을 포함할 수 있다.
사용자 관계 테이블(146)은 이차 네트워킹 서비스의 두 사용자 사이의 관계 데이터를 포함할 수 있다. 사용자 관계 테이블(146)에 포함된 데이터는 일차 네트 워킹 서비스(190)의 제1 사용자 및 제2 사용자의 사용자 식별자, 및 관계가 존재하는 이차 네트워킹 서비스의 ID를 포함한다. 사용자 관계 테이블(146)은 어레이, 정수(integer) 또는 소정의 다른 값으로서 데이터를 저장할 수 있다. 구성 파일(148)은 미리 정의된 네트워크 및 신디케이트 네트워크의 URL 및 기타 데이터를 저장할 수 있다. 이 데이터는 이차 네트워킹 서비스 내의 프로필의 URL과 같은 액세스 정보를 생성하기 위해 사용된다. 구성 파일(148) 데이터의 이용은 아래에서 더욱 상세하게 설명된다.
도 3은 본 기술을 구현하는 컴퓨팅 환경의 실시예이다. 도 3의 컴퓨팅 환경은 클라이언트(110), 네트워크 서버(120), 애플리케이션 서버(130), 데이터 저장소(140), 네트워킹 서비스 크롤러(150), 네트워크 서버(160 및 170) 및 데이터베이스(165 및 175)를 구현하기 위해 사용될 수 있다.
도 3의 컴퓨팅 환경(300)은 적합한 컴퓨팅 환경의 일례에 불과하며, 여기에서 설명된 기술의 용도 또는 기능성의 범위에 관해 어떤 제한을 암시하고자 하는 것이 아니다. 컴퓨팅 환경(300)이 예시적인 운영 환경(300)에 도시된 컴포넌트들 중 임의의 하나 또는 그 컴포넌트들의 임의의 조합과 관련하여 어떤 의존성 또는 요구사항을 갖는 것으로 해석되어서는 안 된다.
여기에서 설명된 기술은 많은 기타 범용 또는 특수 목적의 컴퓨팅 시스템 환경 또는 구성에서 동작할 수 있다. 여기에서 설명된 기술에서 사용하는 데 적합할 수 있는 잘 알려진 컴퓨팅 시스템, 환경 및/또는 구성의 예로는 퍼스널 컴퓨터, 서버 컴퓨터, 핸드헬드 또는 랩톱 장치, 이동 전화 또는 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 셋톱 박스, 프로그램가능 소비자 전자제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상기 시스템들이나 장치들 중 임의의 것을 포함하는 분산 컴퓨팅 환경, 기타 등등이 있지만 이에 제한되는 것은 아니다.
여기에서 설명된 기술은 일반적으로 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행가능 명령어와 관련하여 기술될 것이다. 일반적으로, 프로그램 모듈은 특정 작업을 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 개체, 컴포넌트, 데이터 구조 등을 포함한다. 여기에서 설명된 기술은 또한 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 작업이 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 비롯한 로컬 및 원격 컴퓨터 저장 매체 둘 다에 위치할 수 있다.
도 3과 관련하여, 여기에서 설명된 기술을 구현하는 예시적인 시스템은 컴퓨터(310) 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(310)의 컴포넌트들은 처리 장치(320), 시스템 메모리(330), 및 시스템 메모리를 비롯한 각종 시스템 컴포넌트들을 처리 장치(320)에 연결하는 시스템 버스(321)를 포함하지만 이에 제한되는 것은 아니다. 시스템 버스(321)는 메모리 버스 또는 메모리 컨트롤러, 주변 장치 버스 및 각종 버스 아키텍처 중 임의의 것을 이용하는 로컬 버스를 비롯한 몇몇 유형의 버스 구조 중 어느 것이라도 될 수 있다. 예로서, 이러한 아키텍처는 ISA(Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standards Association) 로컬 버스, 그리고 메자닌 버스(mezzanine bus)로도 알려진 PCI(Peripheral Component Interconnect) 버스 등을 포함하지만 이에 제한되는 것은 아니다.
컴퓨터(310)는 통상적으로 각종 컴퓨터 판독가능 매체를 포함한다. 컴퓨터(310)에 의해 액세스 가능한 매체는 그 어떤 것이든지 컴퓨터 판독가능 매체가 될 수 있고, 이러한 컴퓨터 판독가능 매체는 휘발성 및 비휘발성 매체, 이동식 및 비이동식 매체를 포함한다. 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함하지만 이에 제한되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터(310)에 의해 액세스되고 원하는 정보를 저장하는 데 사용될 수 있는 임의의 기타 매체를 포함하지만 이에 제한되는 것은 아니다. 통신 매체는 통상적으로 반송파 또는 기타 전송 메커니즘과 같은 피변조 데이터 신호(modulated data signal)에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등을 구현하고, 모든 정보 전달 매체를 포함한다. "피변조 데이터 신호"라는 용어는, 신호 내에 정보를 인코딩하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크 또는 직접 배선 접속(direct-wired connection)과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함하지만 이에 제한되는 것은 아니다. 상술 된 매체들의 모든 조합이 또한 컴퓨터 판독가능 매체의 영역 안에 포함되는 것으로 한다.
시스템 메모리(330)는 판독 전용 메모리(ROM)(331) 및 랜덤 액세스 메모리(RAM)(332)와 같은 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 시동 중과 같은 때에, 컴퓨터(310) 내의 구성요소들 사이의 정보 전송을 돕는 기본 루틴을 포함하는 기본 입/출력 시스템(BIOS)(333)은 통상적으로 ROM(331)에 저장되어 있다. RAM(332)은 통상적으로 처리 장치(320)가 즉시 액세스 할 수 있고 및/또는 현재 동작시키고 있는 데이터 및/또는 프로그램 모듈을 포함한다. 예로서, 도 3은 운영 체제(334), 애플리케이션 프로그램(335), 기타 프로그램 모듈(336) 및 프로그램 데이터(337)를 도시하고 있지만 이에 제한되는 것은 아니다.
컴퓨터(310)는 또한 기타 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장매체를 포함한다. 단지 예로서, 도 3은 비이동식·비휘발성 자기 매체에 기록을 하거나 그로부터 판독을 하는 하드 디스크 드라이브(340), 이동식·비휘발성 자기 디스크(352)에 기록을 하거나 그로부터 판독을 하는 자기 디스크 드라이브(351), CD-ROM 또는 기타 광 매체 등의 이동식·비휘발성 광 디스크(356)에 기록을 하거나 그로부터 판독을 하는 광 디스크 드라이브(355)를 도시하고 있다. 예시적인 운영 환경에서 사용될 수 있는 기타 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장 매체로는 자기 테이프 카세트, 플래시 메모리 카드, DVD, 디지털 비디오 테이프, 고상(solid state) RAM, 고상 ROM 등이 있지만 이에 제한되는 것은 아니다. 하드 디 스크 드라이브(341)는 통상적으로 인터페이스(340)와 같은 비이동식 메모리 인터페이스를 통해 시스템 버스(321)에 접속되고, 자기 디스크 드라이브(351) 및 광 디스크 드라이브(355)는 통상적으로 인터페이스(350)와 같은 이동식 메모리 인터페이스에 의해 시스템 버스(321)에 접속된다.
위에서 설명되고 도 3에 도시된 드라이브들 및 이들과 관련된 컴퓨터 저장 매체는, 컴퓨터(310)에 대한 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터를 저장한다. 도 3에서, 예를 들어, 하드 디스크 드라이브(341)는 운영 체제(344), 애플리케이션 프로그램(345), 기타 프로그램 모듈(346), 및 프로그램 데이터(347)를 저장하는 것으로 도시되어 있다. 여기서 주의할 점은 이들 컴포넌트가 운영 체제(334), 애플리케이션 프로그램(335), 기타 프로그램 모듈(336), 및 프로그램 데이터(337)와 동일하거나 그와 다를 수 있다는 것이다. 이에 관해, 운영 체제(344), 애플리케이션 프로그램(345), 기타 프로그램 모듈(346) 및 프로그램 데이터(347)에 다른 번호가 부여되어 있다는 것은 적어도 이들이 다른 사본이라는 것을 나타내기 위한 것이다. 사용자는 키보드(362), 및 흔히 마우스, 트랙볼 또는 터치 패드라고 부르는 포인팅 장치(361) 등의 입력 장치를 통해 명령 및 정보를 컴퓨터(310)에 입력할 수 있다. 다른 입력 장치(도시 생략)로는 마이크, 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이들 및 기타 입력 장치는 종종 시스템 버스에 결합된 사용자 입력 인터페이스(360)를 통해 처리 장치(320)에 접속되지만, 병렬 포트, 게임 포트 또는 USB(universal serial bus) 등의 다른 인터페이스 및 버스 구조에 의해 접속될 수도 있다. 모니터(391) 또는 다 른 유형의 디스플레이 장치도 비디오 인터페이스(390) 등의 인터페이스를 통해 시스템 버스(321)에 접속된다. 모니터 외에, 컴퓨터는 또한 스피커(397) 및 프린터(396) 등의 기타 주변 출력 장치를 포함할 수 있고, 이들은 출력 주변장치 인터페이스(390)를 통해 접속될 수 있다.
컴퓨터(310)는 원격 컴퓨터(380)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 사용하여 네트워크화된 환경에서 동작할 수 있다. 도 3에는 메모리 저장 장치(381)만이 도시되어 있지만, 원격 컴퓨터(380)는 또 하나의 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있고, 통상적으로 컴퓨터(310)와 관련하여 상술된 구성요소들의 대부분 또는 그 전부를 포함한다. 도 3에 도시된 논리적 접속으로는 LAN(371) 및 WAN(373)이 있지만, 기타 네트워크를 포함할 수도 있다. 이러한 네트워킹 환경은 사무실, 전사적 컴퓨터 네트워크(enterprise-wide computer network), 인트라넷, 및 인터넷에서 일반적인 것이다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(310)는 네트워크 인터페이스 또는 어댑터(370)를 통해 LAN(371)에 접속된다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(310)는 통상적으로 인터넷과 같은 WAN(373)을 통해 통신을 설정하기 위한 모뎀(372) 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(372)은 사용자 입력 인터페이스(360) 또는 기타 적절한 메커니즘을 통해 시스템 버스(321)에 접속될 수 있다. 네트워크화된 환경에서, 컴퓨터(310) 또는 그의 일부와 관련하여 기술된 프로그램 모듈은 원격 메모리 저장 장치에 저장될 수 있다. 예로서, 도 3은 원격 애플리케이션 프로그램(385)이 메모리 장치(381)에 있는 것으로 도시하고 있지만 이에 제한되는 것은 아니다. 도시된 네트워크 접속은 예시적인 것이며 이 컴퓨터들 사이에 통신 링크를 설정하는 기타 수단이 사용될 수 있다는 것을 이해할 것이다.
도 4A는 상이한 네트워킹 서비스 내의 사용자 관계의 예이다. 도 4A는 3가지 네트워크 관계를 도시하고 있다. 일차 네트워킹 서비스 내의 제1 관계는 제1 사용자와 제2 사용자 사이의 관계이다. 제1 사용자와 제2 사용자 사이의 선은 제1 사용자가 일차 네트워킹 서비스(190)에 있는 제1 사용자의 계정 내에서, "친구"로서 명단에 올라 있는 제2 사용자를 가질 수 있고, 이로 인해 제2 사용자와 신뢰 관계가 있다는 것을 나타낸다. 제2 관계는 이차 네트워킹 서비스 A에 대한 것으로, 제2 사용자는 제3 사용자와 신뢰 관계가 있다. 제3 네트워킹 서비스인 이차 네트워킹 서비스 B에서, 제1 사용자와 제3 사용자 둘 다는 서비스 내에 프로필을 갖지만, 도 4A에서 사용자를 연결하는 선이 없이 나타낸 것처럼 서비스 내에서 서로 신뢰 관계가 없다.
도 4B는 다수의 네트워크에 걸쳐 있는 사용자 사이의 관계의 예이다. 특히, 제1 사용자와 제2 사용자는 일차 네트워크 서비스를 통해 신뢰 관계가 있고, 제2 사용자와 제3 사용자는 이차 네트워킹 서비스 A를 통해 신뢰 관계가 있다는 것이 도시된다. 그러므로, 제1 사용자와 제3 사용자는 제2 사용자를 통해 2단계로 분리되어 간접 관계가 있다는 것을 알 수 있다. 제1 사용자와 제3 사용자는 어떤 네트워킹 서비스를 통해서도 직접 접속되지 않지만, 둘 사이의 접속은 2개의 상이한 네 트워킹 서비스를 통한 2촌 관계(second degree relationship)로 볼 수 있다. 본 기술은 2촌 관계를 인식할 수 있고, 사용자가 2촌 관계에 대해 자세히 검토하고 쿼리할 수 있게 한다. 이것은 아래에서 더욱 상세하게 설명된다.
도 5는 사용자 프로필 데이터를 액세스하고 저장하는 방법의 실시예의 순서도이다. 먼저, 단계(510)에서, 사용자 인터페이스는 사용자가 이차 네트워킹 서비스 프로필 데이터를 입력할 수 있게 하기 위해 일차 네트워킹 서비스에 의해 제공된다. 수신된 프로필 데이터는 신디케이트 네트워킹 서비스, 미리 정의된 네트워킹 서비스 및 정의되지 않은 네트워킹 서비스에 관련될 수 있다. 이차 네트워킹 서비스 데이터를 수신하기 위해 사용된 사용자 인터페이스의 예는 도 7과 관련하여 아래에서 도시되고 설명된다.
단계(520)에서, 이차 네트워킹 서비스 데이터 입력은 사용자 인터페이스를 통해 사용자로부터 수신된다. 사용자는 이차 네트워킹 서비스에 관련된 데이터, 서비스 내의 사용자 식별자 및 기타 정보를 입력할 수 있다. 수신된 데이터는, 예를 들어 프로필 데이터가 검색될 수 있는 URL 또는 기타 데이터를 생성하기 위해, 각각의 이차 네트워킹 서비스 내의 프로필 데이터를 액세스하는데 사용된다. 도 7과 관련하여, 신디케이트 네트워킹 서비스 A에 대한 데이터는 <testlink> 버튼의 선택으로서 수신될 수 있고, 미리 정의된 네트워킹 서비스 C 내지 F는 사용자 식별자를 요구할 수 있으며, 정의되지 않은 네트워킹 서비스(750)는 사용자 식별자, 프로필 URL 및 선택적인 기타 데이터를 요구할 수 있다.
단계(530)에서, 프로필 액세스 정보는 수신된 사용자 데이터로부터 구성된 다. 프로필 액세스 정보는 사용자 식별자, 구성 파일(148)에 저장된 이전의 정보, 및 기타 데이터로부터 구성될 수 있다. 프로필 액세스 정보의 구성은 도 6과 관련하여 아래에서 더욱 상세하게 설명된다.
다음에, 단계(540)에서, 사용자 프로필 데이터 및 관계 데이터는 선택된 사용자의 이차 네트워킹 서비스로부터 네트워킹 서비스 크롤러(150)에 의해 검색된다. 프로필 데이터 및 관계 데이터는 크롤러(150)에 의해 단계(530)에서 구성된 URL의 프로필 액세스 정보로부터 검색될 수 있다. 몇몇 실시예에서, 프로필 및 관계 데이터는 단계(530)에서 생성된 기타 프로필 액세스 정보를 사용하여 검색될 수 있다. 일단 데이터 위치가 알려지거나 구성되면, 데이터는 스크린 스크래핑(screen scraping)에 의하거나, 데이터를 풀(pull)하기 위해 서비스 API를 호출하거나, 크롤러(150)에 데이터를 푸시(push)하기 위해 API를 호출하거나, RSS 피드를 통하거나, 또는 소정의 다른 방식으로 검색될 수 있다.
그 다음, 단계(550)에서, 검색된 프로필 데이터는 데이터 저장소(140)의 사용자 프로필 데이터 테이블(144) 내에 크롤러(150)에 의해 저장된다. 몇몇 실시예에서, 검색된 프로필 데이터는 저장시에 일차 네트워킹 서비스에 대한 기존 프로필 데이터와 집계되거나 병합될 수 있다. 몇몇 실시예에서, 검색된 프로필 데이터는 데이터가 요청될 때, 또는 일차 네트워킹 서비스 계정과 관련된 사용자의 요청시에, 일차 네트워킹 서비스 프로필 데이터와 집계되거나 병합될 수 있다. 검색된 프로필 데이터의 저장은 도 8과 관련하여 아래에서 더욱 상세하게 설명된다.
단계(560)에서, 사용자 관계 데이터는 사용자 관계 테이블(146) 내에 네트워 킹 서비스 크롤러(150)에 의해 저장된다. 저장된 관계 데이터는 프로필 데이터가 검색된 사용자의 식별자, 이차 네트워킹 서비스 프로필에 의해 지정된 사용자의 연락처, 및 네트워킹 서비스 자체의 ID를 포함할 수 있다. 그 연락처가 일차 네트워킹 서비스에 프로필이 있는 경우에, 단계(560)에서, 그 연락처의 일차 네트워킹 서비스 사용자 식별자가 저장된다. 연락처가 일차 네트워킹 서비스 프로필이 없는 경우, 이차 네트워킹 서비스 내의 사용자 식별자가 사용된다. 몇몇 실시예에서, 사용자 관계 데이터를 저장한 후, 단계(570)에서, 사용자 데이터는 애플리케이션 서버(130) 내에 캐시된다. 이 단계는 선택적이고, 네트워크 서버(120)에 의한 소정의 프로필 요청에 대한 더 빠른 액세스를 애플리케이션 서버(130)에 제공할 수 있다.
그 다음, 단계(580)에서, 하나 이상의 프로필은 연결된 프로필 데이터와 함께 요청 엔티티에 제공된다. 연결된 데이터는 데이터의 집계 또는 병합을 통하는 것과 같은 소정의 방식으로 결합되는 2개 이상의 프로필 및/또는 서비스에 대한 프로필 데이터를 포함할 수 있다. 요청 엔티티로부터의 요청은 하나 이상의 파라미터를 지정할 수 있고, 하나 이상의 프로필, 또는 2개 이상의 프로필 사이의 경로를 요청할 수 있다. 파라미터는 기준 파라미터 및 관계 분리 파라미터를 포함할 수 있다. 기준 파라미터는 특정 성별 또는 거주 도시와 관련된 사용자 프로필과 같이, 요청에 매칭하는 프로필이 충족해야 하는 요구조건을 지정한다. 관계 분리 파라미터는 도 4A-4B에 도시된 제1 사용자와 제3 사용자 사이의 2단계 분리와 같이, 사용자들 사이의 분리 정도를 지정할 수 있다. 하나 이상의 연결된 프로필의 제공 은 도 9와 관련하여 더욱 상세하게 설명된다.
도 6은 프로필 액세스 정보를 구성하는 방법의 실시예의 순서도이다. 몇몇 실시예에서, 도 6의 방법은 도 5의 방법의 단계(530)에 대한 더욱 상세한 설명을 제공한다. 단계(520)에서, 이차 네트워킹 서비스 데이터 입력은 사용자 인터페이스를 통해 사용자로부터 수신된다. 이 단계는 참조를 위해 제공되고, 도 5의 방법의 단계(520)와 동일하다. 그 다음, 단계(605)에서, 수신된 입력이 신디케이트 서비스에 대한 것인지에 관한 판정이 이루어진다. 입력이 신디케이트 서비스에 대한 것이면, 도 6의 방법은 단계(610)로 계속된다. 그렇지 않다면, 단계(607)에서, 수신된 입력이 미리 정의된 서비스에 대한 것인지에 관한 판정이 이루어진다. 입력이 미리 정의된 서비스에 대한 것이면, 도 6의 방법은 단계(630)로 계속된다. 그렇지 않다면, 입력은 정의되지 않은 서비스에 대한 것이고, 도 6의 방법은 단계(660)로 계속된다.
단계(610)에서, 계정 확인이 사용자로부터 수신된다. 계정 확인은 도 7의 사용자 인터페이스 내의 신디케이트 네트워킹 서비스에 대한 "<test link>" 아이콘의 선택으로서 수신될 수 있다. 다른 실시예에서, 계정 확인 선택은 사용자 인터페이스의 소정의 다른 버튼 또는 요소의 선택으로서 수신될 수 있다. 계정 확인을 수신한 후, 단계(620)에서, 신디케이트 네트워킹 서비스 데이터가 캐시되고, 도 6의 방법이 종료된다.
단계(607)에서, 수신된 이차 네트워킹 서비스 데이터 입력이 미리 정의된 네트워킹 서비스에 대한 것이면, 단계(630)에서, 입력은 미리 정의된 서비스에 대한 사용자 식별자로서 수신된다. 도 7과 관련하여, 사용자 식별자는 도 7의 사용자 인터페이스의 부분(740) 내의 네트워킹 서비스 C 및 네트워킹 서비스 E에 대해 수신된다. 사용자 식별자를 수신한 후, 사용자 프로필 URL은 수신된 사용자 식별자, 및 데이터 저장소(140)의 구성 파일(148) 내에 포함된 미리 정의된 서비스 데이터로부터 구성된다. 그 다음, 단계(650)에서, 이차 네트워킹 서비스에 대한 사용자 프로필 URL이 캐시되고, 도 6의 방법이 종료된다.
단계(607)에서, 수신된 이차 네트워킹 서비스 입력이 정의되지 않은 네트워킹 서비스에 대한 것으로 판정되면, 단계(660)에서, 수신된 데이터는 정의되지 않은 서비스에 관해 사용자로부터의 이차 네트워킹 서비스 이름, 사용자 식별자 및 서비스 프로필 URL을 포함한다. 도 7의 사용자 인터페이스와 관련하여, 정의되지 않은 네트워킹 서비스 데이터는 "BlogTime"인 서비스 이름, "pmbloggr"인 사용자 식별자 및 www.blogtime.com/pmbloggr인 프로필 URL을 포함한다. 몇몇 실시예에서, 추가 정보는 또한 피드 URL과 같이, 정의되지 않은 네트워킹 서비스에 대해 수신될 수 있다.
다음에, 단계(670)에서, 수신된 사용자 데이터가 미리 정의된 네트워킹 서비스에 매칭하는지에 관한 판정이 이루어진다. 수신된 사용자 데이터가 미리 정의된 네트워킹 서비스에 매칭하면, 도 6의 방법은 단계(640)로 계속된다. 사용자 데이터가 미리 정의된 서비스에 매칭하지 않으면, 단계(680)에서, 수신된 프로필 URL이 캐시된다. 사용자 데이터가 미리 정의된 서비스에 매칭하는지 판정하기 위해, 수신된 기준 URL 및 사용자 식별자는 구성 파일(148) 및 사용자 프로필 테이블(144) 내의 것들과 비교될 수 있다.
몇몇 실시예에서, 사용자의 일차 및 이차 프로필을 크롤링하는 프로세스 동안에, 네트워크 크롤러는 사용자가 제2 서비스에 계정이 있는데, 사용자의 이름으로부터 도출된 ID가 있으며, 일차 네트워킹 서비스 내의 사용자 프로필의 요소에 매칭하는 콘텐트가 있을 때, 높은 신뢰도로 확인할 수 있다. 그 다음, 크롤러는 여기에서 설명된 것과 유사한 방식으로, 이차 네트워킹 서비스의 사용자 계정과 관련된 데이터를 검색하고, 사용자에 대한 데이터를 저장할 수 있다.
도 7은 이차 네트워킹 서비스 데이터를 입력하는 사용자 인터페이스의 예이다. 도 7의 사용자 인터페이스는 도 6의 방법 동안에 일차 네트워킹 애플리케이션(190)에 의해 사용자에게 제공된다. 도 7은 네트워킹 서비스 메뉴(710), 프로필 동작 버튼(720), 프로필 메뉴 윈도(760) 및 프로필 데이터 윈도(770)를 포함한다. 네트워킹 서비스 메뉴(710)는 시작, 메일, 프로필, 피드, 관리 및 기타 정보의 메뉴 헤딩을 포함한다. 프로필 버튼(720)은 홈, 본인 프로필(your profile), 이벤트, 그룹, 사진, 블로그, 목록 및 프로필 기능을 위한 버튼을 포함한다.
프로필 메뉴 윈도(760)는 외모, 웹 프로필, 연락처 정보 및 소셜의 선택가능 아이콘을 포함한다. 현재, 웹 프로필 윈도 선택이 프로필 메뉴 윈도(760) 내에서 선택된다. 프로필 데이터 윈도(770)는 몇몇의 이차 네트워킹 서비스에 대해 열거된 정보를 포함한다. 서비스는 부분(730) 내의 신디케이트 서비스 A, 부분(740) 내의 미리 정의된 서비스 C, D, E 및 F, 및 부분(750) 내의 하나의 정의되지 않은 서비스를 포함한다. 신디케이트 서비스 A는 "Pat Smith"의 서비스 태그를 포함한 다. 이 신디케이트 서비스 정보는 일차 네트워킹 서비스의 사용자와 관련된 사용자 식별자로 미리 채워질 수 있다.
미리 정의된 이차 네트워킹 서비스 C-F는 사용자가 각 서비스에 대한 사용자 식별자를 입력할 수 있는 박스를 포함한다. 도시된 바와 같이, 사용자는 미리 정의된 서비스 C에 대해 "psmith778"의 사용자 식별자를 입력했고, 미리 정의된 서비스 E에 대해 "PattySmith"의 사용자 식별자를 입력했다. 미리 정의된 서비스 D 및 F는 사용자 식별자가 채워지지 않은 박스를 갖는다.
정의되지 않은 서비스에 대한 프로필 데이터 윈도(770) 내의 부분(750)은 서비스 이름, 사용자 식별자 및 프로필 URL을 위한 박스를 포함한다. 도시된 바와 같이, 서비스 이름 박스는 "Blog Time"으로 채워지고, 사용자 식별자 박스는 "pmbloggr"로 채워지며, 프로필 URL은 http://www.blogtime.com/pmbloggr로 채워진다.
도 8은 이차 네트워킹 서비스의 프로필 데이터를 저장하는 방법의 실시예의 순서도이다. 몇몇 실시예에서, 도 8의 순서도는 도 5의 방법의 단계(550)에 대한 더욱 상세한 설명을 제공한다. 먼저, 네트워킹 서비스 크롤러(150)는 검색된 프로필 데이터를 데이터 저장소에 보낸다(단계(810)). 데이터는 이차 네트워킹 서비스로부터 검색된다. 다음에, 단계(820)에서, 사용자 테이블(142) 내의 사용자에 대한 기존 데이터가 액세스된다. 그 다음, 단계(830)에서, 검색된 데이터는 사용자 테이블(142) 내의 기존의 사용자 데이터와 함께 집계된다. 데이터의 집계는 이차 네트워킹 서비스로부터 검색된 데이터를, 일차 네트워킹 서비스(190) 내의 사용자 프로필과 관련된 사용자 데이터에 추가하는 것을 포함할 수 있다. 예를 들어, 사용자의 일차 네트워킹 서비스 프로필 및 이차 네트워킹 서비스 프로필 내의 사용자 섬네일(thumbnail) 사진은 둘 다 일차 네트워크 서비스에서 저장될 수 있다. 기타 데이터, 이를테면 전화 번호, 이메일 주소, 주소, 및 사용자의 일차 네트워킹 서비스 프로필 및 이차 네트워킹 서비스 프로필에 대한 기타 정보는 사용자 데이터 테이블 내에서 함께 집계될 수 있다.
대안적으로, 단계(840)에서, 검색된 데이터는 사용자 테이블(142) 내의 사용자 데이터와 병합될 수 있다. 데이터를 집계하는 것보다 오히려 데이터를 병합하는 것은 단일 사용자 아이콘, 단일 사용자 주소, 단일의 좋아하는 영화를 선택하는 것, 및 그 밖에 상이한 버전의 데이터를 하나의 사용자 프로필 내로 병합하는 것을 수반할 수 있다. 예를 들어, 사용자의 일차 네트워킹 서비스 프로필 및 이차 네트워킹 서비스 프로필이 사용자에 대한 동일한 거주지 주소를 갖는 경우에, 거주지 주소는 사용자 데이터 테이블 내에 한 번만 저장될 수 있다. 상이한 프로필들 사이의 사용자 데이터가 매칭하지 않을 때, 데이터는 사용자 작성 규칙, 작성 날짜(최근에 작성된 데이터는 전에 작성된 데이터보다 우위에 있음(trump))에 따라 병합될 수 있고, 또는 사용자는 병합된 프로필 내에 어느 데이터를 포함할지 선택하라고 프롬프팅될 수 있다.
다음에, 단계(850)에서, 이차 네트워킹 서비스 프로필 데이터는 데이터 저장소(140)의 사용자 프로필 테이블(144) 내에 새로운 엔트리로서 저장된다. 이차 네트워킹 서비스 프로필 데이터를 새로운 엔트리로서 저장하는 것은 사용자 식별자, 검색된 프로필과 관련된 네트워킹 서비스, 및 이차 네트워킹 서비스로부터 검색된 프로필 데이터를 저장하는 것을 포함한다. 저장될 추가 데이터는 인증 자격 증명(authentication credentials), 및/또는 이차 서비스와 관련된 URL을 포함할 수 있다. 그 다음, 도 8의 방법은 단계(860)에서 종료된다.
일단 데이터가 하나 이상의 이차 네트워킹 서비스(192-194)로부터 네트워킹 서비스 크롤러(150)에 의해 검색되었으면, 데이터는 사용자 요청에 응답하여 요청되고, 쿼리되며, 그 밖에 검색될 수 있다. 도 9는 요청에 응답하여 프로필 데이터를 제공하는 방법의 실시예의 순서도이다. 먼저, 단계(910)에서, 임의의 파라미터와 함께 사용자 프로필 데이터에 대한 요청이 네트워크 서버(120)에 의해 클라이언트(110)로부터 수신된다. 요청은 어떤 유형의 데이터가 요청되는 지에 기초한 파라미터를 포함할 수 있다. 파라미터는 기준 파라미터 및 관계 분리 파라미터를 포함할 수 있다. 위에서 설명된 바와 같이, 기준 파라미터는 요청에 매칭하는 각 프로필에 포함될 프로필 기준을 지정하고, 관계 분리 파라미터는 사용자 관계에 관한 분리 정도를 지정한다. 예를 들어, "목록" 유형 요청은 시작하는 사용자 S, 사용자의 홉(hop)의 범위 또는 관계 분리 정도 N, 및 매칭하는 기준 F의 파라미터를 포함할 수 있다. 목록 유형 쿼리는 "시애틀에 살고 있는 친구들의 모든 친구를 보여달라"로서 표현될 수 있다. 이 경우에, 홉의 수 N은 2이고, 필터는 시애틀에 거주하는 사용자이며, S는 사용자 자신의 프로필일 수 있다.
다른 유형의 요청은 "경로" 요청일 수 있다. 경로 요청은 시작 사용자, 최종 사용자, 홉의 수 N 및 기준 F의 파라미터를 가질 수 있다. 예를 들어, 경로 요 청은 "Acme에서 일하는 Dave와 Mike 간의 상호 매칭을 보여달라"로서 표현될 수 있다. 이 경우에, 시작 사용자는 Dave이고, 최종 사용자는 Mike이며, 홉의 수는 비어 있고, 기준은 "Acme"라는 회사 이름의 직장 주소에서 일하고 있는 것일 수 있다.
단계(920)에서, 수신된 요청과 관련된 프로필 데이터는 데이터 저장소(140)로부터 네트워크 서버(120)에 의해 검색된다. 데이터는 네트워크 서버(120)에 의해 애플리케이션 서버(130)를 통해 검색될 수 있다. 이것은 도 10의 방법과 관련하여 아래에서 더욱 상세하게 설명된다. 요청과 관련된 프로필 데이터를 검색한 후, 하나 이상의 프로필을 포함하는 검색된 프로필 데이터는 수신된 요청에 응답하여 네트워크 서버(120)에 의해 클라이언트(110)에 제공된다. 한 실시예에서, 사용자들 사이의 중복된 관계는 표시되지 않는다. 그러므로, 제1 사용자와 제2 사용자가 네트워킹 서비스 A와 네트워킹 서비스 B에서 신뢰 관계를 가지면, 두 사용자들 사이에 하나의 접속만이 도시된다. 몇몇 실시예에서, 사용자와 연락처가 신뢰 관계를 갖는 네트워크는 사용자 인터페이스 내에 표시된다. 다수의 네트워크에 걸친 관계 데이터를 나타내는 프로필 콘텐트 페이지의 예가 도 11에서 제공된다.
도 10은 프로필 데이터를 검색하는 방법의 실시예의 순서도이다. 한 실시예에서, 도 10의 방법은 도 9의 방법의 단계(920)에 대한 더욱 상세한 설명을 제공한다. 먼저, 단계(1010)에서, 수신된 요청이 프로필 목록, 경로 또는 개별 데이터 요청과 관련되는 지에 관한 판정이 이루어진다. 수신된 요청이 프로필 목록 또는 경로 요청과 관련되면, 단계(1015)에서, 네트워크 서버(110)는 요청 파라미터를 애 플리케이션 서버(130)에 보낸다. 단계(1020)에서, 애플리케이션 서버(130)는 네트워크 서버(120)로부터 요청 파라미터를 수신하고, 이 파라미터를 데이터 저장소(140)에 보낸다. 단계(1025)에서, 데이터 저장소(140)는 애플리케이션 서버(130)로부터 파라미터를 수신하고, 프로필 및/또는 프로필 경로 매칭을 판정하기 위해 사용자 테이블(142) 및 사용자 관계 테이블(146)을 쿼리한다. 위에서 설명된 바와 같이, 데이터 저장소(140)는 하나 이상의 SQL 서버로서 구현될 수 있다. 이와 같이, 서버는 요청된 특정 관계 및/또는 프로필 데이터를 찾기 위해 쿼리될 수 있는 비즈니스 로직을 가질 수 있다.
단계(1030)에서, 데이터 저장소(140)는 쿼리의 결과를 판정하고, 매칭하는 프로필을 응답 내에 패키징해서, 이 응답을 애플리케이션 서버(130)에 보낸다. 다음에, 단계(1035)에서, 애플리케이션 서버(130)는 응답을 수신하고, 이 응답을 네트워크 서버(120)에 포워딩한다. 단계(1040)에서, 네트워크 서버(120)는 애플리케이션 서버(130)로부터 응답을 수신한다. 그 다음, 도 10의 방법은 프로필 목록 및 경로 요청과 관련하여 단계(1040)에서 종료된다.
단계(1010)에서, 수신된 요청이 개별 프로필 데이터 요청과 관련되면, 단계(1045)에서, 네트워크 서버(120)는 프로필 ID와 함께 요청을 애플리케이션 서버(130)에 보낸다. 단계(1050)에서, 애플리케이션 서버(130)는 네트워크 서버(120)로부터 요청을 수신하고, 이 요청을 데이터 저장소(140)에 포워딩한다. 단계(1055)에서, 데이터 저장소(140)는 요청을 수신하고, 요청된 사용자 식별자와 관련된 프로필 데이터를 액세스하기 위해 사용자 테이블(142) 및 사용자 프로필 테이 블(144)을 쿼리한다. 그 다음, 단계(1060)에서, 데이터 저장소(140)는 쿼리 결과에 대응하는 프로필 데이터를 응답 내에 패키징하여, 이 응답을 애플리케이션 서버(130)에 보낸다. 단계(1065)에서, 애플리케이션 서버(130)는 데이터 저장소(140)로부터 응답을 수신하고, 이 응답을 네트워크 서버(120)에 보낸다. 단계(1070)에서, 네트워크 서버(120)는 애플리케이션 서버(130)로부터 응답을 수신한다.
도 11은 몇몇 네트워크에 대한 관계 데이터와 함께 프로필을 제공하는 콘텐트 페이지의 예이다. 한 실시예에서, 도 11의 콘텐트 페이지(1110)의 프로필은 일차 네트워킹 서비스 프로필에 대한 데이터, 및 하나 이상의 이차 네트워킹 서비스 프로필로부터 검색된 데이터를 포함한다. 콘텐트 페이지의 상부에 나타낸 바와 같이, 프로필은 "Pat Smith"라고 하는 사용자와 관련되었다. 콘텐트 페이지(1110)는 프로필 데이터(1120), 블로그(1130), 네트워킹 서비스 목록(1150) 및 연락처 목록(1140)을 포함한다. 프로필 데이터(1120)는 관심, 취미, 경구(quirks), 및 이메일과 인스턴트 메시징을 위한 연락처 정보와 같은 기본 프로필 정보를 포함한다. 블로그(1130)는 콘텐트 페이지와 관련된 사용자에 대한 현재의 블로그 엔트리 및 하나 이상의 이전의 블로그 엔트리를 포함한다.
네트워킹 서비스 목록(1150)은 사용자가 관련되는 이차 네트워킹 서비스의 목록을 포함한다. 서비스 목록은 서비스 A, 서비스 C, 서비스 E 및 "블로그 타임(Blog Time)"을 포함한다. 이들 서비스는 사용자가 도 7의 사용자 인터페이스 내의 정보를 제공한 이차 네트워킹 서비스에 대응한다. 콘텐트 페이지(1110)의 연 락처 목록(1140)은 8개의 연락처를 포함한다. 표시는 콘텐트 페이지를 제공하는 일차 네트워킹 서비스 이외에, 각 연락처가 프로필 사용자와 관계가 있는 컨텍스트에 관한 것으로, 각 연락처와 관련된다. 예를 들어, 현재 프로필의 현재 사용자는 일차 네트워킹 서비스 이외에 네트워킹 서비스 A를 통해 연락처 2와 관계가 있다. 현재의 사용자는 연락처 4의 아이콘 바로 아래에 나타낸 바와 같이, 네트워킹 서비스 A 및 네트워킹 서비스 E를 통해 연락처 4와 관계가 있다. 연락처 1의 아이콘 바로 아래에 추가 네트워킹 서비스를 표시하지 않고 나타낸 바와 같이, 프로필 소유자만이 일차 네트워킹 서비스를 통해 연락처 1과 접속을 한다. 현재 프로필의 사용자는 연락처 5의 바로 아래에 "Blog Time" 네트워킹 서비스 목록을 표시하여 나타낸 바와 같이, "Blog Time"의 정의되지 않은 서비스를 통해 연락처 5와 관계가 있다. 연락처 목록, 연락처 관계 및 이차 네트워킹 서비스 목록은 몇 가지 방식으로 만들어질 수 있다는 것을 이해할 것이다. 그 예가 도 11에 도시되고, 여기에서 설명된 그 밖의 다른 예는 단지 예시적인 것이지, 이 정보를 표시하는 범위를 제한하고자 하는 것이 아니다.
본 기술에 관한 상기 상세한 설명은 예시 및 설명을 위해 제시되었다. 이것은 본 기술을 총망라하거나 개시된 형태 그대로 제한하고자 하는 것이 아니다. 상기 교시에 비추어 다수의 변경 및 변형이 가능하다. 설명된 실시예는 본 기술의 원리 및 그 실제 응용을 가장 잘 설명함으로써, 본 분야에 숙련된 기술자들이, 다양한 실시예에서 본 기술을 고려된 특정 사용에 적합한 다양한 변경에 의해 가장 잘 활용할 수 있게 하기 위해 선택되었다. 본 기술의 범위는 여기에 첨부된 청구 범위에 의해 정의된다.

Claims (20)

  1. 데이터를 저장하는 컴퓨터 구현 방법에 있어서,
    일차 네트워킹 서비스에 의해 유지된 제1 프로필(profile) 데이터 집합과 관련된 일차 네트워킹 서비스의 제1 사용자를 식별하는 단계(610, 630, 660);
    제1 이차 네트워킹 서비스로부터 상기 제1 사용자와 관련된 제2 프로필 데이터 집합을 검색하는(retrieving) 단계(540) - 상기 일차 네트워킹 서비스 및 이차 네트워킹 서비스는 서로 별도로 각자의 사용자 프로필 데이터를 저장함-;
    상기 이차 네트워킹 서비스와 관련된 상기 제2 프로필 데이터 집합과 함께 상기 일차 네트워킹 서비스와 관련된 상기 제1 프로필 데이터 집합을 집계하는(aggregating) 단계(830); 및
    집계된 상기 데이터를 데이터 저장소에 저장하는 단계(850)
    를 포함하는 컴퓨터 구현 방법.
  2. 제1항에 있어서, 상기 제2 프로필 데이터 집합은 하나 이상의 데이터 저장소와 통신하는 크롤러(crawler) 메커니즘에 의해 검색되는 컴퓨터 구현 방법.
  3. 제1항에 있어서, 상기 식별하는 단계는
    상기 일차 네트워킹 서비스에 계정이 있는 사용자에 대한 사용자 이름 및 암호를 수신하는 단계를 포함하는 컴퓨터 구현 방법.
  4. 제1항에 있어서, 상기 제1 사용자와 관련된 제2 프로필 데이터 집합을 검색하는 단계는
    상기 이차 네트워킹 서비스의 계정과 관련된 사용자에 대한 사용자 식별자에 기초하여 상기 이차 네트워킹 서비스의 계정과 관련된 상기 제1 사용자에 대한 프로필의 위치 정보를 판정하는 단계; 및
    상기 위치 정보를 사용하여 상기 이차 네트워킹 서비스의 사용자 프로필을 액세스하는 단계
    를 포함하는 컴퓨터 구현 방법.
  5. 제4항에 있어서, 상기 위치 정보를 판정하는 단계는
    상기 사용자 식별자에 기초하여 URL을 판정하는 단계를 포함하는 컴퓨터 구현 방법.
  6. 제4항에 있어서, 상기 위치 정보를 판정하는 단계는
    상기 사용자 식별자, 및 상기 일차 네트워킹 서비스에 의해 액세스 가능한 구성 파일(configuration file) 내에 포함된 URL 데이터로부터 상기 위치 정보를 판정하는 단계를 포함하는 컴퓨터 구현 방법.
  7. 제1항에 있어서, 상기 저장하는 단계는
    상기 일차 네트워킹 서비스에 대한 사용자 식별 정보 또는 인증 정보, 및 상기 이차 네트워킹 서비스의 계정과 관련된 프로필 사용자 데이터를 사용자 프로필 테이블 내에 저장하는 단계를 포함하는 컴퓨터 구현 방법.
  8. 제1항에 있어서, 상기 저장하는 단계는
    상기 일차 네트워킹 서비스에 대한 사용자 식별 정보, 및 상기 이차 네트워킹 서비스의 계정과 관련된 프로필 관계 데이터를 사용자 관계 테이블 내에 저장하는 단계를 포함하는 컴퓨터 구현 방법.
  9. 제1항에 있어서, 집계된 상기 제1 프로필 데이터 집합 및 제2 프로필 데이터 집합을 하나의 집계된 프로필 데이터 집합으로서 요청 엔티티에 제공하는 단계를 더 포함하는 컴퓨터 구현 방법.
  10. 제1항에 있어서, 상기 집계된 프로필 데이터를 제공하는 단계는
    상기 제1 사용자의 프로필을 보여주라는 요청을 클라이언트로부터 수신하는 단계;
    상기 집계된 프로필 데이터를 검색하는 단계; 및
    브라우저 애플리케이션에 의해 콘텐트 페이지 내에서 데이터를 볼 수 있도록 상기 집계된 프로필 데이터를 상기 클라이언트에 전송하는 단계
    를 포함하는 컴퓨터 구현 방법.
  11. 프로세서 판독가능 저장 장치에 프로세서 판독가능 코드가 구현되어 있는 하나 이상의 프로세서 판독가능 저장 장치에 있어서, 상기 프로세서 판독가능 코드는 하나 이상의 프로세서로 하여금,
    일차 네트워킹 서비스의 하나 이상의 사용자 프로필에 대한 요청을 수신하는 단계(910, 1010);
    요청된 상기 하나 이상의 프로필에 대해 데이터 저장소를 쿼리하는 단계(1020) - 상기 데이터 저장소는 상기 일차 네트워킹 서비스에 대한 하나 이상의 제1 프로필 데이터 집합, 및 하나 이상의 이차 네트워킹 서비스에 대한 하나 이상의 제2 프로필 데이터 집합으로부터 구성된 집계된 프로필 데이터를 포함하고, 상기 일차 네트워킹 서비스 및 이차 네트워킹 서비스는 네트워크를 통해 제공된 별도의 서비스들임-;
    상기 하나 이상의 제1 프로필 데이터 집합 및 상기 하나 이상의 제2 프로필 데이터 집합에 포함된 관계 데이터에 기초하여, 상기 집계된 프로필 데이터의 부분집합을 액세스하는 단계(1035) - 상기 이차 네트워킹 서비스의 상기 하나 이상의 제2 프로필 데이터 집합 내의 상기 관계 데이터는 상기 일차 네트워킹 서비스의 상기 하나 이상의 제1 프로필 데이터 집합의 상기 관계 데이터 내에 지정되지 않은 상기 일차 네트워킹 서비스의 두 사용자들 사이의 신뢰 관계를 포함함(도 4A, 4B)-; 및
    상기 집계된 프로필 데이터의 부분집합을 상기 클라이언트에 제공하는 단 계(930)
    를 포함하는 방법을 수행하게 하도록 프로그래밍된 하나 이상의 프로세서 판독가능 저장 장치.
  12. 제11항에 있어서, 상기 데이터 저장소를 쿼리하는 단계는
    상기 하나 이상의 이차 네트워킹 서비스에 관한 상기 일차 네트워킹 서비스의 사용자들 사이의 관계 데이터를 포함하는 사용자 관계 테이블을 액세스하는 단계를 포함하는 하나 이상의 프로세서 판독가능 저장 장치.
  13. 제11항에 있어서, 상기 요청은 기준 파라미터 및 관계 분리 파라미터를 포함하고, 상기 쿼리는 상기 데이터 저장소에 대한 상기 기준 파라미터 및 상기 관계 분리 파라미터를 포함하는 하나 이상의 프로세서 판독가능 저장 장치.
  14. 제13항에 있어서, 상기 관계 분리 파라미터는 상기 일차 네트워킹 서비스의 지정된 프로필과, 상기 집계된 프로필 데이터의 부분집합 내의 하나 이상의 프로필 각각의 사이에 허용된 분리 정도를 나타내는 하나 이상의 프로세서 판독가능 저장 장치.
  15. 제11항에 있어서, 상기 관계 데이터는
    제1 신뢰 관계가 상기 일차 네트워킹 서비스 내에서 제1 사용자와 제2 사용 자 사이에 존재하고;
    제2 신뢰 관계가 상기 이차 네트워킹 서비스 내에서 상기 제2 사용자와 제3 사용자 사이에 존재하며;
    2단계 분리를 통해 상기 제1 사용자와 상기 제3 사용자 사이에 관계가 존재하는
    것을 나타내는 하나 이상의 프로세서 판독가능 저장 장치.
  16. 제11항에 있어서, 상기 집계된 프로필 데이터의 부분집합은 하나 이상의 프로필에 대해서 상기 쿼리에 따르는 하나 이상의 선택된 프로필을 포함하고, 상기 선택된 프로필들 중 적어도 하나의 프로필은 상기 일차 네트워킹 서비스 및 상기 이차 네트워킹 서비스로부터 액세스된 집계된 프로필 데이터를 포함하는 하나 이상의 프로세서 판독가능 저장 장치.
  17. 데이터를 액세스하는 컴퓨터 구현 방법에 있어서,
    일차 네트워킹 서비스에 의해 유지된 제1 프로필 데이터 집합과 관련된 일차 네트워킹 서비스의 제1 사용자를 선택하는 단계(610, 630, 650);
    제1 이차 네트워킹 서비스로부터 상기 제1 사용자와 관련된 제2 프로필 데이터 집합을 검색하는 단계(540);
    제1 일차 네트워킹 서비스와 관련된 하나 이상의 데이터 저장소 내에 상기 제2 프로필 데이터 집합을 저장하는 단계(550) - 상기 저장하는 단계는 상기 일차 네트워킹 서비스와 관련된 상기 제1 프로필 데이터 집합을 상기 하나 이상의 데이터 저장소 내의 상기 이차 네트워킹 서비스와 관련된 상기 제2 프로필 데이터 집합과 연결하는(linking) 단계를 포함함-;
    일차 네트워킹 서비스의 하나 이상의 사용자 프로필에 대한 요청을 클라이언트로부터 수신하는 단계(910) - 상기 요청은 관계 분리 파라미터와 관련됨-;
    상기 관계 분리 파라미터에 매칭하는 연결된 데이터를 선택하는 단계(1025) - 선택된 상기 연결된 데이터는 상기 일차 네트워킹 서비스의 하나 이상의 상기 제1 프로필 데이터 집합의 관계 데이터 내에 지정되지 않은 상기 일차 네트워킹 서비스의 두 사용자들 사이의 신뢰 관계를 포함함(도 4A, 4B)-; 및
    선택된 상기 연결된 데이터를 상기 클라이언트에 제공하는 단계(930)
    를 포함하는 컴퓨터 구현 방법.
  18. 제17항에 있어서, 상기 연결된 데이터는 상기 이차 네트워킹 서비스로부터의 프로필 데이터와 함께 집계된 상기 일차 네트워킹 서비스로부터의 프로필 데이터를 포함하는 컴퓨터 구현 방법.
  19. 제17항에 있어서, 상기 연결된 데이터는 상기 이차 네트워킹 서비스로부터의 프로필 데이터와 병합된(merged) 상기 일차 네트워킹 서비스로부터의 프로필 데이터 및 콘텐트 데이터를 포함하는 컴퓨터 구현 방법.
  20. 제17항에 있어서, 상기 연결된 데이터는 상기 이차 네트워킹 서비스 및 상기 일차 네트워킹 서비스와 관련된 관계 데이터를 통해 관련되고, 상기 관계 데이터는 상기 일차 네트워킹 서비스와 관련된 하나 이상의 데이터 저장소 내에 저장되는 컴퓨터 구현 방법.
KR1020097026085A 2007-06-21 2008-06-02 복수의 서비스로부터의 프로필 데이터의 집계 및 검색 KR20100022980A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/766,363 US7818396B2 (en) 2007-06-21 2007-06-21 Aggregating and searching profile data from multiple services
US11/766,363 2007-06-21

Publications (1)

Publication Number Publication Date
KR20100022980A true KR20100022980A (ko) 2010-03-03

Family

ID=40136368

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097026085A KR20100022980A (ko) 2007-06-21 2008-06-02 복수의 서비스로부터의 프로필 데이터의 집계 및 검색

Country Status (14)

Country Link
US (2) US7818396B2 (ko)
EP (1) EP2158552B1 (ko)
JP (1) JP5297453B2 (ko)
KR (1) KR20100022980A (ko)
CN (1) CN101689210B (ko)
AU (1) AU2008268946B2 (ko)
BR (1) BRPI0811318B1 (ko)
CA (1) CA2686875A1 (ko)
IL (1) IL201542A (ko)
MX (1) MX2009013452A (ko)
MY (1) MY158114A (ko)
RU (1) RU2463654C2 (ko)
TW (2) TWI479333B (ko)
WO (1) WO2009002658A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140102187A (ko) * 2011-11-16 2014-08-21 마이크로소프트 코포레이션 생산성 애플리케이션에서 서비스 피처를 인에이블링하기

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7912960B2 (en) * 2005-06-20 2011-03-22 Microsoft Corporation Reciprocal public trust relationship
US8384753B1 (en) 2006-12-15 2013-02-26 At&T Intellectual Property I, L. P. Managing multiple data sources
US8619978B2 (en) * 2006-12-22 2013-12-31 Pagebites, Inc. Multiple account authentication
US20080228699A1 (en) 2007-03-16 2008-09-18 Expanse Networks, Inc. Creation of Attribute Combination Databases
US7818396B2 (en) * 2007-06-21 2010-10-19 Microsoft Corporation Aggregating and searching profile data from multiple services
US9275118B2 (en) 2007-07-25 2016-03-01 Yahoo! Inc. Method and system for collecting and presenting historical communication data
US9336177B2 (en) * 2007-10-15 2016-05-10 23Andme, Inc. Genome sharing
US9584343B2 (en) 2008-01-03 2017-02-28 Yahoo! Inc. Presentation of organized personal and public data using communication mediums
US9064021B2 (en) * 2008-10-02 2015-06-23 Liveramp, Inc. Data source attribution system
KR101653980B1 (ko) * 2008-10-22 2016-09-05 삼성전자주식회사 프로파일 관리 방법 및 장치
US8108406B2 (en) 2008-12-30 2012-01-31 Expanse Networks, Inc. Pangenetic web user behavior prediction system
EP3276526A1 (en) 2008-12-31 2018-01-31 23Andme, Inc. Finding relatives in a database
US8190119B2 (en) * 2009-03-03 2012-05-29 E3 Llc System and method for direct communication between wireless communication devices
TWI409662B (zh) * 2009-03-20 2013-09-21 Hon Hai Prec Ind Co Ltd 安全輸入系統及安全輸入方法
EP2438571A4 (en) 2009-06-02 2014-04-30 Yahoo Inc AUTOMATICALLY ADDRESSED ADDRESS BOOK
US20100318925A1 (en) * 2009-06-12 2010-12-16 Microsoft Corporation Integrating updates into a social-networking service
US20110004561A1 (en) * 2009-07-01 2011-01-06 Microsoft Corporation Contact Information Aggregation
US7930430B2 (en) 2009-07-08 2011-04-19 Xobni Corporation Systems and methods to provide assistance during address input
US8990323B2 (en) 2009-07-08 2015-03-24 Yahoo! Inc. Defining a social network model implied by communications data
US8984074B2 (en) 2009-07-08 2015-03-17 Yahoo! Inc. Sender-based ranking of person profiles and multi-person automatic suggestions
US9721228B2 (en) 2009-07-08 2017-08-01 Yahoo! Inc. Locally hosting a social network using social data stored on a user's computer
JP5155272B2 (ja) * 2009-09-14 2013-03-06 ヤフー株式会社 コミュニティ管理プラットフォーム装置
US9087323B2 (en) 2009-10-14 2015-07-21 Yahoo! Inc. Systems and methods to automatically generate a signature block
US9514466B2 (en) 2009-11-16 2016-12-06 Yahoo! Inc. Collecting and presenting data including links from communications sent to or from a user
US8627230B2 (en) * 2009-11-24 2014-01-07 International Business Machines Corporation Intelligent command prediction
US9760866B2 (en) 2009-12-15 2017-09-12 Yahoo Holdings, Inc. Systems and methods to provide server side profile information
US20110161830A1 (en) * 2009-12-30 2011-06-30 International Business Machines Corporation Faceted profiles with customized privacy controls and personalized view
US20110167114A1 (en) * 2010-01-05 2011-07-07 International Business Machines Corporation Automatically synchronizing new contacts across multiple social networking sites
US8924956B2 (en) 2010-02-03 2014-12-30 Yahoo! Inc. Systems and methods to identify users using an automated learning process
US8423545B2 (en) * 2010-02-03 2013-04-16 Xobni Corporation Providing user input suggestions for conflicting data using rank determinations
US20120066303A1 (en) 2010-03-03 2012-03-15 Waldeck Technology, Llc Synchronized group location updates
US8754848B2 (en) 2010-05-27 2014-06-17 Yahoo! Inc. Presenting information to a user based on the current state of a user device
US8972257B2 (en) 2010-06-02 2015-03-03 Yahoo! Inc. Systems and methods to present voice message information to a user of a computing device
US8620935B2 (en) 2011-06-24 2013-12-31 Yahoo! Inc. Personalizing an online service based on data collected for a user of a computing device
US9317839B2 (en) * 2010-10-07 2016-04-19 Microsoft Technology Licensing, Llc Automatic contact linking from multiple sources
US9424556B2 (en) 2010-10-14 2016-08-23 Nokia Technologies Oy Method and apparatus for linking multiple contact identifiers of an individual
US9384473B2 (en) * 2010-10-21 2016-07-05 Subrao Venugopal Shenoy Methods and systems for creating online unified contact and communication management (CM) platform
US20120158792A1 (en) * 2010-12-17 2012-06-21 Microsoft Corporation Aggregated profile and online concierge
KR101992770B1 (ko) * 2010-12-24 2019-10-01 삼성전자주식회사 소셜 네트워크를 지원하는 단말기에서 질의 처리를 위한 장치 및 방법
US8996548B2 (en) * 2011-01-19 2015-03-31 Inmar Analytics, Inc. Identifying consuming entity behavior across domains
US20120246137A1 (en) * 2011-03-22 2012-09-27 Satish Sallakonda Visual profiles
US9529915B2 (en) * 2011-06-16 2016-12-27 Microsoft Technology Licensing, Llc Search results based on user and result profiles
US10078819B2 (en) 2011-06-21 2018-09-18 Oath Inc. Presenting favorite contacts information to a user of a computing device
US9747583B2 (en) 2011-06-30 2017-08-29 Yahoo Holdings, Inc. Presenting entity profile information to a user of a computing device
TWI503018B (zh) * 2011-07-05 2015-10-01 Htc Corp 無線服務提供方法
US8396867B2 (en) 2011-07-13 2013-03-12 Nimblecat, Inc. Identifying and ranking networked biographies and referral paths corresponding to selected qualifications
US8244851B1 (en) * 2011-10-18 2012-08-14 Clintelica AB Group network connector
US9363135B1 (en) * 2011-09-21 2016-06-07 Google Inc. Social vicinity service for social networks
US8745144B2 (en) * 2011-09-28 2014-06-03 Microsoft Corporation Persisting contact information in mailbox
US10437858B2 (en) 2011-11-23 2019-10-08 23Andme, Inc. Database and data processing system for use with a network-based personal genetics services platform
US9396277B2 (en) * 2011-12-09 2016-07-19 Microsoft Technology Licensing, Llc Access to supplemental data based on identifier derived from corresponding primary application data
US10311106B2 (en) * 2011-12-28 2019-06-04 Www.Trustscience.Com Inc. Social graph visualization and user interface
US10977285B2 (en) 2012-03-28 2021-04-13 Verizon Media Inc. Using observations of a person to determine if data corresponds to the person
RU2486587C1 (ru) * 2012-04-19 2013-06-27 Федеральное государственное унитарное предприятие "Научно-исследовательский институт "Восход" Система ведения реестра пользователей портала обеспечения законотворческой деятельности
US9058614B2 (en) 2012-05-21 2015-06-16 Sphereup Ltd. System and method for dynamically clustering data items
EP2667338A1 (en) * 2012-05-24 2013-11-27 BlackBerry Limited Methods and apparatus for use in adding contacts between profiles of different social networks
WO2014052939A1 (en) * 2012-09-28 2014-04-03 Musio Inc. Aggregating user information and content in a social network
US10013672B2 (en) 2012-11-02 2018-07-03 Oath Inc. Address extraction from a communication
US10192200B2 (en) 2012-12-04 2019-01-29 Oath Inc. Classifying a portion of user contact data into local contacts
WO2014134617A1 (en) * 2013-03-01 2014-09-04 Synata, Inc. Methods and systems for searching enterprise data
US20140258358A1 (en) * 2013-03-11 2014-09-11 Htc Corporation Method of combining network data and mobile device using the same
US10417612B2 (en) 2013-12-04 2019-09-17 Microsoft Technology Licensing, Llc Enhanced service environments with user-specific working sets
EP2887279A1 (en) * 2013-12-20 2015-06-24 Facebook, Inc. Combining user profile information maintained by various social networking systems
US9380128B2 (en) * 2013-12-20 2016-06-28 Facebook, Inc. Combining user profile information maintained by various social networking systems
US9270815B2 (en) 2014-06-24 2016-02-23 At&T Intellectual Property I, Lp Method and apparatus for data management of third party services
US10296546B2 (en) * 2014-11-24 2019-05-21 Adobe Inc. Automatic aggregation of online user profiles
KR102275180B1 (ko) * 2015-02-26 2021-07-08 에스케이플래닛 주식회사 메신저 서비스에서의 그룹 아이콘 구성 방법 및 이를 위한 장치
RU2633177C2 (ru) * 2015-03-31 2017-10-11 Общество С Ограниченной Ответственностью "Яндекс" Система и способ загрузки части контента пользователя на электронное устройство неавторизированного пользователя
CN106302308B (zh) * 2015-05-12 2019-12-24 阿里巴巴集团控股有限公司 一种信任登录方法和装置
ITUB20156079A1 (it) 2015-12-02 2017-06-02 Torino Politecnico Metodo per individuare i servizi di web tracking
CN106921614B (zh) * 2015-12-24 2020-05-22 北京国双科技有限公司 业务数据处理方法和装置
US10141323B2 (en) 2016-01-04 2018-11-27 Taiwan Semiconductor Manufacturing Company, Ltd. Non-volatile memory and method of manufacturing the same
US10165077B2 (en) 2016-06-08 2018-12-25 Microsoft Technology Licensing, Llc Cache management in a composite data environment
US10902070B2 (en) 2016-12-15 2021-01-26 Microsoft Technology Licensing, Llc Job search based on member transitions from educational institution to company
US10404631B2 (en) 2017-01-13 2019-09-03 Microsoft Technology Licensing, Llc Creating groups in a messaging system
WO2018132304A1 (en) * 2017-01-13 2018-07-19 Microsoft Technology Licensing, Llc Creating groups in a messaging system
US10679187B2 (en) 2017-01-30 2020-06-09 Microsoft Technology Licensing, Llc Job search with categorized results
US10783497B2 (en) 2017-02-21 2020-09-22 Microsoft Technology Licensing, Llc Job posting data search based on intercompany worker migration
US10607189B2 (en) 2017-04-04 2020-03-31 Microsoft Technology Licensing, Llc Ranking job offerings based on growth potential within a company
US20180285822A1 (en) * 2017-04-04 2018-10-04 Linkedln Corporation Ranking job offerings based on connection mesh strength
CN109658094B (zh) 2017-10-10 2020-09-18 阿里巴巴集团控股有限公司 随机游走、基于集群的随机游走方法、装置以及设备
CN110019975B (zh) * 2017-10-10 2020-10-16 创新先进技术有限公司 随机游走、基于集群的随机游走方法、装置以及设备
EP3747165B1 (en) * 2018-02-03 2022-09-14 Nokia Technologies Oy Application based routing of data packets in multi-access communication networks
EP3874510A4 (en) 2018-10-31 2022-08-03 Ancestry.com DNA, LLC ESTIMATION OF PHENOTYPES USING DNA, PEDIGREE AND HISTORICAL DATA

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6105063A (en) * 1998-05-05 2000-08-15 International Business Machines Corp. Client-server system for maintaining application preferences in a hierarchical data structure according to user and user group or terminal and terminal group contexts
US6839680B1 (en) 1999-09-30 2005-01-04 Fujitsu Limited Internet profiling
US6606644B1 (en) * 2000-02-24 2003-08-12 International Business Machines Corporation System and technique for dynamic information gathering and targeted advertising in a web based model using a live information selection and analysis tool
US6438539B1 (en) * 2000-02-25 2002-08-20 Agents-4All.Com, Inc. Method for retrieving data from an information network through linking search criteria to search strategy
AU2001245376A1 (en) * 2000-02-29 2001-09-12 Winwin Technologies, Ltd. System and method for distributed audience profile development through consensual interaction with a network
US6976066B1 (en) 2000-05-22 2005-12-13 Microsoft Corporation Network and method for implementing network platform services for a computing device
US7155508B2 (en) 2000-09-01 2006-12-26 Yodlee.Com, Inc. Target information generation and ad server
US7788212B2 (en) 2000-09-05 2010-08-31 Big Think Llc System and method for personalization implemented on multiple networks and multiple interfaces
US20020029254A1 (en) 2000-09-06 2002-03-07 Davis Terry L. Method and system for managing personal information
US20020082870A1 (en) * 2000-11-20 2002-06-27 Mark Penny System and method for processing patient medical information
GB2372587B (en) * 2000-12-15 2005-06-22 Hutchison Telephone Company Lt Automatic downloading for mobile computing devices
US20020129145A1 (en) 2001-03-06 2002-09-12 Accelerate Software Inc. Method and system for real-time querying, retrieval and integration of data from database over a computer network
US7447756B2 (en) 2002-05-21 2008-11-04 At&T Intellectual Property I, L.P. Temporary aliasing for resource list
US20030236823A1 (en) * 2002-06-19 2003-12-25 Robert Patzer Information sharing groups, server and client group applications, and methods therefor
US7360174B2 (en) 2002-12-19 2008-04-15 Microsoft Corporation Contact user interface
US7069308B2 (en) * 2003-06-16 2006-06-27 Friendster, Inc. System, method and apparatus for connecting users in an online computer system based on their relationships within social networks
US8554876B2 (en) 2004-01-23 2013-10-08 Hewlett-Packard Development Company, L.P. User profile service
US7269590B2 (en) * 2004-01-29 2007-09-11 Yahoo! Inc. Method and system for customizing views of information associated with a social network user
JP2005242934A (ja) 2004-02-27 2005-09-08 Kddi Corp プロファイル管理装置およびそのプログラム
US20050209999A1 (en) * 2004-03-19 2005-09-22 Kenny Jou Systems and methods for class designation in a computerized social network application
US20050216550A1 (en) * 2004-03-26 2005-09-29 Paseman William G Communication mode and group integration for social networks
US7342587B2 (en) * 2004-10-12 2008-03-11 Imvu, Inc. Computer-implemented system and method for home page customization and e-commerce support
US7593925B2 (en) 2005-02-25 2009-09-22 Microsoft Corporation Method and system for locating contact information collected from contact sources
US8412780B2 (en) * 2005-03-30 2013-04-02 Google Inc. Methods and systems for providing current email addresses and contact information for members within a social network
JP4625365B2 (ja) 2005-05-02 2011-02-02 日本放送協会 推薦順位選定装置及び推薦順位選定プログラム
US8379837B2 (en) * 2005-05-06 2013-02-19 Qualcomm Incorporated Method and system for providing and managing public telephone directory service
JP4778265B2 (ja) 2005-05-12 2011-09-21 富士通株式会社 紹介支援プログラム
JP4732831B2 (ja) * 2005-08-16 2011-07-27 純一郎 森 情報共有設定方法および情報共有設定プログラム
US7797318B2 (en) 2005-08-25 2010-09-14 Microsoft Corporation Networking through electronic messaging and mail
CN101253757B (zh) 2005-09-01 2013-03-20 株式会社爱可信 通信系统和通信终端
US8190724B2 (en) * 2006-10-13 2012-05-29 Yahoo! Inc. Systems and methods for establishing or maintaining a personalized trusted social network
US8402356B2 (en) * 2006-11-22 2013-03-19 Yahoo! Inc. Methods, systems and apparatus for delivery of media
US20080189366A1 (en) * 2006-12-15 2008-08-07 Cox Richard D Online Social and Professional Networking and Collaboration Services with Enhanced Communications Capabilities
US20080250332A1 (en) * 2006-12-29 2008-10-09 Ecirkit Social networking website interface
US20080172464A1 (en) * 2007-01-12 2008-07-17 Nthid Networks, Inc. Generation of contextual information in communication between parties
US20080183814A1 (en) * 2007-01-29 2008-07-31 Yahoo! Inc. Representing online presence for groups
US9715543B2 (en) * 2007-02-28 2017-07-25 Aol Inc. Personalization techniques using image clouds
US7680882B2 (en) * 2007-03-06 2010-03-16 Friendster, Inc. Multimedia aggregation in an online social network
AU2008257149A1 (en) 2007-05-24 2008-12-04 Facebook, Inc. Personalized platform for accessing internet applications
AU2008261648B2 (en) * 2007-06-12 2013-10-03 Facebook, Inc. Personalized social networking application content
US7818396B2 (en) 2007-06-21 2010-10-19 Microsoft Corporation Aggregating and searching profile data from multiple services
US20090150222A1 (en) * 2007-12-10 2009-06-11 Alexander Polonsky Method for increasing the accuracy of social network profiles

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140102187A (ko) * 2011-11-16 2014-08-21 마이크로소프트 코포레이션 생산성 애플리케이션에서 서비스 피처를 인에이블링하기
US10192199B2 (en) 2011-11-16 2019-01-29 Microsoft Technology Licensing, Llc Enabling service features within productivity applications
KR20190118677A (ko) * 2011-11-16 2019-10-18 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 생산성 애플리케이션 내의 서비스 피처 인에이블링 기법

Also Published As

Publication number Publication date
BRPI0811318A2 (pt) 2020-05-19
EP2158552A1 (en) 2010-03-03
US8073928B2 (en) 2011-12-06
MX2009013452A (es) 2010-01-15
TW200900959A (en) 2009-01-01
US20080316925A1 (en) 2008-12-25
TWI479333B (zh) 2015-04-01
EP2158552A4 (en) 2011-09-07
IL201542A (en) 2014-07-31
MY158114A (en) 2016-08-30
BRPI0811318B1 (pt) 2021-01-12
CA2686875A1 (en) 2008-12-31
TWI479331B (zh) 2015-04-01
JP2010530720A (ja) 2010-09-09
JP5297453B2 (ja) 2013-09-25
CN101689210B (zh) 2013-09-11
TW201439789A (zh) 2014-10-16
IL201542A0 (en) 2010-05-31
US7818396B2 (en) 2010-10-19
AU2008268946A1 (en) 2008-12-31
EP2158552B1 (en) 2018-11-07
US20110035464A1 (en) 2011-02-10
CN101689210A (zh) 2010-03-31
WO2009002658A1 (en) 2008-12-31
AU2008268946B2 (en) 2012-06-07
RU2463654C2 (ru) 2012-10-10
RU2009147271A (ru) 2011-06-27

Similar Documents

Publication Publication Date Title
US8073928B2 (en) Aggregating and searching profile data from multiple services
US9665642B2 (en) Automatic identification of digital content related to a block of text, such as a blog entry
US9147220B2 (en) Systems and methods to facilitate searches based on social graphs and affinity groups
US9324113B2 (en) Presenting social network connections on a search engine results page
US8527486B2 (en) Mobile application discovery through mobile search
US7478078B2 (en) Method for sharing relationship information stored in a social network database with third party databases
US10528574B2 (en) Topical trust network
US20100161369A1 (en) Application of relationship weights to social network connections
US20120158792A1 (en) Aggregated profile and online concierge
US20130166565A1 (en) Interest based social network system
KR20120036831A (ko) 갱신들의 소셜 네트워킹 서비스 내로의 통합
KR20120087972A (ko) 검색으로부터의 콘텐츠를 문서 또는 메시지에 추가하는 메커니즘
US10867337B2 (en) Creating secure social applications with extensible types
CA2692314A1 (en) Systems and methods to provide search based on social graphs and affinity groups

Legal Events

Date Code Title Description
SUBM Surrender of laid-open application requested