JP2019533849A - アプリケーション内でサードパーティ・サービスにアクセスするための方法およびシステム - Google Patents

アプリケーション内でサードパーティ・サービスにアクセスするための方法およびシステム Download PDF

Info

Publication number
JP2019533849A
JP2019533849A JP2019507333A JP2019507333A JP2019533849A JP 2019533849 A JP2019533849 A JP 2019533849A JP 2019507333 A JP2019507333 A JP 2019507333A JP 2019507333 A JP2019507333 A JP 2019507333A JP 2019533849 A JP2019533849 A JP 2019533849A
Authority
JP
Japan
Prior art keywords
page
user
information
social networking
client device
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2019507333A
Other languages
English (en)
Other versions
JP6903739B2 (ja
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 JP2019533849A publication Critical patent/JP2019533849A/ja
Application granted granted Critical
Publication of JP6903739B2 publication Critical patent/JP6903739B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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]
    • 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
    • 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)
  • Marketing (AREA)
  • Development Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (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

クライアント・デバイスは、サーバ・システムによって提供されるソーシャル・ネットワーキング・サービスに関連付けられているアプリケーションにおいて、サードパーティ・サービス・プロバイダに関連付けられているページへのリンクをユーザに提供する。サードパーティ・サービス・プロバイダは、ソーシャル・ネットワーキング・サービスとは異なる。ユーザのリンク選択に応答して、ページがアプリケーション内にロードされる。ページは、サーバ・システムの1以上のアプリケーション・プログラミング・インタフェース(API)を呼び出すためのスクリプトを含む。クライアント・デバイスは、1以上のAPIを呼び出して、ユーザに関連付けられている情報をサーバ・システムから取得する。クライアント・デバイスは、アプリケーション内にページを表示し、ユーザに関連付けられている情報を、ページを通じてサードパーティ・サービス・プロバイダとの取引を行うために使用する。

Description

本願は、一般に、サードパーティ・サービス・プロバイダとは異なるサービス・プロバイダのアプリケーション内でサードパーティ・サービス・プロバイダのサービスにアクセスすることを含むがこれだけに限定されない、オンライン・サービスにアクセスすることに関する。
モバイル・デバイスの人気が著しく高まるにつれ、モバイル・デバイス上でのアプリケーションの使用およびモバイル・デバイス上のアプリケーションの開発も著しく増加している。
しかし、アプリケーションを見つけることは大きな課題であり続けており、アプリケーションを使用または享受する人々の数を制限している。特に、ユーザが新たなアプリケーションを積極的に見つけ出そうとしている場合でも、ユーザは、通例、アプリケーションを使用できるようになる前に、アカウントの作成または他の情報の提供に加えて、アプリケーションのダウンロード、インストールおよび実行などの多数のアクションを行わなければならない。
したがって、サードパーティ・サービス・プロバイダのサービスに簡単かつ効率的にアクセスするための方法、システムおよびインタフェースのニーズがある。サードパーティ・サービス・プロバイダに関連付けられているページを異なるサービス・プロバイダに関連付けられているアプリケーションにロードし、異なるサービス・プロバイダによって以前に収集された、ユーザに関連付けられている情報を活用することによって、ユーザは、単にロードされたページを通じて、サードパーティ・サービス・プロバイダとの取引を行うことができる。これにより、サードパーティ・サービスまたはフィーチャにアクセスするためにスタンドアロン型サードパーティ・アプリケーションを個別にロードする必要(利用可能なサードパーティ・サービスの利用をユーザにしばしば思いとどまらせる煩わしいプロセス)がなくなる。有利なことに、サードパーティ・サービスにアクセスするために開示される方法、システムおよびインタフェースから得られる体験は、ユーザにとって、よりシームレスでなじみがあるものである。
いくつかの実施形態によると、方法は、1以上のプロセッサと、1以上のプロセッサによって実行するための命令を記憶したメモリとを有するクライアント・デバイスにおいて行われる。方法は、サーバ・システムによって提供されるソーシャル・ネットワーキング・サービスに関連付けられているアプリケーションにおいて、サードパーティ・サービス・プロバイダに関連付けられているページへのリンクをユーザに提供することを含む。サードパーティ・サービス・プロバイダは、ソーシャル・ネットワーキング・サービスとは異なる。ユーザのリンク選択に応答して、ページがアプリケーション内にロードされる。ページは、サーバ・システムの1以上のアプリケーション・プログラミング・インタフェース(API)を呼び出すためのスクリプトを含む。クライアント・デバイスは、1以上のAPIを呼び出して、ユーザに関連付けられている情報をサーバ・システムから取得する。さらに、クライアント・デバイスは、アプリケーション内にページを表示し、ユーザに関連付けられている情報を、ページを通じてサードパーティ・サービス・プロバイダとの取引を行うために使用する。
いくつかの実施形態によると、クライアント・デバイスは、1以上のプロセッサと、メモリと、1以上のプログラムとを含み、1以上のプログラムは、メモリに記憶されて、1以上のプロセッサによって実行されるように構成されている。1以上のプログラムは、クライアント・デバイスのために、上記方法の動作を行う命令を含む。いくつかの実施形態によると、非一時的コンピュータ可読記憶媒体は、クライアント・デバイスによって実行されたときに、クライアント・デバイスに上記方法の動作を行わせる命令を内部に記憶している。
いくつかの実施形態によると、方法は、ソーシャル・ネットワーキング・サービスのサーバ・システムにおいて行われる。サーバ・システムは、1以上のプロセッサと、1以上のプロセッサによって実行するための命令を記憶したメモリとを有する。方法は、サードパーティ。サービス・プロバイダに関連付けられているページの要求をクライアント・デバイスから受け取ることを含み、サードパーティ・サービス・プロバイダは、ソーシャル・ネットワーキング・サービスとは異なる。ページは、クライアント・デバイスに提供される。ページは、サーバ・システムの1以上のアプリケーション・プログラミング・インタフェース(API)を呼び出すためのスクリプトを含む。1以上の呼び出しは、スクリプトから、1以上のAPIのそれぞれのAPIに受け取られる。1以上の呼び出しに応答して、ユーザに関連付けられている情報が、ページで使用するために、ソーシャル・ネットワーキング・サービスからクライアント・デバイスに提供される。ページは、ユーザが少なくとも部分的に情報に基づいてサードパーティ・サービス・プロバイダとの取引を行うことを可能にする。
いくつかの実施形態によると、サーバ・システムは、1以上のプロセッサと、メモリと、1以上のプログラムとを含み、1以上のプログラムは、メモリ内に記憶されて、1以上のプロセッサによって実行されるように構成されている。1以上のプログラムは、サーバ側の上記方法の動作を行うための命令を含む。いくつかの実施形態によると、非一時的コンピュータ可読記憶媒体は、サーバ・システムによって実行されたときに、サーバ・システムに前述のサーバ側の上記方法の動作を行わせる命令を内部に記憶している。
このように、クライアント・デバイスおよびサーバ・システムには、個別のサードパーティ・アプリケーションを使用する必要なくサードパーティ・サービスへのアクセスをユーザに提供する、より効果的かつ効率的な方法が提供される。
開示されるいくつかの実施形態は、方法および記憶媒体に向けられ、1つの請求項カテゴリ、例えば方法、において言及される任意の特徴は、別の請求項カテゴリにおいても、ならびにシステムおよびコンピュータプログラム製品の請求項においても同様に特許請求され得る。添付の特許請求の範囲における従属関係または後方参照は、形式上の理由で選ばれているに過ぎない。しかしながら、任意の先行する請求項(特に、多数項従属関係)への故意の後方参照から結果として生じるいかなる主題も、同様に特許請求されることが可能であり、その結果、添付の特許請求の範囲において選ばれている従属関係にかかわらず、請求項およびその特徴のいかなる組み合わせも開示されており、特許請求され得る。特許請求され得る主題は、添付の特許請求の範囲において述べられているような特徴の組み合わせだけでなく、特許請求の範囲における特徴の任意の他の組み合わせも含んでおり、特許請求の範囲において言及されている各特徴は、特許請求の範囲における任意の他の特徴または他の特徴の組み合わせと組み合わされ得る。さらに、本願明細書において説明され、または示されている実施形態および特徴のうちのいずれも、個別の請求項において特許請求されてもよく、および/または、本願明細書において説明され、もしくは示されている任意の実施形態もしくは特徴との任意の組み合わせ、もしくは添付の特許請求の範囲の特徴のうちのいずれかとの任意の組み合わせにおいて、特許請求されてもよい。
いくつかの実施形態において、コンピュータ実装方法を提供することができ、該方法は、
1以上のプロセッサと、1以上のプロセッサによって実行するための命令を記憶したメモリとを有するクライアント・デバイスにおいて、
特にクライアント・デバイス上で稼働するかまたはクライアント・デバイスにインストールされて、ソーシャル・ネットワーキング・サービス(特にサーバ・システム)によって提供されるソーシャル・ネットワーキング・サービス・システムに関連付けられているアプリケーションにおいて、ソーシャル・ネットワーキング・サービスとは異なるサードパーティ・サービス・プロバイダ(特にサードパーティ・サービス・プロバイダ・システム)に関連付けられているページ(特にウェブ・ページ)へのリンクを、ユーザに、特にアプリケーションのユーザ・インタフェースに提供する工程と、
ユーザの選択に応答して(特にユーザのリンク選択の受け取りに応答して)、サーバ・システムの1以上のアプリケーション・プログラミング・インタフェース(API)を呼び出すためのスクリプトを含むページをアプリケーション内にロードする工程と、
1以上のAPIを呼び出して、ユーザに関連付けられている情報をサーバ・システムから取得する工程と、
アプリケーション内にページを表示する工程と、
ユーザに関連付けられている情報を、ページを通じてサードパーティ。サービス・プロバイダとの取引を行うために使用する工程と、
を含む。
いくつかの実施形態において、情報は、ソーシャル・ネットワーキング・サービスのユーザに関する識別子を含むことができ、取引を行うために情報を使用することは、識別子を取引に関連付けることを含むことができる。
いくつかの実施形態において、情報は、ソーシャル・ネットワーキング・サービスのユーザに関する支払情報を含むことができ、取引を行うために情報を使用することは、支払情報を使用して取引に対する支払を行うことを含むことができる。
いくつかの実施形態において、ページを表示することは、少なくとも部分的に情報に基づいた、取引に関する推奨事項(特に、選択可能な推奨事項)を表示することを含むことができる。
いくつかの実施形態において、情報は、クライアント・デバイスによって決定されるユーザのロケーションを含むことができ、推奨事項は、少なくとも部分的にロケーションに基づくことができる。
いくつかの実施形態において、情報は、ソーシャル・ネットワーキング・サービスにおけるユーザのアクティビティ履歴を含むことができ、推奨事項は、少なくとも部分的に履歴に基づくことができる。
いくつかの実施形態において、情報は、ソーシャル・ネットワーキング・サービスにおけるユーザの知り合いのアクティビティ履歴を含むことができ、推奨事項は、少なくとも部分的に履歴に基づくことができる。
いくつかの実施形態において、情報は、クライアント・デバイスのハードウェア・リソースによって取得された情報を含むことができる。
いくつかの実施形態において、ページへのリンクを提供することは、アプリケーション内に、サードパーティ・サービス・プロバイダに関する広告(特に、広告コンテンツ・アイテム)を含むことができ、広告(特に、広告コンテンツ・アイテム)は、ページにリンクすることができる。
いくつかの実施形態において、方法は、
アプリケーションを通じて、検索クエリを指定するユーザ入力を受け取る工程と、
検索クエリをサーバ・システムに提供する工程と、
サーバ・システムから、ページにリンクするサードパーティ・サービス・プロバイダへの参照を含む検索クエリの結果を受け取る工程と、
アプリケーション内に検索結果を表示する工程と、をさらに含むことができ、
リンク(特に、選択可能なリンク)をページに提供することは、検索結果内にサードパーティ・サービス・プロバイダへの参照を表示することを含む。
いくつかの実施形態において、ページへのリンクを提供することは、
・アプリケーション内に、サードパーティ・サービス・プロバイダに関する、ページにリンクする通知を表示する工程と、
・アプリケーション内に、ユーザによって以前に保存された、ページにリンクするソーシャル・メディア投稿を表示する工程と、
・アプリケーションのプライベート・メッセージング・インタフェース内に、ソーシャル・ネットワーキング・サービスの別のユーザからの、ページにリンクするメッセージを表示する工程と、
のうちの少なくとも1つを含むことができる。
いくつかの実施形態において、方法は、
取引を行った後、アプリケーション内にページを表示することを中止する工程と、
ページの表示を中止した後、サーバ・システムからクライアント・デバイスにプッシュされ得る、取引に関する通知を受け取る工程と、
アプリケーション内に通知を表示する工程と、
をさらに含むことができる。
いくつかの実施形態において、コンピュータ実装方法を提供することができ、該方法は、
1以上のプロセッサと、1以上のプロセッサによって実行するための命令を記憶したメモリとを有する、ソーシャル・ネットワーキング・サービス(特に、ソーシャル・ネットワーキング・サービス・システム)のサーバ・システムにおいて、
ソーシャル・ネットワーキング・サービスとは異なるサードパーティ・サービス・プロバイダ(特に、サードパーティ・サービス・プロバイダ・システム)に関連付けられているページ(特に、ウェブ・ページ)の要求を、クライアント・デバイスから受け取る工程と、
サーバ・システムの1以上のアプリケーション・プログラミング・インタフェース(API)を呼び出すためのスクリプトを含むページをクライアント・デバイスに提供する工程と、
スクリプトから1以上のAPIのそれぞれのAPIに1以上の呼び出しを受け取る工程と、
1以上の呼び出しに応答して、ユーザに関連付けられている情報を、ページで使用するために、ソーシャル・ネットワーキング・サービスからクライアント・デバイスに提供する工程と、を含み、ページは、ユーザが少なくとも部分的に情報に基づいてサードパーティ・サービス・プロバイダとの取引を行うことを可能にする。
サーバ・システムで実行される方法のいくつかの実施形態において、ページをクライアント・デバイスに提供することは、
ページを取り出す工程と、
取り出されたページにスクリプトを添付する工程と、
取り出されたページを、添付したスクリプトとともにクライアント・デバイスに送信する工程と、を含むことができ、
ページを取り出すことは、任意選択で、
サードパーティ・サービスに関連付けられているサードパーティ・サーバからページを取得する工程と、
サーバ・システムのメモリにページをキャッシュする工程と、
キャッシュしたページをサーバ・システムのメモリから取り出す工程と、
含む、方法。
サーバ・システムで実行される方法のいくつかの実施形態において、情報は、ソーシャル・ネットワーキング・サービスのユーザに関する識別子、ソーシャル・ネットワーキング・サービスのユーザに関する支払情報、ソーシャル・ネットワーキング・サービスにおけるユーザのアクティビティ履歴、ソーシャル・ネットワーキング・サービスにおけるユーザの知り合いのアクティビティ履歴、またはクライアント・デバイスのハードウェア・リソースからの情報、のうちの少なくとも1つを含むことができる。
サーバ・システムで実行される方法のいくつかの実施形態において、ページは、少なくとも部分的に情報に基づいた、取引に関する推奨事項を含むことができる。
いくつかの実施形態において、1以上のプロセッサによって実行するための1以上のプログラムを記憶している非一時的コンピュータ可読記憶媒体を提供することができ、該1以上のプログラムは、1以上のプロセッサ上で実行されたときに、
本願明細書に説明される1以上の実施形態による方法をクライアント・システム上で実行すること、または、
本願明細書に説明される1以上の実施形態による方法をソーシャル・ネットワーキング・サービスのサーバ・システム上で実行すること、
のための命令を含む。
説明される様々な実施形態をよりよく理解するために、以下の図面と併せて、以下の「発明を実施するための形態」を参照されたい。同様の符号は、図面および説明を通して対応する部分を示す。
いくつかの実施形態による、ソーシャル・ネットワークの例示的なネットワーク・アーキテクチャを示すブロック図。 いくつかの実施形態による、例示的なソーシャル・ネットワーク・システムを示すブロック図。 いくつかの実施形態による、例示的なクライアント・デバイスを示すブロック図。 いくつかの実施形態による、サードパーティ・サービス・プロバイダとは異なるサービス・プロバイダのアプリケーション内でサードパーティ・サービス・プロバイダのサービスにアクセスするための、クライアント・デバイス上の例示的なグラフィカル・ユーザ・インタフェース(GUI)を示す図。 いくつかの実施形態による、サードパーティ・サービス・プロバイダとは異なるサービス・プロバイダのアプリケーション内でサードパーティ・サービス・プロバイダのサービスにアクセスするための、クライアント・デバイス上の例示的なグラフィカル・ユーザ・インタフェース(GUI)を示す図。 いくつかの実施形態による、サードパーティ・サービス・プロバイダとは異なるサービス・プロバイダのアプリケーション内でサードパーティ・サービス・プロバイダのサービスにアクセスするための、クライアント・デバイス上の例示的なグラフィカル・ユーザ・インタフェース(GUI)を示す図。 いくつかの実施形態による、サードパーティ・サービス・プロバイダとは異なるサービス・プロバイダのアプリケーション内でサードパーティ・サービス・プロバイダのサービスにアクセスするための、クライアント・デバイス上の例示的なグラフィカル・ユーザ・インタフェース(GUI)を示す図。 いくつかの実施形態による、サードパーティ・サービス・プロバイダとは異なるサービス・プロバイダのアプリケーション内でサードパーティ・サービス・プロバイダのサービスにアクセスするための、クライアント・デバイス上の例示的なグラフィカル・ユーザ・インタフェース(GUI)を示す図。 いくつかの実施形態による、サードパーティ・サービス・プロバイダとは異なるサービス・プロバイダのアプリケーション内でサードパーティ・サービス・プロバイダのサービスにアクセスするための、クライアント・デバイス上の例示的なグラフィカル・ユーザ・インタフェース(GUI)を示す図。 いくつかの実施形態による、サードパーティ・サービス・プロバイダとは異なるサービス・プロバイダのアプリケーション内でサードパーティ・サービス・プロバイダのサービスにアクセスするための、クライアント・デバイス上の例示的なグラフィカル・ユーザ・インタフェース(GUI)を示す図。 いくつかの実施形態による、サードパーティ・サービス・プロバイダとは異なるサービス・プロバイダのアプリケーション内でサードパーティ・サービス・プロバイダのサービスにアクセスするための、クライアント・デバイス上の例示的なグラフィカル・ユーザ・インタフェース(GUI)を示す図。 いくつかの実施形態による、サードパーティ・サービス・プロバイダとは異なるサービス・プロバイダのアプリケーション内でサードパーティ・サービス・プロバイダのサービスにアクセスするための、クライアント・デバイス上の例示的なグラフィカル・ユーザ・インタフェース(GUI)を示す図。 いくつかの実施形態による、サードパーティ・サービス・プロバイダとは異なるサービス・プロバイダのアプリケーション内でサードパーティ・サービス・プロバイダのサービスにアクセスするための、クライアント・デバイス上の例示的なグラフィカル・ユーザ・インタフェース(GUI)を示す図。 いくつかの実施形態による、異なるサービス・プロバイダのアプリケーション内でサードパーティ・サービス・プロバイダのサービスにアクセスする方法を示すフロー図。
ここで、その実施例が添付の図面に図示されている実施形態を参照する。以下の説明において、説明される様々な実施形態の理解を与えるために、多数の具体的な詳細を記載する。しかし、説明される様々な実施形態をこれら具体的な詳細なしで実施してもよいことは、当業者には明らかであろう。他の例では、周知の方法、手順、構成要素、回路およびネットワークは、実施形態の態様を不必要に不明瞭にしないよう、詳細に説明していない。
本願明細書において、様々な要素を記述するために、ある場合には、第1、第2等の用語を使用しているが、これらの要素がこれらの用語によって制限されるものではないことも理解されるであろう。これらの用語は、ある要素を別の要素と区別するためにのみ使用されている。例えば、説明される様々な実施形態の範囲から逸脱することなく、第1アプリケーション・プログラミング・インタフェースを第2アプリケーション・プログラミング・インタフェースと呼ぶことができるであろうし、同様に、第2アプリケーション・プログラミング・インタフェースを第1アプリケーション・プログラミング・インタフェースと呼ぶことができるであろう。第1アプリケーション・プログラミング・インタフェースおよび第2アプリケーション・プログラミング・インタフェースは、どちらもアプリケーション・プログラミング・インタフェースであるが、それらは同じアプリケーション・プログラミング・インタフェースではない。
本願明細書で説明される様々な実施形態の説明において使用される用語は、具体的な実施形態を説明するためのみのものであり、制限することは意図されていない。説明される様々な実施形態および添付の請求項の記述で使用される場合、単数形「a」、「an」および「the」は、状況により明確にそうでないことが示されない限り、複数形も含むことが意図されている。本願明細書で使用される場合、「および/または(and/or)」という用語は、挙げられる関連項目のうちの1つまたは複数のあらゆる可能な組み合わせを示し、かつ包含することも理解されるであろう。本願明細書で使用される場合、「含む(includes)」、「含め(including)」、「含む(comprises)」および/または「含み(comprising)」という用語は、記載される特徴、整数、工程、動作、要素および/または構成要素の存在を明記するが、1つまたは複数の他の特徴、整数、工程、動作、要素、構成要素、および/またはそのグループの存在または追加を排除するものではないこともさらに理解されるであろう。
本願明細書で使用される場合、「(もし)〜場合(if)」という用語は、任意選択で、状況に応じて、「とき(when)」または「すると(upon)」または「決定に応答して」または「検出に応答して」または「との決定に従い」を意味すると解釈される。同様に、「(もし)〜決定される場合」または「(もし)〜[記載される条件もしくはイベント]が検出される場合」という語句は、任意選択で、状況に応じて、「決定すると」または「決定に応答して」または「[記載される条件もしくはイベント]を検出すると」または「[記載される条件もしくはイベント]の検出に応答して」または「[記載される条件もしくはイベント]が検出されたとの決定に従い」を意味すると解釈される。
本願明細書で使用される場合、「例示的な」という用語は、「例、事例または例証の役割を果たす」という意味で使用され、「その種の最善のものを表す」という意味で使用されるのではない。
図1は、いくつかの実施形態による、ソーシャル・ネットワークの例示的なネットワーク・アーキテクチャ100を示すブロック図である。ネットワーク・アーキテクチャ100は、1つまたは複数のネットワーク106(例、インターネット、セルラー電話ネットワーク、モバイル・データ・ネットワーク、他のワイド・エリア・ネットワーク、ローカル・エリア・ネットワーク、メトロポリタン・エリア・ネットワークなど)によって、電子的ソーシャル・ネットワーク・システム108(例、サーバ・システム)に通信可能に接続されている多数のクライアント・デバイス(「クライアント・システム」、「クライアント・コンピュータ」または「クライアント」ともいう)104−1,104−2,...104−nを含む。いくつかの実施形態において、1つまたは複数のネットワーク106は、公衆通信網(例、インターネットおよび/またはセルラー・データ・ネットワーク)、プライベート通信網(例、プライベートLANもしくは専用回線)、またはこれらの通信ネットワークの組み合わせを含む。
いくつかの実施形態において、クライアント・デバイス104−1,104−2,...104−nは、スマート・ウォッチ、携帯情報端末、携帯メディア・プレーヤ、スマートフォン、タブレット・コンピュータ、二次元ゲーミング・デバイス、三次元(例、仮想現実)ゲーミング・デバイス、ラップトップ・コンピュータ、デスクトップ・コンピュータ、1つまたは複数のプロセッサが埋め込まれたもしくは連結されたテレビ、車載情報システム(例、ナビゲーション、娯楽および/または他の情報を提供する車載コンピュータ・システム)、および/またはソーシャル・ネットワーク・システム108との通信に使用することのできる他の適切なコンピューティング・デバイスなどのコンピューティング・デバイスである。いくつかの実施形態において、ソーシャル・ネットワーク・システム108は、コンピュータ・サーバなどの単一のコンピューティング・デバイスであるが、他の実施形態では、ソーシャル・ネットワーク・システム108は、サーバ・システムのアクションを行うために協働する複数のコンピューティング・デバイスによって実施される(例、クラウド・コンピューティング)。
ユーザ102−1,102−2,...102−nは、クライアント・デバイス104−1,104−2,...104−nを採用して、ソーシャル・ネットワーク・システム108にアクセスし、ソーシャル・ネットワーク・システム108によって提供される対応するソーシャル・ネットワーキング・サービスに参加する。例えば、クライアント・デバイス104−1,104−2,...104−nのうちの1つまたは複数は、ソーシャル・ネットワーキング・サービスに固有のソフトウェア・アプリケーション(例、iPhone(登録商標)、Android(登録商標)もしくはWindows(登録商標)スマートフォンまたはタブレット上で稼働するFacebook(登録商標)ソーシャル・ネットワーキング・アプリケーションなど、スマートフォンまたはタブレット上で稼働するソーシャル・ネットワーキング・「アプリ」)を実行する。いくつかの実施形態において、ソーシャル・ネットワーク・システム108は、サードパーティ・プロバイダ用の少なくともいくつかのサービスおよび/またはフィーチャへのアクセスを提供するソーシャル・ネットワーキング・サービス・プロバイダ用のサーバ・システムである。クライアント・デバイス104−1,104−2,...104−nと対話するユーザは、テキスト・コメント(例、ステータス、更新、投稿、発表、返信、ロケーション、「チェックイン」、プライベート/グループ・メッセージ)、写真、動画、音声ファイル、(例、サードパーティ・サービス・プロバイダに関連するウェブ・ページ、記事、ページ等への)リンク、文書、広告、および/または他の電子コンテンツなどのデジタル・コンテンツを提供および/または消費する(例、投稿、執筆、視聴、公開、放送、プロモーション、推奨、シェア、コメント、「いいね!」の表明をする)ことによって、ソーシャル・ネットワーク・システム108が提供するソーシャル・ネットワーキング・サービスに参加することができる。
ソーシャル・ネットワーキング・サービスのユーザは、ソーシャル・ネットワーキング・サービスの他のユーザによって投稿された情報に注釈を付けることもできる(例、別のユーザの投稿を支持するかもしくはその投稿に「いいね!」を表明する、別のユーザもしくは発信元による投稿に対してコメントする、および/または他の種類のユーザ・フィードバックを提供する)。いくつかの実施形態において、ユーザに代わって、ソーシャル・ネットワーク・システム108の外部のシステムおよび/またはサービスが情報を投稿することができる。例えば、ユーザは、映画レビューのウェブサイトに映画のレビューを投稿することができ、そのウェブサイトは、適切な許可を得て、ユーザに代わってソーシャル・ネットワーク・システム108にレビューをクロスポストすることができる。
ソーシャル・ネットワーキング・サービスの使用または参加に関連して、ユーザが消費し、提供し、および/またはその他の形で対話し得るデジタル・コンテンツには、ソーシャル・ネットワーキング・サービスの様々なフィーチャまたはエントリ・ポイントを通じてアクセスできる。例えば、デジタル・コンテンツは、ソーシャル・ネットワーキング・サービスによってソーシャル・ネットワーキング・サービスの中に維持される1つまたは複数のページ、フィード(例、ニュースフィード、ユーザ・ウォール、タイムライン、新しいデジタル・コンテンツ/デジタル・コンテンツの更新を強調するための通知セクション等)、アプリケーション、および/または特定の種類のデジタル・コンテンツ用の他のインタフェース(例、プライベート・メッセージへのアクセス用、保存されたソーシャル・ネットワーク・コンテンツへのアクセス用、ソーシャル・ネットワーク・コンテンツの検索用のインタフェース等)を介してアクセスでき、提示されることが可能である。通して説明するように、サードパーティ・プロバイダに関連付けられているページには、様々な方法でリンクすることができる(例、フィードへのユーザ投稿、通知、ユーザ間のプライベート・メッセージ等の中で)。
いくつかの実施形態において、モバイル・クライアント・デバイス上で実行するソフトウェア・アプリケーションは、適切な許可を得て、クライアント・デバイスのハードウェア・リソース/コンポーネント(例、画像/動画キャプチャ・デバイス324、ロケーション検出デバイス322、マイクロフォン、センサ等:図3)から情報を取得することができる。例えば、全地球測位システム(GPS)または他のジオロケーション機能(例、Wi−Fiまたはハイブリッド測位システム)に、クライアント・デバイス上のソフトウェア・アプリケーション(例、ソーシャル・ネットワーク・クライアント・モジュール340:図3)がアクセスして、ユーザのロケーションを決定し、ユーザのロケーション(例、「自宅」、「職場」、または「カリフォルニア州サンフランシスコ」)を用いてソーシャル・ネットワーク・システム108を更新する、および/またはユーザのロケーションから導き出した情報を用いておよび/またはユーザのロケーションに基づいてソーシャル・ネットワーク・システム108を更新する。クライアント・デバイス104−1,104−2,...104−nと対話するユーザは、ソーシャル・ネットワーク・システム108が提供するソーシャル・ネットワーキング・サービスを使用して、ユーザのグループを定義することもできる。クライアント・デバイス104−1,104−2,...104−nと対話するユーザは、ソーシャル・ネットワーク・システム108が提供するソーシャル・ネットワーキング・サービスを使用して、互いに通信し、協調することもできる。
いくつかの実施形態において、ネットワーク・アーキテクチャ100は、サードパーティ・サーバ110−1,110−2,...110−mも含む。いくつかの実施態様では、サードパーティ・サーバ110は、ネットワークのユーザ(例、ソーシャル・ネットワーク・システム108のユーザ:図1)にサービスおよび/またはフィーチャを提供するサードパーティ・サービス・プロバイダに関連付けられている。ユーザは、サードパーティ・サーバ110と直接(例、ネットワーク106を介して)、および/または間接的に(例、ソーシャル・ネットワーク・システム108を介して)通信し、データを交換することによって、サードパーティ・サービス・プロバイダと取引(例、金融取引)を行うことができる。
例えば、いくつかの実施形態において、所与のサードパーティ・サーバ110を使用して、直接またはソーシャル・ネットワーク・システム108と共同で、クライアント・デバイス104にページを提供するサードパーティ・ウェブサイトをホストする。いくつかの実施形態において、所与のサードパーティ・サーバ110を使用して、直接またはソーシャル・ネットワーク・システム108と共同で、クライアント・デバイス104が使用するサードパーティ・アプリケーションをホストする。
いくつかの実施形態において、ユーザは、サードパーティ・サービス・プロバイダとは異なるサービス・プロバイダのアプリケーション内に、サードパーティ・サービス・プロバイダに関連付けられているページをロードすることにより(例、ソーシャル・ネットワーク・クライアント・モジュール340内で、サードパーティ・サービスのページにアクセスするために提供されるリンクを選択することによって)、サードパーティ・サービスにアクセスすることができる。ページは、他のウェブ・ドキュメントのいくつかの共通の要素を含み得る、ある種のデジタル・ドキュメントである(例、ドキュメントは、ハイパー・テキスト・マークアップ言語(HTML)、拡張可能マークアップ言語(XML)、Java(登録商標)等のマークアップ言語を含む)。
ページは、ソーシャル・ネットワーキング・サービスのサーバ・システム用の1つまたは複数のアプリケーション・プログラミング・インタフェース(API)(例、ソーシャル・ネットワーク・システム108の1つまたは複数のAPI:図1)を呼び出して、ユーザ情報(例、ソーシャル・ネットワーキング・サービスの使用に関連して収集され記憶されるロケーション情報、支払クレデンシャル、プロフィール情報等)を取得するために、スクリプト(例、1つまたは複数の異なるスクリプト)も含むことができる(例、ソーシャル・ネットワーク・システム108によってページに挿入されるJavaScript(登録商標))。スクリプトは、ユーザが、ロードされたページと対話している間のある時点で(例、ページがロードされるときに、ロードされたページ内で検出された対話に応答して等)、実行することができる。
スクリプトは、ソーシャル・ネットワーキング・サービスによって維持されるユーザ情報を、ユーザとサードパーティ・サービス・プロバイダとの間で行われる取引に活用させることができる。これらの実施態様は、ネットワーク内の他のサービス・プロバイダ(例、ソーシャル・ネットワーク・システム108によって提供されるソーシャル・ネットワーキング・サービス)に関連して維持されるユーザ情報を任意選択で活用しながら、スタンドアロン型サードパーティ・アプリケーション(例、ソーシャル・ネットワーク・クライアント・モジュール340とは異なる他のクライアント・アプリケーション・モジュール342:図3)を介してサードパーティ・サービスおよびフィーチャにアクセスすることに代わる、より効率的で統合されたシームレスな選択肢を提供する。
例示的なサードパーティ・サービス(例、サードパーティ・サービス・プロバイダによって提供される)は、書籍、ビジネス、通信、コンテスト、電子商取引(例、オンラインの小売業者から商品もしくはサービスを購入するためのページ)、教育、娯楽、ファッション、金融、飲食物、ゲーム、健康とフィットネス、ライフスタイル、地域情報(例、交通公共機関時刻表をリアルタイムで見られるページ)、映画(例、映画レビューのページ、映画チケットを購入するためのページ等)、テレビ、音楽と音声、ニュース、写真、動画、生産性、参考資料、セキュリティ、ショッピング、スポーツ、旅行、公共設備等のための、もしくはこれらに関係するサービス、製品および/またはアプリケーションを含むが、これだけに限定されない。いくつかの実施形態において、所与のサードパーティ・サーバ110を使用して、クライアント・デバイス104が直接またはソーシャル・ネットワーク・システム108と共同で使用するエンタープライズ・システムをホストする。いくつかの実施形態において、所与のサードパーティ・サーバ110を使用して、サードパーティ・コンテンツ(例、ニュース記事、レビュー、メッセージ・フィード等)を提供する。
いくつかの実施形態において、所与のサードパーティ・サーバ110は、単一のコンピューティング・デバイス(例、サーバ・コンピュータ)であるが、他の実施形態において、所与のサードパーティ・サーバ110は、サーバ・システムのアクションを行うために協働する複数のコンピューティング・デバイスによって実施される(例、クラウド・コンピューティング)。
図2は、いくつかの実施形態による、例示的なソーシャル・ネットワーク・システム108を示すブロック図である。ソーシャル・ネットワーク・システム108は、通例、1つまたは複数の処理ユニット(プロセッサまたはコア)202と、1つまたは複数のネットワークまたは他の通信インタフェース204と、メモリ206と、これらのコンポーネントを相互接続する1つまたは複数の通信バス208とを含む。通信バス208は、任意選択で、システム・コンポーネント間を相互接続し、その間の通信を制御する回路(チップセットと呼ばれることもある)を含む。ソーシャル・ネットワーク・システム108は、任意選択で、ユーザ・インタフェース(図示せず)を含む。ユーザ・インタフェースは、設けられている場合、ディスプレイ・デバイスを含むことができ、任意選択で、キーボード、マウス、トラックパッド、および/または入力ボタンなどの入力を含む。代わりにまたは追加で、ディスプレイ・デバイスはタッチセンサ面を含み、その場合、ディスプレイはタッチセンサ・ディスプレイである。
メモリ206は、DRAM、SRAM、DDR RAMまたは他のランダム・アクセス・ソリッドステート・メモリ・デバイスなどの高速ランダム・アクセス・メモリを含み、1つまたは複数の磁気ディスク記憶装置、光ディスク記憶装置、フラッシュ・メモリ・デバイス、および/または他の不揮発性ソリッドステート記憶装置などの不揮発性メモリを含むことができる。メモリ206は、任意選択で、プロセッサ202から遠隔に配置されている1つまたは複数の記憶装置を含むことができる。メモリ206、または代わりにメモリ206内の不揮発性メモリ・デバイスは、非一時的コンピュータ可読記憶媒体を含む。いくつかの実施形態において、メモリ206またはメモリ206のコンピュータ可読記憶媒体は、以下のプログラム、モジュールおよびデータ構造、またはそれらの部分集合もしくは上位集合を記憶する。
・様々な基本的なシステム・サービスを取り扱うとともにハードウェア依存タスクを行うプロシージャを含む、オペレーティング・システム210
・ソーシャル・ネットワーク・システム108を1つまたは複数の通信ネットワーク・インタフェース204(有線または無線)および1つまたは複数の通信ネットワーク(例、1つまたは複数のネットワーク106)を介して他のコンピュータに接続するために使用される、ネットワーク通信モジュール212
・ソーシャル・ネットワーキング・サービスに関連付けられている以下のようなデータを記憶する、ソーシャル・ネットワーク・データベース214
○ユーザ情報218などのエンティティ情報216
○つながり情報220、および
○以下のようなコンテンツ222
■ユーザ・コンテンツ224、および/または
■ニュース記事226
・以下のものを含む、ソーシャル・ネットワーキング・サービスおよび関連フィーチャを提供するための、ソーシャル・ネットワーク・サーバ・モジュール228(例、クライアント・デバイス104上のソーシャル・ネットワーク・クライアント・モジュール340と共同で:図3)
○クライアント104のユーザ102をソーシャル・ネットワーク・システム108にログインさせるためのログイン・モジュール230
○表示のためにクライアントに送るべき、以下のものを含むコンテンツを提供するためのコンテンツ・フィード・マネージャ232
■画像、動画、音声ファイル、コメント、ステータス・メッセージ、リンク、アプリケーション、および/または他のエンティティ情報216、つながり情報220、またはコンテンツ222などのオブジェクトをソーシャル・ネットワーク・データベース214に追加するためのコンテンツ生成モジュール234
■表示のためにクライアントに送るべき情報/コンテンツを選択するためのコンテンツ選択モジュール236、および、
○以下のものを含む、ソーシャル・ネットワーキング・サービス用(例、ソーシャル・ネットワーク・システム108によって提供される)のアプリケーション(例、ソーシャル・ネットワーク・モジュール340:図3)を使用して、サードパーティ・サービス・プロバイダのサービスへのアクセスをユーザに提供するためのサードパーティ・サービス・モジュール238
■サードパーティ・サービス・プロバイダに関連付けられている要求されたページを(例、サードパーティ・サーバ110から)取り出し、スクリプトをページに注入し、および/またはページを(例、クライアント・デバイス104に)提供するためのページ・モジュール240
■(例、ページのスクリプトから)API呼び出しを受け取って(例、ソーシャル・ネットワーキング・サービスの)ユーザに関連付けられている情報を取得し、応答して、要求された情報を(例、ソーシャル・ネットワーク・データベース214)から取り出して(例、クライアント・デバイス104に)提供するためのアプリケーション・プログラミング・インタフェース(API)242、および
■(例、サードパーティ・サーバ110から取得された)サードパーティ・サービス・プロバイダに関連付けられているページを記憶している任意選択のページ・キャッシュ244、および
・ソーシャル・ネットワーク・システムのユーザがソーシャル・ネットワーク内のコンテンツおよび他のユーザを検索することを可能にするための検索モジュール246。
ソーシャル・ネットワーク・データベース214は、グラフ・データベース、次元データベース、フラット・データベース、階層的データベース、ネットワーク・データベース、オブジェクト指向データベース、リレーショナル・データベース、および/またはXMLデータベースなどの1つまたは複数の種類のデータベースに、ソーシャル・ネットワークに関連付けられているデータを記憶する。
いくつかの実施形態において、ソーシャル・ネットワーク・データベース214はグラフ・データベースを含み、エンティティ情報216はグラフ・データベースにおいてノードとして表され、つながり情報220はグラフ・データベースにおいてエッジとして表される。グラフ・データベースは、複数のノードと、対応するノード間のつながりを定義する複数のエッジとを含む。いくつかの実施形態において、ノードおよび/またはエッジは、それ自体が、それぞれが対応するエンティティに関する識別子、属性および情報を含むデータ・オブジェクトである。いくつかの実施形態において、ノードは、クライアント104の各ノードに対応するページのレンダリングとともにコンテンツのレンダリングで使用するために、他のオブジェクト、データ構造またはリソースへのポインタまたは参照も含む。
エンティティ情報216は、ユーザ・プロフィール、ログイン情報、支払クレデンシャル(例、ソーシャル・ネットワーキング・サービスを通じて金融取引を行うためのクレジットカードまたはデビットカード情報、銀行情報等)、プライバシーおよび他の嗜好、個人データ等の、ユーザ情報218を含む。いくつかの実施形態において、所与のユーザに関し、ユーザ情報218は、そのユーザの氏名、プロフィール写真、連絡先情報、生年月日、性別、婚姻状況、家族状況、勤務先、学歴、嗜好、興味、および/または他の人口統計学的情報を含む。
いくつかの実施形態において、エンティティ情報216は、物理的なロケーション(例、レストラン、劇場、ランドマーク、都市、州、または国)、不動産または知的財産(例、彫刻、絵画、映画、ゲーム、楽曲、アイデア/コンセプト、写真、または著作物)、ビジネス、人のグループ、および/または企業のグループに関する情報を含む。いくつかの実施形態において、エンティティ情報216は、音声ファイル、動画ファイル、デジタル写真、テキスト・ファイル、構造化ドキュメント(例、ウェブ・ページ)、またはアプリケーションなどの、リソースに関する情報を含む。いくつかの実施形態において、リソースは、ソーシャル・ネットワーク・システム108内(例、コンテンツ222内)、またはサードパーティ・サーバ110などの外部サーバ上に配置される。
いくつかの実施形態において、つながり情報220は、ソーシャル・ネットワーク・データベース214内のエンティティ間の関係に関する情報を含む。いくつかの実施形態において、つながり情報220は、グラフ・データベース内の対のノードをつなげるエッジに関する情報を含む。いくつかの実施形態において、1対のノードをつなげるエッジは、その対のノード間の関係を表す。
いくつかの実施形態において、エッジは、1対のノード間の関係に対応する1つまたは複数のデータ・オブジェクトまたは属性を含むかまたはそれを表す。例えば、第2ユーザが第1ユーザの「友達」であると第1ユーザが示す場合、ソーシャル・ネットワーク・システム108は、第2ユーザに「友達リクエスト」を送信する。第2ユーザが「友達リクエスト」を確認する場合、ソーシャル・ネットワーク・システム108は、第1ユーザのユーザ・ノードと第2ユーザのユーザ・ノードとをつなげるエッジを作成し、そのエッジを、第1ユーザと第2ユーザとが友達であることを示すつながり情報220としてグラフ・データベースに記憶する。いくつかの実施形態において、つながり情報220は、友人関係、家族関係、ビジネスまたは雇用関係、ファン関係、フォロワー関係、ビジター関係、サブスクライバ関係、上下関係、相互関係、非相互関係、別の適当な種類の関係、または2つ以上のこのような関係を表す。
いくつかの実施形態において、ユーザ・ノードと別のエンティティ・ノードとの間のエッジは、ユーザ・ノードのユーザが他のエンティティ・ノードに対して行う特定のアクションまたはアクティビティに関するつながり情報を表す。例えば、ユーザは、他のノードのエンティティに「いいね!」を表明したり、または「出席」していたり、「再生」していたり、「聴いて」いたり、「料理して」いたり、「勤務して」していたり、または「視聴して」いたりしてもよい。他のノードのエンティティに対応するソーシャル・ネットワーキング・サービス内のページは、例えば、選択可能な「いいね!」、「チェックイン」または「お気に入りに追加」アイコンを含むことができる。ユーザがこれらのアイコンのうちの1つをクリックした後、ソーシャル・ネットワーク・システム108は、対応するユーザのアクションに応答して、「いいね!」エッジ、「チェックイン」エッジ、または「お気に入り」エッジを作成することができる。別の例として、ユーザは、特定のアプリケーション(例、オンライン・ミュージック・アプリケーション)を使用して特定の楽曲を聴くことがある。この場合、ソーシャル・ネットワーク・システム108は、ユーザに対応するユーザ・ノードと、楽曲とアプリケーションとにそれぞれ対応するエンティティ・ノードとの間に「聴いた」エッジおよび「使用した」エッジを作成して、ユーザが楽曲を聴き、アプリケーションを使用したことを示すことができる。さらに、ソーシャル・ネットワーク・システム108は、楽曲とアプリケーションとに対応するエンティティ・ノード間に「再生した」エッジを作成して、その特定の楽曲がその特定のアプリケーションで再生されたことを示すこともできる。
いくつかの実施形態において、コンテンツ222は、テキスト(例、ASCII、SGML、HTML)、画像(例、jpeg、tifおよびgif)、グラフィクス(例、ベクトルベースまたはビットマップ)、音声、動画(例、mpeg)、他のマルチメディア、および/またはそれらの組み合わせを含む。いくつかの実施形態において、コンテンツ222は、実行可能コード(例、API呼び出し用のスクリプト)、ポッドキャスト、リンク等を含む。
いくつかの実施形態において、ソーシャル・ネットワーク・サーバ・モジュール228は、ウェブまたはハイパーテキスト転送プロトコル(HTTP)サーバ、ファイル転送プロトコル(FTP)サーバのほか、コモン・ゲートウェイ・インタフェース(CGI)スクリプト、PHPハイパーテキスト・プリプロセッサ(PHP)、アクティブ・サーバ・ページ(ASP)、ハイパー・テキスト・マークアップ言語(HTML)、拡張可能マークアップ言語(XML)、Java、JavaScript、非同期JavaScriptとXML(AJAX:Asynchrounous JavaScript and XML)、XHP、Javelin、ワイヤレス・ユニバーサル・リソース・ファイル(WURFL)等を使用して実施されるウェブ・ページおよびアプリケーションを含む。
いくつかの実施態様において、サードパーティ・サーバ110(図1)は、ソーシャル・ネットワーク・システム108について図2で上述したのと同じコンポーネント、モジュール、およびサブモジュールのうちの一部または全部を含む。
図3は、いくつかの実施形態による、例示的なクライアント・デバイス104を示すブロック図である。クライアント・デバイス104は、通例、1つまたは複数の処理ユニット(プロセッサまたはコア)302と、1つまたは複数のネットワークまたは他の通信インタフェース304と、メモリ306と、これらのコンポーネントを相互接続する1つまたは複数の通信バス308とを含む。通信バス308は、任意選択で、システム・コンポーネント間を相互接続し、その間の通信を制御する回路(チップセットと呼ばれることもある)を含む。クライアント・デバイス104は、ユーザ・インタフェース310を含む。ユーザ・インタフェース310は、通例、ディスプレイ・デバイス312を含む。いくつかの実施形態において、クライアント・デバイス104は、キーボード、マウス、および/または他の入力ボタン316を含む。代わりにまたは追加で、いくつかの実施形態において、ディスプレイ・デバイス312はタッチセンサ面314を含み、その場合、ディスプレイ・デバイス312はタッチセンサ・ディスプレイである。いくつかの実施形態において、タッチセンサ面314は、様々なスワイプ・ジェスチャ(例、垂直および/または水平方向への連続ジェスチャ)および/または他のジェスチャ(例、シングル/ダブル・タップ)を検出するように構成されている。タッチセンサ・ディスプレイ312を有するクライアント・デバイスでは、物理的なキーボードは任意選択である(例、キーボード入力が必要なときは、ソフト・キーボードを表示してもよい)。ユーザ・インタフェース310は、スピーカもしくはスピーカに接続されている音声出力接続、イヤフォン、またはヘッドフォンなどの音声出力デバイス318も含む。さらに、いくつかのクライアント・デバイス104は、マイクロフォンおよび音声認識を使用して、キーボードを補足または代用する。任意選択で、クライアント・デバイス104は、音声入力デバイス320(例、マイクロフォン)を含んで、音声(例、ユーザの発話)をキャプチャする。任意選択で、クライアント・デバイス104は、クライアント・デバイス104のロケーションを決定するために、GPS(全地球測位システム)または他のジオロケーション受信機などのロケーション検出デバイス322を含む。クライアント・デバイス104は、任意選択で、カメラまたはウェブカムなどの画像/動画キャプチャ・デバイス324も含む。
いくつかの実施形態において、クライアント・デバイス104は、クライアント・デバイスの動きおよび/または向きの変化を検出するために、1つまたは複数の任意選択のセンサ323(例、ジャイロスコープ、加速度計)を含む。いくつかの実施形態において、クライアント・デバイス104の検出された動きおよび/または向き(例、クライアント・デバイスのユーザによってなされるユーザ入力に対応する、動き/向きの変化)を使用して、クライアント・デバイス104に表示されるインタフェース(またはインタフェース内のコンテンツ)を操作する。
メモリ306は、DRAM、SRAM、DDR RAMまたは他のランダム・アクセス・ソリッドステート・メモリ・デバイスなどの高速ランダム・アクセス・メモリを含み、1つまたは複数の磁気ディスク記憶装置、光ディスク記憶装置、フラッシュ・メモリ・デバイス、または他の不揮発性ソリッドステート記憶装置などの不揮発性メモリを含むことができる。メモリ306は、任意選択で、プロセッサ302から遠隔に配置されている1つまたは複数の記憶装置を含むことができる。メモリ306、または代わりにメモリ306内の不揮発性メモリ・デバイスは、非一時的コンピュータ可読記憶媒体を含む。いくつかの実施形態において、メモリ306またはメモリ306のコンピュータ可読記憶媒体は、以下のプログラム、モジュールおよびデータ構造、またはそれらの部分集合もしくは上位集合を記憶する。
・様々な基本的なシステム・サービスを取り扱うとともにハードウェア依存タスクを行うプロシージャを含む、オペレーティング・システム326
・インターネット、セルラー電話ネットワーク、モバイル・データ・ネットワーク、他のワイド・エリア・ネットワーク、ローカル・エリア・ネットワーク、メトロポリタン・エリア・ネットワーク等、1つまたは複数の通信ネットワーク・インタフェース304(有線または無線)および1つまたは複数の通信ネットワークを介して、クライアント・デバイス104を他のコンピュータに接続するために使用される、ネットワーク通信モジュール328
・各画像または動画が(例、クライアント・アプリケーション・モジュール336によって)ソーシャル・ネットワーク・システム108に送られるかまたはストリーミングされることが可能な場合、画像/動画キャプチャ・デバイス324によってキャプチャされる各画像または動画を処理するための画像/動画キャプチャ・モジュール330
・各音声が(例、クライアント・アプリケーション・モジュール336によって)ソーシャル・ネットワーク・システム108に送られるかまたはストリーミングされることが可能な場合、音声入力デバイス320によってキャプチャされた音声を処理するための音声入力モジュール332(例、マイクロフォン・モジュール)
・クライアント・デバイス104のロケーションを(例、ロケーション検出デバイス322を使用して)決定し、このロケーション情報を様々なアプリケーション(例、ソーシャル・ネットワーク・クライアント・モジュール340)で使用するために提供するためのロケーション検出モジュール334(例、GPS、Wi−Fi、またはハイブリッド測位モジュール)、および
・以下のモジュール(もしくは命令のセット)、またはその部分集合もしくは上位集合を含め、1つまたは複数のクライアント・アプリケーション・モジュール336
○ウェブサイトにアクセスし、ウェブサイトを閲覧し、ウェブサイトと対話するためのウェブ・ブラウザ・モジュール338(例、マイクロソフト社(Microsoft)のInternet Explorer、モジラ社(Mozilla)のFirefox、アップル社(Apple)のSafari、またはグーグル社(Google)のChrome)
○ソーシャル・ネットワーキング・サービス(例、ソーシャル・ネットワーク・システム108によって提供されるソーシャル・ネットワーキング・サービス)および関連フィーチャとのインタフェースを提供し、(例、サードパーティ・サービス・プロバイダとの取引を行うために)サードパーティ・サービス・プロバイダに関連付けられているページを(例、ソーシャル・ネットワーク・モジュール340のインタフェース内に)ロードするためのソーシャル・ネットワーク・モジュール340、および/または
○ワード・プロセッシング、カレンダー、地図作成、天気、株式、時間管理、仮想デジタル・アシスタント、プレゼンテーション、ナンバー・クランチング(スプレッドシート)、描画、インスタント・メッセージング、電子メール、電話による通信、ビデオ会議、写真管理、動画管理、デジタル・ミュージック・プレーヤ、デジタル・ビデオ・プレーヤ、二次元ゲーミング、三次元(例、仮想現実)ゲーミング、電子書籍リーダ、および/またはワークアウト・サポート用のアプリケーションなど、任意選択のクライアント・アプリケーション・モジュール342
上記で特定したモジュールおよびアプリケーションのそれぞれは、上述した1つまたは複数の機能を行うための、および/または本出願で説明する方法(例、本願明細書で説明されるコンピュータ実装方法および他の情報処理方法)において行うための、実行可能命令のセットに対応する。これらのモジュール(すなわち、命令のセット)は、個別のソフトウェア・プログラム、プロシージャまたはモジュールとして実装する必要はなく、そのためこれらのモジュールの様々な部分集合は、様々な実施形態において任意選択で組み合わせられるかまたはその他の形で再編成される。いくつかの実施形態において、メモリ206および/または306は、上記で特定したモジュールおよびデータ構造の部分集合を記憶する。さらに、メモリ206および/または306は、任意選択で、上記で説明されていない追加のモジュールおよびデータ構造を記憶する。
ここで、クライアント・デバイス(例、図3のクライアント・デバイス104)上に実装され得るグラフィカル・ユーザ・インタフェース(「GUI」)および関連するプロセスの実施形態に注意を向ける。
図4A〜図4Jは、いくつかの実施形態による、サードパーティ・サービス・プロバイダとは異なるサービス・プロバイダ(例、ソーシャル・ネットワーク・システム108のプロバイダ:図1)のアプリケーション内でサードパーティ・サービス・プロバイダのサービスにアクセスするための、クライアント・デバイス104上の例示的なGUIを示す。例えば、図4A〜図4Jに図示されているGUIは、ソーシャル・ネットワーキング・サービスのアプリケーション(例、ソーシャル・ネットワーク・モジュール340:図3)によって提供することができる。これらの図のGUIは、方法500(図5)を含め、以下で説明するプロセスを例示するために使用される。図4A〜図4JはGUIの実施例を示しているが、他の実施形態においては、1つまたは複数のGUIは、図4A〜図4Jの実施形態とは異なる配置でユーザ・インタフェース要素を表示する。
図4Aは、ソーシャル・ネットワーキング・サービス(例、サーバ・システムのソーシャル・ネットワーク・システム108によって提供される:図1)のコンテンツを表示し、そのコンテンツと対話するためのGUIを示す。ソーシャル・ネットワーク・コンテンツ(例、テキスト・コメント、メディア等)は、ソーシャル・ネットワーキング・サービスの特定のユーザに対して(フィード、ユーザのタイムラインの中などに)表示される。ある場合には、ソーシャル・ネットワーク・コンテンツは、サードパーティ・サービス・プロバイダ(例、サードパーティ・サーバ110:図1)に関連付けられているページへのリンクを含む。リンクを選択でき、関連ページにアクセスできるソーシャル・ネットワーキング・サービスの様々な態様を、図4A〜図4Jおよび方法500(図5)を通して説明する。
図4AのGUIは、ソーシャル・ネットワーク・コンテンツのフィードを表示する。フィードは、サードパーティ・サービス・プロバイダに関連付けられているページへのリンク402をシェアするユーザ「ジョン・ドウ」による投稿400を含む。ユーザがリンク402を(例、タッチ入力により)選択すると対応するページがロードされ、ユーザは、サードパーティ・サービス・プロバイダのサービスにアクセスできるようになる。この例では、サードパーティ・サービス・プロバイダは、オンラインの映画チケット販売店「チケット・ストア」であり、リンク402を選択することによって対応するページ(図示せず)がロードされ、そのページでユーザは、映画「ファインディング・ドリー」のチケットを購入できる。任意選択の印404は、リンク402に重なっていてもよく、サードパーティ・サービス・プロバイダに関連付けられているページへのリンクであることと、リンクを選択することによって、実行されたアプリケーション(例、ソーシャル・ネットワーキング・サービスとのインタフェースを提供するソーシャル・ネットワーク・クライアント・モジュール340)内のページがロードされることとを示す。このように、ページは、別のアプリケーションに切り換えなくてもロードすることができる。
図4AのGUIは、ソーシャル・ネットワークまたは他のコンテンツをユーザが検索できる検索ボックス406も表示している。この例では、検索ボックス406で検出されたタッチ・ジェスチャ408により、検索クエリを入力し検索結果を閲覧するためのGUI(図4B)が表示される。(図4BのGUIは、検索クエリ入力用のソフト・キーボード(図示せず)を含んでいてもよい。)図4Bに図示されるように、「フォースの覚醒」についての検索クエリが検索ボックス406に入力される。応答して、検索結果410−1〜410−3が表示される。ここで、検索結果410−2は、サードパーティ・サービス・プロバイダ「チケット・ストア」(図4Aのリンク402に関連付けられているのと同じ、オンラインの映画チケット販売店)に関連付けられているページへのリンクである。
検索結果410−2へのタッチ・ジェスチャ412(図4B)の検出に応答して、サードパーティ・サービス・プロバイダ用の対応するページ414がロードされ(図4C)、実行されるアプリケーション内に表示される。表示されたページ414から、ユーザは、サードパーティ・サービス・プロバイダとの取引を行うことができ、任意選択で、他のサービスおよびフィーチャにアクセスする。図4Cに図示するように、「チケット・ストア」に関連付けられているページが表示され、図4Cで検索した映画(「スター・ウォーズ:フォースの覚醒」)のチケットをユーザが購入できるインタフェースを提供する。ユーザは、関連するメディア・コンテンツ(「動画」)または情報(「出演者&情報」)も閲覧することができる。
以下に説明するように、サーバ・システムのアプリケーション・プログラミング・インタフェース(API)(例、ソーシャル・ネットワーキング・サービス用)を呼び出すための、ページ414のスクリプトは、ユーザ(例、クライアント・デバイス104−1のユーザ、クライアント・デバイス104−1でソーシャル・ネットワーキング・サービスにログインされるユーザ等)に関連付けられている情報を取得するために実行することができる。そして、取得されたユーザ情報は、ページ414を通じてサードパーティ・サービス・プロバイダとの取引を行うために使用することができる。この例では、取得された情報は、ロケーション情報416(例、郵便番号)を含み、これを少なくとも部分的に使用して、要求された映画を上映している近く(例、指定されたエリアまたは距離の範囲内)の映画館(取得された郵便番号から965メートル(0.6マイル)の「AMCヴァン・ネス14」)など、取引に関する推奨事項を提供する。取り出され得るユーザ情報、およびその情報をサードパーティ・サービス・プロバイダとの取引を行う際に使用することの他の例は、方法500(図5)に関して説明する。
図4Cでは、上向きのスワイプ・ジェスチャ418が検出されて、ページ414の追加部分が表示される(図4D)。ここで、GUIは、利用できる上映時間に対応するユーザ・インタフェース・アフォーダンス420−1〜420−7を表示し、ユーザは、ユーザ・インタフェース・アフォーダンス420−1〜420−7を選択することによって、対応する上映時間のチケットを購入するための取引を開始できる。
タッチ・ジェスチャ422(図4D)がアフォーダンス420−3で検出され、それに応答して、取引を完了するためのGUIが表示される(図4E)。ここで、ユーザは、チケットの購入枚数といった、取引の詳細を指定することができる。
上向きのスワイプ・ジェスチャ424(図4E)の検出に応答して、支払明細を指定するページ414の一部が表示される(図4F)。ここで、サードパーティ・サービス・プロバイダとの金融取引を行うにあたって、ソーシャル・ネットワーキング・サービスから(例、ソーシャル・ネットワーク・システム108のAPI242を呼び出すことによって:図2)ユーザについての支払クレデンシャルを取り出すことができる。この例では、ユーザが明示的に許可するまで、支払クレデンシャルは、ソーシャル・ネットワーキング・サービスから取り出されない。例えば、アフォーダンス428へのタッチ・ジェスチャ426の検出に応答して、ユーザの電子メール・アドレスおよび支払クレデンシャルの1回限りの使用の許可を与えるようユーザに要求する支払確認インタフェース430が表示される(図4G)。ここで、支払クレデンシャルおよび電子メール・アドレスが、ソーシャル・ネットワーキング・サービスから(例、API242を呼び出すことによって:図2)取り出されて、アフォーダンス434へのタッチ・ジェスチャ432(図4G)の検出に応答して、取引を完了するために使用される。その後、確認メッセージ436が表示され(図4H)、任意選択で、サードパーティ・サービスの追加フィーチャ(例、「チケットを見る」)へのアクセスをユーザに提供する。あるいは、支払クレデンシャルは、ユーザ入力なく(例、ページのロードに応答して)取り出される。
いくつかの実施形態において、サードパーティ・サービス・プロバイダに関連付けられているページへのリンクを、ソーシャル・ネットワーキング・サービスの通知インタフェース内に提供することができる。ソーシャル・ネットワーキング・サービスからの通知を閲覧するための通知インタフェース438(図4J)は、アフォーダンス442へのタッチ・ジェスチャ440(図4I)の検出に応答して表示される。図4Jに図示されるように、通知444−1および444−2は、サードパーティ・サービス・プロバイダに関連付けられているページへのリンクを含み、通知を選択すると、他のアプリケーションに切り換えることなく、実行されるアプリケーション内の対応するページがロードされる。例えば、通知444−1を選択すると、「チケット・ストア」に関連付けられているページがロードされて、ユーザは、(図4B〜図4Hに関して説明された)最近購入した映画のチケットの詳細を見ることができる。別の例では、通知444−2は、「チケット・ストア」に関連付けられているページへの同じリンク402(図4A)を含み、ユーザは、「ファインディング・ドリー」のチケットを購入できる。
図5は、いくつかの実施形態による、サードパーティ・サービス・プロバイダとは異なる別のサービス・プロバイダ用のアプリケーション内でサードパーティ・サービス・プロバイダのサービスにアクセスする方法500を示すフロー図である。
方法500の工程は、クライアント・デバイス502(例、クライアント・デバイス104:図1、図3、図4A〜図4J)、サーバ・システム504(例、ソーシャル・ネットワーク・システム108:図1および図2)、および/またはサードパーティ・サーバ506(例、サードパーティ・サーバ110:図1)の任意の組み合わせによって行うことができる。図5は、コンピュータ・メモリ(例、クライアント・デバイス104のメモリ306:図3、ソーシャル・ネットワーク・システム108のメモリ206:図2、サードパーティ・サーバ110のメモリ:図1(図示せず))または別のコンピュータ可読記憶媒体に記憶されている命令に対応する。方法500の説明を助けるため、図5は、図4A〜図4Jに図示される例示的なGUIを参照して説明する。
方法500を行うとき、クライアント・デバイス502は、サーバ・システム504によって提供されるソーシャル・ネットワーキング・サービスに関連付けられているアプリケーションにおいて、サードパーティ・サービス・プロバイダに関連付けられているページへのリンク(例、検索結果410−2(図4B)がソーシャル・ネットワーク・クライアント・モジュール340用のGUI内に表示され、これは、サードパーティ・サービス・プロバイダ「チケット・ストア」のページ414(図4C)へのリンクである)をユーザに提供する(508)。サードパーティ・サーバ506に関連付けられているサードパーティ・サービス・プロバイダは、ソーシャル・ネットワーキング・サービスとは異なる。以下に説明するように、サードパーティ・サービス・プロバイダに関連付けられているページへのリンクには、ソーシャル・ネットワーキング・サービスの様々な(また、ときには、2つ以上の異なる)エントリ・ポイントまたはフィーチャを通じてアクセスできる。
例えば、いくつかの実施形態において、ページへのリンクを提供すること(508)は、アプリケーション内に、サードパーティ・サービス・プロバイダの広告を表示することを含み、広告はページにリンクする。
いくつかの実施形態において、クライアント・デバイス502は、アプリケーションを通じて、検索クエリ(例、検索ボックス406内の「フォースの覚醒」検索クエリ406:図4B)を指定するユーザ入力を受け取る。検索クエリはサーバ・システム504に提供される。すると、クライアント・デバイス502は、サーバ・システム504から検索クエリの結果を受け取る。結果は、ページにリンクしているサードパーティ・サービス・プロバイダへの参照(例、検索結果410−2(図4B)は、図4Cのページ414にリンクしている)を含む。検索結果はアプリケーション(例、図4BのGUI)内に表示され、ページへのリンクを提供すること(508)は、検索結果内にサードパーティ・サービス・プロバイダへの参照を表示することを含む。
いくつかの実施形態において、ページへのリンクを提供すること(508)は、アプリケーション内に、サードパーティ・サービス・プロバイダに関する通知を表示することを含み、通知はページ(例、通知444−2:図4J)にリンクする。
いくつかの実施形態において、ページへのリンクを提供すること(508)は、ユーザが以前に保存した(例、アプリケーションの保存機能を使用して)ソーシャル・メディア投稿(例、共有リンク)を表示することを含み、ソーシャル・メディア投稿はページにリンクする。
いくつかの実施形態において、ページへのリンクを提供すること(508)は、アプリケーションのプライベート・メッセージング・インタフェース内に、ソーシャル・ネットワーキング・サービスの別のユーザからのメッセージを表示することを含み、メッセージはページにリンクする。プライベート・メッセージング・インタフェースは、(例、ユーザの友人が閲覧可能な、ユーザ・プロフィール・タイムラインになされる投稿とは対照的に)ユーザだけがアクセスできる、メッセージ閲覧用のソーシャル・ネットワーキング・サービスのインタフェースとすることができる。
クライアント・デバイス502は、サードパーティ・サービス・プロバイダに関連付けられているページの要求を、サーバ・システム504に送る(510)(また、サーバ・システム504は、クライアント・デバイス502から受け取る)。いくつかの実施形態において、要求は、ユーザのリンク選択(例、タッチ・ジェスチャ412:図4B)に応答して、クライアント・デバイス502によって送られる。
サーバ・システム504は、ページをクライアント・デバイス502に提供する(514)(また、クライアント・デバイス502は、サーバ・システム504から受け取る)。ページは、サーバ・システム504の1つまたは複数のアプリケーション・プログラミング・インタフェース(API)を呼び出すためのスクリプト(または複数のスクリプト)を含む(例、スクリプトを実行することは、クライアント・デバイス104のソーシャル・ネットワーク・クライアント・モジュール340に、ソーシャル・ネットワーク・システム108のAPI242を呼び出させる)。
いくつかの実施形態において、サーバ・システム504からページを受け取った後、クライアント・デバイス502は、クライアント・デバイスのメモリ(例、メモリ306:図3)にページをキャッシュする。このように、クライアント・デバイスが後でページにアクセスするとき(例、クライアント・デバイスがアプリケーション内にページを表示する(522)ことを中止した後、および/または取引が行われた(524)後に、ユーザがページに戻るとき)、サーバ・システム504(またはサードパーティ・サーバ506)にページの要求を送るのではなく、キャッシュされたページをクライアント・デバイスのメモリから取り出すことができる。
いくつかの実施形態において、クライアント・デバイス502にページを提供すること(514)は、ページを取り出すこと(512)を含む。サーバ・システム504は、取り出されたページにスクリプトを注入し(例、ソーシャル・ネットワーク・システム108は、サードパーティ・サーバ110−1から取り出されたウェブ・ドキュメントにコードを追加する:図1)、取り出されたページを、注入されたスクリプトとともにクライアント・デバイス502に送信する。いくつかの実施形態では、注入されたスクリプトは、取り出されたページ(または取り出されたページに関連付けられている、およびサードパーティ・サービス・プロバイダに関連付けられている他のページ)内でのナビゲーションを促す、または該ページとの対話を促すスクリプトを含む(例、注入されたスクリプトは、ナビゲーション・ユーザ・インタフェース要素をクライアント・デバイス上に表示させ、ユーザがページのサイト・マップにアクセスできるようにする)。
いくつかの実施形態において、ページを取り出すこと(512)は、サードパーティ・サーバ506からページを取得することと、サーバ・システム504のメモリ(例、ページ・キャッシュ244:図2)にページをキャッシュすることと、キャッシュされたページをサーバ・システム504のメモリから取り出すことと、を含む。あるいは、ページは、サードパーティ・サーバ506から取得され、サーバ・システム504にキャッシュされることなく、クライアント・デバイス502に提供される。いくつかの実施形態において、サードパーティ・サーバから取得されたページにスクリプトが注入され、キャッシュされたページは、注入されたスクリプトを含む取得されたページである。いくつかの実施形態において、キャッシュされたページは、サードパーティ・サーバから取得されたページであり、キャッシュされたページを取り出した後、かつ、キャッシュされたページを、注入されたスクリプトとともにクライアント・デバイスに送信する前に、キャッシュされたページにスクリプトを注入する。
いくつかの実施形態において、ページを取り出すこと(512)、ページをキャッシュすること、および/または取り出されたページにスクリプトを注入することは、ユーザにリンクを提供する(工程508)前、および/またはページの要求を送る前(工程510)前に行われる。言い換えると、サードパーティ・プロバイダに関連付けられているページは、クライアント・デバイスからページの要求を受け取る前に取り出され、キャッシュされ、および/または(例、注入されたスクリプトで)修正されることが可能である。
ユーザのリンク選択に応答して、クライアント・デバイス502は、アプリケーション内にページをロードする(516)(例、図4Cでは、タッチ・ジェスチャ412(図4B)に応答してページ414をロードする)。
クライアント・デバイス502は、スクリプトを実行し、1つまたは複数のAPI(例、API242:図2)を呼び出して(518)(また、サーバ・システム504は、スクリプトから1つまたは複数のAPIのうちのそれぞれのAPIに1つまたは複数の呼び出しを受け取り)、ユーザに関連付けられている情報をサーバ・システム504から取得する。1つまたは複数の呼び出しに応答して、サーバ・システム504は、ユーザに関連付けられている情報を、ページで使用するために、ソーシャル・ネットワーキング・サービスからクライアント・デバイスに提供する(520)(また、クライアント・デバイスは、サーバ・システムから受け取る)。
クライアント・デバイス502は、アプリケーション内にページを表示する(522)(例、ソーシャル・ネットワーク・クライアント・モジュール340用のGUI内にページ414を表示する:図4C)。ページは、1つまたは複数の呼び出しに応答してサーバ・システム504によって提供された情報に少なくとも部分的に基づいて、ユーザがサードパーティ・サービス・プロバイダ(すなわち、サードパーティ・サーバ506)と取引を行うことを可能にする。クライアント・デバイス502は、ユーザに関連付けられている情報を、ページを通じてサードパーティ・サービス・プロバイダと取引を行うために使用する(524)。
いくつかの実施形態において、ユーザに関連付けられている情報は、クライアント・デバイスのハードウェア・リソースによって取得された情報を含む(例、画像/動画キャプチャ・デバイス324(図3)を使用してキャプチャされたメディア、ロケーション検出デバイス322によって生成されたロケーション情報、音声入力デバイス320によってキャプチャされた音声等)。
いくつかの実施形態において、ユーザに関連付けられている情報は、ソーシャル・ネットワーキング・サービスのユーザに関する識別子(例、ユーザIDまたは電子メール・アドレス)(例、ユーザ情報218:図2)を含み、取引を行うために情報を使用すること(524)は、識別子を取引と関連付けることを含む。
いくつかの実施形態において、ユーザに関連付けられている情報は、ソーシャル・ネットワーキング・サービスのユーザに関する支払情報を含み、取引を行うために情報を使用すること(524)は、支払情報を使用して取引に対する支払を行うことを含む(例、ソーシャル・ネットワーキング・サービスから取り出された支払クレデンシャルを使用すること:図4F〜図4H)。
いくつかの実施形態において、ページを表示すること(522)は、ユーザに関連付けられている情報に少なくとも部分的に基づいた、取引に関する推奨事項を表示することを含む。例えば、いくつかの実施態様において、ユーザに関連付けられている情報は、クライアント・デバイス502によって決定されるユーザのロケーションを含み、推奨事項は、そのロケーションに少なくとも部分的に基づく(例、図4Cでは、ページ414は、クライアント・デバイス104のロケーション検出デバイス322によって決定されるロケーション情報416に基づいて、近くの映画館「AMCヴァン・ネス14」の推奨を表示する)。
いくつかの実施形態において、ユーザに関連付けられている情報は、ソーシャル・ネットワーキング・サービスにおけるユーザのアクティビティ履歴(例、つながり情報220に関して図2で詳細に説明された「いいね!」の表明など、ソーシャル・ネットワーキング・サービスのユーザが行うアクションまたはアクティビティ)を含み、推奨事項は、少なくとも部分的にその履歴に基づく(例、ソーシャル・ネットワーキング・サービスを通じて以前に購入された製品の履歴に基づいて、購入する製品を推奨する)。
いくつかの実施形態において、ユーザに関連付けられている情報は、ソーシャル・ネットワーキング・サービスにおけるユーザの知り合いのアクティビティ履歴(例、ソーシャル・ネットワーキング・サービスにおいてユーザの友達が行うアクションまたはアクティビティ)を含み、推奨事項は、少なくとも部分的にその履歴に基づく(例、図4Aのリンク402の選択は、リンク402をシェアするためのユーザ「ジョン・ドウ」の投稿400に基づいて、「ファインディング・ドリー」のチケットの購入の推奨を表示するページ(図示せず)をロードする)。
1つまたは複数のAPIを呼び出すことによってサーバ・システムから取り出され得る、ユーザに関連付けられている情報の他の例として、例えば、ソーシャル・ネットワーク・データベース214(図2)に記憶されているデータまたは情報が挙げられる。
いくつかの実施形態において、ページをロードすること(516)は、スクリプトを実行することを含み、1つまたは複数のAPIを呼び出すこと(518)(および、取得された情報をクライアント・デバイスに提供すること(520))は、スクリプトの実行に応答して行われる。いくつかの実施形態において、1つまたは複数のAPIを呼び出すこと(518)(および、取得された情報をクライアント・デバイスに提供すること(520))は、ロードされたページに関連するユーザ対話の検出に応答して行われる(例、ロケーション情報を取り出して使用する許可を与えるユーザ入力、ソーシャル・ネットワーキング・サービスによって維持されている支払クレデンシャルの使用を許可する図4Gのタッチ・ジェスチャ432を検出すると、1つまたは複数のAPIが呼び出される)。いくつかの実施形態において、1つまたは複数のAPIは、複数のAPIを含み、複数のAPIを呼び出すこと(518)は、ページのロード(516)に応答して複数のAPIの中から少なくとも第1APIを呼び出すことと、ロードされたページに関連したユーザ対話の検出に応答して、複数のAPIの中から(第1APIとは異なる)少なくとも第2APIを呼び出すこととを含む。
いくつかの実施形態において、ユーザに関連付けられている情報を使用すること(524)は、クライアント・デバイス502から、サードパーティ・サービス・プロバイダのサードパーティ・サーバ506に情報を直接送信することを含む。追加でおよび/または代わりに、ユーザに関連付けられている情報を使用すること(524)は、サーバ・システム504からサードパーティ・サーバ506に情報を送信するよう、クライアント・デバイス502がサーバ・システム504に命令を与えることを含む(例、図4Gで与えられるユーザ許可により、ユーザの支払クレデンシャルは、ソーシャル・ネットワーキング・サービスから、サードパーティ・サービス・プロバイダに直接送信される)。
いくつかの実施形態において、取引を行った後、クライアント・デバイス502は、アプリケーション内にページを表示することを中止する。ページの表示を中止した後、クライアント・デバイス502は、取引に関する通知を受け取る。例えば、通知は、サーバ・システム504からクライアント・デバイス502にプッシュされる。クライアント・デバイス502は、アプリケーション内に通知を表示する(例、図4Jの通知444−1は、チケット取引の完了後にクライアント・デバイスにプッシュされる)。
いくつかの実施形態において、ユーザにリンクを提供(508)した後、クライアント・デバイス502は、サードパーティ・サービス・プロバイダに関連付けられているページの要求をサードパーティ・サーバ506に送る(また、サードパーティ・サーバは、クライアント・デバイスから受け取る)。それに応答して、サードパーティ・サーバ506は、ページをクライアント・デバイス502に提供し(また、クライアント・デバイスは、サードパーティ・サーバから受け取り)、クライアント・デバイスは、クライアント・デバイスのメモリ(例、メモリ306:図3)にページをキャッシュする。クライアント・デバイス502は、取り出されたページ(または、任意選択で、キャッシュされたページ)にスクリプトを注入し、ページ(またはキャッシュされたページ)を、注入されたスクリプトとともにアプリケーション内にロードし(例、工程516)、表示する(例、工程522)。クライアント・デバイスは、1つまたは複数のAPIを呼び出し(例、工程518)、情報を受け取り(例、工程520)、ユーザに関連付けられている情報を、ページを通じてサードパーティ・サービス・プロバイダと取引を行うために使用する(例、工程524)。後に(例、クライアント・デバイスがアプリケーション内にページを表示することを中止した後、および/または取引が行われた後)、クライアント・デバイス502は、キャッシュされたページを、注入されたスクリプトとともにメモリから取り出し、キャッシュされたページを、クライアント・デバイスのアプリケーション内にロードする(または、任意選択で、クライアント・デバイスは、注入されたスクリプトのないキャッシュされたページを取り出し、キャッシュされたページにスクリプトを注入し、キャッシュされたページを、注入されたスクリプトとともにロードする)。このように、クライアント・デバイスは、ページを(注入されたスクリプトとともに)キャッシュして、その後のページのロードをより高速かつより効率的にすることができる。
ユーザに関する情報を上記システムが収集する状況に関して、個人情報(例、ユーザの嗜好またはユーザのソーシャル・コンテンツ・プロバイダに対する寄与に関する情報)を収集できるプログラムまたはフィーチャをオプトイン/オプトアウトする機会をユーザに与えることができる。
各種図面のいくつかでは、いくつかの論理段階を特定の順序で示しているが、順序に依存しない段階は並べ替えてよく、また、他の段階を併合するか、または分割して切り出してよい。いくつかの並べ替えまたは他の組分けについて具体的に記載しているが、他のものは当業者には明らかであり、よって、本明細書で提示している順序および組分けは、代替案の網羅的列挙ではない。さらに、認識されるべきことは、それらの段階は、ハードウェア、ファームウェア、ソフトウェア、またはそれらの任意の組み合わせで実現できるということである。
上記明細書は、説明を目的として、具体的な実施形態を参照して記載している。しかしながら、上記の例示的説明は、網羅的なものではなく、開示した厳密な形態に請求項の範囲を限定するものでもない。上記の教示に照らして、数多くの変更および変形が可能である。これらの実施形態は、これにより他の当業者が企図する特定の用途に適した種々の変更を加えて実施形態を最良に利用できるように、請求項の根底にある原理およびその実際の適用について最良に説明するために選択されたものである。

Claims (34)

  1. 1以上のプロセッサと、前記1以上のプロセッサによって実行するための命令を記憶したメモリとを有するクライアント・デバイスにおいて、
    サーバ・システムによって提供されるソーシャル・ネットワーキング・サービスに関連付けられているアプリケーションにおいて、サードパーティ・サービス・プロバイダに関連付けられているページへのリンクをユーザに提供する工程であって、前記サードパーティ・サービス・プロバイダは、前記ソーシャル・ネットワーキング・サービスとは異なる、工程と、
    ユーザによる前記リンクの選択に応答して、前記ページを前記アプリケーション内にロードする工程であって、前記ページは、前記サーバ・システムの1以上のアプリケーション・プログラミング・インタフェース(API)を呼び出すためのスクリプトを含むと、
    前記1以上のAPIを呼び出して、前記ユーザに関連付けられている情報を前記サーバ・システムから取得する工程と、
    前記アプリケーション内に前記ページを表示する工程と、
    前記ユーザに関連付けられている前記情報を、前記ページを通じて前記サードパーティ・サービス・プロバイダと取引を行うために使用する工程と、
    を含む、方法。
  2. 前記情報は、前記ソーシャル・ネットワーキング・サービスの前記ユーザに関する識別子を含み、
    前記取引を行うために前記情報を使用する工程は、前記識別子を前記取引に関連付けることを含む、
    請求項1に記載の方法。
  3. 前記情報は、前記ソーシャル・ネットワーキング・サービスの前記ユーザに関する支払情報を含み、
    前記取引を行うために前記情報を使用する工程は、前記取引に対する支払を行うために前記支払情報を使用することを含む、
    請求項1に記載の方法。
  4. 前記ページを表示する工程は、前記情報に少なくとも部分的に基づいた、前記取引に関する推奨事項を表示することを含む、請求項1に記載の方法。
  5. 前記情報は、前記クライアント・デバイスによって決定される前記ユーザのロケーションを含み、
    前記推奨事項は、前記ロケーションに少なくとも部分的に基づく、
    請求項4に記載の方法。
  6. 前記情報は、前記ソーシャル・ネットワーキング・サービスにおける前記ユーザのアクティビティ履歴を含み、
    前記推奨事項は、前記履歴に少なくとも部分的に基づく、
    請求項4に記載の方法。
  7. 前記情報は、前記ソーシャル・ネットワーキング・サービスにおける前記ユーザの知り合いのアクティビティ履歴を含み、
    前記推奨事項は、少なくとも部分的に前記履歴に基づく、
    請求項4に記載の方法。
  8. 前記情報は、前記クライアント・デバイスのハードウェア・リソースによって取得される情報を含む、請求項1に記載の方法。
  9. 前記ページへの前記リンクを提供する工程は、前記アプリケーション内に、前記サードパーティ・サービス・プロバイダの広告を表示することを含み、前記広告は前記ページにリンクする、請求項1に記載の方法。
  10. 前記アプリケーションを通じて、検索クエリを指定するユーザ入力を受け取る工程と、
    前記検索クエリを前記サーバ・システムに提供する工程と、
    前記サーバ・システムから前記検索クエリの結果を受け取る工程であって、前記結果は、前記ページにリンクしている前記サードパーティ・サービス・プロバイダへの参照を含む、工程と、
    前記検索結果を前記アプリケーション内に表示する工程と、をさらに含み、
    前記ページへの前記リンクを提供する工程は、前記検索結果内に前記サードパーティ・サービス・プロバイダへの前記参照を表示することを含む、
    請求項1に記載の方法。
  11. 前記ページへの前記リンクを提供する工程は、前記アプリケーション内に、前記サードパーティ・サービス・プロバイダに関する通知を表示することを含み、前記通知は前記ページにリンクする、請求項1に記載の方法。
  12. 前記ページへの前記リンクを提供する工程は、前記アプリケーション内に、前記ユーザが以前に保存したソーシャル・メディア投稿を表示することを含み、前記ソーシャル・メディア投稿は前記ページにリンクする、請求項1に記載の方法。
  13. 前記ページへの前記リンクを提供する工程は、前記アプリケーションのプライベート・メッセージング・インタフェース内に、前記ソーシャル・ネットワーキング・サービスの別のユーザからのメッセージを表示することを含み、前記メッセージは前記ページにリンクする、請求項1に記載の方法。
  14. 前記取引を行った後、前記アプリケーション内に前記ページを表示することを中止する工程と、
    前記ページの表示を中止した後、前記取引に関する通知を受け取る工程であって、前記通知は、前記サーバ・システムから前記クライアント・デバイスにプッシュされる、工程と、
    前記通知を前記アプリケーション内に表示する工程と、
    をさらに含む、請求項1に記載の方法。
  15. 1以上のプロセッサと、前記1以上のプロセッサによって実行するための命令を記憶したメモリとを有するソーシャル・ネットワーキング・サービスのサーバ・システムにおいて、
    クライアント・デバイスから、サードパーティ・サービス・プロバイダに関連付けられているページの要求を受け取る工程であって、前記サードパーティ・サービス・プロバイダは、前記ソーシャル・ネットワーキング・サービスとは異なる、工程と、
    前記ページを前記クライアント・デバイスに提供する工程であって、前記ページは、前記サーバ・システムの1以上のアプリケーション・プログラミング・インタフェース(API)を呼び出すためのスクリプトを含む、工程と、
    前記スクリプトから前記1以上のAPIのうちのそれぞれのAPIに1以上の呼び出しを受け取る工程と、
    前記1以上の呼び出しに応答して、ユーザに関連付けられている情報を、前記ページで使用するために、前記ソーシャル・ネットワーキング・サービスから前記クライアント・デバイスに提供する工程であって、前記ページは、前記情報に少なくとも部分的に基づいて、前記ユーザが前記サードパーティ・サービス・プロバイダと取引を行うことを可能にする、工程と、
    を含む、方法。
  16. 前記ページを前記クライアント・デバイスに提供する工程は、
    前記ページを取り出すことと、
    取り出された前記ページに前記スクリプトを注入することと、
    取り出された前記ページを、注入された前記スクリプトとともに前記クライアント・デバイスに送信することと、
    を含む、請求項15に記載の方法。
  17. 前記ページを取り出すことは、
    前記サードパーティ・サービスに関連付けられているサードパーティ・サーバから前記ページを取得することと、
    前記ページを前記サーバ・システムのメモリにキャッシュすることと、
    キャッシュした前記ページを前記サーバ・システムの前記メモリから取り出すことと、
    を含む、請求項16に記載の方法。
  18. 前記情報は、前記ソーシャル・ネットワーキング・サービスの前記ユーザに関する識別子、前記ソーシャル・ネットワーキング・サービスの前記ユーザに関する支払情報、前記ソーシャル・ネットワーキング・サービスにおける前記ユーザのアクティビティ履歴、前記ソーシャル・ネットワーキング・サービスにおける前記ユーザの知り合いのアクティビティ履歴、および前記クライアント・デバイスのハードウェア・リソースからの情報、のうちの少なくとも1つを含む、請求項15に記載の方法。
  19. 前記ページは、前記情報に少なくとも部分的に基づいた、前記取引に関する推奨事項を含む、請求項15に記載の方法。
  20. ソーシャル・ネットワーキング・サービスのサーバ・システムの1以上のプロセッサによって実行するための1以上のプログラムを記憶している非一時的コンピュータ可読記憶媒体であって、前記1以上のプログラムは、
    クライアント・デバイスから、サードパーティ・サービス・プロバイダに関連付けられているページの要求を受け取る工程であって、前記サードパーティ・サービス・プロバイダは、前記ソーシャル・ネットワーキング・サービスとは異なる、工程と、
    前記ページを前記クライアント・デバイスに提供する工程であって、前記ページは、前記サーバ・システムの1以上のアプリケーション・プログラミング・インタフェース(API)を呼び出すためのスクリプトを含む、工程と、
    前記スクリプトから前記1以上のAPIのうちのそれぞれのAPIに1以上の呼び出しを受け取る工程と、
    前記1以上の呼び出しに応答して、ユーザに関連付けられている情報を、前記ページで使用するために、前記ソーシャル・ネットワーキング・サービスから前記クライアント・デバイスに提供する工程であって、前記ページは、前記情報に少なくとも部分的に基づいて、前記ユーザが前記サードパーティ・サービス・プロバイダと取引を行うことを可能にする、工程と、
    のための命令を含む、非一時的コンピュータ可読記憶媒体。
  21. 1以上のプロセッサと、前記1以上のプロセッサによって実行するための命令を記憶したメモリとを有するクライアント・デバイスにおいて、
    サーバ・システムによって提供されるソーシャル・ネットワーキング・サービスに関連付けられているアプリケーションにおいて、サードパーティ・サービス・プロバイダに関連付けられているページへのリンクをユーザに提供する工程であって、前記サードパーティ・サービス・プロバイダは、前記ソーシャル・ネットワーキング・サービスとは異なる、工程と、
    ユーザによる前記リンクの選択に応答して、前記ページを前記アプリケーション内にロードする工程であって、前記ページは、前記サーバ・システムの1以上のアプリケーション・プログラミング・インタフェース(API)を呼び出すためのスクリプトを含む、工程と、
    前記1以上のAPIを呼び出して、前記ユーザに関連付けられている情報を前記サーバ・システムから取得する工程と、
    前記アプリケーション内に前記ページを表示する工程と、
    前記ユーザに関連付けられている前記情報を、前記ページを通じて前記サードパーティ・サービス・プロバイダと取引を行うために使用する工程と、
    を含む、コンピュータ実装方法。
  22. 前記情報は、前記ソーシャル・ネットワーキング・サービスの前記ユーザに関する識別子を含み、
    前記取引を行うために前記情報を使用する工程は、前記識別子を前記取引に関連付けることを含み、
    および/または、
    前記情報は、前記ソーシャル・ネットワーキング・サービスの前記ユーザに関する支払情報を含み、
    前記取引を行うために前記情報を使用する工程は、前記取引に対する支払を行うために前記支払情報を使用することを含む、
    請求項21に記載の方法。
  23. 前記ページを表示する工程は、前記情報に少なくとも部分的に基づいた、前記取引に関する推奨事項を表示することを含む、請求項21または22に記載の方法。
  24. 前記情報は、前記クライアント・デバイスによって決定される前記ユーザのロケーションを含み、前記推奨事項は、前記ロケーションに少なくとも部分的に基づき、
    および/または、
    前記情報は、前記ソーシャル・ネットワーキング・サービスにおける前記ユーザのアクティビティ履歴を含み、前記推奨事項は、前記履歴に少なくとも部分的に基づき、
    および/または、
    前記情報は、前記ソーシャル・ネットワーキング・サービスにおける前記ユーザの知り合いのアクティビティ履歴を含み、前記推奨事項は、前記履歴に少なくとも部分的に基づく、
    請求項23に記載の方法。
  25. 前記情報は、前記クライアント・デバイスのハードウェア・リソースによって取得される情報を含む、請求項21〜24のいずれか一項または複数項に記載の方法。
  26. 前記ページへの前記リンクを提供する工程は、前記アプリケーション内に、前記サードパーティ・サービス・プロバイダの広告を表示することを含み、前記広告は前記ページにリンクする、請求項21〜25のいずれか一項または複数項に記載の方法。
  27. 前記アプリケーションを通じて、検索クエリを指定するユーザ入力を受け取る工程と、
    前記検索クエリを前記サーバ・システムに提供する工程と、
    前記サーバ・システムから、前記検索クエリの結果を受け取る工程であって、前記結果は、前記ページにリンクしている前記サードパーティ・サービス・プロバイダへの参照を含む、工程と、
    前記検索結果を前記アプリケーション内に表示する工程と、をさらに含み、
    前記ページへの前記リンクを提供する工程は、前記検索結果内に前記サードパーティ・サービス・プロバイダへの前記参照を表示することを含む、
    請求項21〜26のいずれか一項または複数項に記載の方法。
  28. 前記ページへの前記リンクを提供する工程は、
    前記アプリケーション内に、前記サードパーティ・サービス・プロバイダに関する通知を表示することであって、前記通知は前記ページにリンクすることと、
    前記アプリケーション内に、前記ユーザが以前に保存したソーシャル・メディア投稿を表示し、前記ソーシャル・メディア投稿は前記ページにリンクすることと、
    前記アプリケーションのプライベート・メッセージング・インタフェース内に、前記ソーシャル・ネットワーキング・サービスの別のユーザからのメッセージを表示し、前記メッセージは前記ページにリンクすることと、
    のうちの少なくとも1つを含む、請求項21〜27のいずれか一項または複数項に記載の方法。
  29. 前記取引を行った後、前記アプリケーション内に前記ページを表示することを中止する工程と、
    前記ページの表示を中止した後、前記取引に関する通知を受け取る工程であって、前記通知は、前記サーバ・システムから前記クライアント・デバイスにプッシュされる、工程と、
    前記通知を前記アプリケーション内に表示する工程と、
    をさらに含む、請求項21〜28のいずれか一項または複数項に記載の方法。
  30. 1以上のプロセッサと、前記1以上のプロセッサによって実行するための命令を記憶したメモリとを有するソーシャル・ネットワーキング・サービスのサーバ・システムにおいて、
    クライアント・デバイスから、サードパーティ・サービス・プロバイダに関連付けられているページの要求を受け取る工程であって、前記サードパーティ・サービス・プロバイダは、前記ソーシャル・ネットワーキング・サービスとは異なる、工程と、
    前記ページを前記クライアント・デバイスに提供する工程であって、前記ページは、前記サーバ・システムの1以上のアプリケーション・プログラミング・インタフェース(API)を呼び出すためのスクリプトを含むと、
    前記スクリプトから前記1以上のAPIのうちのそれぞれのAPIに1以上の呼び出しを受け取る工程と、
    前記1以上の呼び出しに応答して、前記ユーザに関連付けられている情報を、前記ページで使用するために、前記ソーシャル・ネットワーキング・サービスから前記クライアント・デバイスに提供する工程であって、前記ページは、前記情報に少なくとも部分的に基づいて、前記ユーザが前記サードパーティ・サービス・プロバイダと取引を行うことを可能にする、工程と、
    を含む、コンピュータ実装方法。
  31. 前記ページを前記クライアント・デバイスに提供する工程は、
    前記ページを取り出すことと、
    取り出された前記ページに前記スクリプトを注入することと、
    取り出された前記ページを、注入された前記スクリプトとともに前記クライアント・デバイスに送信することと、を含み、前記ページを取り出すことは、任意選択で、
    前記サードパーティ・サービスに関連付けられているサードパーティ・サーバから前記ページを取得することと、
    前記ページを前記サーバ・システムのメモリにキャッシュすることと、
    キャッシュした前記ページを前記サーバ・システムの前記メモリから取り出すことと、
    を含む、請求項30に記載の方法。
  32. 前記情報は、前記ソーシャル・ネットワーキング・サービスの前記ユーザに関する識別子、前記ソーシャル・ネットワーキング・サービスの前記ユーザに関する支払情報、前記ソーシャル・ネットワーキング・サービスにおける前記ユーザのアクティビティ履歴、前記ソーシャル・ネットワーキング・サービスにおける前記ユーザの知り合いのアクティビティ履歴、および前記クライアント・デバイスのハードウェア・リソースからの情報、のうちの少なくとも1つを含む、請求項30または31に記載の方法。
  33. 前記ページは、前記情報に少なくとも部分的に基づいた、前記取引に関する推奨事項を含む、請求項30〜32のいずれか一項または複数項に記載の方法。
  34. 1以上のプロセッサによって実行するための1以上のプログラムを記憶している非一時的コンピュータ可読媒体であって、前記1以上のプログラムは、前記1以上のプロセッサ上で実行されたときに、
    クライアント・システム上で請求項21〜29のいずれか一項または複数項による方法を実行すること、または、
    ソーシャル・ネットワーキング・サービスのサーバ・システム上で請求項30〜33のいずれか一項または複数項による方法を実行すること、
    のための命令を含む、記憶媒体。
JP2019507333A 2016-08-12 2016-08-16 アプリケーション内でサードパーティ・サービスにアクセスするための方法およびシステム Active JP6903739B2 (ja)

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 (2)

Publication Number Publication Date
JP2019533849A true JP2019533849A (ja) 2019-11-21
JP6903739B2 JP6903739B2 (ja) 2021-07-14

Family

ID=61159492

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019507333A Active JP6903739B2 (ja) 2016-08-12 2016-08-16 アプリケーション内でサードパーティ・サービスにアクセスするための方法およびシステム

Country Status (9)

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

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 阿里巴巴集团控股有限公司 一种信息交互方法、装置以及电子设备
EP3874383A1 (en) * 2018-11-01 2021-09-08 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 深圳市九州安域科技有限公司 一种脚本注入方法、设备及计算机可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012514253A (ja) * 2008-12-26 2012-06-21 マイクロソフト コーポレーション ユーザー適応推奨モバイルコンテンツ
US20150052036A1 (en) * 2011-05-26 2015-02-19 Facebook, Inc. Dynamically providing a third-party checkout option
US20150089370A1 (en) * 2013-09-25 2015-03-26 Tencent Technology (Shenzhen) Co., Ltd. Method and device for playing media data on a terminal
US20150100458A1 (en) * 2013-10-04 2015-04-09 Facebook, Inc. Systems and methods for using a social networking system to purchase products
US20150178283A1 (en) * 2013-12-19 2015-06-25 Facebook, Inc. Grouping Recommended Search Queries on Online Social Networks
WO2015180496A1 (en) * 2014-05-29 2015-12-03 Tencent Technology (Shenzhen) Company Limited Method and system for loading application-specific interfaces in a social networking application
JP2016071537A (ja) * 2014-09-29 2016-05-09 富士フイルム株式会社 商品推奨装置及び商品推奨方法

Family Cites Families (16)

* 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
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
CN104778174A (zh) 2014-01-10 2015-07-15 腾讯科技(深圳)有限公司 一种数据输出控制方法,及设备
US20170098197A1 (en) * 2014-02-21 2017-04-06 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
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
GB2532063A (en) * 2014-11-07 2016-05-11 Sony Corp A method, server, client and software
US9094464B1 (en) * 2014-12-18 2015-07-28 Limelight Networks, Inc. Connection digest for accelerating web traffic
WO2016141400A1 (en) * 2015-03-10 2016-09-15 Sniip (Australia) Pty Ltd Method and system of conducting a transaction

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012514253A (ja) * 2008-12-26 2012-06-21 マイクロソフト コーポレーション ユーザー適応推奨モバイルコンテンツ
US20150052036A1 (en) * 2011-05-26 2015-02-19 Facebook, Inc. Dynamically providing a third-party checkout option
US20150089370A1 (en) * 2013-09-25 2015-03-26 Tencent Technology (Shenzhen) Co., Ltd. Method and device for playing media data on a terminal
US20150100458A1 (en) * 2013-10-04 2015-04-09 Facebook, Inc. Systems and methods for using a social networking system to purchase products
US20150178283A1 (en) * 2013-12-19 2015-06-25 Facebook, Inc. Grouping Recommended Search Queries on Online Social Networks
WO2015180496A1 (en) * 2014-05-29 2015-12-03 Tencent Technology (Shenzhen) Company Limited Method and system for loading application-specific interfaces in a social networking application
JP2016071537A (ja) * 2014-09-29 2016-05-09 富士フイルム株式会社 商品推奨装置及び商品推奨方法

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6903739B2 (ja) アプリケーション内でサードパーティ・サービスにアクセスするための方法およびシステム
US10430039B2 (en) Methods and systems for providing user feedback
JP6578364B2 (ja) ソーシャル・ネットワーキング・システムを介した業者とのユーザ通信
US10924444B2 (en) Device, method, and graphical user interface for managing customer relationships using a lightweight messaging platform
US10587541B2 (en) Device, method, and graphical user interface for lightweight messaging
US10275148B2 (en) Methods and systems for transitioning between native content and web content
JP6426630B2 (ja) 写真の促される共有
KR101913286B1 (ko) 다수의 위치 인자를 사용한 모바일 장치의 위치 확인 방법
US10628030B2 (en) Methods and systems for providing user feedback using an emotion scale
US10382382B2 (en) Methods and systems for managing a user profile picture associated with an indication of user status on a social networking system
JP2018508857A (ja) モバイルデバイスのリソースへのアクセス許可を管理するための方法およびシステム
US20160006721A1 (en) Providing Social Network Content Based on the Login State of a User
US10630792B2 (en) Methods and systems for viewing user feedback
US10311500B2 (en) Methods and systems for developer onboarding for software-development products
JP6560362B2 (ja) 埋め込み動画を見るための方法およびシステム
US20180197109A1 (en) Methods and Systems for Ranking Comments on a Post in an Online Service
JP2016517054A (ja) 友人のランチング
US20160334969A1 (en) Methods and Systems for Viewing an Associated Location of an Image
EP3282416A1 (en) Methods and systems for accessing third-party services within applications
US10042532B2 (en) Methods and systems for viewing embedded content
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
TW202324083A (zh) 跨平台促進用於vr系統的應用程式安裝
US11182831B1 (en) Methods and systems for untargeting users of an online service for advertising

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190517

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190620

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200610

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20201124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210324

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20210324

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20210401

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20210406

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210601

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210623

R150 Certificate of patent or registration of utility model

Ref document number: 6903739

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350