KR101868529B1 - 클라이언트 장치 상의 복수의 애플리케이션에서 사용자 상호작용 연관시키기 - Google Patents

클라이언트 장치 상의 복수의 애플리케이션에서 사용자 상호작용 연관시키기 Download PDF

Info

Publication number
KR101868529B1
KR101868529B1 KR1020167034286A KR20167034286A KR101868529B1 KR 101868529 B1 KR101868529 B1 KR 101868529B1 KR 1020167034286 A KR1020167034286 A KR 1020167034286A KR 20167034286 A KR20167034286 A KR 20167034286A KR 101868529 B1 KR101868529 B1 KR 101868529B1
Authority
KR
South Korea
Prior art keywords
party
user
interaction
identifier
client device
Prior art date
Application number
KR1020167034286A
Other languages
English (en)
Other versions
KR20170002578A (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 KR20170002578A publication Critical patent/KR20170002578A/ko
Application granted granted Critical
Publication of KR101868529B1 publication Critical patent/KR101868529B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • 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/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/18Commands or executable codes
    • H04L51/32
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
    • H04L67/20
    • H04L67/22
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • H04L67/32
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Abstract

온라인 시스템은 제3자 시스템에서 기원한 제3자 컨텐츠를 클라이언트 장치로 전송한다. 제3자 컨텐츠는 제3자 시스템과 연관된 제3자 애플리케이션으로의 포인터를 포함한다. 클라이언트 장치가 클라이언트 장치의 사용자로부터 제3자 컨텐츠와의 상호작용을 수신하면, 클라이언트 장치는 제3자 애플리케이션을 실행하고 속성 식별자를 생성하는데 이로부터 사용자의 신원은 결정될 수 없다. 속성 식별자는 온라인 시스템으로 전송된다. 이어서, 클라이언트 장치는 제3자 시스템으로 속성 식별자와 함께 전송되는 사용자에 의한 제3자 애플리케이션과의 상호작용을 서술하는 정보를 결정한다. 제3자 시스템은 속성 식별자와 제3자와의 상호작용을 서술하는 정보를 온라인 시스템으로 전송하는데, 속성 식별자와 매칭시켜 제3자 컨텐츠와의 상호작용을 제3자 애플리케이션과의 상호작용과 연관시킨다.

Description

클라이언트 장치 상의 복수의 애플리케이션에서 사용자 상호작용 연관시키기{ASSOCIATING USER INTERACTIONS ACROSS MULTIPLE APPLICATIONS ON A CLIENT DEVICE}
본 발명은 소셜 네트워킹 시스템에 관한 것이다.
소셜 네트워킹 시스템 또는 온라인 시스템은 그 사용자가 다른 소셜 네트워킹 시스템 사용자와 연결되고 통신할 수 있게 한다. 사용자는 그 신원과 관련되고 사용자에 대한 정보, 예컨대 관심사와 인구통계적 정보를 포함하는 프로필을 소셜 네트워킹 시스템 상에 생성할 수 있다. 사용자들은 개인 또는 기업이나 자선단체와 같은 엔티티들일 수 있다. 소셜 네트워킹 시스템의 증가하는 대중성과 소셜 네트워킹 시스템에 의해 관리되는 사용자-고유 정보의 증가하는 양으로 인해, 소셜 네트워킹 시스템은 광고자들이 광고를 소셜 네트워킹 시스템 사용자들에게 제시함으로써 상품 또는 서비스에 관한 인식을 증가시키기 위한 이상적인 포럼을 제공한다.
소셜 네트워킹 시스템이나 다른 온라인 시스템의 사용자는 소셜 네트워킹 시스템이나 다른 온라인 시스템에 접속하기 위하여 스마트폰이나 태블릿 컴퓨터와 같은 모바일 장치를 점점 더 사용한다. 일반적으로, 모바일 장치 상에서 실행되는 애플리케이션은 소셜 네트워킹 시스템이나 온라인 시스템과 정보를 교환하여 사용자에게 컨텐츠를 제공한다. 하지만, 애플리케이션은 통상적으로 특정 온라인 시스템과 연관되고, 따라서 사용자는 다양한 온라인 시스템이나 다른 소스로부터 컨텐츠를 검색하기 위해 복수의 애플리케이션에 자주 접속한다. 상이한 컨텐츠에 접근하기 위하여 복수의 애플리케이션에 접속하는 것은 시간을 소비하기 때문에, 사용자는 특정 애플리케이션과 드물게 상호작용할 수 있고, 사용자가 드물게 접속하는 애플리케이션에 의해 제시되는 관련성이 높거나 흥미있는 컨텐츠를 간과하게 된다.
소셜 네트워킹 시스템과 같은 온라인 시스템은 모바일 장치와 같은 클라이언트 장치의 사용자 간의 통신(예컨대, 온라인 시스템 외부의 소스로부터의 컨텐츠 공유)를 가능하게 한다. 온라인 시스템은 컨텐츠(예컨대, 소셜 네트워크 컨텐츠, 이미지, 비디오, 오디오, 다른 미디어, 광고)를 클라이언트 장치 상에서 실행되는 애플리케이션을 통하여 온라인 시스템의 사용자에게 전달할 수 있다. 컨텐츠는 클라이언트 장치 상에서 실행중인 제3자 애플리케이션을 명시하는 포인터를 포함할 수 있는데, 포인터는 제3자 애플리케이션에 의해 표시되기 위한 컨텐츠를 식별한다. 사용자가 포인터 등을 포함하는 컨텐츠와 상호작용할 때, 클라이언트 장치는 포인터에 의해 식별되는 컨텐츠를 표시하는 제3자 애플리케이션을 실행한다. 만약 포인터에 의해 명시되는 제3자 애플리케이션이 사용자의 클라이언트 장치에 설치되지 않았다면, 사용자는 포인터에 의해 명시된 제3자 애플리케이션을 설치하도록 유도될 수 있다.
사용자가 클라이언트 장치 상에서 실행 중이고 온라인 시스템과 연관된 애플리케이션을 통하여 제3자 애플리케이션을 명시하는 포인터를 포함하는 컨텐츠와 상호작용할 때, 온라인 시스템과 연관된 애플리케이션은 상호작용에 대한 정보를 온라인 시스템과 통신하고, 포인터를 포함하는 컨텐츠와의 상호작용과 연관된 속성 식별자를 생성하고, 클라이언트 장치 상에서 실행 중인 복수의 애플리케이션에 의해 접근 가능한 클라이언트 장치의 저장소에 속성 식별자를 저장한다. 포인터를 포함하는 컨텐츠와의 사용자 상호작용의 ID는 속성 식별자로부터 확인될 수 없다. 온라인 시스템과 연관된 애플리케이션은 속성 식별자 및 제3자 애플리케이션과의 상호작용에 관한 다른 정보를 온라인 시스템과 통신한다.
식별자에 의해 명시된 제3자 애플리케이션은 사용자가 상호작용하는 온라인 시스템으로부터 컨텐츠 내의 포인터에 의해 식별된 컨텐츠를 실행하고 디스플레이한다. 추가적으로, 제3자 애플리케이션은 제3자 애플리케이션의 실행에 대응하는 실행 식별자를 생성한다. 이 실행 식별자는 제3자 애플리케이션과 연관된 제3자 시스템에 계정을 만들지 않은 사용자 또는 제3자 애플리케이션과 연관된 제3자 시스템의 계정에 로그인하지 않은 사용자에 대한 임시 사용자 식별자로 기능할 수 있다. 사용자가 제3자 애플리케이션과 상호작용함에 따라, 제3자 애플리케이션은 제3자 애플리케이션과의 사용자 상호작용을 서술하는 정보(예컨대, 사용자에게 컨텐츠의 표시, 제3자 애플리케이션에 계정을 생성하는 프로세스)를 저장하고, 제3자 애플리케이션과의 사용자 상호작용을 생성된 실행 식별자와 연관시키고, 이 상호작용을 제3자 애플리케이션과 연관된 제3자 시스템으로 통신한다. 일부 실시예에서, 제3자 시스템은 속성 식별자 및 실행 식별자와 연관된 제3자 애플리케이션과의 사용자 상호작용을 서술하는 정보를 온라인 시스템으로 송신하는데, 실행 식별자에 기반하여 사용자를 식별하고, 제3자 애플리케이션과의 상호작용을 온라인 시스템에 의해 사용자와 연관된 정보와 연관시킨다.
본 발명의 내용 중에 포함되어 있다.
도 1a는 일실시예에 따른 온라인 시스템의 시스템 환경의 블록도이다.
도 1b는 일실시예에 따른 시스템 환경의 컴포넌트에 의한 제3자 컨텐츠와의 상호작용을 설명하는 상호작용도이다.
도 2는 일실시예에 따른, 온라인 시스템의 블록도이다.
도 3은 일실시예에 따른, 클라이언트 장치 상에서 실행중인 애플리케이션에서 사용자 상호작용을 연관시키는 프로세스의 흐름도이다.
도 4는 일실시예에 따른, 클라이언트 장치 상에서 실행중인 애플리케이션에서 사용자 상호작용을 보고하는 프로세스의 흐름도이다.
도 5a, 5b 및 5c는 일실시예에 따른, 클라이언트 애플리케이션과 제3자 애플리케이션의 사용자 인터페이스의 예시를 도시한다.
도 6a, 6b 및 6c는 일실시예에 따른, 클라이언트 애플리케이션과 제3자 인터페이스의 사용자 인터페이스의 추가 예시를 도시한다.
도면들은 단지 예시적인 목적으로 다양한 실시예들을 도시한다. 통상의 기술자는 후술할 설명으로부터 본 명세서에 설명되는 구조 및 방법의 대안적인 실시예가 본 명세서에 설명되는 발명의 원리로부터 벗어나지 않고 채용될 수 있음을 용이하게 인식할 것이다.
시스템 구조
도 1a는 온라인 시스템(120)을 위한 시스템 환경의 하이 레벨 블록도이다. 도 1a에 도시되는 시스템 환경은 클라이언트 장치(100), 온라인 시스템(120), 하나 이상의 제3자 시스템(130) 및 네트워크(140)를 포함한다. 클라이언트 장치(100)는 클라이언트 애플리케이션(105), 공유 저장소(110) 및 제3자 애플리케이션(115)을 포함한다. 대안적 구성으로, 상이한 컴포넌트 및/또는 추가 컴포넌트는 시스템 환경에 포함될 수 있다. 본 명세서에 서술되는 실시예는 온라인 시스템(120)이 아닌 온라인 시스템에 적응될 수 있다.
클라이언트 장치(100)는 사용자 입력을 수신하고, 컨텐츠를 디스플레이하고, 네트워크(140)를 통해 데이터를 송신 및/또는 수신할 수 있는 하나 이상의 컴퓨팅 장치이다. 일실시예에서, 클라이언트 장치(100)는 가령 개인용 정보단말기(PDA), 모바일폰, 스마트폰이나 다른 적절한 장치와 같이, 컴퓨팅 기능을 갖는 장치일 수 있다. 대안적으로 또는 추가적으로, 클라이언트 장치(100)는 데스크톱이나 랩톱과 같은 종래의 컴퓨터 시스템이다. 클라이언트 장치(100)는 네트워크(140)를 통해 통신하도록 구성된다.
일실시예에서, 클라이언트 장치(100)는 클라이언트 장치(100)의 사용자가 온라인 시스템(120)과 상호작용할 수 있게 하는 클라이언트 애플리케이션(105)을 실행한다. 예컨대, 클라이언트 장치(100)는 네트워크(140)를 통해 클라이언트 장치(100)와 온라인 시스템(120) 사이의 상호작용을 가능하게 하는 브라우저 애플리케이션을 실행한다. 클라이언트 장치(100)는 또한 클라이언트 장치(100)의 사용자가 제3자 시스템(130)와 상호작용할 수 있게 하는 제3자 애플리케이션(115)을 실행한다. 클라이언트 장치(100)는 클라이언트 장치(100)의 네이티브 운영 체제, 예컨대 IOS® 또는 ANDROID™에서 실행되는 API(application programming interface)를 통해 온라인 시스템(120) 또는 제3자 시스템(130)와 상호작용할 수 있다.
클라이언트 애플리케이션(105) 및 제3자 애플리케이션(115) 외에, 클라이언트 장치(100)는 클라이언트 장치(100) 상에서 실행되는 복수의 애플리케이션, 예컨대 클라이언트 애플리케이션(105) 및 제3자 애플리케이션(115)에 의해 접근가능한 공유 저장소(110)를 포함한다. 일실시예에서, 공유 저장소(110)는 애플리케이션이 임시로 또는 영구적으로 애플리케이션에 의한 또는 하나 이상의 추가 애플리케이션에 의한 나중의 접근을 위하여 데이터를 저장할 수 있게 한다. 예를 들어, 클라이언트 애플리케이션(105)은 공유 저장소(110)에 데이터(예컨대 수치 데이터, 데이터의 문자열)를 저장하고, 제3자 애플리케이션(115)은 저장된 데이터를 검색한다. 공유 저장소(110)는 큐, 스택, 배열 또는 임의의 다른 적절한 데이터 구조로 구현될 수 있고, 선택적으로 저장되는 데이터 양이나 데이터가 공유 저장소(110)에 저장되는 기간에 제약을 포함할 수 있다.
온라인 시스템(120)은 사용자 간의, 컨텐츠의 공유를 포함한 통신을 가능하게 한다. 예컨대, 온라인 시스템(120)은 소셜 네트워킹 시스템이다. 온라인 시스템(120)은 온라인 시스템(120)의 사용자를 서술하는 정보, 예컨대 사용자에 의해 사용자 프로필의 일부로서 온라인 시스템(120)에 제공된 특징을 포함한다. 온라인 시스템(120)은 미디어(예컨대, 이미지, 비디오, 오디오, 애니메이션)나 소셜 네트워크 컨텐츠(예컨대, 게시물, 소식, 상태 업데이트, 미디어, 광고)와 같은 컨텐츠를 클라이언트 애플리케이션(105)을 통하여 온라인 시스템(120)의 사용자에게 전달할 수 있다. 클라이언트 애플리케이션(105)과 상호작용함으로써, 사용자는 온라인 시스템(120)으로부터의 컨텐츠를 열람하거나 상호작용하거나 온라인 시스템(120)으로 컨텐츠를 통신할 수 있다. 일실시예에서, 온라인 시스템(120)에 의해 제공되는 컨텐츠는 제3자 애플리케이션(115)을 식별하는 포인터를 포함한다. 포인터는 URL(Uniform Resource Locator), 파일 주소나 위치, URN(Uniform Resource Name)과 같은 참조를 포함한다. 포인터는 또한 제3자 시스템(130)에 의해 유지되는 제3자 컨텐츠의 위치 또는 클라이언트 장치(100)가 제3자 애플리케이션(115)을 다운로드할 수 있는 위치를 식별할 수 있다.
하나 이상의 제3자 시스템(130)은 공유 저장소(110) 또는 온라인 시스템(120)와 통신하기 위하여 네트워크(140)에 연결될 수 있는데, 도 2와 관련하여 보다 자세히 설명된다. 일실시예에서, 제3자 시스템(130)은 제3자 애플리케이션(115)에 의한 사용을 위하여 클라이언트 장치(100)로 제3자 애플리케이션(115)을 서술하는 정보를 통신하거나 데이터를 통신하는 애플리케이션 제공자이다. 다른 실시예에서, 제3자 시스템(130)은 클라이언트 장치(100)를 통한 표시를 위하여 제3자 컨텐츠 또는 다른 정보를 제공한다. 제3자 시스템(130)는 또한 온라인 시스템(120)으로 정보, 예컨대 광고, 제3자 컨텐츠 또는 제3자 애플리케이션(115)에 대한 정보를 통신할 수 있다. 제3자 애플리케이션(115)은 사용자가 컨텐츠를 제3자 시스템(130)에 업로드하거나 제3자 시스템(130)에 의해 유지되는 컨텐츠에 접근 또는 상호작용을 하기 위한 인터페이스를 제공한다. 제3자 애플리케이션(115)의 예시는 미디어 공유, 미디어 캡처, 사용자 친화 효과를 통한 미디어 편집, 메시지, 소셜 네트워킹, 분류, 이메일, 일정, 이벤트 계획, 음악 재생이나 검색, 뉴스 배포, 스포츠 컨텐츠 접근, 전자 상거래, 여행, 탐색 및 레스토랑 리뷰를 위한 기능을 제공한다. 제3자 컨텐츠는 제3자 시스템(130)의 기능에 적용되는 임의의 컨텐츠를 포함하고 제3자 시스템(130)에 의해 수신되는 광고(또는 제3자 시스템(130)나 제3자 애플리케이션(115)을 위한 정보)와 같은 추가 컨텐츠를 포함할 수 있다.
클라이언트 장치(100)는 유선 및 무선 통신 시스템 모두를 사용하여 근거리 네트워크 및/또는 광역 네트워크의 임의의 조합을 포함할 수 있는 네트워크(140)를 통해 통신하도록 구성된다. 일실시예로, 네트워크(140)는 표준 통신 기술 및/또는 프로토콜을 사용한다. 예컨대, 네트워크(140)는 가령 이더넷, 802.11, WiMAX(worldwide interoperability for microwave access), 3G, 4G, CDMA, DSL(digital subscriber line) 등과 같은 기술을 사용하는 통신 링크를 포함할 수 있다. 네트워크(140)를 통한 통신을 위해 사용되는 네트워킹 프로토콜의 예는 MPLS(multiprotocol label switching), TCP/IP(transmission control protocol/Internet protocol), HTTP(hypertext transport protocol), SMTP(simple mail transfer protocol) 및 FTP(file transfer protocol)를 포함할 수 있다. 네트워크(140)에서 교환되는 데이터는 하이퍼텍스트 마크업 언어(HTML)와 확장형 마크업 언어(XML)와 같은 임의의 적절한 포맷을 사용하여 표현될 수 있다. 일부 실시예로, 네트워크(140)의 통신 링크의 전부 또는 일부는 임의의 적절한 기술 또는 기법을 사용하여 암호화될 수 있다.
도 1b는 일실시예에 따른, 제3자 애플리케이션(115)을 통한 온라인 시스템(120) 컨텐츠와 연관된 클라이언트 애플리케이션(105)에 의해 표시되는 컨텐츠에 포함된 포인터를 통한 제3자 애플리케이션(115)과의 상호작용을 도시하는 상호작용도이다. 제3자 시스템(130)은 제3자 컨텐츠를 저장하는데(150), 클라이언트 장치(100) 상에서 실행되는 제3자 애플리케이션(115)을 통해 수신되거나, 다른 제3자 시스템(130)으로부터 수신되거나, 제3자 시스템(130)과 연계된 사용자에 의해 인증되거나, 또는 임의의 다른 적절한 방법을 통해 획득될 수 있다. 예를 들어, 제3자 컨텐츠는 제3자 시스템(130)의 사용자에 의해 캡처된 이미지이다. 제3자 컨텐츠는 제3자 애플리케이션(115)을 식별하는 포인터를 포함한다. 예를 들어, 포인터는 제3자 애플리케이션(115)과 연관된 애플리케이션 식별자 또는 제3자 애플리케이션(115)을 식별하는 다른 적절한 정보를 포함한다. 포인터는 또한 주소나 제3자 애플리케이션(115)에 대한 다른 정보를 식별하여 제3자 시스템(130)이나 다른 소스로부터 제3자 컨텐츠를 검색할 수 있다. 제3자 시스템(130)은 포인터를 포함하는 제3자 컨텐츠를 온라인 시스템(120)에 송신하는데(152), 제3자 컨텐츠를 저장할 수 있다.
온라인 시스템(120)은 포인터를 포함하는 제3자 컨텐츠를 온라인 시스템(120)의 사용자에게 표시하기 위하여 클라이언트 장치(100) 상에서 실행되는 클라이언트 애플리케이션(105)으로 송신한다(154). 예를 들어, 온라인 시스템(120)은 사용자에게 표시하기 위하여 포인터를 포함하는 제3자 컨텐츠를 선택하거나(그리고 포인터를 포함하는 제3자 컨텐츠와 함께 표시하기 위하여 추가 컨텐츠를 송신할 수 있고), 클라이언트 장치(100)의 사용자는 온라인 시스템(120)으로부터 포인터를 포함하는 제3자 컨텐츠를 요청한다. 클라이언트 애플리케이션(105)은 포인터를 포함하는 제3자 컨텐츠를 표시하고(156) 포인터를 포함하는 제3자 컨텐츠와의 상호작용을 수신한다(158). 예를 들어, 사용자는 제3자 애플리케이션(115)을 사용하여 제3자 컨텐츠를 열람하기 위하여 요청한다. 다른 예로서, 사용자는 포인터를 포함하는 제3자 컨텐츠와 동일한 엔티티와 연관된 추가적인 제3자 컨텐츠를 열람하기 위하여 요청한다.
포인터를 포함하는 제3자 컨텐츠와의 상호작용의 수신에 응답하여, 클라이언트 애플리케이션(105)은 포인터로부터 제3자 애플리케이션(115)을 식별하고 제3자 애플리케이션(115)으로 제3자 애플리케이션(115)을 실행하는 명령어를 송신한다(160). 일실시예에서, 제3자 애플리케이션(115)은 사용자에게 표시하기 위하여 제3자 시스템(130)으로부터 제3자 컨텐츠를 검색한다(162). 제3자 애플리케이션(115)으로 제3자 애플리케이션(115)을 실행하는 명령어를 통신하는데 추가로, 클라이언트 애플리케이션(105)은 제3자 컨텐츠와의 수신된 상호작용에 대응하는 속성 식별자를 생성한다(164). 속성 식별자는 가역적으로 사용자의 식별자를 획득할 수 없는 프로세스를 통하여 생성된다. 예를 들어, 속성 식별자는 클라이언트 장치(100)와 연관된 식별자의 해시를 이용하여 생성된다. 클라이언트 애플리케이션(105)은 수신된 상호작용의 기록과 함께 속성 식별자를 온라인 시스템(120)으로 송신하고(166) 속성 식별자를 클라이언트 장치(100)의 공유 저장소(110)에 저장한다.
제3자 애플리케이션(115)이 클라이언트 애플리케이션(105)으로부터 명령어를 수신한 후, 제3자 애플리케이션(115)은 공유 저장소(110)로부터 속성 식별자를 검색한다(170). 제3자 애플리케이션(115)은 또한 사용자의 제3자 애플리케이션(115)과의 상호작용을 서술하는 정보를 기록한다. 예를 들어, 제3자 애플리케이션(115)은 사용자가 제3자 애플리케이션(115)을 통해 열람하는 추가 컨텐츠 아이템을 기록한다. 제3자 애플리케이션(115)은 속성 식별자를 사용자에 의한 제3자 애플리케이션(115)과의 상호작용을 서술하는 정보와 함께 제3자 시스템(130)으로 송신한다(172).
제3자 시스템(130)은 속성 식별자 및 제3자 애플리케이션(115)과의 상호작용을 서술하는 정보를 수신하고, 속성 식별자 및 제3자 애플리케이션(115)과의 상호작용을 서술하는 정보를 온라인 시스템(120)으로 송신한다(174). 온라인 시스템(120)은 제3자 시스템(130)으로부터 수신한 속성 식별자가 클라이언트 애플리케이션(105)로부터 수신한 속성 식별자와 일치하는지 여부를 결정한다. 만약 제3자 시스템(130)으로부터 수신한 속성 식별자가 클라이언트 애플리케이션(105)로부터 수신한 속성 식별자와 일치한다면, 온라인 시스템(120) 클라이언트 애플리케이션(105)으로부터 속성 식별자와 함께 수신한 상호작용을 제3자 시스템(130)으로부터 속성 식별자와 함께 수신한 제3자 애플리케이션(115)과의 상호작용을 서술하는 정보와 연관시킨다. 따라서, 온라인 시스템(120)은 클라이언트 애플리케이션(105)로부터 수신하고 제3자 시스템(130)으로부터 수신한 속성 식별자를 사용하여 클라이언트 애플리케이션(105)을 통해 수신한 상호작용을 제3자 애플리케이션(115)을 통해 수신하는 후속 상호작용과 연관시킨다.
온라인 시스템
도 2는 온라인 시스템(120)의 구조의 블록도이다. 도 2에 도시된 온라인 시스템(120)은 사용자 프로필 스토어(205), 컨텐츠 스토어(210), 행위 로거(215), 행위 로그(220), 에지 스토어(225), 뉴스피드 매니저(230), 인증 서버(235) 및 웹 서버(240)를 포함한다. 다른 실시예로, 온라인 시스템(120)은 다양한 애플리케이션용 추가 구성요소, 더 적은 구성요소 또는 다른 구성요소를 포함할 수 있다. 가령 네트워크 인터페이스, 보안 기능, 부하 균형기, 장애복구 서버, 관리와 네트워크 동작 콘솔 등과 같은 종래의 구성요소들은 시스템 구조의 세부사항을 모호하게 하지 않도록 도시되지 않는다.
온라인 시스템(120)의 각각의 사용자는 사용자 프로필 스토어(205)에 저장되는 사용자 프로필과 관련된다. 사용자 프로필은 사용자에 의해 명시적으로 공유되었던 사용자에 대한 선언형 정보를 포함하며, 온라인 시스템(120)에 의해 추론된 프로필 정보를 또한 포함할 수 있다. 일실시예로, 사용자 프로필은 해당 소셜 네트워킹 시스템 사용자의 하나 이상의 속성을 각각 설명하는 다수의 데이터 필드를 포함한다. 사용자 프로필에 저장된 정보의 예는 가령 경력, 학력, 성별, 취미나 기호, 위치 등과 같은 인명정보, 인구학적 정보 및 다른 타입의 설명적 정보를 포함한다. 또한, 사용자 프로필은 예컨대 이미지 또는 비디오와 같이 사용자에 의해 제공된 다른 정보를 저장할 수 있다. 특정 실시예로, 사용자의 이미지는 이미지에 디스플레이되는 소셜 네트워킹 시스템 사용자를 식별하는 정보와 함께 태그될 수 있다. 또한, 사용자 프로필 스토어(205) 내 사용자 프로필은 행위 로그(220)에 저장되고 컨텐츠 스토어(210) 내 컨텐츠 아이템에 대해 수행되었던 해당 사용자에 의한 행위에 대한 레퍼런스를 관리할 수 있다.
사용자 프로필 스토어(205) 내 사용자 프로필이 개인들과 빈번히 관련되어 개인들이 온라인 시스템(120)을 통해 서로 상호작용을 할 수 있게 해주지만, 사용자 프로필은 또한 가령 사업체 또는 기관과 같은 엔티티에 대하여 저장될 수 있다. 이는 엔티티가 컨텐츠를 다른 온라인 시스템 사용자들과 연결하고 교환하기 위해 온라인 시스템(120)에서 존재(presence)를 확립할 수 있게 해준다. 엔티티는 그 자체, 그 제품에 대한 정보를 게시할 수 있거나, 엔티티의 사용자 프로필과 관련된 브랜드 페이지를 사용하여 온라인 시스템의 사용자들에게 다른 정보를 제공할 수 있다. 온라인 시스템의 다른 사용자들은 브랜드 페이지에 게시된 정보를 수신하거나 브랜드 페이지로부터 정보를 수신하도록 브랜드 페이지와 연결할 수 있다. 브랜드 페이지와 관련된 사용자 프로필은 사용자에게 배경이나 엔티티에 대한 정보형 데이터를 제공하는 엔티티 그 자체에 대한 정보를 포함할 수 있다.
컨텐츠 스토어(210)는 다양한 타입의 컨텐츠를 나타내는 객체를 저장한다. 객체로 표현되는 컨텐츠의 예는 페이지 게시물, 상태 업데이트, 사진, 비디오, 링크, 공유된 컨텐츠 아이템, 게임 애플리케이션 성취, 로컬 비즈니스에서의 체크인 이벤트, 브랜드 페이지 또는 임의의 다른 타입의 컨텐츠를 포함한다. 온라인 시스템 사용자는 컨텐츠 스토어(210)에 의해 저장되는 객체, 가령 상태 업데이트, 온라인 시스템에서 다른 객체와 관련되는 사용자가 태그한 사진, 이벤트, 그룹 또는 애플리케이션을 생성할 수 있다. 일부의 실시예로, 객체는 온라인 시스템(120)에서 분리된 모바일 애플리케이션(105) 또는 제3자 애플리케이션(115)으로부터 수신된다. 제3자 시스템(130)으로부터 또는 제3자 애플리케이션(115)으로부터 수신된 객체는 본 명세서에서 "제3자 컨텐츠"로 지칭된다. 일실시예에서, 컨텐츠 스토어(210)은 컨텐츠의 단일 부분들(pieces) 또는 컨텐츠 "아이템"을 나타낸다. 따라서, 온라인 시스템 사용자는 다양한 통신 채널을 통해 텍스트와 다양한 타입의 컨텐츠 아이템을 게시하여 서로 통신하도록 촉진된다. 이것은 사용자들 서로 간의 상호작용의 양을 증가시키고 사용자가 온라인 시스템(120)과 상호작용하는 빈도를 증가시킨다.
행위 로거(215)는 온라인 시스템(120)의 내부 및/또는 외부에서 사용자 행위에 대한 통신을 수신하며, 사용자 행위에 대한 정보로 행위 로그(220)를 채운다. 행위의 예시는 다른 사용자와의 연결관계를 추가하기, 메시지를 다른 사용자에게 송신하기, 이미지를 업로드하기, 다른 사용자로부터의 메시지를 읽기, 다른 사용자와 관련된 컨텐츠를 열람하기 및 다른 사용자가 게시한 이벤트에 참여하기를 포함한다. 또한, 다수의 행위가 객체 및 하나 이상의 특정 사용자와 연관되며, 그래서 이런 행위들은 또한 그 사용자와 관련되고 이런 행위는 행위 로그(220)에 저장된다.
행위 로그(220)는 온라인 시스템(120)뿐 아니라 온라인 시스템(120)과 정보를 통신하는 제3자 시스템(130)에서의 사용자 행위를 추적하는데 온라인 시스템(120)에 의해 사용될 수 있다. 사용자는 온라인 시스템(120)에서 다양한 객체와 상호작용할 수 있고, 이들 상호작용을 설명하는 정보는 행위 로그(220)에 저장된다. 객체와의 상호작용의 예는: 게시물에 코멘트하기, 링크를 공유하기, 모바일 장치를 통해 물리적 위치로 체크인하기, 컨텐츠 아이템에 액세스하기, 및 임의의 다른 적절한 상호작용을 포함한다. 행위 로그(220)에 포함되는 온라인 시스템(120) 상의 객체와의 상호작용의 추가적인 예는 다음을 포함한다: 사진 앨범에 대해 코멘트하기, 사용자와 통신하기, 객체와 연결을 확립하기, 이벤트에 참가하기, 그룹에 가입하기, 이벤트를 생성하기, 애플리케이션을 승인하기, 애플리케이션을 사용하기, 객체에 호감을 표현하기(객체를 "좋아요"하기) 및 거래를 체결하기. 추가로, 행위 로그(220)는 온라인 시스템(120)뿐 아니라 온라인 시스템(120)에서 동작하는 다른 애플리케이션에서 광고와 사용자의 상호작용을 기록할 수 있다. 일부의 실시예로, 행위 로그(220)로부터의 데이터는 사용자의 관심사나 기호를 추론하는데 사용되며, 사용자의 사용자 프로필에 포함된 관심사를 증가시키고 사용자 기호의 더 완전한 이해를 가능하게 한다.
또한, 행위 로그(220)는 제3자 시스템(130), 예컨대 외부 웹사이트에서 행해진 사용자 행위를 저장하고, 온라인 시스템(120)과 통신할 수 있다. 이들 행위는 클라이언트 장치(100) 상에서 실행되고 제3자 시스템(130)과 연관되는 제3자 애플리케이션(115)과의 상호작용을 포함할 수 있다. 예컨대, 전자상거래 웹사이트는 전자상거래 웹사이트가 온라인 시스템(120)의 사용자를 식별할 수 있게 하는 소셜 플러그-인을 통해 온라인 시스템(120)의 사용자를 인식할 수 있다. 온라인 시스템(120)의 사용자는 고유하게 식별가능하기 때문에, 상기 예시와 같이, 전자상거래 웹사이트는 온라인 시스템(120)의 외부의 사용자의 행위에 대한 정보를 사용자와의 연관을 위하여 온라인 시스템(120)과 통신할 수 있다. 따라서, 행위 로그(220)는 웹페이지 열람 이력, 참여되었던 광고, 이루어진 구매 및 쇼핑과 구입의 다른 패턴을 포함하는 사용자가 제3자 시스템(130)에서 수행한 행위에 대한 정보를 기록할 수 있다.
행위 로거(215)는 또한 제3자 애플리케이션과의 상호작용을 온라인 시스템(120)에 의해 유지되는 사용자 프로필과 연관시킬 수 있다. 제3자 시스템(130)이 제3자 애플리케이션(115)에 의해 수신된 상호작용과 연관된 온라인 시스템(120)에 의해 유지되는 사용자 프로필을 식별하지 못할 수도 있지만, 제3자 시스템(130)은 온라인 시스템(120)이 제3자 시스템(130)과 연관된 제3자 애플리케이션에 의해 수신된 상호작용과 연관된 온라인 시스템(120)에 의해 유지되는 사용자 프로필을 추론할 수 있게 하는 데이터를 온라인 시스템(120)으로 통신할 수 있다. 일실시예에서, 온라인 시스템(120)은 사용자가 클라이언트 애플리케이션(105)과 클라이언트 애플리케이션(105)이 제3자 애플리케이션(115)을 실행하는 명령어를 제3자 애플리케이션(115)으로 통신하게 하는 상호작용을 수행할 때 클라이언트 애플리케이션(105)로부터 속성 식별자를 수신한다. 속성 식별자와 함께, 클라이언트 애플리케이션(105)은 속성 식별자의 생성을 일으키는 상호작용을 보고한다. 도 1b와 관련하여 상술한 바와 같이, 속성 식별자는 속성 식별자 단독으로부터 사용자의 신원을 결정하도록 가역적이지 않은 프로세스를 통하여 생성된다. 제3자 애플리케이션(115)은 속성 식별자를 제3자 시스템(130)으로 통신하는데, 후속으로 속성 식별자 및 제3자 시스템(130)과 연관된 제3자 애플리케이션(115)과 연관된 상호작용을 서술하는 정보를 온라인 시스템(120)으로 송신한다. 예를 들어, 제3자 애플리케이션(115)과의 상호작용을 서술하는 정보는 제3자 애플리케이션(115)을 통하여 열람되는 컨텐츠와 제3자 애플리케이션(115)에 접속하여 쓰는 시간을 식별한다. 행위 로거(215)는 클라이언트 애플리케이션(105)으로부터 수신한 속성 식별자와 일치하는 속성 식별자와 함께 제3자 시스템(130)으로부터 수신한 제3자 애플리케이션(115)과의 상호작용을 서술하는 정보를 연관시키고 제3자 애플리케이션(115)과의 상호작용을 서술하는 정보를 클라이언트 애플리케이션(105)으로부터 수신한 속성 식별자에 대응하는 사용자와 연관된 사용자 프로필과 연관시킨다. 속성 식별자를 매칭하는데 추가로, 행위 로거(215)는 추가 행위를 수행하여 제3자 애플리케이션(115)과의 상호작용을 온라인 시스템(120)의 사용자 프로필과 연관시킬 수 있다(예컨대, 속성 식별자를 비교할 때 속성 식별자가 클라이언트 애플리케이션(105)으로부터 수신된 때 및 속성 식별자가 제3자 시스템(130)으로부터 수신된 때의 시간을 고려).
일실시예로, 에지 스토어(225)는 사용자와 온라인 시스템(120) 상의 다른 객체 사이의 연결을 설명하는 정보를 에지로 저장한다. 일부의 에지는 사용자에 의해 정의될 수 있어서, 사용자가 다른 사용자들과의 관계를 명시할 수 있도록 해준다. 예컨대, 사용자들은, 가령 친구들, 직장동료들, 파트너들 등과 같은 사용자의 실제 삶에서의 관계에 필적하는 다른 사용자들과의 에지를 생성할 수 있다. 다른 에지는 사용자가 가령 온라인 시스템(120) 상의 페이지에 대한 관심을 표현하고, 온라인 시스템(120)의 다른 사용자들과 링크를 공유하며, 온라인 시스템(120)의 다른 사용자들에 의해 행해진 게시물에 코멘트하는 것과 같이 온라인 시스템(120)에서 객체와 상호작용할 때 생성된다.
일실시예에서, 에지는 각각이 사용자간 상호작용, 사용자와 객체간 상호작용 또는 객체간 상호작용의 특징을 나타내는 다양한 특성을 포함할 수 있다. 예를 들어, 에지에 포함된 특성은 두 사용자 간 상호작용의 비율, 두 사용자가 서로와 얼마나 최근에 상호작용했는지, 한 사용자에 의해 객체에 대해 검색된 정보의 비율 또는 양 또는 한 사용자에 의해 객체에 대해 게시된 코멘트의 수 및 타입을 설명한다. 또한, 특성은 특정 객체 또는 사용자를 설명하는 정보를 나타낼 수 있다. 예를 들어, 특성은 사용자가 특정 주제에 대해 가지는 흥미의 정도, 사용자가 온라인 시스템(120)에 로그인하는 비율 또는 사용자에 대한 인구통계학적 정보를 설명하는 정보를 나타낼 수 있다. 각 특성은 원 객체 또는 사용자, 대상 객체 또는 사용자 및 특성값과 연관될 수 있다. 특성은 원 객체 또는 사용자, 대상 객체 또는 사용자 또는 소스 객체 또는 사용자와 대상 객체 또는 사용자간의 상호작용을 설명하는 값에 기반한 표현으로 명시될 수 있다; 따라서, 에지는 하나 이상의 특성 표현으로 표현될 수 있다.
에지 스토어(225)는 또한 가령 객체, 관심사 및 다른 사용자들에 대한 친밀성 점수와 같이 에지에 관한 정보를 저장한다. 친밀성 점수 또는 "친밀도"는 사용자에 의해 수행된 행위에 기초하여 온라인 시스템(120)의 객체 또는 다른 사용자에 대한 사용자의 관심사를 근사화하여 시간에 따라 온라인 시스템(120)에 의해 계산될 수 있다. 사용자의 친밀도는 시간에 걸쳐 온라인 시스템(120)에 의해 계산되어 사용자의 객체, 주제 또는 온라인 시스템(120)의 다른 사용자에 대한 관심을 사용자에 의해 수행된 행위에 기반하여 근사할 수 있다. 친밀성의 계산은 본 명세서에 전체로서 참조로 각각 통합되고 2010년 12월 23일자로 출원된 미국특허출원 제12/978,265호, 2012년 11월 30일에 출원된 미국특허출원 제13/690,254호, 2012년 11월30일에 출원된 미국특허출원 제13/689,969호 및 2012년 11월 30일에 출원된 미국특허출원 제13/690,088호에 더 기술된다. 일실시예로, 사용자와 특정 객체 사이의 다수의 상호작용은 에지 스토어(225) 내 하나의 에지로 저장될 수 있다. 대안적으로, 사용자와 특정 객체간 각 상호작용은 분리된 에지로 저장될 수 있다. 일부의 실시예로, 사용자 사이의 연결은 사용자 프로필 스토어(205)에 저장될 수 있거나, 사용자 프로필 스토어(205)는 사용자 사이의 연결을 결정하도록 에지 스토어(225)에 접근할 수 있다.
일실시예에서, 온라인 시스템(120)은 사용자에게 제시되는 "뉴스피드"를 통하여 사용자가 관심 있을 것 같은 소식을 식별한다. 사용자에게 표시되는 소식은 사용자와 연결된 추가 사용자에 의해 행해진 행위를 서술하고 추가 사용자를 식별한다. 일부 실시예에서, 사용자에 의해 수행된 행위를 서술하는 소식은 행위를 취한 사용자와 연결되지 않은 사용자에 의해 접근가능할 수 있다. 뉴스피드 매니저(230)는 행위 로그(220) 내 및 에지 스토어(225) 내의 정보에 기반하여 사용자에게 표시할 소식을 생성하거나 컨텐츠 스토어(210)에 포함된 후보 소식을 선택할 수 있다. 소식은 제3자 시스템(130)에 의해 수신된 제3자 컨텐츠를 통합할 수 있다. 일부 실시예에서, 제3자 컨텐츠를 통합하는 소식은 소식에 포함된 컨텐츠가 제3자 시스템(130)에서 기원했음 또는 소식 내의 컨텐츠가 제3자 애플리케이션(115)과 연관됐다는 명시적 표시를 포함할 수 있다. 제3자 애플리케이션(115)과 연관된 컨텐츠를 포함하거나 제3자 시스템(130)으로부터 수신한 컨텐츠를 포함하는 소식은 또한 제3자 애플리케이션(115)으로의 포인터를 포함할 수 있고, 온라인 시스템(120)의 사용자가 제3자 애플리케이션(115)과 연관됐거나 제3자 시스템(130)으로부터 수신된 컨텐츠를 제3자 애플리케이션(115)을 통해 열람할 수 있게 한다. 하나 이상의 후보 소식이 뉴스피드 매니저(230)에 의해 선택되고 사용자에게 표시될 수 있다.
예를 들어, 뉴스피드 매니저(230)는 온라인 시스템 사용자에게 하나 이상의 소식을 표시하는 요청을 수신한다. 뉴스피드 매니저(230)는 사용자 프로필 스토어(205), 컨텐츠 스토어(210), 행위 로그(220) 및 에지 스토어(225) 중 하나 이상에 접근하여 식별된 사용자에 대한 정보를 검색한다. 예를 들어, 식별된 사용자와 연결된 사용자와 연관된 소식 또는 다른 데이터가 검색된다. 검색된 소식 또는 다른 데이터는 뉴스피드 매니저(230)에 의해 분석되어 식별된 사용자와 관련될 수 있는 컨텐츠를 식별한다. 예를 들어, 식별된 사용자와 연결되지 않은 사용자와 연관된 소식 또는 식별된 사용자가 임계 친밀도보다 낮은 친밀도를 가지는 사용자와 연관된 소식은 후보 소식에서 버려진다. 다양한 기준에 기반하여, 뉴스피드 매니저(230)는 식별된 사용자에게 표시될 하나 이상의 후보 소식을 선택한다.
다양한 실시예에서, 뉴스피드 매니저(230)는 사용자에게 사용자에게 표시되기 위해 선택된 복수의 소식을 포함하는 뉴스피드를 통해 소식을 표시한다. 뉴스피드는 제한된 수의 소식을 포함하거나 후보 소식의 전체 세트를 포함할 수 있다. 뉴스피드에 포함되는 소식의 수는 사용자 프로필 스토어(205)에 포함된 사용자 선호에 부분적으로 결정될 수 있다. 뉴스피드 매니저(230)는 또한 선택된 소식이 뉴스피드를 통하여 표시될 순서를 결정할 수 있다. 예를 들어, 뉴스피드 매니저(230)는 사용자가 특정 사용자에 대해 가장 높은 친밀도를 가진다고 결정하고 특정 사용자와 연관된 뉴스피드 내의 소식의 수를 늘리거나 특정 사용자와 연관된 소식이 표시되는 뉴스피드 내의 위치를 수정한다.
뉴스피드 매니저(230)는 또한 소식의 타입에 대한 선호도를 가리키는 사용자에 의한 행위를 설명하고 뉴스피드에 포함될 동일하거나 유사한 타입의 소식을 선택할 수 있다. 나아가, 뉴스피드 매니저(230)는 다양한 사용자로부터 소셜 네트워킹 시스템(120)에 의해 수신된 소식을 분석하고 분석된 소식으로부터 사용자 선호도 또는 행위에 대한 정보를 획득할 수 있다. 이 정보는 다양한 사용자에게 표시되는 뉴스피드를 위한 소식의 후속 선택의 개선에 사용될 수 있다.
인증 서버(235)는 온라인 시스템(120)의 사용자의 하나 이상의 사생활 설정을 강제한다. 사용자의 사생활 설정은 어떻게 사용자와 연관된 특정 정보가 공유될 수 있고, 사용자 프로필 스토어(205) 내의 사용자의 사용자 프로필에 저장되거나 인증 서버(235)에 저장되고 사용자 프로필과 연관될 수 있다. 일실시예에서, 사생활 설정은 사용자와 연관된 특정 정보를 명시하고 명시된 정보가 공유될 수 있는 엔티티 또는 엔티티들을 식별한다. 정보가 공유될 수 있는 엔티티의 예시는 다른 사용자, 애플리케이션, 제3자 시스템(130) 또는 잠재적으로 정보를 접근할 수 있는 임의의 엔티티를 포함할 수 있다. 사용자에 의해 공유될 수 있는 정보의 예시는 프로필 사진, 사용자와 연관된 전화번호, 사용자의 연결, 연결 추가와 같은 사용자에 의해 행해진 행위, 사용자 프로필 정보 변경 등과 같은 사용자 프로필 정보를 포함한다.
사생활 설정 명시는 상이한 수준의 입상도(granularity)로 제공될 수 있다. 일실시예에서, 사생활 설정은 다른 사용자와 공유될 특정 정보를 식별할 수 있다. 예를 들어, 사생활 설정은 직장 전화번호나 관련 정보의 특정 세트, 예컨대 프로필 사진, 집 전화번호 및 상태를 포함하는 개인 정보를 식별한다. 대안적으로, 사생활 설정은 사용자와 연관된 모든 정보에 적용할 수 있다. 특정 정보에 접근할 수 있는 엔티티의 세트의 명시는 또한 다양한 수준의 입상도로 명시될 수 있다. 정보가 공유될 수 있는 다양한 세트의 엔티티는 예컨대, 사용자와 연결된 모든 사용자, 사용자와 연결된 사용자의 세트, 사용자와 연결된 사용자와 연결된 추가 사용자, 모든 애플리케이션, 모든 제3자 시스템(130), 특정 제3자 시스템(130) 또는 모든 외부 시스템을 포함할 수 있다.
일실시예는 엔티티의 열거를 사용하여 식별된 정보에 접근이 허용된 엔티티를 명시하거나 상이한 엔티티에게 표시되는 정보의 타입의 식별한다. 예를 들어, 사용자는 다른 사용자와 통신되거나 특정 사용자 그룹에게 통신되는 행위의 타입을 명시할 수 있다. 대안적으로, 사용자는 행위의 타입이나 다른 사용자에게 발행 또는 표시되지 않는 다른 정보를 명시할 수 있다.
인증 서버(235)는 사용자와 연관된 특정 정보가 사용자의 친구, 제3자 시스템(130) 및/또는 다른 애플리케이션이나 엔티티에 의해 접근될 수 있는지 여부를 결정하는 로직을 포함한다. 예를 들어, 제3자 시스템(130)과 연관된 URL(uniform resource locator)에 대한 사용자의 코멘트에 접근을 시도하는 제3자 시스템(130)은 인증 서버(235)로부터 인증을 얻어 사용자와 연관된 정보에 접근해야 한다. 사용자의 사생활 설정에 기반하여, 인증 서버(235)는 다른 사용자, 제3자 시스템(130), 애플리케이션 또는 다른 엔티티가 사용자에 의해 행해진 행위에 대한 정보를 포함하여 사용자와 연관된 정보에 접근이 허용되는지 여부를 결정한다. 예를 들어, 인증 서버(235)는 사용자의 사생활 설정을 사용하여 제3자 시스템(130)과 연관된 URL에 대한 사용자의 코멘트가 제3자 시스템(130)에 표시될 수 있는지 또는 다른 사용자에게 표시될 수 있는지 여부를 결정한다. 이것은 사용자의 사생활 설정이 다른 사용자 또는 다른 엔티티가 사용자의 행위에 대한 데이터 또는 사용자와 연관된 다른 데이터를 수신하도록 허용되는지 명시할 수 있게 한다.
일부 실시예에서, 인증 서버(235)는 사용자와 연관되고 온라인 시스템(120)에 의해 유지되는 사용자 프로필의 제3자 애플리케이션(115)과의 상호작용과의 연관을 규제하는 사용자 권한을 포함할 수 있다. 이 사용자 권한은 제3자 애플리케이션과의 사용자 상호작용을 서술하는 정보를 온라인 시스템(120)의 사용자와 연관된 사용자 프로필과 연관시킬지 여부를 결정하는데 사용될 수 있다. 추가로, 이 사용자 권한은 사용자가 사용자와 연관된 사용자 프로필 내의 정보가 온라인 시스템(120)에 의해 유지되는 사용자의 사용자 프로필과 연관된 하나 이상의 상호작용과 연관된 제3자 애플리케이션(115)의 하나 이상의 인터페이스를 개인화하는데 사용될 수 있는지 규모를 명시할 수 있게 한다.
웹 서버(240)는 네트워크(140)를 통해 온라인 시스템(120)을 하나 이상의 클라이언트 장치(100)뿐 아니라 하나 이상의 제3자 시스템(130)으로 링크한다. 웹 서버(120)는 웹페이지뿐만 아니라 가령 JAVA®, FLASH®, XML 등과 같이 다른 웹-관련 컨텐츠를 제공한다. 웹 서버(240)는, 예컨대 인스턴트 메시지, 큐잉된 메시지(예컨대, 이메일), 텍스트와 메시지, SMS(단문 메시지 서비스) 메시지 또는 임의의 다른 적절한 메시징 기술을 사용하여 송신되는 메시지와 같은, 온라인 시스템(120)과 클라이언트 장치(100) 사이의 메시지를 수신하고 라우팅할 수 있다. 사용자는 웹 서버(240)로의 요청을 송신하여, 예컨대 컨텐츠 스토어(210)에 저장된 (이미지나 비디오)와 같은 정보를 업로드할 수 있다. 추가로, 웹 서버(240)는 가령 IOS®, ANDROID™, WEBOS® 또는 BlackberryOS와 같은 네이티브 모바일 장치 운영 체제로 직접 데이터를 송신하는 API 기능을 제공할 수 있다.
애플리케이션에서 사용자 상호작용 연관시키기
도 3은 클라이언트 장치(100) 상에서 실행중인 애플리케이션에서 사용자 상호작용을 연관시키는 프로세스의 일실시예의 흐름도이다. 도 3과 관련하여 서술되는 프로세스의 단계는 도 3과 관련하여 서술되는 순서와 다른 순서로 수행될 수 있다. 예를 들어, 동시로 서술된 단계는 순서대로 또는 부분적으로 병렬로 수행될 수 있다. 일부 실시예에서, 도 3과 관련하여 서술된 것과 상이한 및/또는 추가적인 단계가 수행될 수 있다.
온라인 시스템(120)은 제3자 시스템(130)과 연관된 제3자 애플리케이션(115)으로의 포인터를 포함하는 제3자 시스템(130)으로부터 기원한 제3자 컨텐츠를 수신한다(310). 제3자 시스템(130)과 연관된 사용자는 제3자 컨텐츠를 생성하거나, 제3자 시스템(130)이 제3자 컨텐츠를 생성할 수 있다. 예를 들어, 제3자 컨텐츠는 이미지와 제3자 애플리케이션(115)으로의 포인터를 포함하고, 이미지가 제3자 애플리케이션(115)을 사용하여 열람될 수 있게 한다. 제3자 컨텐츠는 또한 제3자 시스템(130) 내의 제3자 컨텐츠 고유의 식별자 또는 제3자 시스템(130)으로부터 제3자 컨텐츠를 검색하기 위한 다른 적절한 정보를 포함할 수 있다. 온라인 시스템(120)은 그 자신의 고유의 식별자를 제3자 컨텐츠에 할당하거나 제3자 시스템(130) 내의 제3자 컨텐츠의 식별자를 사용할 수 있다.
온라인 시스템(120)은 제3자 컨텐츠를 온라인 시스템(120)과 연관된 클라이언트 애플리케이션(105) 내에 표시하기 위하여 클라이언트 장치(100)로 전송한다(320). 일실시예에서, 온라인 시스템(120)은 제3자 컨텐츠를 제3자 컨텐츠와 제3자 애플리케이션(115)으로의 포인터를 포함하는 온라인 시스템(120)에 의해 생성된 소식으로 통합한다. 예를 들어, 온라인 시스템(120)은 사용자와 제3자 컨텐츠를 포함하는 소식 간의 친밀도에 기반하여 사용자를 위한 뉴스피드에 포함시키기 위해 소식을 선택한다. 예를 들어, 사용자는 만약 사용자가 소식에 의해 식별된 사용자에 대해 높은 친밀도를 가지거나 사용자가 제3자 컨텐츠와 유사한 컨텐츠를 포함하는 이전에 표시된 소식에 대해 온라인 시스템(120)으로 긍정적 피드백을 줬다면 소식에 대해 높은 친밀도를 가진다. 일부 실시예에서, 온라인 시스템(120)은 만약 제3자 시스템(130)이 소식을 표시하기 위하여 온라인 시스템(120)에 보상하거나 만약 제3자 컨텐츠가 온라인 시스템(120)에 의해 현재 시간으로부터 임계 시간 간격 내에 수신됐다면(310) 제3자 컨텐츠를 포함하는 소식에 대한 사용자의 친밀도를 수정한다. 친밀도를 사용하는데 대안적으로 또는 추가적으로, 온라인 시스템(120)은 소식의 특성에 기반하여 사용자에게 표시하기 위하여 소식을 필터링하는 사용자 선호에 의해 명시된 하나 이상의 결정론적 규칙을 사용한다. 필터링에 사용되는 소식의 특성의 예시는 소식에 의해 식별된 사용자, 소식을 생성한 사용자, 소식에 포함된 제3자 컨텐츠의 타입, 소식에 포함된 컨텐츠의 소스(예컨대, 제3자 시스템(130)), 소식에 포함된 제3자 컨텐츠의 소스 애플리케이션(예컨대, 제3자 애플리케이션(115)) 또는 제3자 컨텐츠와 연관된 위치를 포함한다. 온라인 시스템(120)이 클라이언트 장치(100)의 사용자에게 표시하기 위하여 제3자 컨텐츠를 선택하는데 대안적으로 또는 추가적으로, 사용자는 제3자 컨텐츠를 열람하도록 요청할 수 있다. 예를 들어, 클라이언트 장치(100)의 사용자는 제3자 컨텐츠와 연관된 명시된 사용자와 연관된 컨텐츠를 열람하기 위하여 요청할 수 있다.
클라이언트 장치(100) 상에서 실행되는 클라이언트 애플리케이션(105)은 클라이언트 장치(100)가 온라인 시스템(120)으로부터 수신한 제3자 컨텐츠를 표시한다. 만약 클라이언트 장치(100)의 사용자가 클라이언트 애플리케이션(105)에 의해 표시된 제3자 컨텐츠와 상호작용한다면, 온라인 시스템(120)은 속성 식별자 및 제3자 컨텐츠와의 상호작용의 기록을 클라이언트 애플리케이션(105)을 통해 획득한다(330). 상호작용의 기록은 제3자 컨텐츠와의 상호작용을 서술한다. 상호작용의 기록의 예시는 제3자 컨텐츠(또는 제3자 컨텐츠의 식별자), 클라이언트 장치(100)의 식별자, 클라이언트 애플리케이션(105)과 연관된 사용자 프로필의 식별자, 상호작용의 시간 또는 다른 적절한 정보를 포함한다. 다양한 실시예에서, 상호작용의 기록은 클라이언트 장치(100)의 식별자, 클라이언트 애플리케이션(105)의 식별자, 클라이언트 장치(100)의 운영 체제의 식별자 또는 클라이언트 장치(100)의 다른 소프트웨어나 하드웨어 컴포넌트의 식별자 중 하나 이상을 포함한다. 상호작용 데이터의 기록은 클라이언트 장치(100)의 상태, 예컨대 제3자 컨텐츠에 포함된 포인터에 의해 식별된 제3자 애플리케이션(115)가 클라이언트 장치(100) 상에 설치됐는지 여부 또한 표시할 수 있다.
온라인 시스템(120)은 상호작용에 응답하여 클라이언트 애플리케이션(105)으로부터 속성 식별자를 수신하는데(330), 클라이언트 장치(100)로 하여금 제3자 컨텐츠에 포함된 포인터에 의해 식별된 제3자 애플리케이션(115)을 실행시키도록 한다. 일실시예에서, 클라이언트 장치(100)는 입력을 출력으로 매핑하는 해시 함수를 통하여 속성 식별자를 생성한다. 해시 함수는 상호작용을 서술하는 데이터를 입력으로 사용하고 입력으로부터 속성 식별자를 결정론적으로 생성하여 원래의 입력이 결정론적으로 결정되거나 계산적으로 실현 가능한 방식으로 결정되지 않을 수 있다. 상호작용을 수행하는 사용자의 신원이 속성 식별자로부터 결정되지 못함을 보장하기 위하여, 일부 실시예에서 클라이언트 장치(100)는 암호 해시 함수를 사용할 수 있다. 해시 함수를 사용하는데 대안적으로 또는 추가적으로, 클라이언트 장치(100)는 무작위로 속성 식별자를 생성할 수 있다. 속성 식별자는 추가 데이터를 포함하여 속성 식별자를 클라이언트 애플리케이션(105)와 연관시킨다. 예를 들어, 속성 식별자는 표준 접두사나 접미사를 포함한다. 속성 식별자를 수신하는데 대안적으로, 온라인 시스템(120)은 제3자 컨텐츠와의 상호작용을 서술하는 상호작용 데이터를 클라이언트 장치(100)로부터 수신하고, 상호작용 데이터의 해시를 통하여 속성 식별자를 생성하고, 생성된 속성 식별자를 클라이언트 장치(100)로 전송할 수 있다.
그 후, 온라인 시스템(120)은 제3자 시스템(130)으로부터 속성 식별자뿐만 아니라 제3자 시스템(130)과 연관된 제3자 애플리케이션(115)과의 상호작용을 서술하는 정보를 수신한다(340). 제3자 시스템(130)은 제3자 애플리케이션(115)으로부터 속성 식별자 및 상호작용을 서술하는 정보를 수신한다. 일실시예에서, 제3자 시스템(130)과의 상호작용을 서술하는 정보는 제3자 애플리케이션(115)에 의해 생성된 실행 식별자와 연관된다. 실행 식별자는 클라이언트 애플리케이션(105)으로부터 제3자 애플리케이션(115)의 실행 또는 개시에 대응하는 상호작용을 식별한다. 제3자 시스템(130)에 가입하거나 로그인하지 않은 사용자에 대하여, 실행 식별자는 임시 사용자 식별자로 작용할 수 있다. 온라인 시스템(120)은 제3자 시스템(130)으로부터 실시간으로(예컨대, 제3자 컨텐츠가 제3자 애플리케이션(115)에 의해 검색되기 전, 행위가 제3자 애플리케이션(115)에서 기록됨에 따라) 또는 일괄 프로세스로(예컨대, 주기적으로 또는 상호작용을 서술하는 정보 및 연관된 식별자를 수신함에 응답하여) 속성 식별자를 수신할 수 있다(340).
제3자 애플리케이션(115)과의 상호작용을 서술하는 정보는 제3자 컨텐츠와의 상호작용의 속성(예컨대, 상호작용의 기간, 상호작용에 응답하여 수행된 행위의 설명)을 명시할 수 있다. 제3자 애플리케이션과의 상호작용의 예시는 텍스트나 이미지의 다른 부분을 열람하는 탐색 명령, 오디오나 비디오 데이터를 통한 탐색 명령 또는 코멘트나 승인 또는 불승인을 표시하는 행위와 같은 소셜 상호작용을 포함한다. 정보에 의해 서술된 상호작용은 또한 다른 제3자 컨텐츠와의 상호작용을 포함할 수 있다. 일실시예에서, 제3자 애플리케이션(115)은 사용자에게 제3자 컨텐츠를 표시하기 전에 등록 인터페이스를 제시하거나, 제3자 컨텐츠가 등록 인터페이스이다. 이 경우, 서술된 상호작용은 등록 프로세스와의 상호작용을 포함하고, 상호작용의 서술은 등록 인터페이스의 필드를 통한 진행을 표시한다(예컨대, 등록 인터페이스의 상이한 필드나 뷰에서 소비한 시간, 성공적인 제출, 비정상적이거나 부정확한 제출, 등록 없이 접근 가능한 미리보기 컨텐츠와의 상호작용). 제3자 애플리케이션(115)과의 상호작용을 서술하는 정보는 제3자 애플리케이션(115)과의 상호작용과 연관된 척도를 포함할 수 있다. 척도의 예시는 제3자 애플리케이션(115)에 접근한 시간 또는 제3자 컨텐츠와의 상호작용의 수이다. 척도의 다른 예는 사용자가 상호작용한 광고와 연관된 수익이다. 일실시예에서, 클라이언트 장치(100)로부터 획득한(330) 속성 식별자 및/또는 제3자 시스템(130)으로부터 수신한(340) 속성 식별자는 사용자 사생활을 지키기 위하여 온라인 시스템(120)에 의해 사용되거나 제3자 시스템(130)에 의해 사용되는 사용자 식별자를 포함하지 않는다.
온라인 시스템(120)은 클라이언트 장치(100)로부터 획득한(330) 속성 식별자가 제3자 시스템(130)으로부터 수신한(340) 속성 식별자와 일치하는지 여부를 결정한다(350). 온라인 시스템(120)은 클라이언트 장치(100)로부터 획득한(330) 속성 식별자 및 제3자 시스템(130)으로부터 수신한(340) 속성 식별자뿐만 아니라 제3자 애플리케이션(115)과의 상호작용을 서술하는 정보에 속성 모델의 일부로서 속성 규칙을 적용한다. 일실시예에서, 온라인 시스템(120)은 제3자 시스템(130)으로부터 수신한(340) 속성 식별자를 클라이언트 장치(100)로부터 획득한(330) 속성 식별자와 매칭한다. 만약 제3자 시스템(130)으로부터 수신한(340) 속성 식별자가 클라이언트 장치(100)로부터 획득한(330) 속성 식별자와 일치한다면, 온라인 시스템(120)은 제3자 시스템(130)으로부터 수신한 제3자 애플리케이션(115)과의 상호작용을 클라이언트 장치(100)로부터 획득한(330) 속성 식별자와 연관된 사용자 프로필과 연관시킨다.
속성 모델은 제3자 시스템(130)으로부터 수신한(340) 속성 식별자와 연관된 제3자 애플리케이션(115)과의 사용자 상호작용이 제3자 컨텐츠로의 포인터를 포함하는 클라이언트 애플리케이션(105)을 통한 컨텐츠와의 상호작용에 대응한다고 추론한다. 만약 클라이언트 애플리케이션(105)을 통해 제3자 컨텐츠로의 포인터를 포함하는 컨텐츠와 복수회 상호작용한다면, 온라인 시스템(120)은 각각이 제3자 애플리케이션(115)의 실행에 대응하는 상이한 속성 식별자와 연관된 제3자 애플리케이션(115)과의 다양한 상호작용을 서술하는 정보를 수신한다. 속성 모델은 클라이언트 애플리케이션(105)을 통한 제3자 애플리케이션(115)으로의 포인터를 포함하는 컨텐츠와 상호작용함으로써 제3자 애플리케이션(115)의 실행을 제3자 애플리케이션(115)과의 상호작용을 서술하는 대응하는 정보에 매칭하기 위한 규칙을 제공한다. 한 규칙의 예시는 속성 식별자 및 제3자 애플리케이션(115)과의 상호작용을 서술하는 정보의 제3자 시스템(130)으로부터의 수신(340)으로부터 임계 시간 간격 내에 수신한 포인터를 포함하는 제3자 컨텐츠와의 상호작용에 응답하여 제3자 애플리케이션(115)과의 상호작용을 서술하는 정보를 클라이언트 장치(100)로부터 획득한(330) 속성 식별자와 매칭시킨다. 다른 속성 규칙의 예시는 제3자 애플리케이션(115)과의 상호작용을 서술하는 정보를 제3자 애플리케이션(115)과의 상호작용을 서술하는 정보의 수신(340) 이전의 임계 기간 이내에 클라이언트 장치(100)로부터 상이한 제3자 컨텐츠와의 상호작용으로부터 획득한(330) 각 속성 식별자와 연관시킨다.
온라인 시스템(120)은 클라이언트 장치(100)로부터 획득한(330) 속성 식별자가 제3자 애플리케이션(115)로부터 수신한(340) 속성 식별자와 일치한다는 결정에 응답하여 제3자 애플리케이션(115)과의 상호작용을 서술하는 정보를 클라이언트 애플리케이션(105)과의 상호작용과 연관시킨다(360). 온라인 시스템(120)은 제3자 애플리케이션(115)과의 상호작용을 서술하는 정보를 온라인 시스템(120)에 의해 유지되는 사용자의 사용자 프로필과 더 연관시킬 수 있다. 일실시예에서, 제3자 애플리케이션(115)과의 상호작용을 서술하는 정보를 클라이언트 애플리케이션(105)과의 상호작용과 매칭하는 것은 컨텐츠에 포함된 광고의 효율성을 평가하는 더 좋은 척도를 제공한다. 예를 들어, 광고주는 사용자에 의한 광고 노출에 대하여 온라인 시스템(120)에 금액을 지불하는데, 제3자 애플리케이션(115)의 실행을 야기하는 광고와의 상호작용에 대해 금액이 더 높고, 제3자 애플리케이션(115) 내의 가치 있는 행위(예컨대, 상거래 촉진, 제3자 시스템(130)에 사용자 계정 등록 또는 제3자 컨텐츠와의 다른 상호작용)를 야기하는 광고와의 상호작용에 대해 금액이 그보다도 더 높다. 클라이언트 애플리케이션(105) 및 제3자 애플리케이션(115)와 사용자 상호작용을 연관시키는 것은 또한 어떻게 제3자 컨텐츠의 포인터가 온라인 시스템(120)의 사용에 영향을 미치는지의 이해를 증가시킨다. 예를 들어, 이 연관 데이터는 제3자 애플리케이션(115)으로의 링크를 가지는 광고의 제공으로부터의 수익이 온라인 시스템(120)과 상호작용하는데 덜 시간을 소비함으로 인한 수식 손실에 의해 상쇄되는지 여부를 표시할 수 있다.
일실시예에서, 제3자 애플리케이션(115)과의 상호작용을 하나 이상의 클라이언트 애플리케이션(105)과의 상호작용과 연관시키는 것은 제3자 애플리케이션(115)과의 사용자 경험을 향상시킬 수 있다. 예를 들어, 만약 사용자가 제3자 시스템(130)에 사용자 계정을 가지지 않았다면, 제3자 애플리케이션(115)은 사용자에게 사용자에 대한 온라인 시스템(120)에 의해 유지되는 사용자 프로필에 기반하여 제3자 애플리케이션(115)에 의해 생성된 기구성된 프로필을 표시한다. 다른 예시로서, 제3자 애플리케이션(115)은 온라인 시스템(120)에 의해 사용자와 연관된 정보에 기반하여 사용자의 흥미를 끌 수 있는 컨텐츠를 사용하여 등록 인터페이스를 개인화한다(예컨대, 사용자의 흥미에 기반한 컨텐츠, 온라인 시스템(120)의 사용자와 연결된 사용자의 사용자 프로필과 연관된 공개적으로 이용 가능한 컨텐츠). 다른 예시에서, 사용자가 사용자에 대해 제3자 시스템(130)에 의해 유지되는 계정에 로그인하지 않았더라도 제3자 컨텐츠는 온라인 시스템(120)에 의해 유지되는 그 사용자 프로필에 기반하여 사용자를 위하여 개인화된다. 따라서, 사용자의 제3자 애플리케이션(115)과의 상호작용을 온라인 시스템(120)의 사용자 프로필과 연관시키는 것은 제3자 시스템(130)이 사용자에 대한 계정을 유지하지 않더라도 사용자에게 제3자 시스템(130)을 통해 표시되는 추천 또는 광고의 개인화를 가능하게 한다.
도 4는 일실시예에 따른, 클라이언트 장치(100) 상에서 실행되는 애플리케이션에서 사용자 상호작용을 보고하는 프로세스를 도시하는 흐름도이다. 클라이언트 장치(100)는 온라인 시스템(120)으로부터 제3자 컨텐츠를 수신한다(410). 제3자 컨텐츠는 제3자 시스템(130)으로부터 기원한다. 예를 들어, 온라인 시스템(120)은 제3자 컨텐츠를 클라이언트 장치(100)로 푸시한다. 다른 예로서, 클라이언트 장치(100)는 제3자 시스템(130)과 연관되거나 온라인 시스템(120)의 다양한 사용자와 연관된 컨텐츠를 요청한다.
클라이언트 장치(100)는 클라이언트 애플리케이션(105)를 통해 제3자 컨텐츠를 표시한다(420). 예를 들어, 클라이언트 애플리케이션(105)은 온라인 시스템(120) 또는 제3자 시스템(130)으로부터 제3자 컨텐츠의 포인터를 사용하여 미디어를 검색한다. 예를 들어, 제3자 컨텐츠는 제3자 애플리케이션(115)에서 열람될 수 있는 전체, 고품질 이미지를 설명하는 텍스트가 첨부된 저해상도거나 부분적으로 가려진 이미지이다. 제3자 컨텐츠는 제3자 컨텐츠가 제3자 시스템(130)에서 기원했다는 그래픽 또는 텍스트 표시를 포함할 수 있다. 일실시예에서, 클라이언트 장치(100)는 제3자 애플리케이션(115)이 클라이언트 장치(100) 상에 설치됐는지 여부를 결정하고 제3자 애플리케이션(115)을 열거나 제3자 애플리케이션(115)의 다운로드의 개시한다는 표시의 선택 여부의 표시를 디스플레이한다.
클라이언트 장치(100)는 클라이언트 장치(100) 상에서 실행되는 클라이언트 애플리케이션(105)을 통해 표시되는 제3자 컨텐츠와의 상호작용을 수신한다(430). 제3자 컨텐츠와의 상호작용의 예시는 클라이언트 애플리케이션(105) 내에서 제3자 컨텐츠의 미리보기를 확장하기 위한 제3자 컨텐츠의 선택 또는 제3자 컨텐츠로의 포인터의 그래픽 표현의 선택을 포함한다. 상호작용은 제3자 컨텐츠가 제3자 시스템(130)에서 기원했다는 그래픽 표시와의 상호작용 또는 제3자 컨텐츠를 제작한 제3자 시스템(130)의 사용자를 식별하는 정보와의 상호작용일 수 있다. 제3자 컨텐츠와의 상호작용의 추가 예시는 제3자 컨텐츠를 클라이언트 장치(100)의 사용자에게 표시하기(즉, 컨텐츠의 노출) 또는 제3자 애플리케이션(115)이 클라이언트 장치(100) 상에 설치되지 않았다면 설치하는 포인터의 선택을 포함한다.
클라이언트 장치(100)는 클라이언트 애플리케이션(105) 및 제3자 컨텐츠에 대응하는 속성 식별자를 획득한다(440). 일실시예에서, 클라이언트 애플리케이션(105)은 수신된 상호작용을 서술하는 데이터(예컨대, 제3자 컨텐츠의 식별자, 제3자 컨텐츠와의 상호작용을 서술하는 식별자, 온라인 시스템(120)에 의해 사용자와 연관된 식별자)를 캡처하고 속성 식별자를 생성한다(예컨대, 해시 함수로). 클라이언트 장치(100)는 생성된 속성 식별자를 공유 저장소(110)에 저장한다(450). 대안적 실시예에서, 클라이언트 애플리케이션(105)은 속성 식별자를 생성하는 온라인 시스템(120)으로 제3자 컨텐츠와의 상호작용을 서술하는 데이터를 전송한다. 클라이언트 장치(100)는 생성된 속성 식별자를 온라인 시스템(120)으로부터 수신하고 공유 저장소(110)에 생성된 속성 식별자를 저장한다(450).
클라이언트 장치(100)는 온라인 시스템(120)으로 클라이언트 애플리케이션(105)를 통해 속성 식별자 및 제3자 컨텐츠와의 수신된 상호작용의 설명을 전송한다(455). 클라이언트 애플리케이션(105)은 상호작용의 설명 및 상호작용(예컨대, 클라이언트 장치 식별자, 상호작용을 수행하는 사용자의 식별자 등)과 연관된 하나 이상의 식별자를 상호작용을 수신(430)한 후 실질적으로 실시간으로 전송할 수 있다(455). 대안적으로, 클라이언트 장치(100)는 속성 식별자 및 수신한 상호작용의 설명을 주기적으로 또는 상태(제3자 애플리케이션(115)나 클라이언트 애플리케이션(105)를 닫기, 종료 또는 최소화)에 응답하여 전송한다(455). 온라인 시스템(120)이 속성 식별자를 생성하는 대안적 실시예에서, 속성 식별자는 온라인 시스템(120)으로 송신되지 않고, 생성 후 속성 식별자를 저장한다.
클라이언트 장치(100)는 클라이언트 애플리케이션(105)를 통하여 제3자 컨텐츠와의 상호작용을 수신하는데 응답하여 제3자 애플리케이션(115)을 실행한다(460). 일실시예에서, 제3자 애플리케이션(115)가 실행되면(460), 제3자 애플리케이션(115)은 제3자 컨텐츠에 포함된 포인터의 정보에 기반하여 특정 상태로 구동된다. 예를 들어, 제3자 애플리케이션(115)은 실행되어(460) 제3자 컨텐츠를 디스플레이하는 상태 또는 제3자 컨텐츠와 연관된 사용자에 관한 컨텐츠를 디스플레이하는 상태를 표시한다. 예를 들어, 포인터의 정보에 기반하여, 제3자 애플리케이션(115)은 제3자 시스템(130)으로부터 제3자 컨텐츠를 검색하고 실행될 때(460) 제3자 컨텐츠를 표시한다. 제3자 애플리케이션(115)을 실행하는 것은 제3자 애플리케이션(115)에 의해 표시되는 하나 이상의 필드에 사용자 데이터를 제공함으로써 사용자가 제3자 시스템(130)에 등록하거나 로그인하도록 유도하는 것을 포함할 수 있다.
제3자 애플리케이션(115)을 실행하는 것은 클라이언트 장치(100) 상에 제3자 애플리케이션(115)을 설치하는 것을 포함할 수 있다. 예를 들어, 클라이언트 장치(100)는 제3자 애플리케이션(115)가 클라이언트 장치(100) 상에 설치됐는지 여부(또는 적어도 임계 버전의 제3자 애플리케이션(115)이 설치되어 제3자 애플리케이션을 더 최근 버전으로 업데이트하는 것을 보장하는지 여부)를 결정한다. 제3자 애플리케이션(115)이 클라이언트 장치(100) 상에 설치되지 않았다는 결정에 응답하여, 클라이언트 애플리케이션(105)에 의해 표시된 제3자 컨텐츠와의 상호작용을 수신한(430) 후 클라이언트 장치(100)는 사용자가 제3자 애플리케이션(115)을 설치하도록 유도한다. 제3자 애플리케이션(115)을 설치하기 위하여, 클라이언트 장치(100)는 제3자 애플리케이션(115)을 제3자 시스템(130) 또는 다른 엔티티(예컨대, 구매 또는 무료 다운로드로 사용 가능한 애플리케이션을 호스팅하는 서버)로부터 검색하고 제3자 애플리케이션(115)을 설치한다. 설치 후, 클라이언트 장치(100)는 제3자 컨텐츠를 제3자 애플리케이션(115)에 표시한다(또는 사용자가 제3자 시스템(130)에 등록 또는 로그인하도록 유도된다).
제3자 컨텐츠로의 포인터에 기반하여, 제3자 애플리케이션(115)은 제3자 컨텐츠를 제3자 시스템(130)으로부터(또는 임의의 다른 적절한 소스로부터) 검색하고 제3자 컨텐츠를 표시한다. 제3자 컨텐츠는 클라이언트 애플리케이션(105)에 의해 표시되는 제3자 컨텐츠 내에 표시되는 요소를 포함할 수 있다. 예를 들어, 제3자 컨텐츠는 클라이언트 애플리케이션(105)에 의해 제3자 컨텐츠로서 표시되는 이미지의 더 고품질 버전이다. 일실시예에서, 제3자 컨텐츠는 제3자 시스템(130)에 계정을 생성하기 위한 또는 제3자 시스템(130)과의 사용자 상호작용을 다르게 초기화하기 위한 등록 인터페이스일 수 있다.
클라이언트 장치(100)는 클라이언트 장치(100)의 사용자에 의한 제3자 애플리케이션(115)과의 상호작용을 서술하는 정보를 결정한다(470). 예를 들어, 제3자 애플리케이션(115)은 제3자 컨텐츠와의 사용자 상호작용을 식별하거나, 추가적인 제3자 컨텐츠와의 사용자 상호작용을 식별하거나, 광고와의 사용자 상호작용을 식별하는 데이터를 캡처한다. 제3자 애플리케이션(115)을 통한 컨텐츠의 상호작용의 예시는 컨텐츠의 노출 또는 클라이언트 장치(100)가 제3자 애플리케이션(115)을 통하여 컨텐츠를 표시하는데 소비한 시간의 양을 포함한다. 만약 제3자 애플리케이션(115)이 사용자에게 등록(또는 로그인) 프로세스를 표시하면, 제3자 애플리케이션(115)은 입력된 데이터 및 등록 프로세스를 통한 누적 진행도와 같은 등록과의 상호작용을 서술하는 정보를 결정한다(470). 클라이언트 장치(100)는 제3자 애플리케이션(115)과의 상호작용에 대응하는 척도(예컨대, 상호작용의 수, 상호작용의 시간, 연관된 수익)를 대안적으로 또는 추가로 결정할 수 있다.
일실시예에서, 제3자 애플리케이션(115)은 속성 식별자를 공유 저장소(110)에서 검색하고(480) 실행 식별자를 생성하는데, 제3자 애플리케이션(115)의 실행을 식별하고 제3자 애플리케이션(115)의 실행 후 제3자 애플리케이션(115)과의 상호작용과 연관된다. 예를 들어, 사용자는 제3자 애플리케이션(115)을 닫고, 클라이언트 애플리케이션(105)을 재실행하고, 다시 제3자 애플리케이션(115)으로의 포인터를 선택한다. 이 예시에서, 제3자 애플리케이션(115)은 다시 실행되고, 공유 저장소(110)로부터 다른 속성 식별자를 검색하고, 다른 실행 식별자를 생성하여 제3자 애플리케이션(115)과의 사용자의 후속 상호작용과 연관시킨다. 실행 식별자는 다양한 결정론적 또는 무작위 기술을 사용하여 생성될 수 있다. 예를 들어, 실행 식별자는 클라이언트 애플리케이션(105)과의 상호작용을 서술하는 입력에 해시 함수를 적용함으로써 생성된다. 일실시예에서, 제3자 애플리케이션(115)은 공유 저장소(110)에서 검색된 속성 식별자 또는 다른 사용가능한 정보(예컨대, 장치 식별자, 제3자 시스템(130)의 사용자의 식별자)에 해시 함수를 적용한다. 제3자 애플리케이션(115)과의 상호작용은 생성된 실행 식별자와 연관된다.
클라이언트 장치(100)는 제3자 애플리케이션(115)과의 상호작용을 서술하는 정보를 속성 식별자와 연관된 제3자 시스템(130)으로 전송한다(490). 클라이언트 장치(100)는 제3자 시스템(130)으로 추가 정보를 전송할 수 있는데(490), 예컨대 생성된 실행 식별자, 장치 식별자, 제3자 컨텐츠 식별자, 제3자 사용자 식별자 또는 제3자 애플리케이션(115)의 실행과 연관된 다른 정보이다. 제3자 애플리케이션(115)과의 상호작용을 서술하는 정보 및 속성 식별자는 사용자가 제3자 애플리케이션(115)와 상호작용함에 따라 실시간으로 전동될 수 있거나(490), 주기적 간격으로 전송될 수 있거나(490), 하나 이상의 상호작용(예컨대, 제3자 애플리케이션(115)을 닫거나, 종료 또는 최소화)에 응답하여 전송될 수 있다(490).
사용자 인터페이스의 예시
도 5a, 5b 및 5c는 클라이언트 애플리케이션(105)과 제3자 애플리케이션(115)의 사용자 인터페이스의 예시를 도시한다. 도 5a는 클라이언트 애플리케이션(105)의 인터페이스에 표시되는 제3자 컨텐츠로의 포인터를 포함하는 제3자 컨텐츠를 도시한다. 제3자 컨텐츠는 사용자 이름(505), 제3자 애플리케이션 이름(510), 제3자 컨텐츠의 미리보기(515) 및 제3자 애플리케이션(115)으로의 포인터를 나타내는 아이콘(520)을 포함한다. 사용자 이름(505)은 온라인 시스템(120)에 의해 사용자와 연관되고 사용자에 대해 온라인 시스템(120)에 의해 유지되는 사용자 프로필과 연관된 사용자 이름을 가리킨다. 제3자 애플리케이션 이름(510)은 제3자 컨텐츠가 제3자 시스템(130)에 의해 생성됐고 컨텐츠가 제3자 애플리케이션(115)으로의 포인터를 포함함을 표시한다. 도 5a의 예시에서 제3자 컨텐츠의 미리보기(515)는 이미지이다. 아이콘(520)은 제3자 애플리케이션(115)을 나타내고 제3자 애플리케이션(115)에서 제3자 컨텐츠를 열람하기 위해 사용자에 의해 선택될 수 있다(상호작용).
도 5b 및 5c는 제3자 애플리케이션(115)의 인터페이스 내의 제3자 컨텐츠를 도시한다. 제3자 컨텐츠는 제3자 애플리케이션 사용자 이름(525) 및 제3자 컨텐츠(530)를 포함한다. 제3자 사용자 이름(525)은 제3자 시스템(130)에 의해 사용자와 연관된 사용자 이름이고 사용자의 제3자 사용자 식별자와 상이할 수 있다. 도 5b의 예시에서, 제3자 컨텐츠(530)는 이미지이다. 이 예시에서, 미리보기(515)의 이미지는 제3자 컨텐츠(530)와 실질적으로 다르지 않지만, 미리보기(515)는 예컨대 제3자 컨텐츠(530)의 작거나, 가려지거나, 다르게 수정된 모습일 수 있다.
일실시예에서, 제3자 애플리케이션(115)은 사용자가 공개적으로 이용 가능한 제3자 컨텐츠를 선택했는지 또는 다른 사용자가 선택하여 사용자에게 이용 가능하게 만든 사적인 제3자 컨텐츠인지 여부에 따라 상이한 사용자 인터페이스를 이용하여 제3자 컨텐츠(530)를 표시한다. 이 실시예에서, 도 5b는 공개적으로 이용 가능한 제3자 컨텐츠에 대응하고, 도 5c는 사용자가 클라이언트 애플리케이션(105)과 상호작용함에 의해 접근가능한 사적으로 이용 가능한 제3자 컨텐츠에 대응한다. 도 5c에서, 제3자 컨텐츠(530)의 섬네일 이미지가 제3자 컨텐츠(530)를 게시한 사용자의 사용자 프로필 페이지(535)의 일부로서 디스플레이된다. 이 사용자 프로필 페이지(535)는 제3자 컨텐츠(530)를 게시한 사용자에 대한 설명 정보 및 제3자 컨텐츠(530)를 게시한 사용자에 의해 업로드된 다른 제3자 컨텐츠를 포함한다.
도 6a, 6b 및 6c는 클라이언트 애플리케이션(105) 및 제3자 애플리케이션(115)의 사용자 인터페이스의 추가적 예시를 도시한다. 도 6a와 6b는 클라이언트 애플리케이션(105)의 인터페이스 내에 표시되는 제3자 애플리케이션(115)으로의 포인터를 포함하는 제3자 컨텐츠를 도시한다. 제3자 컨텐츠는 사용자 이름(605), 제3자 애플리케이션 이름(610), 제3자 컨텐츠의 미리보기(615) 및 제3자 애플리케이션(115)으로의 포인터를 나타내는 아이콘(620)을 포함한다. 사용자 이름(605)은 온라인 시스템(120)에 의해 사용자와 연관되고 온라인 시스템(120)에 의해 사용자와 연관된 사용자 프로필과 연관되는 사용자 이름이다. 제3자 애플리케이션 이름(610)은 컨텐츠가 제3자 시스템(130)을 통해 생성되고 컨텐츠가 제3자 애플리케이션(115)으로의 포인터를 포함한다는 것을 표시한다. 도 6a의 예시에서 제3자 컨텐츠의 미리보기(615)는 이미지이다. 아이콘(620)은 제3자 애플리케이션(115)을 표시하고 제3자 애플리케이션(115) 내의 제3자 컨텐츠를 열람하기 위하여 사용자에 의해 선택될 수 있다(상호작용). 도시된 인터페이스에서, 아이콘(620)은 제3자 컨텐츠와 연관된 제3자 애플리케이션(115)이 클라이언트 장치(100) 상에 설치되었는지 여부의 결정을 표시한다. 도 6a는 만약 제3자 애플리케이션(115)이 클라이언트 장치(100) 상에 설치되지 않았다면 표시되는 아이콘(620A)을 도시한다. 아이콘(620A)은 제3자 애플리케이션(115)의 설치를 초기화하는 아이콘(620A)의 선택을 표시한다. 도 6b는 아이콘(620B)을 도시하는데, 만약 제3자 애플리케이션(115)이 클라이언트 장치 상에 설치되면 표시되고 아이콘(620B)의 선택은 제3자 애플리케이션(115)을 실행하여 제3자 컨텐츠를 디스플레이함을 표시한다.
도 6c는 제3자 애플리케이션(115)의 인터페이스의 제3자 컨텐츠를 도시한다. 제3자 컨텐츠는 제3자 애플리케이션 사용자 이름(625) 및 제3자 컨텐츠(630)를 포함한다. 제3자 사용자 이름(625)은 제3자 시스템(130)에 의해 사용자와 연관된 사용자 이름을 표시하고 사용자의 제3자 사용자 식별자와 상이할 수 있다. 제3자 컨텐츠(630)의 예시는 이미지이다. 이 예시에서, 미리보기(615)의 이미지는 제3자 컨텐츠(630)와 실질적으로 다르지 않지만, 미리보기(615)는 예컨대 제3자 컨텐츠(630)의 작거나, 가려지거나, 다르게 수정된 모습일 수 있다.
개요
본 발명의 상기 설명은 설명의 목적으로 제시되었을 뿐, 배타적이거나 개시된 구체적인 형태로 시스템이나 방법을 제한하고자 하는 것은 아니다. 본 발명이 속하는 설명분야에서 통상의 지식을 가진 자라면 상기 개시로부터 다양한 변형 및 변경이 가능함을 인식할 수 있을 것이다.
본 명세서의 일부 부분은 본 발명의 실시예들을 정보에 대한 동작의 알고리즘적 및 기호적 표현으로 설명한다. 이러한 알고리즘적 설명이나 표현은 본 설명분야에서 통상의 지식을 가진 자들에게 효과적으로 그들의 작업의 실체를 전달하기 위하여 데이터 프로세싱 설명분야에서 통상의 지식을 가진 자에 의하여 공통적으로 사용되는 것이다. 기능적으로, 계산적으로 또는 논리적으로 설명되고 있는 이들 동작은 컴퓨터 프로그램 또는 등가의 전기 회로, 마이크로 코드 등에 의해 구현되는 것으로 이해된다. 또한, 종종 이러한 동작의 배열은 일반성의 손실 없이 모듈로 언급될 수 있는 것으로 확인된다. 설명된 동작 및 그와 관련된 모듈들은 소프트웨어, 펌웨어, 하드웨어 또는 이들의 임의의 조합으로 구현될 수 있을 것이다.
본 명세서에 설명된 임의의 단계들, 동작들 또는 프로세스들은 하나 이상의 하드웨어 또는 소프트웨어 모듈들에 의해 또는 이들과 다른 장치들의 결합에 의해 수행되거나 구현될 수 있다. 일실시예에서, 소프트웨어 모듈은 설명된 단계들, 동작들 또는 프로세스들 일부 또는 전부를 수행하기 위하여 컴퓨터 프로세서에 의해 실행될 수 있는 컴퓨터 프로그램 코드를 포함하는 컴퓨터 판독가능한 매체를 포함하는 컴퓨터 프로그램 제품으로 구현된다.
본 발명의 실시예들은 또한 본 명세서의 동작들을 수행하기 위한 장치와 관련될 수 있다. 이 장치는 요청된 목적을 위하여 구체적으로 구성될 수 있으며/있거나 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 범용 컴퓨팅 장치를 포함할 수 있다. 이런 컴퓨터 프로그램은 비-일시적 유형(tangible)의 컴퓨터 판독가능한 저장 매체나 컴퓨터 시스템 버스에 결합될 수 있는 전자 명령어를 저장하기에 적절한 임의의 타입의 매체에 저장될 수 있다. 게다가, 본 명세서에서 언급된 임의의 컴퓨팅 시스템들은 단일 프로세서를 포함할 수 있거나, 증가한 컴퓨팅 능력을 위해 다중 프로세서 설계를 채용한 구조일 수 있다.
또한, 본 발명의 실시예들은 본 명세서에 기술된 컴퓨팅 프로세스에 의해 생산된 제품에 관한 것일 수 있다. 이런 제품은 컴퓨팅 프로세스의 결과로 생성된 정보를 포함할 수 있는데, 여기서 정보는 비-일시적인 유형의 컴퓨터 판독가능한 저장 매체에 저장되며, 본 명세서에 기술된 컴퓨터 프로그램 제품 또는 다른 데이터 조합의 임의의 실시예를 포함할 수 있다.
마지막으로, 본 명세서에서 사용된 언어는 원칙적으로 읽기 쉬운 지침상의 목적으로 선택되었으며, 발명의 요지를 상세히 설명하거나 제한하려고 선택된 것은 아닐 수 있다. 따라서 본 발명의 범위는 이 상세한 설명에 의해 제한되지 않으며, 이에 근거하여 본 출원을 통하여 등록될 임의의 특허청구범위에 의해 제한된다. 그러므로, 본 발명들에 관한 설명은 하기의 청구범위에 제시된 실시예의 설명범위의 예시가 되나, 이에 제한되지 않아야 한다.

Claims (20)

  1. 온라인 시스템으로부터 클라이언트 장치로, 제3자 시스템에서 기원한 제3자 컨텐츠를 전송하는 단계;
    속성 식별자 및 클라이언트 애플리케이션을 통한 클라이언트 장치의 사용자에 의한 제3자 컨텐츠와의 상호작용을 획득하는 단계;
    제3자 시스템으로부터, 속성 식별자와 사용자에 의한 제3자 애플리케이션과의 상호작용을 서술하는 정보를 수신하는 단계;
    프로세서에 의하여, 클라이언트 장치로부터 획득한 속성 식별자가 제3자 시스템으로부터 수신한 속성 식별자와 일치하는지 여부를 결정하는 단계; 및
    클라이언트 장치로부터 획득한 속성 식별자가 제3자 시스템으로부터 수신한 속성 식별자와 일치한다는 결정에 응답하여 사용자에 의한 제3자 애플리케이션과의 상호작용을 서술하는 정보를 클라이언트 애플리케이션을 통한 클라이언트 장치의 사용자에 의한 제3자 컨텐츠와의 상호작용과 연관시키는 단계를 포함하고,
    제3자 컨텐츠는 온라인 시스템과 연관된 클라이언트 애플리케이션에 표시하기 위한 것이고 제3자 시스템과 연관된 제3자 애플리케이션으로의 포인터를 포함하고,
    속성 식별자는 상호작용에 응답하여 생성되고, 상호작용은 클라이언트 장치가 포인터를 이용하여 제3자 애플리케이션을 실행하도록 야기하는 방법.
  2. 청구항 1에 있어서,
    클라이언트 장치로부터 획득한 속성 식별자가 제3자 시스템으로부터 수신한 속성 식별자와 일치한다는 결정에 응답하여 사용자에 의한 제3자 애플리케이션과의 상호작용을 서술하는 정보를 온라인 시스템에 의해 유지되는 클라이언트 장치의 사용자의 사용자 프로필과 연관시키는 단계를 더 포함하는 방법.
  3. 청구항 1에 있어서,
    온라인 시스템으로부터 클라이언트 장치로, 제3자 시스템에서 기원한 제3자 컨텐츠를 전송하는 단계는:
    제3자 컨텐츠와 제3자 애플리케이션으로의 포인터를 포함하는 소식을 생성하는 단계; 및
    사용자와 제3자 컨텐츠 간의 친밀도에 적어도 부분적으로 기반하여 사용자에게 표시하기 위하여 뉴스피드에 포함될 소식을 선택하는 단계를 포함하는 방법.
  4. 청구항 1에 있어서,
    제3자 시스템으로부터, 속성 식별자와 사용자에 의한 제3자 애플리케이션과의 상호작용을 서술하는 정보를 수신하는 단계는:
    제3자 애플리케이션을 통한 제3자 컨텐츠와의 상호작용, 제3자 애플리케이션을 통한 추가 제3자 컨텐츠와의 상호작용, 제3자 애플리케이션의 등록 프로세스와의 사용자의 상호작용 및 그들의 임의의 조합으로 이루어진 그룹에서 선택된 상호작용을 서술하는 정보를 수신하는 단계를 포함하는 방법.
  5. 청구항 1에 있어서,
    제3자 시스템으로부터, 속성 식별자와 사용자에 의한 제3자 애플리케이션과의 상호작용을 서술하는 정보를 수신하는 단계는:
    사용자에 의한 제3자 애플리케이션과의 하나 이상의 상호작용과 연관된 척도를 수신하는 단계를 포함하고,
    척도는 제3자 애플리케이션과 상호작용하는 사용자에 의해 소비된 시간, 제3자 애플리케이션의 광고와 연관된 수익, 사용자에 의한 제3자 애플리케이션의 추가 제3자 컨텐츠와의 상호작용의 수 및 그들의 임의의 조합으로 이루어진 그룹에서 선택되는 방법.
  6. 청구항 1에 있어서,
    제3자 시스템으로부터, 속성 식별자와 사용자에 의한 제3자 애플리케이션과의 상호작용을 서술하는 정보를 수신하는 단계는:
    제3자 애플리케이션에 의하여 생성된 실행 식별자를 수신하는 단계; 및
    사용자에 의한 수신된 실행 식별자와 연관된 제3자 애플리케이션과의 상호작용을 서술하는 정보를 수신하는 단계를 포함하고,
    실행 식별자는 클라이언트 장치로 하여금 제3자 애플리케이션의 실행을 야기하는 제3자 컨텐츠와의 상호작용에 응답하여 생성되는 방법.
  7. 청구항 1에 있어서,
    제3자 시스템으로부터 수신한 속성 식별자는 클라이언트 장치의 식별자, 온라인 시스템에 의해 유지되는 사용자의 식별자, 클라이언트 장치의 운영체제의 식별자, 온라인 시스템의 제3자 컨텐츠의 식별자, 제3자 애플리케이션이 클라이언트 장치 상에 설치됐는지 여부의 표시 및 그들의 임의의 조합으로 이루어진 그룹에서 선택된 적어도 하나를 포함하는 데이터의 암호 해시에 의하여 생성되는 방법.
  8. 청구항 1에 있어서,
    속성 식별자 및 클라이언트 애플리케이션을 통한 클라이언트 장치의 사용자에 의한 제3자 컨텐츠와의 상호작용을 획득하는 단계는:
    클라이언트 장치의 식별자, 온라인 시스템에 의한 사용자의 식별자, 클라이언트 장치의 운영체제의 식별자, 온라인 시스템의 제3자 컨텐츠의 식별자 및 제3자 애플리케이션이 클라이언트 장치 상에 설치됐는지 여부의 표시로 이루어진 그룹에서 선택된 적어도 하나를 포함하는 데이터를 수신하는 단계;
    수신된 데이터의 암호 해시를 통하여 식별자를 생성하는 단계; 및
    온라인 시스템으로부터 클라이언트 장치로 식별자를 전송하는 단계를 포함하는 방법.
  9. 클라이언트 장치에서, 온라인 시스템으로부터 제3자 컨텐츠 아이템을 수신하는 단계;
    클라이언트 장치에서, 클라이언트 장치 상에서 실행되는 클라이언트 애플리케이션을 통하여 표시되는 사용자에 의한 제3자 컨텐츠 아이템과의 상호작용을 수신하는 단계;
    클라이언트 장치 및 제3자 컨텐츠 아이템에 대응하는 속성 식별자를 획득하는 단계;
    모바일 장치로부터 온라인 시스템으로, 속성 식별자 및 상호작용을 서술하는 정보를 전송하는 단계;
    속성 식별자를 제3자 애플리케이션으로부터 접근 가능한 클라이언트 장치의 저장 장소에 저장하는 단계;
    클라이언트 장치에서, 상호작용의 수신에 응답하여 제3자 컨텐츠 아이템을 표시하기 위하여 제3자 애플리케이션을 실행하는 단계;
    사용자에 의한 제3자 애플리케이션과의 상호작용을 서술하는 정보를 결정하는 단계; 및
    모바일 장치로부터 제3자 시스템으로, 제3자 애플리케이션에 의하여 저장 장소로부터 검색된 속성 식별자와 연관하여 사용자에 의한 제3자 애플리케이션과의 상호작용을 서술하는 정보를 전송하는 단계를 포함하고,
    제3자 컨텐츠 아이템은 제3자 시스템에서 기원하고 제3자 시스템과 연관된 제3자 애플리케이션으로의 포인터를 포함하고,
    속성 식별자는 상호작용에 응답하여 생성되는 방법.
  10. 청구항 9에 있어서,
    제3자 컨텐츠 아이템을 표시하기 위하여 제3자 애플리케이션을 실행하는 단계는:
    제3자 애플리케이션이 클라이언트 장치 상에 설치됐는지 여부를 결정하는 단계; 및
    제3자 애플리케이션이 클라이언트 장치 상에 설치되지 않았다는 결정에 응답하여 클라이언트 장치의 사용자가 제3자 애플리케이션을 다운로드하도록 유도하는 단계를 포함하는 방법.
  11. 청구항 9에 있어서,
    사용자에 의한 제3자 애플리케이션과의 상호작용을 서술하는 정보를 결정하는 단계는:
    제3자 애플리케이션을 통한 제3자 컨텐츠 아이템과의 상호작용, 제3자 애플리케이션을 통한 추가 제3자 컨텐츠 아이템과의 상호작용, 제3자 애플리케이션의 등록 프로세스와의 사용자의 상호작용 및 그들의 임의의 조합으로 이루어진 그룹에서 선택된 상호작용을 서술하는 정보를 저장하는 단계를 포함하는 방법.
  12. 청구항 9에 있어서,
    사용자에 의한 제3자 애플리케이션과의 상호작용을 서술하는 정보를 결정하는 단계는:
    사용자에 의한 제3자 애플리케이션과의 하나 이상의 상호작용과 연관된 척도를 결정하는 단계를 포함하고,
    척도는 제3자 애플리케이션과 상호작용하는 사용자에 의해 소비된 시간, 제3자 애플리케이션의 광고와 연관된 수익, 사용자에 의한 제3자 애플리케이션의 추가 제3자 컨텐츠 아이템과의 상호작용의 수 및 그들의 임의의 조합으로 이루어진 그룹에서 선택되는 방법.
  13. 청구항 9에 있어서,
    사용자에 의한 제3자 애플리케이션과의 상호작용을 서술하는 정보를 결정하는 단계는:
    제3자 애플리케이션의 실행에 응답하여 실행 식별자를 생성하는 단계; 및
    사용자에 의한 제3자 애플리케이션과의 상호작용을 서술하는 정보를 실행 식별자와 연관시키는 단계를 포함하는 방법.
  14. 청구항 9에 있어서,
    제3자 컨텐츠 아이템을 표시하기 위하여 제3자 애플리케이션을 실행하는 단계는:
    제3자 애플리케이션에게 데이터를 제공함으로써 제3자 시스템에 등록하도록 사용자를 유도하는 단계를 포함하는 방법.
  15. 청구항 9에 있어서,
    속성 식별자를 획득하는 단계는:
    클라이언트 장치의 식별자, 온라인 시스템에 의해 유지되는 사용자의 식별자, 클라이언트 장치의 운영체제의 식별자, 온라인 시스템의 제3자 컨텐츠 아이템의 식별자, 제3자 애플리케이션이 클라이언트 장치 상에 설치됐는지 여부의 표시 및 그들의 임의의 조합으로 이루어진 그룹에서 선택된 적어도 하나를 포함하는 데이터에 암호 해시 함수를 적용함으로써 속성 식별자를 생성하는 단계를 포함하는 방법.
  16. 청구항 9에 있어서,
    속성 식별자를 획득하는 단계는:
    모바일 장치로부터 온라인 시스템으로 클라이언트 장치의 식별자, 온라인 시스템에 의한 사용자의 식별자, 클라이언트 장치의 운영체제의 식별자, 온라인 시스템의 제3자 컨텐츠 아이템의 식별자 및 제3자 애플리케이션이 클라이언트 장치 상에 설치됐는지 여부의 표시로 이루어진 그룹에서 선택된 적어도 하나를 포함하는 데이터를 전송하는 단계; 및
    온라인 시스템으로부터 속성 식별자를 수신하는 단계를 포함하고,
    속성 식별자는 온라인 시스템에 의하여, 전송된 데이터에 암호 해시 함수의 적용에 의하여 생성되는 방법.
  17. 프로세서에 의해 실행될 때, 프로세서로 하여금:
    온라인 시스템으로부터 클라이언트 장치로, 제3자 시스템에서 기원한 제3자 컨텐츠 아이템을 전송하고;
    속성 식별자 및 클라이언트 애플리케이션을 통한 클라이언트 장치의 사용자에 의한 제3자 컨텐츠 아이템과의 상호작용을 획득하고;
    제3자 시스템으로부터, 속성 식별자와 사용자에 의한 제3자 애플리케이션과의 상호작용을 서술하는 정보를 수신하고;
    클라이언트 장치로부터 획득한 속성 식별자가 제3자 시스템으로부터 수신한 속성 식별자와 일치하는지 여부를 결정하고; 및
    클라이언트 장치로부터 획득한 속성 식별자가 제3자 시스템으로부터 수신한 속성 식별자와 일치한다는 결정에 응답하여 사용자에 의한 제3자 애플리케이션과의 상호작용을 서술하는 정보를 클라이언트 애플리케이션을 통한 클라이언트 장치의 사용자에 의한 제3자 컨텐츠 아이템과의 상호작용과 연관시키도록 하는, 인코딩된 명령어를 가지고,
    제3자 컨텐츠 아이템은 온라인 시스템과 연관된 클라이언트 애플리케이션에 표시하기 위한 것이고 제3자 시스템과 연관된 제3자 애플리케이션으로의 포인터를 포함하고,
    속성 식별자는 상호작용에 응답하여 생성되고, 상호작용은 클라이언트 장치가 포인터를 이용하여 제3자 애플리케이션을 실행하도록 야기하는 컴퓨터 판독가능한 저장 매체.
  18. 청구항 17에 있어서,
    제3자 시스템으로부터, 속성 식별자와 사용자에 의한 제3자 애플리케이션과의 상호작용을 서술하는 정보를 수신하는 것은:
    제3자 애플리케이션을 통한 제3자 컨텐츠 아이템과의 상호작용, 제3자 애플리케이션을 통한 추가 제3자 컨텐츠 아이템과의 상호작용, 제3자 애플리케이션의 등록 프로세스와의 사용자의 상호작용 및 그들의 임의의 조합으로 이루어진 그룹에서 선택된 상호작용을 서술하는 정보를 수신하는 것을 포함하는 컴퓨터 판독가능한 저장 매체.
  19. 청구항 17에 있어서,
    제3자 시스템으로부터, 속성 식별자와 사용자에 의한 제3자 애플리케이션과의 상호작용을 서술하는 정보를 수신하는 것은:
    제3자 애플리케이션에 의하여 생성된 실행 식별자를 수신하는 것; 및
    사용자에 의한 수신된 실행 식별자와 연관된 제3자 애플리케이션과의 상호작용을 서술하는 정보를 수신하는 것을 포함하고,
    실행 식별자는 클라이언트 장치로 하여금 제3자 애플리케이션의 실행을 야기하는 제3자 컨텐츠 아이템과의 상호작용에 응답하여 생성되는 컴퓨터 판독가능한 저장 매체.
  20. 청구항 17에 있어서,
    제3자 시스템으로부터 수신한 속성 식별자는 클라이언트 장치의 식별자, 온라인 시스템에 의해 유지되는 사용자의 식별자, 클라이언트 장치의 운영체제의 식별자, 온라인 시스템의 제3자 컨텐츠 아이템의 식별자, 제3자 애플리케이션이 클라이언트 장치 상에 설치됐는지 여부의 표시 및 그들의 임의의 조합으로 이루어진 그룹에서 선택된 적어도 하나를 포함하는 데이터의 암호 해시에 의하여 생성되는 컴퓨터 판독가능한 저장 매체.
KR1020167034286A 2014-05-08 2014-08-28 클라이언트 장치 상의 복수의 애플리케이션에서 사용자 상호작용 연관시키기 KR101868529B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461990338P 2014-05-08 2014-05-08
US61/990,338 2014-05-08
US14/470,871 US9509768B2 (en) 2014-05-08 2014-08-27 Associating user interactions across multiple applications on a client device
US14/470,871 2014-08-27
PCT/US2014/053278 WO2015171174A1 (en) 2014-05-08 2014-08-28 Associating user interactions across multiple applications on a client device

Publications (2)

Publication Number Publication Date
KR20170002578A KR20170002578A (ko) 2017-01-06
KR101868529B1 true KR101868529B1 (ko) 2018-06-19

Family

ID=54368882

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167034286A KR101868529B1 (ko) 2014-05-08 2014-08-28 클라이언트 장치 상의 복수의 애플리케이션에서 사용자 상호작용 연관시키기

Country Status (8)

Country Link
US (1) US9509768B2 (ko)
EP (1) EP2942927B1 (ko)
KR (1) KR101868529B1 (ko)
CN (1) CN106471543B (ko)
AU (1) AU2014393433B2 (ko)
CA (1) CA2969353C (ko)
IL (1) IL249958B (ko)
WO (1) WO2015171174A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2534835B (en) * 2014-11-19 2021-12-15 Novastone Media Ltd Avoiding message conflict
CN106028172A (zh) * 2016-06-13 2016-10-12 百度在线网络技术(北京)有限公司 音/视频处理方法及装置
US10165063B2 (en) * 2016-06-16 2018-12-25 Facebook, Inc. Inferring additional email addresses to match email addresses in a digest list
US10668374B2 (en) * 2017-01-25 2020-06-02 Mz Ip Holdings, Llc System and method for binding global objects in a client-server architecture
US10614482B2 (en) * 2017-05-04 2020-04-07 App Annie Inc. Attribution of a new application installation on a mobile device by analyzing network traffic of the device
KR102504075B1 (ko) * 2017-05-08 2023-02-27 브랜치 메트릭스 인코포레이티드 사용자 디바이스 이벤트의 매칭 및 속성
US11113411B2 (en) 2017-10-20 2021-09-07 Dropbox, Inc. Authentication security model for a content management system
US10979235B2 (en) 2017-10-20 2021-04-13 Dropbox, Inc. Content management system supporting third-party code
US10878019B2 (en) * 2017-10-20 2020-12-29 Dropbox, Inc. Hosted storage for third-party services
CN109799997B (zh) * 2017-11-16 2023-04-25 中兴通讯股份有限公司 预置第三方应用的管理方法、智能终端及存储介质
US10643026B2 (en) * 2017-12-12 2020-05-05 Facebook, Inc. User activity tracking in third-party online systems
US10956529B1 (en) 2018-03-20 2021-03-23 Pinterest, Inc. Content presentation
US10749868B2 (en) * 2018-06-29 2020-08-18 Microsoft Technology Licensing, Llc Registration of the same domain with different cloud services networks
EP3770702A1 (en) * 2018-12-03 2021-01-27 Google LLC Efficient control and/or linking of smart devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5949990A (en) * 1996-12-05 1999-09-07 Hewlett-Packard Co. Method of efficiently modeling tri-state gates
US8271778B1 (en) * 2002-07-24 2012-09-18 The Nielsen Company (Us), Llc System and method for monitoring secure data on a network
US20120324027A1 (en) * 2011-06-16 2012-12-20 Radiumone, Inc. Building a Social Graph with Sharing Activity Between Users of the Open Web
US20140090066A1 (en) * 2012-09-27 2014-03-27 Hong Li Security data aggregation and business intelligence for web applications

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5796952A (en) 1997-03-21 1998-08-18 Dot Com Development, Inc. Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
US20030163516A1 (en) 2002-02-27 2003-08-28 Perkins Gregory Eugene Session coordination
EP1532539B1 (en) * 2002-06-06 2015-12-09 Pulse Secure, LLC Method and system for providing secure access to private networks
US7792954B2 (en) 2004-04-02 2010-09-07 Webtrends, Inc. Systems and methods for tracking web activity
US8131861B2 (en) 2005-05-20 2012-03-06 Webtrends, Inc. Method for cross-domain tracking of web site traffic
JP2007080050A (ja) 2005-09-15 2007-03-29 Nec Corp 通信システム、対話履歴閲覧方法、履歴管理装置および通信端末
US8670319B2 (en) * 2005-09-19 2014-03-11 Google, Inc. Traffic prediction for web sites
WO2008042804A2 (en) * 2006-09-29 2008-04-10 Nomadix, Inc. Systems and methods for injecting content
US7680882B2 (en) * 2007-03-06 2010-03-16 Friendster, Inc. Multimedia aggregation in an online social network
US8850567B1 (en) * 2008-02-04 2014-09-30 Trend Micro, Inc. Unauthorized URL requests detection
US20110040623A1 (en) 2009-08-14 2011-02-17 Bart Lauwers Systems and methods to identify users accessing a web page
US8904521B2 (en) * 2009-11-30 2014-12-02 Red Hat, Inc. Client-side prevention of cross-site request forgeries
US20120166532A1 (en) 2010-12-23 2012-06-28 Yun-Fang Juan Contextually Relevant Affinity Prediction in a Social Networking System
US8983924B2 (en) 2011-05-12 2015-03-17 Microsoft Technology Licensing, Llc Sharing public search queries and interactions
KR102006741B1 (ko) 2011-08-24 2019-09-02 삼성전자 주식회사 디바이스의 액티비티 공유 방법 및 시스템
US9225690B1 (en) * 2011-12-06 2015-12-29 Amazon Technologies, Inc. Browser security module
US9413587B2 (en) * 2012-05-02 2016-08-09 Box, Inc. System and method for a third-party application to access content within a cloud-based platform
US8914900B2 (en) * 2012-05-23 2014-12-16 Box, Inc. Methods, architectures and security mechanisms for a third-party application to access content in a cloud-based platform
IL221685A0 (en) * 2012-08-29 2012-12-31 Google Inc Predicting content performance with interest data
US11048858B2 (en) * 2012-11-21 2021-06-29 Roofoveryourhead Marketing Ltd. Browser extension for the collection and distribution of data and methods of use thereof
US10395321B2 (en) 2012-11-30 2019-08-27 Facebook, Inc. Dynamic expressions for representing features in an online system
US9317812B2 (en) 2012-11-30 2016-04-19 Facebook, Inc. Customized predictors for user actions in an online system
US9070141B2 (en) 2012-11-30 2015-06-30 Facebook, Inc. Updating features based on user actions in online systems
US9621480B2 (en) * 2013-03-04 2017-04-11 Vigo Software Ltd Data acquisition pertaining to connectivity of client applications of a service provider network
US20150170529A1 (en) * 2013-12-13 2015-06-18 Usman Hafeez System and method for facilitating an online study session

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5949990A (en) * 1996-12-05 1999-09-07 Hewlett-Packard Co. Method of efficiently modeling tri-state gates
US8271778B1 (en) * 2002-07-24 2012-09-18 The Nielsen Company (Us), Llc System and method for monitoring secure data on a network
US20120324027A1 (en) * 2011-06-16 2012-12-20 Radiumone, Inc. Building a Social Graph with Sharing Activity Between Users of the Open Web
US20140090066A1 (en) * 2012-09-27 2014-03-27 Hong Li Security data aggregation and business intelligence for web applications

Also Published As

Publication number Publication date
CN106471543A (zh) 2017-03-01
US20150326651A1 (en) 2015-11-12
IL249958A0 (en) 2017-03-30
EP2942927A1 (en) 2015-11-11
EP2942927B1 (en) 2018-06-06
CN106471543B (zh) 2019-03-08
KR20170002578A (ko) 2017-01-06
CA2969353A1 (en) 2015-11-12
CA2969353C (en) 2018-04-03
WO2015171174A1 (en) 2015-11-12
IL249958B (en) 2018-03-29
AU2014393433B2 (en) 2018-05-17
US9509768B2 (en) 2016-11-29
AU2014393433A1 (en) 2016-12-15

Similar Documents

Publication Publication Date Title
KR101868529B1 (ko) 클라이언트 장치 상의 복수의 애플리케이션에서 사용자 상호작용 연관시키기
US9769122B2 (en) Anonymous single sign-on to third-party systems
US10187483B2 (en) Managing access to user information by applications operating in an online system environment
JP6333393B2 (ja) オンライン・システムのユーザのカスタマイズされたグループに対する広告のターゲティング
US9602541B2 (en) Granting permission to act on behalf of a user in a social networking system
US9742854B2 (en) Identifying interactions by social networking system users with identified actions performed outside of the social networking system
JP2018517989A (ja) ソーシャルネットワーキングシステムリソースに対するコール・トゥ・アクションを作成するためのシステムおよび方法
JP2019505904A (ja) コンテンツアイテムに対するユーザインタラクションに基づくシーケンスによるオンラインシステムユーザへのコンテンツアイテムの提示
US10476987B2 (en) Retrieving information about an online system user for use by an application during retrieval and installation of the application
KR20180054654A (ko) 애플리케이션에 의해 제시되는 컨텐츠 및 추가 컨텐츠를 통해 온라인 시스템이 선택한 컨텐츠의 제시
JP6186511B2 (ja) 様々なソーシャル・ネットワーキング・システムによって維持されるユーザ・プロフィール情報を組み合わせること
US10523780B2 (en) Determining a primary user of a client device and propagating settings of the primary user from the client device to an online system
US10693980B2 (en) Determining a duration content is visible to a user of an online system
US20140229857A1 (en) Initiating Actions on a Third-Party System Through Interaction with a Social Networking System
US9830140B2 (en) Identification of an application associated with a third party system and transmission of application installation information to a user by an online system
US20160203519A1 (en) Presenting content to an online system user promoting interaction with an application based on installation of the application on a client device
US20150227977A1 (en) Generating user audience groups to facilitate advertisement targeting
US11271888B1 (en) Selecting information about entities for display to drive interactions on online systems
US10079794B2 (en) Generating a content item based on user information maintained by a first online system for present on a second online system
KR101860801B1 (ko) 모바일 클라이언트 장치에서 애플리케이션을 검색하기 위한 알림의 전송
US10552874B2 (en) Prompting a user to purchase items for use in an application in a feed of content provided by an online system
US20190057399A1 (en) Identifying whether an objective included in a content item presented by an online system was performed without the online system receiving information from a client device identifying a user
US20160253726A1 (en) Synchronizing items for use in an application purchased in a feed of content provided by an online system with a third party system providing the application

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant