KR20190058466A - 애플리케이션 내에서 제3자 서비스에 액세스하기 위한 방법 및 시스템 - Google Patents

애플리케이션 내에서 제3자 서비스에 액세스하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20190058466A
KR20190058466A KR1020197006490A KR20197006490A KR20190058466A KR 20190058466 A KR20190058466 A KR 20190058466A KR 1020197006490 A KR1020197006490 A KR 1020197006490A KR 20197006490 A KR20197006490 A KR 20197006490A KR 20190058466 A KR20190058466 A KR 20190058466A
Authority
KR
South Korea
Prior art keywords
page
user
information
social networking
client device
Prior art date
Application number
KR1020197006490A
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 KR20190058466A publication Critical patent/KR20190058466A/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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/384Payment protocols; Details thereof using social 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0277Online advertisement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • 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/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • 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/52Network services specially adapted for the location of the user terminal

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Finance (AREA)
  • Signal Processing (AREA)
  • Economics (AREA)
  • Databases & Information Systems (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • General Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Computing Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Data Mining & Analysis (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

클라이언트 장치는 서버 시스템에 의해 제공된 소셜 네트워킹 서비스와 연관된 애플리케이션 내에서, 사용자에게 제3자 서비스 제공자와 연관된 페이지로의 링크를 제공한다. 제3자 서비스 제공자는 소셜 네트워킹 서비스로부터 구별된다. 링크의 사용자 선택에 응답하여, 페이지는 애플리케이션 내에서 로딩된다. 페이지는 서버 시스템의 하나 이상의 애플리케이션 프로그래밍 인터페이스(APIs)를 호출하기 위한 스크립트를 포함한다. 클라이언트 장치는 서버 시스템으로부터 사용자와 연관된 정보를 획득하기 위해 하나 이상의 APIs를 호출한다. 클라이언트 장치는 애플리케이션 내에 페이지를 디스플레이하고, 페이지를 통해 제3자 서비스 제공자와의 거래를 수행하기 위해 사용자와 연관된 정보를 사용한다.

Description

애플리케이션 내에서 제3자 서비스에 액세스하기 위한 방법 및 시스템
본 명세서는 일반적으로 온라인 서비스에 액세스하는 것에 관한 것으로서, 제3자 서비스 제공자로부터 구별되는 서비스 제공자를 위해 애플리케이션 내에서 제3자 서비스 제공자의 서비스에 액세스하는 것을 포함하지만 이에 제한되지 않는다.
모바일 장치의 인기도가 크게 증가함에 따라, 이러한 장치에서의 애플리케이션의 사용 및 개발도 역시 증가하고 있다. 하지만, 애플리케이션의 발견은 계속, 애플리케이션을 사용하거나 즐기는 사람들의 수를 제한하는 중요한 문제가 되고 있다. 특히, 심지어 사용자가 새로운 애플리케이션을 활발하게 발견하고 있더라도, 사용자는 전형적으로 계정을 생성하거나 다른 정보를 제공하는 것에 추가로 애플리케이션을 다운로드, 설치 및 실행하는 것을 포함하는 다수의 행위를 애플리케이션을 사용할 수 있게 되기 전에 수행하여야 한다.
따라서, 단순하고 효율적인 방식으로 제3자 서비스 제공자의 서비스에 액세스하기 위한 방법, 시스템 및 인터페이스에 대한 필요가 있다. 별개의 서비스 제공자와 연관된 애플리케이션에 제3자 서비스 제공자와 연관된 페이지를 로딩하고, 별개의 서비스 제공자에 의해 이전에 수집된 사용자와 연관된 정보를 이용함으로써, 사용자는 단순히 로딩된 페이지를 통해 제3자 서비스 제공자와의 거래를 수행할 수 있다. 이는 종종 성가시며 사용자들이 이용가능한 제3자 서비스를 이용하지 못하게 하는 프로세스인 제3자 서비스 또는 기능에 액세스하기 위해 독립형 제3자 애플리케이션을 별도로 로딩해야 하는 필요를 회피하게 해준다. 유익하게는, 제3자 서비스에 액세스하기 위해 개시된 방법, 시스템 및 인터페이스로부터 발생되는 결과는 보다 원활하고 사용자에게 고유하다.
일부 실시예에 따라, 방법은 하나 이상의 프로세서 및 하나 이상의 프로세서에 의한 실행을 위한 명령어를 저장하는 메모리를 갖는 클라이언트 장치에서 수행된다. 방법은, 서버 시스템에 의해 제공되는 소셜 네트워킹 서비스와 연관된 애플리케이션에서, 사용자에게 제3자 서비스 제공자와 연관된 페이지로의 링크를 제공하는 단계를 포함한다. 제3자 서비스 제공자는 소셜 네트워킹 서비스와 구별된다. 링크의 사용자 선택에 응답하여, 페이지가 애플리케이션 내에서 로딩된다. 페이지는 서버 시스템의 하나 이상의 애플리케이션 프로그래밍 인터페이스(API)를 호출하기 위한 스크립트를 포함한다. 클라이언트 장치는 서버 시스템으로부터 사용자와 연관된 정보를 획득하기 위해 하나 이상의 API들을 호출한다. 또한, 클라이언트 장치는 애플리케이션 내에 페이지를 디스플레이하고, 페이지를 통해 제3자 서비스 제공자와의 거래를 수행하기 위해 사용자와 연관된 정보를 사용한다.
일부 실시예에 따라, 클라이언트 장치는 하나 이상의 프로세서, 메모리 및 하나 이상의 프로그램을 포함하고; 하나 이상의 프로그램은 메모리에 저장되고 하나 이상의 프로세서에 의해 실행되도록 구성된다. 하나 이상의 프로그램은 클라이언트 장치를 위해 전술한 방법의 동작을 수행하기 위한 명령어를 포함한다. 일부 실시예에 따라, 비-일시적 컴퓨터-판독가능한 저장 매체는 클라이언트 장치에 의해 실행될 때, 클라이언트 장치로 하여금 전술한 방법의 동작을 수행하도록 야기하는 명령어를 저장한다.
일부 실시예에 따라, 방법은 소셜 네트워킹 서비스의 서버 시스템에서 수행된다. 서버 시스템은 하나 이상의 프로세서 및 하나 이상의 프로세서에 의한 실행을 위한 명령어를 저장하는 메모리를 가진다. 방법은 제3자 서비스 제공자와 연관된 페이지에 대한 요청을 클라이언트 장치로부터 수신하는 단계를 포함하고, 제3자 서비스 제공자는 소셜 네트워킹 서비스로부터 구별된다. 페이지는 클라이언트 장치로 제공된다. 페이지는 서버 시스템의 하나 이상의 애플리케이션 프로그래밍 인터페이스(API)를 호출하기 위한 스크립트를 포함한다. 하나 이상의 호출이 스크립트로부터 하나 이상의 API의 각각의 API로 수신된다. 하나 이상의 호출에 응답하여, 소셜 네트워킹 서비스로부터의 사용자와 연관된 정보가 페이지에서의 사용을 위해 클라이언트 장치로 제공된다. 페이지는 사용자가 정보에 적어도 부분적으로 기반하여 제3자 서비스 제공자와의 거래를 수행하는 것을 가능하게 한다.
일부 실시예에 따라, 서버 시스템은 하나 이상의 프로세서, 메모리 및 하나 이상의 프로그램을 포함하고; 하나 이상의 프로그램은 메모리에 저장되고 하나 이상의 프로세서에 의해 실행되도록 구성된다. 하나 이상의 프로그램은 전술한 서버 측 방법의 동작을 수행하기 위한 명령어를 포함한다. 일부 실시예에 따라, 비-일시적 컴퓨터-판독가능한 저장 매체는 서버 시스템에 의해 실행될 때, 서버 시스템으로 하여금 전술한 서버 측 방법의 동작을 수행하도록 야기하는 명령어를 저장한다.
따라서, 클라이언트 장치와 서버 시스템에는 별도의 제3자 애플리케이션을 사용할 필요 없이 제3자 서비스로의 액세스를 사용자에게 제공하기 위한 더 효과적이고 효율적인 방법이 제공된다.
개시되는 실시예들은 방법 및 저장 매체에 관한 것인데, 한 청구항 카테고리, 예컨대 방법에 언급된 임의의 특징은 다른 청구항 카테고리, 예컨대 시스템 및 컴퓨터 프로그램 제품에도 청구될 수 있다. 첨부된 청구항의 인용 또는 참조는 형식상의 이유를 위해 선택되었을 뿐이다. 하지만 임의의 선행 청구항으로의 의도적인 참조(특히 다중 인용)에서 야기되는 임의의 주제 또한 청구될 수 있어, 청구항 및 그 특징의 임의의 조합이 첨부된 청구항에서 선택된 인용에 관계 없이 개시되고 청구될 수 있다. 청구될 수 있는 주제는 첨부된 청구항에 나타난 바와 같은 특징의 조합뿐만 아니라 청구항의 특징의 다른 임의의 조합을 포함하는데, 청구항에 언급된 각 특징은 청구항의 임의의 다른 특징 또는 다른 특징의 조합과 조합될 수 있다. 나아가, 임의의 실시예와 본 명세서에 서술되거나 도시된 특징은 별개의 청구항 및/또는 임의의 실시예나 본 명세서에 서술되거나 도시된 특징과의 또는 첨부된 청구항의 임의의 특징과의 조합에 청구될 수 있다.
일부 실시예로, 컴퓨터 구현 방법이 제공될 수 있고, 방법은:
하나 이상의 프로세서 및 하나 이상의 프로세서에 의한 실행을 위한 명령어를 저장하는 메모리를 갖는 클라이언트 장치에서:
서버 시스템, 특히 소셜 네트워킹 서비스 시스템에 의해 제공되는 소셜 네트워킹 서비스 와 연관되고 특히 클라이언트 장치 상에서 실행되거나 설치되는 애플리케이션에서, 사용자에게, 특히 애플리케이션의 사용자 인터페이스로, 소셜 네트워킹 서비스와 구별되는 제3자 서비스 제공자, 특히 제3자 서비스 제공자 시스템과 연관되는 페이지, 특히 웹페이지로의 링크를 제공하는 단계;
사용자 선택에 응답하여, 특히 링크에 대한 사용자 선택의 수신에 응답하여, 애플리케이션 내에서 서버 시스템의 하나 이상의 애플리케이션 프로그래밍 인터페이스(APIs)를 호출하기 위한 스크립트를 포함하는 페이지를 로딩하는 단계;
서버 시스템으로부터 사용자와 연관된 정보를 획득하기 위해 하나 이상의 API를 호출하는 단계;
애플리케이션 내에 페이지를 디스플레이하는 단계; 및
페이지를 통해 제3자 서비스 제공자와의 거래를 수행하기 위해 사용자와 연관된 정보를 사용하는 단계를 포함한다.
일부 실시예로, 정보는 소셜 네트워킹 서비스에서 사용자에 대한 식별자를 포함할 수 있고, 정보를 사용하여 거래를 수행하는 것은 식별자를 거래와 연관시키는 것을 포함할 수 있다.
일부 실시예로, 정보는 소셜 네트워킹 서비스에서 사용자에 대한 결제 정보를 포함할 수 있고, 거래를 수행하기 위해 정보를 사용하는 것은 거래에 대하여 결제하기 위해 결제 정보를 사용하는 것을 포함할 수 있다.
일부 실시예로, 페이지를 디스플레이하는 것은 정보에 적어도 부분적으로 기반하여 거래에 대한 추천, 특히 선택가능한 추천을 디스플레이하는 것을 포함할 수 있다.
일부 실시예로, 정보는 클라이언트 장치에 의해 결정된 사용자의 위치를 포함할 수 있고; 추천은 위치에 적어도 부분적으로 기반할 수 있다.
일부 실시예로, 정보는 소셜 네트워킹 서비스에서 사용자의 활동의 이력을 포함할 수 있고; 추천은 이력에 적어도 부분적으로 기반할 수 있다.
일부 실시예로, 정보는 소셜 네트워킹 서비스에서 사용자의 연락처의 활동의 이력을 포함할 수 있고; 추천은 이력에 적어도 부분적으로 기반할 수 있다.
일부 실시예로, 정보는 클라이언트 장치의 하드웨어 리소스에 의해 획득된 정보를 포함할 수 있다.
일부 실시예로, 페이지로의 링크를 제공하는 것은 애플리케이션 내에 제3자 서비스 제공자에 대한 광고, 특히 광고 컨텐츠 아이템을 디스플레이하는 것을 포함할 수 있고, 광고, 특히 광고 컨텐츠 아이템은 페이지를 링크할 수 있다.
일부 실시예로, 방법은:
애플리케이션을 통해, 검색 질의를 명시하는 사용자 입력을 수신하는 단계;
검색 질의를 서버 시스템에 제공하는 단계;
페이지를 링크하는 제3자 서비스 제공자에 대한 참조를 포함하는 검색 질의에 대한 결과를 서버 시스템으로부터 수신하는 단계; 및
애플리케이션 내에 검색 결과를 디스플레이하는 단계를 더 포함할 수 있고,
페이지로의 링크, 특히 선택가능한 링크를 제공하는 것은 검색 결과 내에 제3자 서비스 제공자에 대한 참조를 디스플레이하는 것을 포함한다.
일부 실시예로, 페이지로의 링크를 제공하는 것은:
- 애플리케이션 내에, 페이지를 링크하는, 제3자 서비스 제공자에 관한 알림을 디스플레이하는 단계;
- 애플리케이션 내에, 페이지를 링크하는, 사용자에 의해 이전에 저장된 소셜 미디어 게시물을 디스플레이하는 단계; 및
애플리케이션의 개인 메시징 인터페이스 내에, 페이지를 링크하는, 소셜 네트워킹 서비스의 다른 사용자로부터의 메시지를 디스플레이하는 단계 중 적어도 하나를 포함할 수 있다.
일부 실시예로, 방법은:
거래를 수행한 이후, 애플리케이션 내에 페이지를 디스플레이하는 것을 중단하는 단계;
페이지를 디스플레이하는 것을 중단한 이후, 서버 시스템으로부터 클라이언트 장치로 푸시될 수 있는, 거래에 관한 알림을 수신하는 단계; 및
애플리케이션 내에 알림을 디스플레이하는 단계를 더 포함할 수 있다.
일부 실시예로, 컴퓨터 구현 방법이 제공될 수 있고, 방법은:
하나 이상의 프로세서 및 하나 이상의 프로세서에 의한 실행을 위한 명령어를 저장하는 메모리를 갖는, 소셜 네트워킹 서비스의 서버 시스템, 특히 소셜 네트워킹 서비스 시스템에서,
소셜 네트워킹 서비스로부터 구별되는 제3자 서비스 제공자, 특히 제3자 제공자 시스템과 연관된 페이지, 특히 웹페이지에 대한 요청을 클라이언트 장치로부터 수신하는 단계;
서버 시스템의 하나 이상의 애플리케이션 프로그래밍 인터페이스(API)를 호출하기 위한 스크립트를 포함하는 페이지를 클라이언트 장치로 제공하는 단계;
스크립트로부터 하나 이상의 APIs의 각각의 API로 하나 이상의 호출을 수신하는 단계; 및
하나 이상의 호출에 응답하여, 페이지에서의 사용을 위해 소셜 네트워킹 서비스로부터 클라이언트 장치로 사용자와 연관된 정보를 제공하는 단계를 포함하고, 페이지는 정보에 적어도 부분적으로 기반하여 사용자가 제3자 서비스 제공자와의 거래를 수행하는 것을 가능하게 한다.
서버 시스템에서 실행되는 방법의 일부 실시예로, 클라이언트 장치로 페이지를 제공하는 것은:
페이지를 검색하는 단계;
검색된 페이지에 스크립트를 주입하는 단계; 및
주입된 스크립트를 갖는 검색된 페이지를 클라이언트 장치로 전송하는 단계를 포함할 수 있고,
페이지를 검색하는 단계는 선택적으로:
제3자 서비스와 연관된 제3자 서버로부터 페이지를 획득하는 단계;
서버 시스템에서 메모리에 페이지를 캐시하는 단계; 및
서버 시스템에서 메모리로부터 캐시된 페이지를 검색하는 단계를 포함할 수 있다.
서버 시스템에서 실행되는 방법의 일부 실시예에서, 정보는 소셜 네트워킹 서비스에서 사용자에 대한 식별자, 소셜 네트워킹 서비스에서 사용자에 대한 결제 정보, 소셜 네트워킹 서비스에서 사용자의 활동의 이력, 소셜 네트워킹 서비스에서 사용자의 연락처의 활동의 이력, 또는 클라이언트 장치의 하드웨어 리소스로부터의 정보 중 적어도 하나를 포함할 수 있다.
서버 시스템에서 실행되는 방법의 일부 실시예에서, 페이지는 정보에 적어도 부분적으로 기반하는 거래에 대한 추천을 포함할 수 있다.
일부 실시예로, 하나 이상의 프로세서에 의한 실행을 위한 하나 이상의 프로그램을 저장하는 비-일시적 컴퓨터-판독가능한 저장 매체가 제공될 수 있고, 하나 이상의 프로그램은 하나 이상의 프로세서 상에서 수행될 때:
본 명세서에 기술된 바와 같은 하나 이상의 실시예에 따른 방법을 클라이언트 시스템 상에서 수행하거나,
본 명세서에 기술된 바와 같은 하나 이상의 실시예에 따른 방법을 소셜 네트워킹 서비스를 위해 서버 시스템 상에서 수행하는 명령어를 포함한다.
본 발명의 내용 중에 포함되어 있다.
서술된 다양한 실시예의 보다 나은 이해를 위하여, 이하의 도면과 관련하여 아래의 실시예의 설명이 참조되어야 한다. 유사한 참조번호는 도면 및 설명에 걸쳐서 대응되는 부분을 참조한다.
도 1은 일부 실시예에 따른 소셜 네트워크의 네트워크 아키텍처의 예시를 도시하는 블록도이다.
도 2는 일부 실시예에 따른 소셜 네트워크 시스템의 예시를 도시하는 블록도이다.
도 3은 일부 실시예에 따른 클라이언트 장치의 예시를 도시하는 블록도이다.
도 4a 내지 4j는, 일부 실시예에 따라, 제3자 서비스 제공자로부터 구별된 서비스 제공자를 위해 애플리케이션 내에서 제3자 서비스 제공자의 서비스에 액세스하기 위한 클라이언트 장치 상의 예시적인 그래픽 사용자 인터페이스(GUIs)를 도시한다.
도 5는 일부 실시예에 따라, 구별된 서비스 제공자를 위해 애플리케이션 내에서 제3자 서비스 제공자의 서비스에 액세스하는 방법을 도시하는 흐름도이다.
이제 첨부 도면들에 그 예가 도시되는 실시예들을 참조한다. 이하의 설명에서, 다수의 구체적인 세부사항은 다양하게 기술된 실시예의 이해를 제공하기 위해 기재된다. 하지만, 다양한 기술된 실시예가 이러한 구체적인 세부사항 없이 실시될 수 있음은 당업자에게 자명할 것이다. 다른 예에서, 잘 알려진 방법, 절차, 컴포넌트, 회로 및 네트워크는 불필요하게 실시예의 양태를 불분명하게 만들지 않기 위해 구체적으로 기술되지는 않았다.
제1의, 제2의 등의 용어는, 일부 예에서 다양한 요소를 본 명세서에서 기술하는데 사용되지만, 이러한 요소들이 이러한 용어에 의해 제한되는 것이 아님이 또한, 이해될 것이다. 이러한 용어들은 오로지 하나의 요소를 다른 요소로부터 구별하는데 사용된다. 예컨대, 다양하게 기술된 실시예들의 범위로부터 벗어남이 없이 제1 애플리케이션 프로그래밍 인터페이스는 제2 애플리케이션 프로그래밍 인터페이스로 명명될 수 있고, 유사하게 제2 애플리케이션 프로그래밍 인터페이스는 제1 애플리케이션 프로그래밍 인터페이스로 명명될 수 있다. 제1 애플리케이션 프로그래밍 인터페이스와 제2 애플리케이션 프로그래밍 인터페이스는 둘 모두가 애플리케이션 프로그래밍 인터페이스이지만, 이들은 동일한 애플리케이션 프로그래밍 인터페이스는 아니다.
본 명세서에 서술되는 다양한 실시예의 설명에서 사용되는 용어는 특정한 실시예를 설명하기 위한 것일 뿐 제한의 의도는 아니다. 다양한 기술된 실시예 및 첨부되는 청구범위에서의 설명에서 사용되는 것처럼 단수형 "a", "an" 및 "the"는 문맥이 명확하게 달리 나타내지 않는다면 복수형을 또한 포함하는 것으로 의도된다. 본 명세서에서 사용되는 용어 "및/또는"은 하나 이상의 연관되는 리스팅된 아이템의 임의의 그리고 모든 가능한 조합을 지칭하는 것임이 또한, 이해될 것이다. 용어들 "포함한다(includes)", "포함하는(including)", "포함한다(comprises)" 및/또는 "포함하는(comprising)"은, 본 명세서에서 사용되는 경우 명시된 특징, 정수, 단계, 동작, 요소 및/또는 컴포넌트의 존재를 명시하지만, 하나 이상의 다른 특징, 정수, 단계, 동작, 요소, 컴포넌트 및/또는 이들의 그룹의 존재나 추가를 배제하지 않는다는 것이 또한, 이해될 것이다.
본 명세서에서 사용되는 것처럼, 용어 "if"는 선택적으로 문맥에 따라 "when" 또는 "upon" 또는 "결정에 응답하여" 또는 "감지에 응답하여" 또는 "결정에 따라"를 의미하는 것으로 해석된다. 유사하게, 구절 "if it is determined" 또는 "if [a stated condition or event] is detected"는 문맥에 따라 선택적으로 "결정하면" 또는 "결정에 응답하여" 또는 "[the stated condition or event]를 감지하면" 또는 "[the stated condition or event]의 감지에 응답하여" 또는 "[a stated condition or event]가 감지된다는 결정에 따라"를 의미하는 것으로 해석된다.
본 명세서에 사용되는 바와 같이, 용어 "예시적인"은 예시, 사례 또는 설명으로서의 역할을 하는"의 의미이며, "그 종류의 최선을 대표하는"의 의미가 아니다.
도 1은 일부 실시예에 따른 소셜 네트워크의 예시적인 네트워크 아키텍처(100)를 도시하는 블록도이다. 네트워크 아키텍처(100)는 하나 이상의 네트워크(106)(예컨대, 인터넷, 셀룰러 전화 네트워크, 모바일 데이터 네트워크, 다른 광대역 네트워크, 로컬 영역 네트워크, 메트로폴리탄 영역 네트워크 등)에 의해 전자 소셜 네트워크 시스템(108)(예컨대, 서버 시스템)으로 통신가능하게 연결된 다수의 클라이언트 장치("클라이언트 시스템", "클라이언트 컴퓨터" 또는 "클라이언트"로도 지칭됨)(104-1, 104-2, ... 104-n)를 포함한다. 일부 실시예에서, 하나 이상의 네트워크(106)는 공공 통신 네트워크(예컨대, 인터넷 및/또는 셀룰러 데이터 네트워크), 사설 통신 네트워크(예컨대, 사설 LAN 또는 임대 회선) 또는 이러한 통신 네트워크의 조합을 포함한다.
일부 실시예에서, 클라이언트 장치(104-1, 104-2, ..., 104-n)는 스마트 워치, 개인용 디지털 정보 단말기, 휴대용 미디어 플레이어, 스마트폰, 태블릿 컴퓨터, 2D 게임 장치, 3D(예컨대, 가상 현실) 게임 장치, 랩탑 컴퓨터, 데스크탑 컴퓨터, 하나 이상의 프로세서가 내장됐거나 연결된 텔레비전, 자량내 정보 시스템(예컨대, 내비게이션, 오락 및/또는 다른 정보를 제공하는 차량내 컴퓨터 시스템) 및/또는 소셜 네트워크 시스템(108)과 통신하는데 사용될 수 있는 다른 적절한 컴퓨팅 장치와 같은 컴퓨팅 장치이다. 일부 실시예에서, 소셜 네트워크 시스템(108)은 컴퓨터 서버와 같은 단일 컴퓨팅 장치일 수 있는 반면, 다른 실시예에서는 소셜 네트워크 시스템(108)은 함께 작업하여 서버 시스템의 동작을 수행하는 복수의 컴퓨팅 장치(예컨대, 클라우드 컴퓨팅)로 구현된다.
사용자(102-1, 102-2, ..., 102-n)는 클라이언트 장치(104-1, 104-2, ..., 104-n)를 사용하여 소셜 네트워크 시스템(108)에 접속하고 소셜 네트워크 시스템(108)에 의해 제공되는 대응하는 소셜 네트워킹 서비스에 참여한다. 예컨대, 하나 이상의 클라이언트 장치(104-1, 104-2, ... 104-n)는 소셜 네트워킹 서비스에 특정된 소프트웨어 애플리케이션(예컨대, 스마트폰이나 태블릿에서 실행되는 소셜-네트워킹 "앱", 가령 iPhone, Android 또는 Windows 스마트폰이나 태블릿 상에 실행되는 Facebook 소셜 네트워킹 애플리케이션)을 실행한다. 일부 실시예로, 소셜 네트워크 시스템(108)은 제3자 제공자를 위한 적어도 일부 서비스 및/또는 기능으로의 액세스를 제공하는 소셜 네트워킹 서비스 제공자를 위한 서버 시스템이다. 클라이언트 장치(104-1, 104-2, ... 104-n)와 상호작용하는 사용자는 디지털 컨텐츠, 가령 텍스트 코멘트(예컨대, 상태, 업데이트, 게시물, 공고, 응답, 위치 "체크인", 개인/그룹 메시지), 사진, 비디오, 오디오 파일, 링크(예컨대, 웹 페이지, 기사, 제3자 서비스 제공자와 연관된 페이지로의 링크 등), 문서, 광고, 및/또는 다른 전자 컨텐츠를 제공 및/또는 소비(예컨대, 게시, 작성, 열람, 발행, 방송, 프로모션, 추천, 공유하기, 코멘트하기, 좋아요하기)함으로써 소셜 네트워크 시스템(108)에 의해 제공되는 소셜 네트워킹 서비스에 참여할 수 있다.
소셜 네트워킹 서비스의 사용자는 소셜 네트워킹 서비스의 다른 사용자에 의해 게시된 정보에 주석을 달 수도 있다(예컨대, 다른 사용자의 게시물을 추천 또는 "좋아요"하거나, 다른 사용자에 의한 게시물에 코멘트하거나, 소스를 발행하거나 및/또는 다른 타입의 사용자 피드백을 제공함). 일부 실시예에서, 정보는 소셜 네트워크 시스템(108) 외부의 시스템 및/또는 서비스에 의해 사용자를 대신하여 게시될 수 있다. 예컨대, 사용자는 웹사이트가 사용자를 위해 소셜 네트워크 시스템(108)으로 리뷰를 상호-게시할 수 있는 적절한 허가를 부여받아 영화-리뷰 웹사이트에 영화의 리뷰를 게시할 수 있다.
소셜 네트워킹 서비스를 사용 또는 참가하는 것과 연계하여, 사용자가 소비, 제공 및/또는 그렇지 않다면 상호작용할 수 있는 디지털 컨텐츠는 소셜 네트워킹 서비스의 다양한 기능 또는 엔트리 지점을 통해 액세스될 수 있다. 예컨대, 디지털 컨텐츠는, 하나 이상의 페이지, 피드(예컨대, 뉴스피드, 사용자 담벼락, 타임라인, 디지털 컨텐츠에 대한 뉴스/업데이트를 하이라이트하는 알림 섹션 등), 애플리케이션 및/또는 소셜 네트워킹 서비스에 의해 관리되고 그 내부에 있는 디지털 컨텐츠의 특정 타입을 위한 다른 인터페이스(예컨대, 개인 메시지에 액세스, 저장된 소셜 네트워크 컨텐츠에 액세스, 소셜 네트워크 컨텐츠를 검색하는 등을 위한 인터페이스)를 통해 액세스가능하고 제시될 수 있다. 전체적으로 기술되는 바와 같이, 제3자 제공자와 연관된 페이지는 다양한 방식으로(예컨대, 피드에서의 사용자 게시물 내부, 알림, 사용자 간의 개인 메시지 등) 링크될 수 있다.
일부 실시예로, 적절한 허가를 갖는 모바일 클라이언트 장치에서 실행되는 소프트웨어 애플리케이션은 클라이언트 장치의 하드웨어 리소스/컴포넌트(예컨대, 이미지/비디오 캡처 장치(324), 위치 감지 장치(322), 마이크, 센서 등, 도 3 참조)로부터 정보를 획득할 수 있다. 예컨대, GPS(global positioning system) 또는 다른 지리적 위치 기능(예컨대, Wi-Fi 또는 하이브리드 위치 시스템)은 사용자의 위치를 결정하거나, 사용자의 위치로 소셜 네트워크 시스템(108)을 업데이트하거나(예컨대, "At Home", "At Work", 또는 "In San Francisco, CA"), 및/또는 사용자의 위치로부터 도출되거나 및/또는 기반하는 정보로 소셜 네트워크 시스템(108)을 업데이트하기 위해 클라이언트 장치 상의 소프트웨어 애플리케이션(예컨대, 소셜 네트워크 클라이언트 모듈(340), 도 3)에 의해 액세스될 수 있다. 클라이언트 장치(104-1, 104-2, ..., 104-n)와 상호작용하는 사용자는 또한 소셜 네트워크 시스템(108)에 의해 제공되는 소셜 네트워킹 서비스를 사용하여 사용자의 그룹을 정의할 수 있다. 클라이언트 장치(104-1, 104-2, ..., 104-n)와 상호작용하는 사용자는 또한 소셜 네트워크 시스템(108)에 의해 제공되는 소셜 네트워킹 서비스를 사용하여 서로 통신 및 협력할 수 있다.
일부 실시예에서, 네트워크 아키텍처(100)는 제3자 서버(110-1, 110-2, ..., 110-m)도 포함한다. 일부 구현에서, 제3자 서버(110)는 네트워크의 사용자(예컨대, 소셜 네트워크 시스템(108)의 사용자, 도 1)에게 서비스 및/또는 기능을 제공하는 제3자 서비스 제공자와 연관된다. 사용자는 제3자 서버(110)와 직접(예컨대, 네트워크(106)를 통해) 및/또는 간접적으로(예컨대, 소셜 네트워크 시스템(108)을 통해) 데이터를 통신 및 교환함으로써 제3자 서비스 제공자와의 거래(예컨대, 금융 거래)를 수행할 수 있다.
예컨대, 일부 실시예로, 주어진 제3자 서버(110)는 직접 또는 소셜 네트워크 시스템(108)과 함께 클라이언트 장치(104)로 페이지를 제공하는 제3자 웹사이트를 호스팅하도록 사용된다. 일부 실시예에서, 주어진 제3자 서버(110)는 직접 또는 소셜 네트워크 시스템(108)과 함께 클라이언트 장치(104)에 의해 사용되는 제3자 애플리케이션을 호스팅하는데 사용된다.
일부 실시예로, 사용자는 (예컨대, 제3자 서비스의 페이지에 액세스하기 위해 소셜 네트워크 클라이언트 모듈(340) 내에 제공되는 링크를 클릭함으로써) 제3자 서비스 제공자로부터 구별된 서비스 제공자를 위해 제3자 서비스 제공자와 연관된 페이지를 로딩함으로써 제3자 서비스에 액세스할 수 있다. 페이지는 다른 웹 문서의 일부 공통 요소를 포함할 수 있는 타입의 디지털 문서이다(예컨대, 문서는 마크업 언어, 가령 HTML(Hyper Text Markup Language), XML(Extensible Markup Language), JAVA 등을 포함한다).
페이지는 또한, 사용자 정보(예컨대, 소셜 네트워킹 서비스를 사용하는 것과 연계되어 수집 및 저장된 위치 정보, 결제 크리덴셜, 프로필 정보 등)를 획득하기 위해 소셜 네트워킹 서비스를 위한 서버 시스템의 하나 이상의 애플리케이션 프로그래밍 인터페이스(APIs)(예컨대, 소셜 네트워크 시스템(108)의 하나 이상의 APIs, 도 1)를 호출하기 위한 스크립트(예컨대, 하나 이상의 구별되는 스크립트)(예컨대, 소셜 네트워크 시스템(108)에 의해 페이지로 삽입된 JavaScript)를 포함할 수 있다. 스크립트는 로딩된 페이지와의 사용자 상호작용 동안의 임의의 시간(예컨대, 페이지가 로딩될 때, 로딩된 페이지 내에 감지된 상호작용에 응답하여 등)에 실행될 수 있다.
스크립트는 소셜 네트워킹 서비스에 의해 관리되는 사용자 정보가 사용자와 제3자 서비스 제공자 사이에서 수행되는 거래에 이용되도록 허용한다. 이러한 구현은 독립형 제3자 애플리케이션(예컨대, 소셜 네트워크 클라이언트 모듈(340)로부터 구별되는 다른 클라이언트 애플리케이션 모듈(342), 도 3)을 통해 제3자 서비스 및 기능에 액세스하는 것에 대해 더 효율적이고, 통합되고 매끄러운 대안을 제공하는 한편, 네트워크에서 다른 서비스 제공자(예컨대, 소셜 네트워크 시스템(108)에 의해 제공되는 소셜 네트워킹 서비스)와 연계하여 관리되는 사용자 정보를 선택적으로 이용한다.
(예컨대, 제3자 서비스 제공자에 의해 제공되는) 예시적인 제3자 서비스는: 책, 비즈니스, 통신, 콘테스트, 전자상거래(예컨대, 온라인 소매업자로부터 상품이나 서비스를 구매하기 위한 페이지), 교육, 오락, 패션, 금융, 음식과 음료, 게임, 건강과 운동, 라이프스타일, 지역 정보(예컨대, 대중교통 스케쥴의 실시간 열람을 위한 페이지), 영화(영화 리뷰, 영화 티켓 구매를 위한 페이지 등), 텔레비전, 음악과 오디오, 뉴스, 사진, 비디오, 생산성, 참조 자료, 보안, 쇼핑, 스포츠, 여행, 유틸리티 등을 위한 것이거나 이와 관련되는 서비스, 제품 및/또는 애플리케이션을 포함하지만 이들로 제한되지 않는다. 일부 실시예에서, 주어진 제3자 서버(110)는 직접 또는 소셜 네트워크 시스템(108)과 함께 클라이언트 장치(104)에 의해 사용되는 기업 시스템을 호스팅하는데 사용된다. 일부 실시예에서, 주어진 제3자 서버(110)는 제3자 컨텐츠(예컨대, 뉴스 기사, 리뷰, 메시지 피드 등)을 제공하는데 사용된다.
일부 실시예로, 주어진 제3자 서버(110)는 단일 컴퓨팅 장치(예컨대, 서버 컴퓨터)인 한편, 다른 실시예로, 주어진 제3자 서버(110)는 서버 시스템의 행위를 수행하기 위해 함께 동작하는 다수의 컴퓨팅 장치(예컨대, 클라우드 컴퓨팅)에 의해 수행된다.
도 2는 일부 실시예에 따른 소셜 네트워크 시스템(108)의 예시를 도시하는 블록도이다. 소셜 네트워킹 시스템(108)은 일반적으로 하나 이상의 프로세싱 유닛(프로세서 또는 코어)(202), 하나 이상의 네트워크 또는 다른 통신 인터페이스(204), 메모리(206) 및 하나 이상의 이들 컴포넌트를 상호연결하기 위한 통신 버스(208)를 포함한다. 통신 버스(208)는 선택적으로 시스템 컴포넌트간 상호연결하고 통신을 제어하는 회로(때때로 칩셋으로 부른다)를 포함한다. 소셜 네트워크 시스템(108)은 선택적으로 사용자 인터페이스(도시되지 않음)를 포함한다. 사용자 인터페이스는 만약 제공되는 경우, 디스플레이 장치를 포함할 수 있고 선택적으로 키보드, 마우스, 트랙패드 및/또는 입력 버튼과 같은 입력을 포함한다. 대안적으로 또는 추가로, 디스플레이 장치는 디스플레이가 터치-감응 디스플레이인 경우 터치 감응 표면을 포함한다.
메모리(206)는 DRAM, SRAM, DDR RAM이나 다른 랜덤 액세스 솔리드 스테이트 메모리 장치와 같은 고속 랜덤 액세스 메모리를 포함하고; 하나 이상의 자기 디스크 저장 장치, 광학 디스크 저장 장치, 플래시 메모리 장치 및/또는 다른 비휘발성 솔리드 스테이트 저장 장치와 같은 비휘발성 메모리를 포함할 수 있다. 메모리(206)는 선택적으로 프로세서(들)(202)로부터 원격으로 위치한 하나 이상의 저장 장치를 포함할 수 있다. 메모리(206), 또는 대안적으로 메모리(206) 내의 비휘발성 메모리 장치(들)는 비일시적 컴퓨터 판독가능한 저장 매체를 포함한다. 일부 실시예에서, 메모리(206) 또는 메모리(206)의 컴퓨터 판독가능한 저장 매체는 다음 프로그램, 모듈 및 데이터 구조, 또는 그 서브세트 또는 슈퍼세트를 저장한다.
● 다양한 기본 시스템 서비스를 처리하고 하드웨어 종속 작업을 수행하기 위한 프로시저를 포함하는 운영체제(210);
● 하나 이상의 통신 네트워크 인터페이스(204)(유선 또는 무선) 및 하나 이상의 통신 네트워크(예컨대, 하나 이상의 네트워크(106))을 통해 소셜 네트워크 시스템(108)을 다른 컴퓨터로 연결하기 위해 사용되는 네트워크 통신 모듈(212);
● 가령 다음과 같은 소셜 네트워킹 서비스와 연관된 데이터를 저장하기 위한 소셜 네트워크 데이터베이스(214):
○ 사용자 정보(218)와 같은 엔티티 정보(216);
○ 연결 정보(220); 및
○ 다음과 같은 컨텐츠(222):
● 사용자 컨텐츠 (224); 및/또는
● 뉴스 기사(226);
● 다음을 포함하는 소셜 네트워킹 서비스 및 관련 특징을 제공하기 위한 소셜 네트워크 서버 모듈(228)(예컨대, 클라이언트 장치(104) 상의 브라우저 모듈(338) 또는 소셜 네트워크 클라이언트 모듈(340)(도 3)과 함께):
○ 클라이언트 장치(104)의 사용자(102)를 소셜 네트워크 시스템(108)에 로그인시키기 위한 로그인 모듈(230);
○ 다음을 포함하는 디스플레이하기 위해 클라이언트 장치(104)로 전송될 컨텐츠를 제공하기 위한 컨텐츠 피드 관리자(232):
● 이미지, 비디오, 오디오 파일, 코멘트, 상태 메시지, 링크, 애플리케이션 및/또는 다른 엔티티 정보(216), 연결 정보(220) 또는 컨텐츠(222)와 같은 객체를 소셜 네트워크 데이터베이스(214)에 추가하기 위한 컨텐츠 생성자 모듈(234); 및
● 디스플레이하기 위하여 클라이언트 장치(104)로 전송될 정보/컨텐츠를 선택하기 위한 컨텐츠 선택자 모듈(236); 및
○ 다음을 포함하는, 소셜 네트워킹 서비스(예컨대, 소셜 네트워크 시스템(108)에 의해 제공되는)를 위한 애플리케이션(예컨대, 소셜 네트워크 모듈(340), 도 3)을 사용하여 제3자 서비스 제공자의 서비스로의 액세스를 사용자에게 제공하기 위한 제3자 서비스 모듈(238):
● (예컨대, 제3자 서버(110)로부터) 제3자 서비스 제공자와 연관된 요청된 페이지를 검색하거나, 스크립트를 페이지로 주입하거나 및/또는 (예컨대, 클라이언트 장치(104)로) 페이지를 제공하기 위한 페이지 모듈(240);
● 사용자와 연관된 (예컨대, 소셜 네트워킹 서비스의) 정보를 획득하기 위해 (예컨대, 페이지에서 스크립트로부터) API 호출을 수신하고, 그에 응답하여 요청된 정보를 (예컨대, 소셜 네트워크 데이터베이스(214)로부터) 검색하고 (예컨대, 클라이언트 장치(104)로) 제공하기 위한 애플리케이션 프로그래밍 인터페이스(APIs)(242);
● (예컨대, 제3자 서버(110)로부터 획득된) 제3자 서비스 제공자와 연관된 페이지를 저장하는 선택적 페이지 캐시(244); 및
● 소셜 네트워크 시스템의 사용자가 소셜 네트워크의 컨텐츠 및 다른 사용자를 검색할 수 있게 하기 위한 검색 모듈(246).
소셜 네트워크 데이터베이스(214)는 그래프, 차원형, 플랫, 계층형, 네트워크, 객체 지향, 관계형 및/또는 XML 데이터베이스와 같은 하나 이상의 타입의 데이터베이스에 소셜 네트워크와 연관된 데이터를 저장한다.
일부 실시예에서, 소셜 네트워크 데이터베이스(214)는 그래프 데이터베이스에서 에지로 표현되는 엔티티 정보(216) 및 그래프 데이터베이스에서 노드로 표현되는 연결 정보(220)를 가지는 그래프 데이터베이스를 포함한다. 그래프 데이터베이스는 복수의 노드뿐만 아니라 대응하는 노드 간의 연결을 정의하는 복수의 에지를 포함한다. 일부 실시예로, 노드 및/또는 에지 자체는 이들의 대응하는 엔티티에 대한 식별자, 속성 및 정보를 포함하는 데이터 객체이다. 일부 실시예에서, 노드도 클라이언트 장치(104)에서 각 노드에 대응하는 페이지의 렌더링과 관련하여 컨텐츠를 렌더링하기 위하여 다른 객체, 데이터 구조 또는 리소스로의 포인터나 참조를 포함한다.
엔티티 정보(216)는 사용자 정보(218), 가령 사용자 프로필, 로그인 정보, 결제 크리덴셜(예컨대, 소셜 네트워킹 서비스를 통해 금융 거래를 수행하기 위한 신용카드나 직불카드 정보, 은행 정보 등), 개인정보 및 다른 선호사항, 인명 정보 등을 포함한다. 일부 실시예에서, 주어진 사용자에 대하여, 사용자 정보(218)는 사용자의 이름, 프로필 사진, 연락처 정보, 생일, 성별, 혼인 상태, 가족 상태, 직장, 학력, 기호, 관심사 및/또는 다른 인구통계적 정보를 포함한다.
일부 실시예에서, 엔티티 정보(216)는 물리적 위치(예컨대, 레스토랑, 극장, 랜드마크, 도시, 주 또는 나라), 실제 또는 기적 재산(예컨대, 조각, 그림, 영화, 게임, 노래, 아이디어/컨셉, 사진 또는 서면 작업), 비즈니스, 사람들의 그룹 및/또는 비즈니스의 그룹에 대한 정보를 포함한다. 일부 실시예에서, 엔티티 정보(216)는 오디오 파일, 비디오 파일, 디지털 사진, 텍스트 파일, 구조화된 문서(예컨대, 웹 페이지) 또는 애플리케이션과 같은 리소스에 대한 정보를 포함한다. 일부 실시예에서, 리소스는 소셜 네트워크 시스템(108)(예컨대, 컨텐츠(222))에 또는 제3자 서버(110)와 같은 외부 서버 상에 존재한다.
일부 실시예에서, 연결 정보(220)는 소셜 네트워크 데이터베이스(214) 내의 엔티티 간의 관계에 대한 정보를 포함한다. 일부 실시예에서, 연결 정보(220)는 그래프 데이터베이스의 노드 쌍을 연결하는 에지에 관한 정보를 포함한다. 일부 실시예에서, 노드 쌍을 연결하는 에지는 노드 쌍 간의 관계를 나타낸다.
일부 실시예에서, 에지는 노드 쌍 간의 관계에 대응하는 하나 이상의 데이터 객체 또는 속성을 포함하거나 나타낸다. 예를 들어, 제2 사용자가 제1 사용자의 “친구”임을 제1 사용자가 표시할 때, 소셜 네트워크 시스템(108)은 제2 사용자에게 “친구 요청”을 전송한다. 만약 제2 사용자가 “친구 요청”을 확인하면, 소셜 네트워크 시스템(108)은 그래프 데이터베이스의제1 사용자의 노드와 제2 사용자의 노드를 연결하는 에지를 제1 사용자와 제2 사용자가 친구임을 표시하는 연결 정보(220)로서 생성하고 저장한다. 일부 실시예에서, 연결 정보(220)는 친구관계, 가족관계, 비즈니스나 직장 관계, 팬 관계, 팔로워 관계, 방문자 관계, 구독자 관계, 상위/하위 관계, 호혜 관계, 비-상호 관계, 다른 적절한 타입의 관계 또는 둘 이상의 이러한 관계를 나타낸다.
일부 실시예에서, 사용자 노드와 다른 엔티티 노드 간의 에지는 사용자 노드의 사용자에 의해 다른 엔티티 노드에 대해 수행된 특정 행위 또는 활동에 대한 연결 정보를 나타낸다. 예를 들어, 사용자는 다른 노드의 엔티티를 “좋아요”하거나 “참석”, “재생”, “청취”, “요리”, “근무” 또는 “시청”할 수 있다. 다른 노드의 엔티티에 대응하는 소셜 네트워킹 페이지의 페이지는 예컨대 선택가능한 “좋아요”, “체크인” 또는 “즐겨찾기에 추가” 아이콘을 포함할 수 있다. 사용자가 이들 아이콘 중 하나를 클릭한 후, 소셜 네트워크 시스템(108)은 대응하는 사용자 행위에 응답하여 “좋아요” 에지, “체크인” 에지 또는 “즐겨?기” 에지를 생성할 수 있다. 다른 예로, 사용자는 특정한 애플리케이션(예컨대, 온라인 음악 애플리케이션)을 사용하여 특정 곡을 들을 수 있다. 이 경우, 소셜 네트워크 시스템(108)은 사용자에 대응하는 사용자 노드와 곡 및 애플리케이션에 대응하는 엔티티 노드 사이에 “청취했음” 에지 및 “사용했음” 에지를 각각 생성하여 사용자가 곡을 청취했고 애플리케이션을 사용했음을 표시할 수 있다. 나아가, 소셜 네트워크 시스템(108)은 곡 및 애플리케이션에 대응하는 엔티티 노드 간에 “재생했음” 에지를 생성하여 특정 곡이 특정 애플리케이션에 의해 재생됐음을 표시할 수 있다.
일부 실시예에서, 컨텐츠(222)는 텍스트(예컨대, ASCII, SGML, HTML), 이미지(예컨대, jpeg, tif 및 gif), 그래픽(예컨대, 벡터 기반 또는 비트맵), 오디오, 비디오(예컨대, mpeg), 다른 멀티미디어 및/또는 그 조합을 포함한다. 일부 실시예로, 컨텐츠(222)는 실행가능한 코드(예컨대, API 호출을 위한 스크립트), 팟캐스트, 링크 등을 포함한다.
일부 실시예에서, 소셜 네트워크 서버 모듈(228)은 웹이나 HTTP(hypertext Transfer Protocol) 서버, FTP(File Transfer Protocol) 서버뿐만 아니라 CGI(Common Gateway Interface) 스크립트, PHP(PHP Hyper-text Preprocessor), ASP(Active Server Pages), HTML(Hyper Text Markup Language), XML(Extensible Markup Language), Java, JavaScript, AJAX(Asynchronous JavaScript and XML), XHP, Javelin, WURFL(Wireless Universal Resource File) 등을 이용해 구현되는 웹 페이지와 애플리케이션을 포함한다.
일부 구현에서, 제3자 서버(110)(도 1)는 소셜 네트워크 시스템(108)을 위해 도 2에서 전술된 바와 같은 동일한 컴포넌트, 모듈 및 서브-모듈의 일부 또는 전부를 포함한다.
도 3은 일부 실시예에 따른 클라이언트 장치(104)의 예시를 도시하는 블록도이다. 클라이언트 장치(104)는 일반적으로 하나 이상의 프로세싱 유닛(프로세서 또는 코어)(302), 하나 이상의 네트워크나 다른 통신 인터페이스(304), 메모리(306) 및 이들 컴포넌트를 상호연결하기 위한 하나 이상의 통신 버스(308)를 포함한다. 통신 버스(308)는 선택적으로 시스템 컴포넌트간 상호연결하고 통신을 제어하는 회로(때때로 칩셋으로 부른다)를 포함한다. 클라이언트 장치(104)는 사용자 인터페이스(310)를 포함한다. 사용자 인터페이스(310)는 일반적으로 디스플레이 장치(312)를 포함한다. 일부 실시예에서, 클라이언트 장치(104)는 키보드, 마우스 및/또는 다른 입력 버튼(316)과 같은 입력을 포함한다. 대안으로 또는 추가로, 일부 실시예에서 디스플레이 장치(312)는 터치-감응형 표면(314)을 포함하고, 이 경우 디스플레이 장치(312)는 터치-감응형 디스플레이이다. 일부 실시예로, 터치-감응형 표면(314)은 다양한 스와이프 제스처(예컨대, 수직 및/또는 수평 방향의 연속적인 제스처) 및/또는 다른 제스처(예컨대, 단일/이중 탭)를 감지하도록 구성된다. 터치-감응형 디스플레이(312)를 갖는 전자 장치에서, 물리적인 키보드는 선택적이다(예컨대, 소프트 키보드는 키보드 엔트리가 필요할 때 디스플레이될 수 있다). 사용자 인터페이스(310)는 또한, 오디오 출력 장치(318), 가령 스피커, 이어폰 또는 헤드폰에 연결된 오디오 출력 연결이나 스피커를 포함한다. 추가로, 일부 클라이언트 장치(104)는 키보드를 보충 또는 대체하기 위해 마이크로폰 및 음성 인식을 사용한다.선택적으로, 클라이언트 장치(104)는 오디오(예컨대, 사용자로부터의 음성)을 캡처하기 위한 오디오 입력 장치(320)(예컨대, 마이크로폰)를 포함한다. 선택적으로, 클라이언트 장치(104)는 클라이언트 장치(104)의 위치를 결정하기 위한 위치 감지 장치(322), 예컨대 GPS(global positioning satellite)나 다른 지리적 위치 수신기를 포함한다. 클라이언트 장치(104)는 또한 선택적으로 카메라나 웹캠과 같은 이미지/비디오 캡처 장치(324)를 포함한다.
일부 실시예에서, 클라이언트 장치(104)는 클라이언트 장치의 운동 및/또는 방향 변화를 감지하기 위한 하나 이상의 선택적 센서(323)(예컨대, 자이로스코프, 가속도계)를 포함한다. 일부 실시예로, 클라이언트 장치(104)의 감지된 움직임 및/또는 방향(예컨대, 클라이언트 장치의 사용자에 의해 생성된 사용자 입력에 대응하는 방향의 움직임/변화)이 클라이언트 장치(104) 상에 디스플레이되는 인터페이스 (또는 인터페이스 내의 컨텐츠)를 조작하는데 사용된다.
메모리(306)는 고속 랜덤 액세스 메모리, 가령 DRAM, SRAM, DDR RAM 또는 다른 랜덤 액세스 솔리드 스테이트 메모리 장치를 포함하며; 비-휘발성 메모리, 가령 하나 이상의 자기 디스크 저장 장치, 광 디스크 저장 장치, 플래시 메모리 장치, 또는 다른 비-휘발성 솔리드 스테이트 저장 장치를 포함할 수 있다. 메모리(306)는 선택적으로 프로세서(들)(302)로부터 원격으로 위치한 하나 이상의 저장 장치를 포함할 수 있다. 메모리(306) 또는 대안으로 메모리(306) 내의 비-휘발성 메모리 장치(들)는 비-일시적 컴퓨터 판독가능한 저장 매체를 포함한다. 일부 실시예로, 메모리(306) 또는 메모리(306)의 컴퓨터 판독가능한 저장 매체는 이하의 프로그램, 모듈 및 데이터 구조, 또는 이들의 서브세트나 슈퍼세트를 저장한다:
● 다양한 기본 시스템 서비스를 처리하고 하드웨어 종속 작업을 수행하기 위한 프로시저를 포함하는 운영체제(326);
● 하나 이상의 통신 네트워크 인터페이스(328)(유선 또는 무선) 및 인터넷, 셀룰러 전화 네트워크, 모바일 데이터 네트워크, 다른 광역 네트워크, 근거리 네트워크, 대도시 네트워크 등과 같은 하나 이상의 통신 네트워크를 통해 클라이언트 장치(104)를 다른 컴퓨터로 연결하기 위해 사용되는 네트워크 통신 모듈(328);
● 이미지/비디오 캡처 장치(324)에 의해 캡처된 각 이미지나 비디오를 처리하기 위한 이미지/비디오 캡처 모듈(330)(예컨대, 카메라 모듈)로서, 각 이미지나 비디오는 소셜 네트워크 시스템(108)으로 송신 또는 스트리밍될 수 있음(예컨대, 클라이언트 애플리케이션 모듈(336)에 의해);
● 오디오 입력 장치(320)에 의해 캡처된 오디오를 처리하기 위한 오디오 입력 모듈(332)(예컨대, 마이크로폰 모듈)로서, 각 오디오는 소셜 네트워크 시스템(108)으로 송신 또는 스트리밍될 수 있음(클라이언트 애플리케이션 모듈(336)에 의해);
● 클라이언트 장치(104)의 위치를 결정하고(예컨대, 위치 감지 장치(322)를 이용하여) 이 위치 정보를 다양한 애플리케이션(예컨대, 소셜 네트워크 클라이언트 모듈(340))에서 사용하기 위해 제공하기 위한 위치 검출 모듈(334)(예컨대, GPS, Wi-Fi 또는 하이브리드 위치 모듈); 및
● 다음 모듈(또는 명령어의 세트), 또는 그 서브세트나 슈퍼세트를 포함하는 하나 이상의 클라이언트 애플리케이션 모듈(336):
○ 웹 사이트와 상호작용하고, 액세스하며, 열람하기 위한 웹 브라우저 모듈(338)(예컨대, 마이크로소프트의 인터넷 익스플로러, 모질라의 파이어폭스, 애플의 사파리, 또는 구글의 크롬);
○ 소셜 네트워킹 서비스(예컨대, 소셜 네트워킹 시스템(108)이 제공하는 소셜 네트워킹 서비스)에 인터페이스 및 관련 특징을 제공하고, (예컨대, 제3자 서비스 제공자와의 거래를 수행하기 위해) 제3자 서비스 제공자와 연관된 페이지(예컨대, 소셜 네트워크 모듈(340)을 위한 인터페이스 내에서)를 로딩하기 위한 소셜 네트워크 모듈(340); 및/또는
○ 선택적 클라이언트 애플리케이션 모듈(348), 가령 워드 프로세싱, 캘린더작업, 맵핑, 날씨, 증권, 시간 관리, 가상 디지털 비서, 프레젠테이션, 숫자 입력(스프레드시트), 그림, 인스턴트 메시징, 이메일, 전화, 비디오 회의, 사진 관리, 비디오 관리, 디지털 음악 플레이어, 디지털 비디오 플레이어, 2D 게임, 3D(예컨대, 가상 현실) 게임, 전자책 리더, 및/또는 워크아웃 지원을 위한 애플리케이션.
상기 모듈 및 애플리케이션 각각은 상술한 및/또는 본 출원에 서술된 방법(예컨대, 본 명세서에 서술되는 컴퓨터 구현 방법 및 다른 정보 처리 방법)의 하나 이상의 기능을 수행하기 위한 실행가능한 명령어의 세트에 대응한다. 이들 모듈(즉, 명령어들의 세트)은 분리된 소프트웨어 프로그램, 절차 또는 모듈로 구현될 필요는 없고, 따라서 이러한 모듈의 다양한 서브세트는 다양한 실시예에서 선택적으로 또는 조합되거나 아니면 재배치된다. 일부 실시예에서, 메모리(206 및/또는 306)은 상기 식별된 모듈 및 데이터 구조의 서브세트를 저장한다. 나아가, 메모리(206 및/또는 306)는 선택적으로 상술되지 않은 추가 모듈 및 데이터 구조를 저장한다.
이제 클라이언트 장치(예컨대, 도 3의 클라이언트 장치(104))에서 구현될 수 있는 GUI(graphical user interface)의 실시예 및 연관된 프로세스의 실시예에 주목한다.
도 4a 내지 4j는, 일부 실시예에 따라, 제3자 서비스 제공자로부터 구별된 서비스 제공자(예컨대, 소셜 네트워크 시스템(108)의 제공자, 도 1)를 위해 애플리케이션 내에서 제3자 서비스 제공자의 서비스에 액세스하기 위한 클라이언트 장치(104) 상의 예시적인 그래픽 사용자 인터페이스(GUIs)를 도시한다. 예컨대, 도 4a 내지 4j에 도시된 GUIs는 소셜 네트워킹 서비스(예컨대, 소셜 네트워크 모듈(340), 도 3)를 위한 애플리케이션에 의해 제공될 수 있다. 이들 도면의 GUIs는 방법(500)(도 5)을 포함하는 하기에 기술된 프로세스를 도시하기 위해 사용된다. 도 4a 내지 4j가 GUIs의 예시를 도시하는 한편, 다른 실시예에서, 하나 이상의 GUIs는 도 4a-4j의 실시예로부터 구별되는 배치로 사용자-인터페이스 요소를 디스플레이한다.
도 4a는 소셜 네트워킹 서비스(예컨대, 소셜 네트워크 시스템(108)의 서버 시스템에 의해 제공됨, 도 1)의 컨텐츠와 상호작용하고 이를 디스플레이하기 위한 GUI를 도시한다. 소셜 네트워크 컨텐츠(예컨대, 텍스트 코멘트, 미디어 등)는 소셜 네트워킹 서비스의 특정 사용자를 위해 (예컨대, 피드, 사용자 타임라인 등에서) 디스플레이된다. 일부의 경우, 소셜 네트워크 컨텐츠는 제3자 서비스 제공자(예컨대, 제3자 서버(110), 도 1)와 연관된 페이지로의 링크를 포함한다. 링크가 선택되고 연관 페이지가 액세스될 수 있는 소셜 네트워킹 서비스의 다양한 양태가 도 4a 내지 4j 및 방법(500)(도 5) 전반에 걸쳐 기술된다.
도 4a의 GUI는 소셜 네트워크 컨텐츠의 피드를 디스플레이한다. 피드는 제3자 서비스 제공자와 연관된 페이지로의 링크(402)를 공유하는 사용자 "John Doe"에 의한 게시물(400)을 포함한다. (예컨대, 터치 입력을 사용한) 링크(402)의 사용자 선택은 대응하는 페이지를 로딩하고, 이는 사용자들이 제3자 서비스 제공자의 서비스에 액세스하도록 허용한다. 이 예시에서, 제3자 서비스 제공자는 온라인 영화 티켓 판매자인 "Ticket Store"이고, 링크(402)의 선택은 사용자들이 영화 "Finding Dory"에 대한 티겟을 구매할 수 있게 하는 대응하는 페이지(미도시)를 로딩한다. 선택적 인덱스(404)는 링크가 제3자 서비스 제공자와 연관된 페이지를 향한 것이고, 링크의 선택은 실행되는 애플리케이션(예컨대, 소셜 네트워킹 서비스로 인터페이스를 제공하는 소셜 네트워크 클라이언트 모듈(340)) 내에 페이지를 로딩한다는 것을 나타내기 위해 링크(402) 상에 오버레이될 수 있다. 따라서 페이지는 다른 애플리케이션으로의 스위칭 없이 로딩될 수 있다.
도 4a의 GUI는 또한, 사용자가 소셜 네트워크 또는 다른 컨텐츠에 관해 검색하도록 허용하기 위한 검색 박스(406)를 디스플레이한다. 이 예시에서, 검색 박스(406)에 감지된 터치 제스처는 GUI(도 4b)가 검색 질의를 입력하고 디스플레이될 검색 결과를 열람하도록 야기한다. (도 4b의 GUI는 검색 질의를 입력하기 위해 도시되지 않은 소프트 키보드를 포함할 수 있다). 도 4b에 도시되는 것처럼, "the force awakens"에 대한 검색 질의가 검색 박스(406)로 입력된다. 이에 응답하여, 검색 결과(410-1 내지 401-3)가 디스플레이된다. 여기서, 검색 결과(410-2)는 제3자 서비스 제공자, "Ticket Store"(도 4a의 링크(402)와 연관된 동일한 온라인 영화 티켓 판매자임)와 연관된 페이지로의 링크이다.
검색 결과(410-2) 상의 터치 제스처(412)(도 4b)의 감지에 응답하여, 제3자 서비스 제공자에 대한 대응하는 페이지(414)가 로딩되고(도 4c) 실행된 애플리케이션 내에 디스플레이된다. 디스플레이된 페이지(414)를 통해, 사용자는 제3자 서비스 제공자와의 거래를 수행할 수 있고, 선택적으로 다른 서비스 및 기능에 액세스한다. 도 4c에 도시되는 것처럼, "Ticket Store"와 연관된 페이지가 디스플레이되고, 사용자가 도 4c에서 검색된 영화("Star Wars: The Force Awakens")를 위한 티켓을 구매할 수 있는 인터페이스를 제공한다. 사용자는 또한, 관련 미디어 컨텐츠("VIDEOS") 또는 정보("CAST & INFO")를 열람할 수 있다.
아래에 설명되는 것처럼, 서버 시스템(예컨대, 소셜 네트워킹 서비스를 위한)의 애플리케이션 프로그래밍 인터페이스(APIs)를 호출하기 위한 페이지(414) 내의 스크립트는 사용자(예컨대, 클라이언트 장치(104-1)의 사용자, 클라이언트 장치(104-1) 상에서 소셜 네트워킹 서비스로 로그인된 사용자 등)와 연관된 정보를 획득하기 위해 실행될 수 있다. 페이지(414)를 통해 제3자 서비스 제공자와의 거래를 수행하기 위해 획득된 사용자 정보가 이후 사용될 수 있다. 이 예시에서, 획득된 정보는 거래를 위한 추천을 제공하기 위해 적어도 부분적으로 사용되는 위치 정보(416)(예컨대, 우편번호), 가령 요청된 영화를 상영하는 근처의(예컨대, 특정된 영역이나 거리 이내에 있는) 영화관("AMC Van Ness 14", 획득된 우편번호로부터 0.6마일 떨어져 있음)을 포함한다. 검색될 수 있는 사용자 정보의 다른 예시 및 제3자 서비스 제공자와의 거래를 수행함에 있어서의 이들의 사용이 방법(500)에 대해 기술된다(도 5).
상향 스와이프 제스처(418)가 도 4c에서 감지되어, 페이지(414)의 추가 부분들이 디스플레이되도록 한다(도 4d). 여기서 GUI는 이용가능한 상영 시간에 대응하는 사용자 인터페이스 어포던스(420-1 내지 420-7)를 디스플레이하고, 이들의 선택은 사용자가 대응하는 상영 시간에 대한 티켓을 구매하기 위한 거래를 개시하도록 허용한다.
터치 제스처(422)(도 4d)가 어포던스(420-3) 상에서 감지되고, 이에 응답하여 거래를 완료하기 위한 GUI가 디스플레이된다(도 4e). 여기서, 사용자는 거래의 세부사항, 가령 구매할 티겟의 개수를 특정할 수 있다.
결제 세부사항을 특정하기 위한 페이지(414)의 부분이 상향 스와이프 제스처(424)(도 4e)의 감지에 응답하여 디스플레이된다(도 4f). 여기서 제3자 서비스 제공자와의 금융 거래를 수행함에 있어서, 사용자에 대한 결제 크리덴셜이 (예컨대, 소셜 네트워크 시스템(108)의 API(242)를 호출함으로써, 도 2) 소셜 네트워킹 서비스로부터 검색될 수 있다. 이 예시에서, 결제 크리덴셜은 사용자에 의해 명시적으로 인가될 때까지 소셜 네트워킹 서비스로부터 검색되지 않는다. 예컨대, 어포던스(428) 상의 터치 제스처(426)의 감지에 응답하여, 결제 확인 인터페이스(430)가 디스플레이되고(도 4g), 사용자가 사용자의 이메일 주소 및 결제 크리덴셜의 일회성 사용에 대한 인가를 제공할 것을 요구한다. 여기서, 결제 크리덴셜 및 이메일 주소는 (예컨대, APIs(242)를 호출함으로써, 도 2) 검색되고 어포던스(434) 상의 터치 제스처(432)의 감지에 응답하여(도 4g) 거래를 완료하는데 사용된다. 이후, 확인 메시지(436)가 디스플레이되고(도 4h), 이는 선택적으로 사용자에게 제3자 서비스의 추가 기능(예컨대, "View Ticket")으로의 액세스를 제공한다. 대안으로, 결제 크리덴셜은 사용자 입력 없이 (예컨대, 페이지의 로딩에 응답하여) 검색된다.
일부 실시예로, 제3자 서비스 제공자와 연관된 페이지로의 링크가 소셜 네트워킹 서비스의 알림 인터페이스 내에 제공될 수 있다. 소셜 네트워킹 서비스로부터의 알림을 열람하기 위한 알림 인터페이스(438)(도 4j)는 어포던스(442) 상의 터치 제스처(440)의 감지(도 4i)에 응답하여 디스플레이된다. 도 4j에 도시되는 것처럼, 알림(444-1, 444-2)은 제3자 서비스 제공자와 연관된 페이지로의 링크를 포함하고, 알림의 선택은 다른 애플리케이션으로 스위칭함이 없이 대응하는 페이지들이 실행되는 애플리케이션 내에 로딩되도록 야기한다. 예컨대, 알림(444-1)의 선택은 "Ticket Store"와 연관된 페이지가 로딩되도록 야기하고, 사용자가 (도 4b 내지 4h와 관련하여 기술되는) 최근에 구매한 영화 티켓의 세부사항을 열람하도록 허용한다. 다른 예시로, 알림(444-2)은 "Ticket Store"와 연관된 페이지로의 동일한 링크(402)(도 4a)를 포함하고, 이는 사용자가 "Finding Dory"의 티겟을 구매하도록 허용한다.
도 5는 일부 실시예에 따라, 제3자 서비스 제공자와 구별된 다른 서비스 제공자를 위해 애플리케이션 내에서 제3자 서비스 제공자의 서비스에 액세스하는 방법(500)을 도시하는 흐름도이다.
방법(500)의 단계는 클라이언트 장치(502)(예컨대, 클라이언트 장치(104), 도 1, 3, 4a-4j), 서버 시스템(504)(예컨대, 소셜 네트워크 시스템(108), 도 1 및 2), 및/또는 제3자 서버(506)(예컨대, 제3자 서버(110), 도 1)의 임의의 조합에 의해 수행될 수 있다. 도 5는 컴퓨터 메모리(예컨대, 클라이언트 장치(104)의 메모리(306), 도 3; 소셜 네트워크 시스템(108)의 메모리(206), 도 2; 제3자 서버(110)의 메모리, 도 1(미도시)) 또는 다른 컴퓨터-판독가능한 저장 매체에 저장된 명령어에 대응한다. 방법(500)의 설명을 돕기 위하여, 도 5는 도 4a-4j에 도시된 예시적인 GUI를 참조하여 설명될 것이다.
방법(500)을 수행함에 있어서, 클라이언트 장치(502)는 사용자에게, 서버 시스템(504)에 의해 제공되는 소셜 네트워킹 서비스와 연관된 애플리케이션 내에, 제3자 서비스 제공자와 연관된 페이지로의 링크를 제공한다(508)(예컨대, 검색 결과(410-2)(도 4b)는 소셜 네트워크 클라이언트 모듈(340)을 위한 GUI에 디스플레이되고, 이는 제3자 서비스 제공자, "Ticket Store"를 위한 페이지(414)(도 4c)로의 링크이다). 제3자 서버(506)와 연관된 제3자 서비스 제공자는 소셜 네트워킹 서비스로부터 구별된다. 하기에 기술되는 것처럼, 제3자 서비스 제공자와 연관된 페이지로의 링크는 소셜 네트워킹 서비스의 다양하고 (때때로 둘 이상의 구별된) 엔트리 지점이나 기능을 통해 액세스가능하다.
예컨대, 일부 실시예로, 페이지로의 링크를 제공하는 것(508)은 애플리케이션 내에 제3자 서비스 제공자를 위한 광고를 디스플레이하는 것을 포함하고, 광고는 페이지를 링크한다.
일부 실시예로, 클라이언트 장치(502)는 애플리케이션을 통해, 검색 질의(예컨대, 검색 박스(406)에서 "the force awakens" 검색 질의, 도 4b)를 특정하는 사용자 입력을 수신한다. 검색 질의는 서버 시스템(504)으로 제공된다. 클라이언트 장치(502)는 이후 서버 시스템(504)으로부터 검색 질의에 대한 결과를 수신한다. 결과는 페이지를 링크하는 제3자 서비스 제공자에 대한 참조를 포함한다(예컨대, 검색 결과(410-2)(도 4b)는 도 4c에서 페이지(414)를 링크한다). 검색 결과는 애플리케이션(예컨대, 도 4b의 GUI) 내에 디스플레이되고, 페이지로의 링크를 제공하는 것(508)은 검색 결과 내에 제3자 서비스 제공자에 대한 참조를 디스플레이하는 것을 포함한다.
일부 실시예로, 페이지로의 링크를 제공하는 것은(508) 애플리케이션 내에 제3자 서비스 제공자와 관한 알림을 디스플레이하는 것을 포함하고, 알림(예컨대, 알림(444-2), 도 4j)은 페이지를 링크한다.
일부 실시예로, 페이지로의 링크를 제공하는 것은(508) 애플리케이션 내에 (예컨대, 애플리케이션의 저장 기능을 사용하여) 사용자가 이전에 저장한 소셜 미디어 게시물(예컨대, 공유된 링크)를 디스플레이하는 것을 포함하고, 소셜 미디어 게시물은 페이지를 링크한다.
일부 실시예로, 페이지로의 링크를 제공하는 것(508)은 애플리케이션의 개인 메시징 인터페이스 내에, 소셜 네트워킹 서비스의 다른 사용자로부터의 메시지를 디스플레이하는 것을 포함하고, 메시지는 페이지를 링크한다. 개인 메시징 인터페이스는 사용자에게만 액세스가능한 메시지를 열람하기 위한 소셜 네트워킹 서비스의 인터페이스일 수 있다(예컨대, 사용자의 친구들에 의해 열람가능할 수 있는 사용자 프로필 타임라인에 생성된 게시물과는 대조적이다).
클라이언트 장치(502)는 서버 시스템(504)으로 제3자 서비스 제공자와 연관된 페이지에 대한 요청을 전송(510)하고, (서버 시스템(504)은 클라이언트 장치(502)로부터 수신한다). 일부 실시예로, 요청은 링크 사용자 선택(예컨대, 터치 제스처(412), 도 4b)에 응답하여 클라이언트 장치(502)에 의해 전송된다.
서버 시스템(504)은 페이지를 클라이언트 장치(502)로 제공(514)하고 (클라이언트 장치(502)는 서버 시스템(504)으로부터 수신한다). 페이지는 서버 시스템(504)의 하나 이상의 애플리케이션 프로그래밍 인터페이스(APIs)를 호출하기 위한 스크립트 (또는 다수의 스크립트)를 포함하고(예컨대, 스크립트의 실행은 클라이언트 장치(104)의 소셜 네트워크 클라이언트 모듈(340)로 하여금 소셜 네트워크 시스템(108)의 APIs(242)를 호출하도록 야기한다).
일부 실시예로, 서버 시스템(504)으로부터 페이지를 수신한 이후, 클라이언트 장치(502)는 클라이언트 장치에서의 메모리(예컨대, 메모리(306), 도 3) 내에 페이지를 캐시한다. 따라서, 클라이언트 장치가 이후의 시간에(예컨대, 클라이언트 장치가 애플리케이션 내에 페이지를 디스플레이(522)하는 것을 중단한 이후 및/또는 거래가 수행된 이후(524) 사용자가 페이지로 돌아올 때) 페이지에 액세스하는 경우, 캐시된 페이지는 서버 시스템(504)(또는 제3자 서버(506))으로 페이지에 대한 요청을 전송하는 대신에 클라이언트 장치에서 메모리로부터 검색될 수 있다.
일부 실시예로, 클라이언트 장치(502)로 페이지를 제공하는 것(514)은 페이지를 검색(512)하는 것을 포함한다. 서버 시스템(504)은 검색된 페이지로 스크립트를 주입하고(예컨대, 소셜 네트워크 시스템(108)은 제3자 서버(110-1)로부터 검색된 웹 문서에 코드를 추가함, 도 1), 주입된 스크립트를 갖는 검색된 페이지를 클라이언트 장치(502)로 전송한다. 일부 실시예로, 주입된 스크립트는 검색된 페이지 (또는 검색된 페이지와 연관되고 제3자 서비스 제공자와 연관된 다른 페이지) 내에서의 탐색 또는 페이지와의 상호작용을 용이하게 하는 스크립트를 포함한다(예컨대, 주입된 스크립트는 내비게이션 사용자 인터페이스 요소가 클라이언트 장치 상에 디스플레이되도록 야기하고, 사용자가 페이지에 대한 사이트맵에 액세스하도록 허용한다).
일부 실시예로, 페이지를 검색하는 것(512)은 제3자 서버(506)로부터 페이지를 획득하는 것, 서버 시스템(504)에서의 메모리 내에 페이지를 캐시하는 것(예컨대, 페이지 캐시(244), 도 2), 및 서버 시스템(504)에서 메모리로부터 캐시된 페이지를 검색하는 것을 포함한다. 대안으로, 페이지는 제3자 서버(506)로부터 획득되고 서버 시스템(504)에서 캐시되지 않고 클라이언트 장치(502)로 제공된다. 일부 실시예로, 스크립트는 제3자 서버로부터 획득된 페이지로 주입되고, 캐시된 페이지는 주입된 스크립트를 포함하는 획득된 페이지이다. 일부 실시예로, 캐시된 페이지는 제3자 서버로부터 획득된 페이지이고, 스크립트는 캐시된 페이지를 검색한 이후 그리고 주입된 스크립트를 갖는 캐시된 페이지를 클라이언트 장치로 전송하기 이전에 캐시된 페이지로 주입된다.
일부 실시예로, 페이지를 검색하는 것(512), 페이지를 캐시하는 것, 및/또는 검색된 페이지로 스크립트를 주입하는 것은 링크를 사용자에게 제공하는 것(단계(508)) 및/또는 페이지에 대한 요청을 전송하는 것(단계(510)) 이전에 수행된다. 즉, 제3자 제공자와 연관된 페이지는 클라이언트 장치로부터 임의의 페이지 요청을 수신하기 이전에 (예컨대, 주입된 스크립트로) 검색, 캐시 및/또는 수정될 수 있다.
링크의 사용자 선택에 응답하여, 클라이언트 장치(502)는 애플리케이션 내에 페이지를 로딩(516)한다(예컨대, 도 4c에서 터치 제스처(412)(도 4b)에 응답하여 페이지(414)를 로딩한다).
클라이언트 장치(502)는 서버 시스템(504)으로부터 사용자와 연관된 정보를 획득하기 위해 스크립트를 실행하고 하나 이상의 APIs(예컨대, APIs(242), 도 2)를 호출(518)하고, (서버 시스템(504)은 하나 이상의 APIs의 각 APIs로 스크립트로부터 하나 이상의 호출을 수신한다). 하나 이상의 호출에 응답하여, 서버 시스템(504)은 페이지에서 사용하기 위해 소셜 네트워킹 서비스로부터의 사용자와 연관된 정보를 클라이언트 장치로 제공(520)하고 (클라이언트 장치는 서버 시스템으로부터 이를 수신한다).
클라이언트 장치(502)는 애플리케이션 내에 페이지를 디스플레이(522)한다(예컨대, 소셜 네트워크 클라이언트 모듈(340)을 위해 GUI 내에 페이지(414)를 디스플레이한다, 도 4c). 페이지는 하나 이상의 호출에 응답하여 서버 시스템(504)이 제공한 정보에 적어도 부분적으로 기반하여 사용자가 제3자 서비스 제공자(즉, 제3자 서버(506))와의 거래를 수행하는 것을 가능하게 한다. 클라이언트 장치(502)는 페이지를 통해 제3자 서비스 제공자와의 거래를 수행하기 위해 사용자와 연관된 정보를 사용한다(524).
일부 실시예로, 사용자와 연관된 정보는 클라이언트 장치의 하드웨어 리소스에 의해 획득된 정보(예컨대, 이미지/비디오 캡처 장치(324)를 사용하여 캡처된 미디어(도 3), 위치 감지 장치(322)에 의해 생성된 위치 정보, 오디오 입력 장치(320)에 의해 캡처된 오디오 등)를 포함한다.
일부 실시예로, 사용자와 연관된 정보는 소셜 네트워킹 서비스에서 사용자에 대한 식별자(예컨대, 사용자 ID 또는 이메일 주소)(예컨대, 사용자 정보(218), 도2)를 포함하고, 거래를 수행하기 위해 정보를 사용하는 것(524)은 식별자를 거래와 연관시키는 것을 포함한다.
일부 실시예로, 사용자와 연관된 정보는 소셜 네트워킹 서비스에서 사용자에 대한 결제 정보를 포함하고, 거래를 수행하기 위해 정보를 사용(524)하는 것은 (예컨대, 소셜 네트워킹 서비스로부터 검색된 결제 크리덴셜을 사용하여, 도 4f 내지 4h) 거래를 결제하기 위해 결제 정보를 사용하는 것을 포함한다.
일부 실시예로, 페이지를 디스플레이(522)하는 것은 사용자와 연관된 정보에 적어도 부분적으로 기반하여 거래에 대한 추천을 디스플레이하는 것을 포함한다. 예컨대, 일부 구현에서, 사용자와 연관된 정보는 클라이언트 장치(502)에 의해 결정된 사용자의 위치를 포함하고, 추천은 위치에 적어도 부분적으로 기반한다(예컨대, 도 4c에서, 페이지(414)는 클라이언트 장치(104)의 위치 감지 장치(322)에 의해 결정된 위치 정보(416)에 기반하여 근처의 영화관, "AMC Van Ness 14"에 대한 추천을 디스플레이한다).
일부 실시예로, 사용자와 연관된 정보는 소셜 네트워킹 서비스에서 사용자의 활동의 이력을 포함하고(예컨대, 소셜 네트워킹 서비스의 사용자가 수행한 행위 또는 활동, 가령 도 2에서 연결 정보(220)에 관해 세부적으로 기술되는 바와 같은 "좋아요"하기), 추천은 이력에 적어도 부분적으로 기반한다(예컨대, 소셜 네트워킹 서비스를 통해 이전에 구매된 제품의 이력에 기반하여 구매를 위한 제품을 추천함).
일부 실시예로, 사용자와 연관된 정보는 소셜 네트워킹 서비스에서 사용자의 연락처의 활동의 이력을 포함하고(예컨대, 소셜 네트워킹 서비스에서 사용자의 친구들에 의해 수행된 행위 또는 활동), 추천은 이력에 적어도 부분적으로 기반한다(예컨대, 도 4a에서 링크(402)의 선택은 링크(402)를 공유하기 위한 사용자 "John Doe"의 게시물(400)에 기반하여 "Finding Dory"에 대한 티켓을 구매하는 것에 대한 추천을 디스플레이하는 페이지(미도시)를 로딩한다).
하나 이상의 APIs를 호출함으로써 서버 시스템으로부터 검색될 수 있는 사용자와 연관된 정보의 다른 예시는 예컨대, 소셜 네트워크 데이터베이스(214)(도 2)에 저장된 임의의 데이터나 정보를 포함한다.
일부 실시예로, 페이지를 로딩(516)하는 것은 스크립트를 실행하는 것을 포함하고, 하나 이상의 APIs를 호출(518)하는 것과 (획득된 정보를 클라이언트 장치로 제공(520)하는 것은) 스크립트를 실행하는 것에 응답하여 수행된다(예컨대, 하나 이상의 APIs는 링크의 사용자 선택을 감지할 때 호출된다). 일부 실시예로, 하나 이상의 APIs를 호출(518)하는 것과 (획득된 정보를 클라이언트 장치로 제공(520)하는 것은) 로딩된 페이지와 연계하여 사용자 상호작용의 감지에 응답하여 수행된다(예컨대, 하나 이상의 APIs는 위치 정보를 검색 및 사용할 허가를 부여하는 사용자 입력을 감지할 때 호출되는 것, 도 4g의 터치 제스처(432)는 소셜 네트워킹 서비스에 의해 유지되는 결제 크리덴셜의 사용을 인가하는 것 등). 일부 실시예로, 하나 이상의 APIs는 복수의 APIs를 포함하고, 복수의 APIs를 호출(518)하는 것은 페이지의 로딩(516)에 응답하여 복수의 APIs 중 적어도 제1 API를 호출하는 것과, 로딩된 페이지와 연계하여 사용자 상호작용의 감지에 응답하여 (제1 API와 구별되는) 복수의 APIs 중 적어도 제2 API를 호출하는 것을 포함한다.
일부 실시예로, 사용자와 연관된 정보를 사용(524)하는 것은 제3자 서비스 제공자의 제3자 서버(506)로 클라이언트 장치(502)로부터 직접 정보를 전송하는 것을 포함한다. 추가로 및/또는 대안으로, 사용자와 연관된 정보를 사용하는 것은 서버 시스템(504)으로부터 제3자 서버(506)로 정보를 전송하기 위한 명령어를 클라이언트 장치(502)가 서버 시스템(504)에 제공하는 것을 포함한다(예컨대, 도 4g에 제공된 사용자 인가는 사용자의 결제 크리덴셜이 소셜 네트워킹 서비스로부터 제3자 서비스 제공자로 직접 전송되도록 야기한다).
일부 실시예로, 거래를 수행한 이후, 클라이언트 장치(502)는 애플리케이션 내에 페이지를 디스플레이하는 것을 중단한다. 페이지를 디스플레이하는 것을 중단한 이후 클라이언트 장치(502)는 거래에 관한 알림을 수신한다. 예컨대, 알림은 서버 시스템(504)으로부터 클라이언트 장치(502)로 푸시된다. 클라이언트 장치(502)는 애플리케이션 내에 알림을 디스플레이한다(예컨대, 도 4j의 알림(444-1)은 티켓 거래를 완료한 이후 클라이언트 장치로 푸시된다).
일부 실시예로, 사용자에게 링크를 제공(508)한 이후, 클라이언트 장치(502)는 제3자 서비스 제공자와 연관된 페이지에 대한 요청을 제3자 서버(506)로 전송하고 제3자 서버는 이를 클라이언트 장치로부터 수신한다. 이에 응답하여, 제3자 서버(506)는 클라이언트 장치(502)로 페이지를 제공하고 (클라이언트 장치는 이를 제3자 서버로부터 수신하며), 클라이언트 장치는 클라이언트 장치에 있는 메모리(예컨대, 메모리(306), 도 3) 내에 페이지를 캐시한다. 클라이언트 장치(502)는 스크립트를 검색된 페이지(또는 선택적으로 캐시된 페이지)로 주입하고, 애플리케이션 내에 주입된 스크립트를 갖는 페이지 (또는 캐시된 페이지)를 로딩(예컨대, 단계(516))하고 디스플레이(예컨대, 단계(522))한다. 클라이언트 장치는 하나 이상의 APIs를 호출하고(예컨대, 단계(518)), 정보를 수신하며(예컨대, 단계(520)), 페이지를 통해 제3자 서비스 제공자와의 거래를 수행하기 위해 사용자와 연관된 정보를 사용한다(예컨대, 단계(524)). 이후의 시간에(예컨대, 클라이언트 장치가 애플리케이션 내에 페이지를 디스플레이하는 것을 중단하거나 및/또는 거래가 수행된 이후), 클라이언트 장치(502)는 메모리로부터 주입된 스크립트를 갖는 캐시된 페이지를 검색하고, 클라이언트 장치에서 애플리케이션 내에 캐시된 페이지를 로딩한다(또는 선택적으로, 클라이언트 장치는 주입된 스크립트 없이 캐시된 페이지를 검색하고, 캐시된 페이지로 스크립트를 주입하며, 주입된 스크립트를 갖는 캐시된 페이지를 로딩한다). 따라서, 클라이언트 장치는 후속 페이지가 더 빠르고 효율적으로 로딩되도록 (주입된 스크립트를 갖는) 페이지를 캐시할 수 있다.
상술한 시스템이 사용자에 대한 정보를 수집하는 상황에서, 사용자는 개인 정보(예컨대, 사용자의 선호에 대한 정보나 사용자의 소셜 컨텐츠 제공자에 대한 기여)를 수집할 수 있는 프로그램 또는 특징에 참여하거나 하지 않을 기회가 제공될 수 있다.
다양한 도면 중 일부는 특정 순서로 다수의 논리 단계를 도시하지만, 순서에 의존하지 않는 단계들이 다시 순서화될 수 있고, 다른 단계들이 조합될 수 있거나 세분화될 수 있다. 일부 재순서화 또는 다른 그룹화가 구체적으로 언급될 수 있는 한편, 다른 것들이 당업자에게 자명해질 수 있고, 따라서 본 명세서에 제시된 순서화 및 그룹화는 대안들의 완전한 목록이 아니다. 또한, 단계들은 하드웨어, 펌웨어, 소프트웨어 또는 이들의 임의의 조합으로 구현될 수 있음이 인식되어야 한다.
설명의 목적으로, 전술된 설명은 구체적인 실시예를 참조하여 기술되었다. 하지만, 위의 예시적인 논의는 개시된 정확한 형태로 본 청구범위의 범위를 제한하거나 완전한 것으로 의도된 것이 아니다. 전술한 교시내용에 비추어 다수의 수정 및 변형이 가능하다. 실시예들은 청구범위의 기초가 되는 원리 및 그들의 실제 응용을 가장 최선으로 설명하기 위해 선택되었고, 따라서 당업자가 고려되는 특정 사용에 적절하게 다양한 수정사항으로 실시예를 최선으로 사용하게 할 수 있다.

Claims (34)

  1. 하나 이상의 프로세서 및 하나 이상의 프로세서에 의한 실행을 위한 명령어를 저장하는 메모리를 갖는 클라이언트 장치에서:
    서버 시스템에 의해 제공되는 소셜 네트워킹 서비스와 연관된 애플리케이션에서, 사용자에게 제3자 서비스 제공자와 연관된 페이지로의 링크를 제공하는 단계;
    링크의 사용자 선택에 응답하여, 서버 시스템의 하나 이상의 애플리케이션 프로그래밍 인터페이스(API)를 호출하기 위한 스크립트를 포함하는 페이지를 애플리케이션 내에서 로딩하는 단계;
    서버 시스템으로부터 사용자와 연관된 정보를 획득하기 위해 하나 이상의 API들을 호출하는 단계;
    애플리케이션 내에서 페이지를 디스플레이하는 단계; 및
    페이지를 통해 제3자 서비스 제공자와의 거래를 수행하기 위해 사용자와 연관된 정보를 사용하는 단계를 포함하고,
    제3자 서비스 제공자는 소셜 네트워킹 서비스로부터 구별되는 방법.
  2. 제 1 항에 있어서,
    정보는 소셜 네트워킹 서비스에서 사용자에 대한 식별자를 포함하고; 및
    거래를 수행하기 위해 정보를 사용하는 단계는 식별자를 거래와 연관시키는 단계를 포함하는 방법.
  3. 제 1 항에 있어서,
    정보는 소셜 네트워킹 서비스에서 사용자에 대한 결제 정보를 포함하고; 및
    거래를 수행하기 위해 정보를 사용하는 단계는 거래에 대하여 결제하기 위해 결제 정보를 사용하는 단계를 포함하는 방법.
  4. 제 1 항에 있어서,
    페이지를 디스플레이하는 단계는 정보에 적어도 부분적으로 기반하여 거래에 대한 추천을 디스플레이하는 단계를 포함하는 방법.
  5. 제 4 항에 있어서,
    정보는 클라이언트 장치에 의해 결정된 사용자의 위치를 포함하고; 및
    추천은 위치에 적어도 부분적으로 기반하는 방법.
  6. 제 4 항에 있어서,
    정보는 소셜 네트워킹 서비스에서 사용자의 활동의 이력을 포함하고; 및
    추천은 이력에 적어도 부분적으로 기반하는 방법.
  7. 제 4 항에 있어서,
    정보는 소셜 네트워킹 서비스에서 사용자의 연락처의 활동의 이력을 포함하고; 및
    추천은 이력에 적어도 부분적으로 기반하는 방법.
  8. 제 1 항에 있어서,
    정보는 클라이언트 장치의 하드웨어 리소스에 의해 획득된 정보를 포함하는 방법.
  9. 제 1 항에 있어서,
    페이지로의 링크를 제공하는 단계는 애플리케이션 내에서 제3자 서비스 제공자에 대한 광고를 디스플레이하는 단계를 포함하고,
    광고는 페이지를 링크하는 방법.
  10. 제 1 항에 있어서,
    애플리케이션을 통해, 검색 질의를 명시하는 사용자 입력을 수신하는 단계;
    검색 질의를 서버 시스템에 제공하는 단계;
    페이지를 링크하는 제3자 서비스 제공자에 대한 참조를 포함하는, 검색 질의에 대한 결과를 서버 시스템으로부터 수신하는 단계; 및
    애플리케이션 내에서 검색 결과를 디스플레이하는 단계를 더 포함하고,
    페이지로의 링크를 제공하는 단계는 검색 결과 내에서 제3자 서비스 제공자에 대한 참조를 디스플레이하는 단계를 포함하는 방법.
  11. 제 1 항에 있어서,
    페이지로의 링크를 제공하는 단계는 애플리케이션 내에서, 제3자 서비스 제공자에 관한 알림을 디스플레이하는 단계를 포함하고,
    알림은 페이지를 링크하는 방법.
  12. 제 1 항에 있어서,
    페이지로의 링크를 제공하는 단계는 애플리케이션 내에서, 사용자에 의해 이전에 저장된 소셜 미디어 게시물을 디스플레이하는 단계를 포함하고,
    소셜 미디어 게시물은 페이지를 링크하는 방법.
  13. 제 1 항에 있어서,
    페이지로의 링크를 제공하는 단계는 애플리케이션의 개인 메시징 인터페이스 내에서, 소셜 네트워킹 서비스의 다른 사용자로부터의 메시지를 디스플레이하는 단계를 포함하고,
    메시지는 페이지를 링크하는 방법.
  14. 제 1 항에 있어서,
    거래를 수행한 이후, 애플리케이션 내에서 페이지를 디스플레이하는 것을 중단하는 단계;
    페이지를 디스플레이하는 것을 중단한 이후, 서버 시스템으로부터 클라이언트 장치로 푸시되는, 거래에 관한 알림을 수신하는 단계; 및
    애플리케이션 내에서 알림을 디스플레이하는 단계를 더 포함하는 방법.
  15. 하나 이상의 프로세서 및 하나 이상의 프로세서에 의한 실행을 위한 명령어를 저장하는 메모리를 갖는, 소셜 네트워킹 서비스의 서버 시스템에서:
    소셜 네트워킹 서비스로부터 구별되는 제3자 서비스 제공자와 연관된 페이지에 대한 요청을 클라이언트 장치로부터 수신하는 단계;
    서버 시스템의 하나 이상의 애플리케이션 프로그래밍 인터페이스(API)를 호출하기 위한 스크립트를 포함하는 페이지를 클라이언트 장치로 제공하는 단계;
    스크립트로부터 하나 이상의 APIs의 각각의 API로 하나 이상의 호출을 수신하는 단계; 및
    하나 이상의 호출에 응답하여, 페이지에서의 사용을 위해 소셜 네트워킹 서비스로부터 클라이언트 장치로 사용자와 연관된 정보를 제공하는 단계를 포함하고,
    페이지는 정보에 적어도 부분적으로 기반하여 사용자가 제3자 서비스 제공자와의 거래를 수행하는 것을 가능하게 하는 방법.
  16. 제 15 항에 있어서,
    페이지를 클라이언트 장치로 제공하는 단계는:
    페이지를 검색하는 단계;
    검색된 페이지에 스크립트를 주입하는 단계; 및
    주입된 스크립트를 갖는 검색된 페이지를 클라이언트 장치로 전송하는 단계를 포함하는 방법.
  17. 제 16 항에 있어서,
    페이지를 검색하는 단계는:
    제3자 서비스와 연관된 제3자 서버로부터 페이지를 획득하는 단계;
    서버 시스템에서 메모리에 페이지를 캐시하는 단계; 및
    서버 시스템에서 메모리로부터 캐시된 페이지를 검색하는 단계를 포함하는 방법.
  18. 제 15 항에 있어서,
    정보는 소셜 네트워킹 서비스에서 사용자에 대한 식별자, 소셜 네트워킹 서비스에서 사용자에 대한 결제 정보, 소셜 네트워킹 서비스에서 사용자의 활동의 이력, 소셜 네트워킹 서비스에서 사용자의 연락처의 활동의 이력, 또는 클라이언트 장치의 하드웨어 리소스로부터의 정보 중 적어도 하나를 포함하는 방법.
  19. 제 15 항에 있어서,
    페이지는 정보에 적어도 부분적으로 기반하는 거래에 대한 추천을 포함하는 방법.
  20. 소셜 네트워킹 서비스의 서버 시스템의 하나 이상의 프로세서에 의한 실행을 위한 하나 이상의 프로그램을 저장하는 비-일시적 컴퓨터-판독가능한 저장 매체로서,
    상기 하나 이상의 프로그램은:
    소셜 네트워킹 서비스로부터 구별되는 제3자 서비스 제공자와 연관된 페이지에 대한 요청을 클라이언트 장치로부터 수신하고;
    서버 시스템의 하나 이상의 애플리케이션 프로그래밍 인터페이스(API)를 호출하기 위한 스크립트를 포함하는 페이지를 클라이언트 장치로 제공하고;
    스크립트로부터 하나 이상의 APIs의 각각의 API로 하나 이상의 호출을 수신하고; 및
    하나 이상의 호출에 응답하여, 페이지에서의 사용을 위해 소셜 네트워킹 서비스로부터 클라이언트 장치로 사용자와 연관된 정보를 제공하기 위한 명령어를 포함하고,
    페이지는 정보에 적어도 부분적으로 기반하여 사용자가 제3자 서비스 제공자와의 거래를 수행하는 것을 가능하게 하는 비-일시적 컴퓨터-판독가능한 저장 매체.
  21. 하나 이상의 프로세서 및 하나 이상의 프로세서에 의한 실행을 위한 명령어를 저장하는 메모리를 갖는 클라이언트 장치에서:
    서버 시스템에 의해 제공되는 소셜 네트워킹 서비스와 연관된 애플리케이션에서, 사용자에게 제3자 서비스 제공자와 연관된 페이지로의 링크를 제공하는 단계;
    링크의 사용자 선택에 응답하여, 서버 시스템의 하나 이상의 애플리케이션 프로그래밍 인터페이스(API)를 호출하기 위한 스크립트를 포함하는 페이지를 애플리케이션 내에서 로딩하는 단계;
    서버 시스템으로부터 사용자와 연관된 정보를 획득하기 위해 하나 이상의 API들을 호출하는 단계;
    애플리케이션 내에서 페이지를 디스플레이하는 단계; 및
    페이지를 통해 제3자 서비스 제공자와의 거래를 수행하기 위해 사용자와 연관된 정보를 사용하는 단계를 포함하고,
    제3자 서비스 제공자는 소셜 네트워킹 서비스로부터 구별되는 컴퓨터 구현 방법.
  22. 제 21 항에 있어서,
    정보는 소셜 네트워킹 서비스에서 사용자에 대한 식별자를 포함하고; 및
    거래를 수행하기 위해 정보를 사용하는 단계는 식별자를 거래와 연관시키는 단계를 포함하거나; 및/또는
    정보는 소셜 네트워킹 서비스에서 사용자에 대한 결제 정보를 포함하고; 및
    거래를 수행하기 위해 정보를 사용하는 단계는 거래에 대하여 결제하기 위해 결제 정보를 사용하는 단계를 포함하는 컴퓨터 구현 방법.
  23. 제 21 항 또는 제 22 항에 있어서,
    페이지를 디스플레이하는 단계는 정보에 적어도 부분적으로 기반하여 거래에 대한 추천을 디스플레이하는 단계를 포함하는 컴퓨터 구현 방법.
  24. 제 23 항에 있어서,
    정보는 클라이언트 장치에 의해 결정된 사용자의 위치를 포함하고; 및
    추천은 위치에 적어도 부분적으로 기반하거나; 및/또는
    정보는 소셜 네트워킹 서비스에서 사용자의 활동의 이력을 포함하고; 및
    추천은 이력에 적어도 부분적으로 기반하거나; 및/또는
    정보는 소셜 네트워킹 서비스에서 사용자의 연락처의 활동의 이력을 포함하고; 및
    추천은 이력에 적어도 부분적으로 기반하는 컴퓨터 구현 방법.
  25. 제 21 항 내지 제 24 항 중 어느 한 항에 있어서,
    정보는 클라이언트 장치의 하드웨어 리소스에 의해 획득된 정보를 포함하는 컴퓨터 구현 방법.
  26. 제 21 항 내지 제 25 항 중 어느 한 항에 있어서,
    페이지로의 링크를 제공하는 단계는 애플리케이션 내에서 제3자 서비스 제공자에 대한 광고를 디스플레이하는 단계를 포함하고,
    광고는 페이지를 링크하는 컴퓨터 구현 방법.
  27. 제 21 항 내지 제 26 항 중 어느 한 항에 있어서,
    애플리케이션을 통해, 검색 질의를 명시하는 사용자 입력을 수신하는 단계;
    검색 질의를 서버 시스템에 제공하는 단계;
    페이지를 링크하는 제3자 서비스 제공자에 대한 참조를 포함하는, 검색 질의에 대한 결과를 서버 시스템으로부터 수신하는 단계; 및
    애플리케이션 내에서 검색 결과를 디스플레이하는 단계를 더 포함하고,
    페이지로의 링크를 제공하는 단계는 검색 결과 내에서 제3자 서비스 제공자에 대한 참조를 디스플레이하는 단계를 포함하는 컴퓨터 구현 방법.
  28. 제 21 항 내지 제 27 항 중 어느 한 항에 있어서,
    페이지로의 링크를 제공하는 단계는:
    애플리케이션 내에서, 제3자 서비스 제공자에 관한 알림을 디스플레이하는 단계;
    애플리케이션 내에서, 사용자에 의해 이전에 저장된 소셜 미디어 게시물을 디스플레이하는 단계; 및
    애플리케이션의 개인 메시징 인터페이스 내에서, 소셜 네트워킹 서비스의 다른 사용자로부터의 메시지를 디스플레이하는 단계 중 적어도 하나를 포함하고,
    알림은 페이지를 링크하고,
    소셜 미디어 게시물은 페이지를 링크하며,
    메시지는 페이지를 링크하는 컴퓨터 구현 방법.
  29. 제 21 항 내지 제 28 항 중 어느 한 항에 있어서,
    거래를 수행한 이후, 애플리케이션 내에서 페이지를 디스플레이하는 것을 중단하는 단계;
    페이지를 디스플레이하는 것을 중단한 이후, 서버 시스템으로부터 클라이언트 장치로 푸시되는, 거래에 관한 알림을 수신하는 단계; 및
    애플리케이션 내에서 알림을 디스플레이하는 단계를 더 포함하는 컴퓨터 구현 방법.
  30. 하나 이상의 프로세서 및 하나 이상의 프로세서에 의한 실행을 위한 명령어를 저장하는 메모리를 갖는, 소셜 네트워킹 서비스의 서버 시스템에서:
    소셜 네트워킹 서비스로부터 구별되는 제3자 서비스 제공자와 연관된 페이지에 대한 요청을 클라이언트 장치로부터 수신하는 단계;
    서버 시스템의 하나 이상의 애플리케이션 프로그래밍 인터페이스(API)를 호출하기 위한 스크립트를 포함하는 페이지를 클라이언트 장치로 제공하는 단계;
    스크립트로부터 하나 이상의 APIs의 각각의 API로 하나 이상의 호출을 수신하는 단계; 및
    하나 이상의 호출에 응답하여, 페이지에서의 사용을 위해 소셜 네트워킹 서비스로부터 클라이언트 장치로 사용자와 연관된 정보를 제공하는 단계를 포함하고,
    페이지는 정보에 적어도 부분적으로 기반하여 사용자가 제3자 서비스 제공자와의 거래를 수행하는 것을 가능하게 하는 컴퓨터 구현 방법.
  31. 제 30 항에 있어서,
    페이지를 클라이언트 장치로 제공하는 단계는:
    페이지를 검색하는 단계;
    검색된 페이지에 스크립트를 주입하는 단계; 및
    주입된 스크립트를 갖는 검색된 페이지를 클라이언트 장치로 전송하는 단계를 포함하고,
    페이지를 검색하는 단계는:
    제3자 서비스와 연관된 제3자 서버로부터 페이지를 획득하는 단계;
    서버 시스템에서 메모리에 페이지를 캐시하는 단계; 및
    서버 시스템에서 메모리로부터 캐시된 페이지를 검색하는 단계를 선택적으로 포함하는 컴퓨터 구현 방법.
  32. 제 30 항 또는 제 31 항에 있어서,
    정보는 소셜 네트워킹 서비스에서 사용자에 대한 식별자, 소셜 네트워킹 서비스에서 사용자에 대한 결제 정보, 소셜 네트워킹 서비스에서 사용자의 활동의 이력, 소셜 네트워킹 서비스에서 사용자의 연락처의 활동의 이력, 및 클라이언트 장치의 하드웨어 리소스로부터의 정보 중 적어도 하나를 포함하는 컴퓨터 구현 방법.
  33. 제 30 항 내지 제 32 항 중 어느 한 항에 있어서,
    페이지는 정보에 적어도 부분적으로 기반하는 거래에 대한 추천을 포함하는 컴퓨터 구현 방법.
  34. 하나 이상의 프로세서에 의한 실행을 위한 하나 이상의 프로그램을 저장하는 비-일시적 컴퓨터-판독가능한 저장 매체로서,
    하나 이상의 프로그램은, 하나 이상의 프로세서 상에서 수행될 때:
    제 21 항 내지 제 29 항 중 어느 한 항에 따른 방법을 클라이언트 시스템 상에서 수행하거나, 또는
    제 30 항 내지 제 33 항 중 어느 한 항에 따른 방법을 소셜 네트워킹 서비스를 위한 서버 시스템 상에서 수행하는 명령어를 포함하는 비-일시적 컴퓨터-판독가능한 저장 매체.
KR1020197006490A 2016-08-12 2016-08-16 애플리케이션 내에서 제3자 서비스에 액세스하기 위한 방법 및 시스템 KR20190058466A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/236,342 2016-08-12
US15/236,342 US10972528B2 (en) 2016-08-12 2016-08-12 Methods and systems for accessing third-party services within applications
PCT/US2016/047209 WO2018031049A1 (en) 2016-08-12 2016-08-16 Methods and systems for accessing third-party services within applications

Publications (1)

Publication Number Publication Date
KR20190058466A true KR20190058466A (ko) 2019-05-29

Family

ID=61159492

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197006490A KR20190058466A (ko) 2016-08-12 2016-08-16 애플리케이션 내에서 제3자 서비스에 액세스하기 위한 방법 및 시스템

Country Status (9)

Country Link
US (1) US10972528B2 (ko)
JP (1) JP6903739B2 (ko)
KR (1) KR20190058466A (ko)
CN (1) CN110073348A (ko)
AU (1) AU2016418410A1 (ko)
BR (1) BR112019002830A2 (ko)
CA (1) CA3033159A1 (ko)
MX (1) MX2019001776A (ko)
WO (1) WO2018031049A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10699291B2 (en) * 2016-11-23 2020-06-30 Facebook, Inc. User consumption of third-party offer content through a social networking system
US10664546B2 (en) 2017-12-08 2020-05-26 Facebook, Inc. Techniques for URL archiving while browsing a web page
CN110875868A (zh) * 2018-08-31 2020-03-10 阿里巴巴集团控股有限公司 一种信息交互方法、装置以及电子设备
US11568011B2 (en) * 2018-11-01 2023-01-31 Rewardstyle, Inc. System and method for improved searching across multiple databases
CN111147363B (zh) * 2020-02-26 2021-09-07 天津银本硕果企业管理咨询合伙企业(有限合伙) 在消息交换会话中传递第三方应用信息的方法和系统
CN113553522A (zh) * 2020-04-24 2021-10-26 北京金山云网络技术有限公司 一种页面显示方法、装置、电子设备及存储介质
CN111552878B (zh) * 2020-04-29 2023-08-01 百度在线网络技术(北京)有限公司 数据处理的方法及装置
US11435992B2 (en) * 2020-08-20 2022-09-06 T-Mobile Usa, Inc. Communications registry and governance for apps
CN114816558B (zh) * 2022-03-07 2023-06-30 深圳市九州安域科技有限公司 一种脚本注入方法、设备及计算机可读存储介质

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070192206A1 (en) * 2006-02-10 2007-08-16 Manesh Nasser K Product evaluation system enabling Internet shopping through various portals using various mobile devices
US20110131106A1 (en) 2009-12-02 2011-06-02 George Eberstadt Using social network and transaction information
US20100169153A1 (en) * 2008-12-26 2010-07-01 Microsoft Corporation User-Adaptive Recommended Mobile Content
US10417702B2 (en) * 2011-05-26 2019-09-17 Facebook, Inc. Dynamically providing a third-party checkout option
US9875488B2 (en) 2012-03-30 2018-01-23 Rewardstyle, Inc. Targeted marketing based on social media interaction
US20130268367A1 (en) 2012-04-04 2013-10-10 Nebi Cem Erdogan Comupterized marketing and advertising platform based on social networks
US9959546B2 (en) 2013-01-23 2018-05-01 Facebook, Inc. Associating financial accounts with a social networking system user profile
US20140229857A1 (en) 2013-02-12 2014-08-14 Facebook, Inc. Initiating Actions on a Third-Party System Through Interaction with a Social Networking System
US20140297739A1 (en) * 2013-03-27 2014-10-02 Howard T. Stein Media Previews Based on Social Context
US20150033347A1 (en) * 2013-07-29 2015-01-29 King Fahd University Of Petroleum And Minerals Apparatus and method for client identification in anonymous communication networks
US20150089370A1 (en) * 2013-09-25 2015-03-26 Tencent Technology (Shenzhen) Co., Ltd. Method and device for playing media data on a terminal
US10380672B2 (en) * 2013-10-04 2019-08-13 Facebook, Inc. Systems and methods for using a social networking system to purchase products
US8949250B1 (en) * 2013-12-19 2015-02-03 Facebook, Inc. Generating recommended search queries on online social networks
CN104778174A (zh) 2014-01-10 2015-07-15 腾讯科技(深圳)有限公司 一种数据输出控制方法,及设备
WO2015123751A1 (en) * 2014-02-21 2015-08-27 Rna Labs Inc. Systems and methods for automatically collecting user data and making a real-world action for a user
GB2526274A (en) * 2014-05-19 2015-11-25 Ibm Search infrastructure and method for performing web search
CN104144206B (zh) 2014-05-29 2016-10-26 腾讯科技(深圳)有限公司 一种界面加载方法、系统及装置
US20180356961A1 (en) * 2014-06-09 2018-12-13 Google Inc. Low-friction, instant, private, personalized video sharing widget
US10103961B2 (en) * 2014-07-25 2018-10-16 Teacher Insurance & Annuity Association of America Collecting client-side application performance monitoring information
JP6212013B2 (ja) * 2014-09-29 2017-10-11 富士フイルム株式会社 商品推奨装置及び商品推奨方法
GB2532063A (en) * 2014-11-07 2016-05-11 Sony Corp A method, server, client and software
US20160182668A1 (en) * 2014-12-18 2016-06-23 Limelight Networks, Inc. Acceleration nodes for improving web traffic quality of service
CA2978970A1 (en) * 2015-03-10 2016-09-15 Sniip (Australia) Pty Ltd Method and system of conducting a transaction

Also Published As

Publication number Publication date
JP2019533849A (ja) 2019-11-21
CA3033159A1 (en) 2018-02-15
JP6903739B2 (ja) 2021-07-14
MX2019001776A (es) 2020-07-20
BR112019002830A2 (pt) 2019-05-21
CN110073348A (zh) 2019-07-30
AU2016418410A1 (en) 2019-02-28
WO2018031049A1 (en) 2018-02-15
US10972528B2 (en) 2021-04-06
US20180048696A1 (en) 2018-02-15

Similar Documents

Publication Publication Date Title
US10802686B2 (en) Methods and systems for providing user feedback
JP6578364B2 (ja) ソーシャル・ネットワーキング・システムを介した業者とのユーザ通信
JP6903739B2 (ja) アプリケーション内でサードパーティ・サービスにアクセスするための方法およびシステム
JP6681867B2 (ja) 関心箇所に応じた画像の切り取り
CN107430531B (zh) 用于管理访问移动设备资源的许可的方法和系统
JP6426630B2 (ja) 写真の促される共有
US10275148B2 (en) Methods and systems for transitioning between native content and web content
TWI639132B (zh) 訊息中影像的傳送方法、執行此傳送方法的計算系統及用於此方法的儲存媒體
KR102196595B1 (ko) 오프라인 컨텐츠의 생성
JP2018092646A (ja) ユーザ・インターフェースのソーシャル・フィルタリング
KR20150131273A (ko) 다-인자 위치 확인
US10311500B2 (en) Methods and systems for developer onboarding for software-development products
US10630792B2 (en) Methods and systems for viewing user feedback
JP6445464B2 (ja) 友人のランチング
KR102376079B1 (ko) 임베디드 비디오를 열람하기 위한 방법 및 시스템
US10003590B2 (en) Methods and systems for linking untrusted applications to server systems
US20180197109A1 (en) Methods and Systems for Ranking Comments on a Post in an Online Service
EP3282416A1 (en) Methods and systems for accessing third-party services within applications
US10664546B2 (en) Techniques for URL archiving while browsing a web page
US10305837B2 (en) Methods and systems for assisting in creation of a new account of an online service

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right