JP6353092B2 - モバイル・プッシュ通知 - Google Patents

モバイル・プッシュ通知 Download PDF

Info

Publication number
JP6353092B2
JP6353092B2 JP2017006652A JP2017006652A JP6353092B2 JP 6353092 B2 JP6353092 B2 JP 6353092B2 JP 2017006652 A JP2017006652 A JP 2017006652A JP 2017006652 A JP2017006652 A JP 2017006652A JP 6353092 B2 JP6353092 B2 JP 6353092B2
Authority
JP
Japan
Prior art keywords
notification
user
computing device
social networking
networking system
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.)
Active
Application number
JP2017006652A
Other languages
English (en)
Other versions
JP2017111831A (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 JP2017111831A publication Critical patent/JP2017111831A/ja
Application granted granted Critical
Publication of JP6353092B2 publication Critical patent/JP6353092B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/50Network services
    • H04L67/55Push-based network services
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • 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/0251Targeted advertisements
    • G06Q30/0261Targeted advertisements based on user location
    • 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/0251Targeted advertisements
    • G06Q30/0267Wireless 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
    • 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
    • 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/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Game Theory and Decision Science (AREA)
  • Primary Health Care (AREA)
  • Computer Hardware Design (AREA)
  • Operations Research (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Medical Informatics (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Mobile Radio Communication Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本開示は、一般にはモバイル・コンピューティング装置に関する。
ソーシャル・ネットワーキング・ウェブサイトを含むソーシャル・ネットワーキング・システムは、そのユーザ(人や組織など)がソーシャル・ネットワーキング・システムと対話し、ソーシャル・ネットワーキング・システムを通じて互いに対話することを可能にする。ソーシャル・ネットワーキング・システムは、ユーザからの入力と共に、ユーザに関連するユーザ・プロファイルを作成し、そのユーザ・プロファイルをソーシャル・ネットワーキング・システム内に格納する。ユーザ・プロファイルは、人口統計情報、通信チャネル情報、およびユーザの個人的関心に関する情報を含む。ソーシャル・ネットワーキング・システムはまた、ユーザからの入力と共に、ユーザとソーシャル・ネットワーキング・システムの他のユーザとの間の関係の記録を作成および格納し、サービス(例えば、ウォール・ポスト、写真共有、イベント編成、メッセージング、ゲーム、または広告)を提供して、ユーザ間のソーシャル対話を容易にすることができる。
ソーシャル・ネットワーキング・システムは、1つまたは複数のネットワークを介して、そのサービスに関するコンテンツまたはメッセージをユーザのモバイルまたは他のコンピューティング装置に送信する。ユーザはまた、ユーザのユーザ・プロファイルおよびソーシャル・ネットワーキング・システム内の他のデータにアクセスするために、ユーザのモバイルまたは他のコンピューティング装置上にソフトウェア・アプリケーションをインストールする。ソーシャル・ネットワーキング・システムは、ユーザに接続された他のユーザの集約されたストーリのニュース・フィードなどの、ユーザに表示するためのパーソナライズされたコンテンツ・オブジェクトのセットを生成する。
スマートフォン、タブレット・コンピュータ、ラップトップ・コンピュータなどのモバイル・コンピューティング装置は、その位置、方向、または向きを取得する、GPS受信機、コンパス、ジャイロスコープなどの機能を含む。そのような装置はまた、BLUETOOTH通信、近距離場通信(NFC)、赤外線(IR)通信、ワイヤレス・ローカル・エリア・ネットワーク(WLAN)もしくは携帯電話網との通信などの、ワイヤレス通信のための機能をも含む。そのような装置はまた、1つまたは複数のカメラ、スキャナ、タッチスクリーン、マイクロフォン、あるいはスピーカをも含む。モバイル・コンピューティング装置はまた、ゲーム、ウェブ・ブラウザ、ソーシャル・ネットワーキング・アプリケーションなどのソフトウェア・アプリケーションを実行する。ソーシャル・ネットワーキング・アプリケーションを用いて、ユーザは、ユーザのソーシャル・ネットワーク内の他のユーザと接続し、通信し、情報を共有することができる。
特定の実施形態では、ソーシャル・ネットワーキング・システムが、ユーザのモバイル・クライアント・コンピューティング装置に、ステートフル・オブジェクトについての第1の通知をプッシュすることができる。ステートフル・オブジェクトは、ソーシャル・ネットワーキング・システムによってホストされるオブジェクト(例えば、ステータス更新、フォト、位置チェックイン)でよい。その後に、ソーシャル・ネットワーキング・システムは、モバイル・クライアント・コンピューティング装置に、ステートフル・オブジェクトに関する第2の通知をプッシュすることができる。ステートフル・オブジェクトに関するすべての情報の代わりに、第2の通知は、第1の通知以後のステートフル・オブジェクトに関する増分状態変化だけを含むことができる。
ソーシャル・ネットワーキング・システムに関連する例示的なネットワーク環境を示す図。 例示的なソーシャル・グラフを示す図。 例示的なプッシュ・チャネルを示す図。 モバイル・クライアント・コンピューティング装置上に通知を表示する例を示す図。 モバイル・クライアント・コンピューティング装置上に通知を表示する例を示す図。 プッシュ通知のための例示的な方法を示す図。 例示的なニュース・フィード・ストーリを示す図。 例示的なニュース・フィード・ストーリを示す図。 プッシュ通知のための別の例示的な方法を示す図。 例示的なコンピュータ・システムを示す図。
図1は、ソーシャル・ネットワーキング・システムに関連する例示的なネットワーク環境100を示す。ネットワーク環境100は、ネットワーク110によって互いに接続されたユーザ101、クライアント・システム130、ソーシャル・ネットワーキング・システム160、およびサード・パーティ・システム170を含む。図1は、ユーザ101、クライアント・システム130、ソーシャル・ネットワーキング・システム160、サード・パーティ・システム170、およびネットワーク110の特定の構成を示すが、本開示は、ユーザ101、クライアント・システム130、ソーシャル・ネットワーキング・システム160、サード・パーティ・システム170、およびネットワーク110の任意の適切な構成を企図する。限定ではなく例として、ネットワーク110を迂回して、クライアント・システム130、ソーシャル・ネットワーキング・システム160、およびサード・パーティ・システム170のうちの2つ以上を互いに直接的に接続することができる。別の例として、クライアント・システム130、ソーシャル・ネットワーキング・システム160、およびサード・パーティ・システム170のうちの2つ以上を、物理的または論理的に、全体的または部分的に共に配置することができる。さらに、図1は特定の数のユーザ101、クライアント・システム130、ソーシャル・ネットワーキング・システム160、サード・パーティ・システム170、およびネットワーク110を示すが、本開示は、任意の適切な数のユーザ101、クライアント・システム130、ソーシャル・ネットワーキング・システム160、サード・パーティ・システム170、およびネットワーク110を企図する。限定ではなく例として、ネットワーク環境100は、複数のユーザ101、クライアント・システム130、ソーシャル・ネットワーキング・システム160、サード・パーティ・システム170、およびネットワーク110を含むことができる。
特定の実施形態では、ユーザ101は、ソーシャル・ネットワーキング・システム160と、またはソーシャル・ネットワーキング・システム160を介して対話または通信する個人(人間のユーザ)、エンティティ(例えば、企業、ビジネス、またはサード・パーティ・アプリケーション)、または(例えば、個人またはエンティティの)グループでよい。特定の実施形態では、ソーシャル・ネットワーキング・システム160は、オンライン・ソーシャル・ネットワークをホストするネットワーク・アドレス指定可能コンピューティング・システムでよい。ソーシャル・ネットワーキング・システム160は、例えば、ユーザ・プロファイル・データ、概念プロファイル・データ、ソーシャル・グラフ情報、またはオンライン・ソーシャル・ネットワークに関する他の適切なデータなどのソーシャル・ネットワーキング・データを生成、格納、受信、および送信することができる。ネットワーク環境100の他の構成要素により、直接的に、またはネットワーク110を介して、ソーシャル・ネットワーキング・システム160にアクセスすることができる。特定の実施形態では、ソーシャル・ネットワーキング・システム160は、例えば、適切なプライバシー設定を設定することなどにより、ユーザ101がそのアクションをソーシャル・ネットワーキング・システム160によって記録させること、または他のシステム(例えば、サード・パーティ・システム170)と共有させることを選択するか、または選択しないことを可能にする許可サーバを含むことができる。特定の実施形態では、サード・パーティ・システム170は、ウェブ・サイトまたはアプリケーションをホストすることができるネットワーク・アドレス指定可能コンピューティング・システムでよい。サード・パーティ・システム170は、例えば、限定はしないが、ウェブ・ページ、テキスト、イメージ、ビデオ、オーディオ、またはアプリケーションなどのサード・パーティ・システム・データを生成、格納、受信、および送信することができる。ネットワーク環境100の他の構成要素により、直接的に、またはネットワーク110を介して、サード・パーティ・システム170にアクセスすることができる。特定の実施形態では、1人または複数のユーザ101は、1つまたは複数のクライアント・システム130を使用して、ソーシャル・ネットワーキング・システム160またはサード・パーティ・システム170にアクセスし、ソーシャル・ネットワーキング・システム160またはサード・パーティ・システム170にデータを送信し、ソーシャル・ネットワーキング・システム160またはサード・パーティ・システム170からデータを受信することができる。クライアント・システム130は、直接的に、ネットワーク110を介して、またはサード・パーティ・システムを介して、ソーシャル・ネットワーキング・システム160またはサード・パーティ・システム170にアクセスすることができる。限定ではなく例として、クライアント・システム130は、ソーシャル・ネットワーキング・システム160を介してサード・パーティ・システム170にアクセスすることができる。クライアント・システム130は、例えば、パーソナル・コンピュータ、ラップトップ・コンピュータ、携帯電話、スマートフォン、またはタブレット・コンピュータなどの任意の適切なコンピューティング装置でよい。
図2は、例示的なソーシャル・グラフ200を示す。特定の実施形態では、ソーシャル・ネットワーキング・システム160は、1つまたは複数のデータ・ストア(data store)内に1つまたは複数のソーシャル・グラフ200を格納することができる。特定の実施形態では、ソーシャル・グラフ200は、複数のノード(これは複数のユーザ・ノード202または複数の概念ノード(concept node)204を含むことができる)と、ノードを接続する複数のエッジ(edge)206とを含むことができる。図2に示される例示的なソーシャル・グラフ200は、説明のために、2次元視覚マップ表現で示されている。特定の実施形態では、ソーシャル・ネットワーキング・システム160、クライアント・システム130、またはサード・パーティ・システム170は、ソーシャル・グラフ200および適切なアプリケーションについての関連するソーシャル・グラフ情報にアクセスすることができる。ソーシャル・グラフ200のノードおよびエッジを、データ・オブジェクトとして、例えばデータ・ストア(ソーシャル・グラフ・データベースなど)内に格納することができる。そのようなデータ・ストアは、ソーシャル・グラフ200のノードまたはエッジの1つまたは複数の検索可能または照会可能な索引を含むことができる。
特定の実施形態では、ユーザ・ノード202は、ソーシャル・ネットワーキング・システム160のユーザに対応することができる。限定ではなく例として、ユーザは、ソーシャル・ネットワーキング・システム160と、またはソーシャル・ネットワーキング・システム160を介して対話または通信する個人(人間のユーザ)、エンティティ(例えば、企業、ビジネス、またはサード・パーティ・アプリケーション)、または(例えば、個人またはエンティティの)グループでよい。特定の実施形態では、ユーザがソーシャル・ネットワーキング・システム160にアカウントを登録するとき、ソーシャル・ネットワーキング・システム160は、ユーザに対応するユーザ・ノード202を作成し、1つまたは複数のデータ・ストア内にユーザ・ノード202を格納することができる。本明細書で説明するユーザおよびユーザ・ノード202は、適切な場合、登録されたユーザおよび登録されたユーザに関連するユーザ・ノード202を指す。追加または代替として、本明細書で説明するユーザおよびユーザ・ノード202は、適切な場合、ソーシャル・ネットワーキング・システム160に登録していないユーザを指す。特定の実施形態では、ユーザによって提供される情報、またはソーシャル・ネットワーキング・システム160を含む様々なシステムによって収集される情報に、ユーザ・ノード202を関連付けることができる。限定ではなく例として、ユーザは、ユーザの名前、プロファイル写真、連絡先情報、誕生日、性別、結婚状況、家族状況、職業、学歴、好み、関心、または他の人口統計情報を提供することができる。特定の実施形態では、ユーザに関連する情報に対応する1つまたは複数のデータ・オブジェクトにユーザ・ノード202を関連付けることができる。特定の実施形態では、ユーザ・ノード202は、1つまたは複数のウェブ・ページに対応することができる。
特定の実施形態では、概念ノード204は概念(concept)に対応することができる。限定ではなく例として、概念は、場所(例えば、映画館、レストラン、ランドマーク、または都市など)、ウェブサイト(例えば、ソーシャル・ネットワーク・システム160に関連するウェブサイトまたはウェブ・アプリケーション・サーバに関連するサード・パーティ・ウェブサイトなど)、エンティティ(例えば、人、会社、グループ、スポーツ・チーム、または有名人など)、ソーシャル・ネットワーキング・システム160内またはウェブ・アプリケーション・サーバなどの外部サーバ上に位置することのできるリソース(例えば、オーディオ・ファイル、ビデオ・ファイル、デジタル・フォト、テキスト・ファイル、構造化された文書、またはアプリケーションなど)、物的または知的財産(例えば、彫刻、絵画、映画、ゲーム、歌、アイデア、写真、または著作物など)、ゲーム、活動、アイデアまたは理論、他の適切な概念、あるいは2つ以上のそのような概念に対応することができる。ユーザによって提供される概念の情報、またはソーシャル・ネットワーキング・システム160を含む様々なシステムによって収集される情報に概念ノード204を関連付けることができる。限定ではなく例として、概念の情報は、名前またはタイトル、1つまたは複数のイメージ(例えば、本のカバー・ページのイメージ)、位置(例えば、住所または地理的位置)、ウェブサイト(それをURLに関連付けることができる)、連絡先情報(例えば、電話番号またはeメール・アドレス)、他の適切な概念情報、またはそのような情報の任意の適切な組合せを含むことができる。特定の実施形態では、概念ノード204に関連する情報に対応する1つまたは複数のデータ・オブジェクトに概念ノード204を関連付けることができる。特定の実施形態では、概念ノード204は1つまたは複数のウェブ・ページに対応することができる。
特定の実施形態では、ソーシャル・グラフ200内のノードは、ウェブ・ページ(「プロファイル・ページ」と呼ばれることがある)を表すこと、またはウェブ・ページによって表すことができる。プロファイル・ページは、ソーシャル・ネットワーキング・システム160によってホストすること、またはソーシャル・ネットワーキング・システム160にとってアクセス可能にすることができる。プロファイル・ページはまた、サード・パーティ・サーバ170に関連するサード・パーティ・ウェブサイト上でホストすることもできる。限定ではなく例として、特定の外部ウェブ・ページに対応するプロファイル・ページは、特定の外部ウェブ・ページでよく、プロファイル・ページは、特定の概念ノード204に対応することができる。プロファイル・ページは、他のユーザのすべてまたは選択された一部分によって閲覧可能とすることができる。限定ではなく例として、ユーザ・ノード202は、対応するユーザがその中でコンテンツを追加し、宣言を行い、あるいはユーザ自身を表現することのできる、対応するユーザ・プロファイル・ページを有することができる。限定ではなく別の例として、概念ノード204は、特に概念ノード204に対応する概念に関連して、1人または複数のユーザがその中でコンテンツを追加し、宣言を行い、またはユーザ自身を表現することのできる、対応する概念プロファイル・ページを有することができる。
特定の実施形態では、概念ノード204は、サード・パーティ・システム170によってホストされるサード・パーティ・ウェブページまたはリソースを表すことができる。サード・パーティ・ウェブページまたはリソースは、他の要素において、コンテンツ、選択可能な、もしくは他のアイコン、またはアクションもしくは活動を表す(例えば、JAVA(登録商標)Script、AJAX、またはPHPコードで実装することのできる)他の対話型オブジェクトを含むことができる。限定ではなく例として、サード・パーティ・ウェブページは、「いいね」、「チェックイン(check in)」、「食べる(eat)」、「レコメンド(recommend)」、または別の適切なアクションもしくは活動などの、選択可能なアイコンを含むことができる。サード・パーティ・ウェブページを閲覧するユーザは、アイコンのうちの1つ(例えば、「食べる」)を選択し、クライアント・システム130に、ユーザのアクションを示すメッセージをソーシャル・ネットワーキング・システム160に送信させることによってアクションを実施することができる。メッセージに応答して、ソーシャル・ネットワーキング・システム160は、ユーザに対応するユーザ・ノード202と、サード・パーティ・ウェブページまたはリソースに対応する概念ノード204との間のエッジ(例えば、「食べる」エッジ)を作成し、1つまたは複数のデータ・ストア内にエッジ206を格納することができる。
特定の実施形態では、1つまたは複数のエッジ206によってソーシャル・グラフ200内の1対のノードを互いに接続することができる。1対のノードを接続するエッジ206は、その1対のノード間の関係を表すことができる。特定の実施形態では、エッジ206は、1対のノード間の関係に対応する1つまたは複数のデータ・オブジェクトまたは属性を含むか、または表すことができる。限定ではなく例として、第1のユーザは、第2のユーザが第1のユーザの「友人」であることを示すことができる。この表示に応答して、ソーシャル・ネットワーキング・システム160は、第2のユーザに「友人要求」を送信することができる。第2のユーザが「友人要求」を確認した場合、ソーシャル・ネットワーキング・システム160は、第1のユーザのユーザ・ノード202をソーシャル・グラフ200内の第2のユーザのユーザ・ノード202に接続するエッジ206を作成し、データ・ストア24のうちの1つまたは複数の中にエッジ206をソーシャル・グラフ情報として格納することができる。図2の例では、ソーシャル・グラフ200は、ユーザ「A」とユーザ「B」のユーザ・ノード202間の友人関係を示すエッジ206と、ユーザ「C」とユーザ「B」のユーザ・ノード202間の友人関係を示すエッジとを含む。本開示は、特定のユーザ・ノード202を接続する特定の属性を有する特定のエッジ206を説明するかまたは図示するが、本開示は、ユーザ・ノード202を接続する任意の適切な属性を有する任意の適切なエッジ206を企図する。限定ではなく例として、エッジ206は、友人関係、家族関係、ビジネスまたは雇用関係、ファン関係(fan relationship)、フォロワ関係、ビジター関係(visitor relationship)、加入者関係、上位/従属関係、相互関係、非相互関係、別の適切なタイプの関係、または2つ以上のそのような関係を表すことができる。さらに、本開示は一般にノードが接続されているものとして説明するが、本開示はまた、ユーザまたは概念が接続されているものとして説明する。本明細書では、接続されているユーザまたは概念に対する参照は、適切な場合、1つまたは複数のエッジ206によってソーシャル・グラフ200内で接続されているユーザまたは概念に対応するノードを指すことがある。
特定の実施形態では、ユーザ・ノード202と概念ノード204との間のエッジ206は、概念ノード204に関連する概念に対する、ユーザ・ノード202に関連するユーザによって実施される特定のアクションまたは活動を表すことができる。限定ではなく例として、図2に示されるように、ユーザは、概念に対して「いいね」を表明し、概念に「出席し」、概念を「再生し」、概念を「聴取し」、概念を「調理し」、概念に「取り組み」、または概念を「視聴する」ことができ、そのそれぞれは、エッジ・タイプまたはサブタイプに対応することができる。概念ノード204に対応する概念プロファイル・ページは、例えば、選択可能な「チェックイン」アイコン(例えば、クリッカブル(clickable)「チェックイン」アイコンなど)または選択可能な「お気に入りに追加」アイコンを含むことができる。同様に、ユーザがこれらのアイコンをクリックした後、ソーシャル・ネットワーキング・システム160は、それぞれのアクションに対応するユーザのアクションに応答して、「お気に入り」エッジまたは「チェックイン」エッジを作成することができる。限定ではなく別の例として、ユーザ(ユーザ「C」)が、特定のアプリケーション(オンライン音楽アプリケーションであるSPOTIFY)を使用して、特定の歌を聴取することができる(「Ramble On」)。この場合、ソーシャル・ネットワーキング・システム160は、(図2に示すように)ユーザに対応するユーザ・ノード202と、歌およびアプリケーションに対応する概念ノード204との間の「聴取済み(listened)」エッジ206および「使用済み(used)」エッジを作成し、ユーザが歌を聴取し、アプリケーションを使用したことを示すことができる。さらに、ソーシャル・ネットワーキング・システム160は、(図2に示すように)歌およびアプリケーションに対応する概念ノード204間の「再生済み(played)」エッジ206を作成し、特定の歌が特定のアプリケーションによって再生されたことを示すことができる。この場合、「再生済み」エッジ206は、外部アプリケーション(SPOTIFY)によって外部オーディオ・ファイル(歌「イマジン」)に対して実施されたアクションに対応する。本開示は、ユーザ・ノード202および概念ノード204を接続する特定の属性を有する特定のエッジ206を説明するが、本開示は、ユーザ・ノード202および概念ノード204を接続する任意の適切な属性を有する任意の適切なエッジ206を企図する。さらに、本開示は単一の関係を表すユーザ・ノード202と概念ノード204との間のエッジを説明するが、本開示は、1つまたは複数の関係を表すユーザ・ノード202と概念ノード204との間のエッジを企図する。限定ではなく例として、エッジ206は、ユーザが特定の概念を好むこと、および特定の概念を使用したことの両方を表すことができる。あるいは、別のエッジ206は、(図2の、ユーザ「E」に関するユーザ・ノード202と、「SPOTIFY」に関する概念ノード204との間で示されるように)ユーザ・ノード202と概念ノード204との間の各タイプの関係(または複数の単一の関係)を表すことができる。
特定の実施形態では、ソーシャル・ネットワーキング・システム160は、ソーシャル・グラフ200内のユーザ・ノード202と概念ノード204との間のエッジ206を作成することができる。限定ではなく例として、(例えば、ユーザのクライアント・システム130によってホストされるウェブ・ブラウザまたは専用アプリケーションを使用することによって)概念プロファイル・ページを閲覧するユーザは、「いいね」アイコンをクリックまたは選択することにより、ユーザが概念ノード204によって表される概念を好むことを示すことができ、それによって、ユーザのクライアント・システム130に、ユーザが概念プロファイル・ページに関連する概念を好むことを示すメッセージをソーシャル・ネットワーキング・システム160に送信させることができる。メッセージに応答して、ソーシャル・ネットワーキング・システム160は、ユーザと概念ノード204との間の「いいね」エッジ206で示されるように、ユーザに関連するユーザ・ノード202と、概念ノード204との間のエッジ206を作成することができる。特定の実施形態では、ソーシャル・ネットワーキング・システム160は、1つまたは複数のデータ・ストア内にエッジ206を格納することができる。特定の実施形態では、特定のユーザ・アクションに応答して、エッジ206をソーシャル・ネットワーキング・システム160によって自動的に形成することができる。限定ではなく例として、第1のユーザが写真をアップロードし、映画を視聴し、または歌を聴取する場合、第1のユーザに対応するユーザ・ノード202と、これらの概念に対応する概念ノード204との間のエッジ206を形成することができる。本開示は、特定の方式で特定のエッジ206を形成することを説明するが、本開示は、任意の適切な方式で任意の適切なエッジ206を形成することを企図する。
さらに、任意の2つのノード間の分離度(degree of separation)が、あるノードから別のノードにソーシャル・グラフを横切る(traverse)のに必要な最小ホップ数と定義される。2つのノード間の分離度は、ソーシャル・グラフ内の2つのノードによって表されるユーザまたは概念の間の関連性の尺度とみなすことができる。
ソーシャル・ネットワーキング・システムは、ユーザに関係する可能性のある記録されたアクティビティ(activity)またはアクションに基づいて頻繁に更新されるコンテンツをユーザに提供する。特定の実施形態では、ソーシャル・ネットワーキング・システムは、ニュース・フィード・サービスをサポートする。特定の実施形態では、ニュース・フィードは、1つまたは複数のニュース・フィード・ストーリを含むデータ・フォーマットを含む。各ニュース・フィード・ストーリは、特定の主題またはトピックに関するコンテンツを含む。特定の実施形態では、ソーシャル・ネットワーキング・システムは、特定のユーザ・アクションに関するアクティビティまたはアクションをニュース・フィード・ストーリに集約する(aggregate)。例えば、第1のユーザがソーシャル・ネットワーキング・システムにフォトをポストすることができ、ソーシャル・ネットワーキング・システムの他のユーザは、フォトに関する様々なアクティビティまたはアクションを実施することができる。他のユーザは、フォトに「いいね」を表明し、フォトに関するコメントをポストし、フォトに1人または複数の特定のユーザをタグ付けすることができる。ソーシャル・ネットワーキング・システムは、フォトのイメージ、第1のユーザのプロファイル写真、他のユーザによるフォトの「いいね」のカウント、およびフォトに関する1つまたは複数のコメントを含むニュース・フィード・ストーリに、フォトに関するアクティビティを集約することができる。別の例として、第1のユーザは、場所(例えば、ランドマーク、レストラン、百貨店)に対応する(ソーシャル・ネットワーキング・システムまたはサード・パーティ・システムによって維持される)ウェブ・ページにチェックインすることができる。ソーシャル・ネットワーキング・システムの他のユーザは、チェックインアクティビティに「いいね」を表明し、またはチェックインアクティビティに関するコメントをポストすることができる。ソーシャル・ネットワーキング・システムは、ウェブ・ページのリンクおよびイメージ、第1のユーザのプロファイル写真、他のユーザによるチェックインアクティビティの「いいね」のカウント、ならびにチェックインアクティビティに関する1つまたは複数のコメントを含むニュース・フィード・ストーリに、チェックインアクティビティに関するアクティビティを集約することができる。ソーシャル・ネットワーキング・システムはまた、ウェブ・ページへの更新、ウェブ・ページに関する広告(例えば、ウェブ・ページに関する会社からのオンライン・クーポン)をニュース・フィード・ストーリに集約することができる。特定の実施形態では、ソーシャル・ネットワーキングは、1つまたは複数のニュース・フィード・ストーリを含むニュース・フィードを閲覧ユーザに提示することができる。例えば、閲覧ユーザのクライアント装置によってホストされる集約(例えば、ウェブ・ブラウザ)が、ソーシャル・ネットワーキング・システムからニュース・フィードを取り出し、アプリケーションのユーザ・インターフェースでニュース・フィードを表示することができる。アプリケーションは、ニュース・フィード内の各ニュース・フィード・ストーリを、アプリケーションのユーザ・インターフェース内のそれぞれのフレーム(例えば、HTML iFrame)で表示することができる。
ソーシャル・ネットワーキング・システムは、ソーシャル・グラフ情報に基づいてニュース・フィード・ストーリにアクティビティまたはアクションを集約することができる。例えば、ソーシャル・ネットワーキング・システムは、閲覧ユーザのために、ソーシャル・グラフ上の閲覧ユーザから特定の分離度以内(例えば分離度2以内)のユーザによって実施されたアクティビティまたはアクションに関するニュース・フィード・ストーリを含むニュース・フィードを集約することができる。ソーシャル・ネットワーキング・システムは、プライバシー設定に基づいてニュース・フィード・ストーリにアクティビティまたはアクションを集約することができる。例えば、ユーザは、ユーザによって実施された特定のアクティビティの情報にどの他のユーザがアクセスすることができるかを指定することができる。ソーシャル・ネットワーキング・システムは、閲覧ユーザのために、閲覧ユーザにとってアクセス可能なアクティビティに関するニュース・フィード・ストーリを含むニュース・フィードを集約することができる。
ソーシャル・ネットワーキング・システムは、ソーシャル・ネットワーキング・システムによってホストされる工程、プログラム、またはオブジェクトの状態情報を維持する。状態情報は、工程、プログラム、またはオブジェクトの現ステータスまたは最後の既知のステータスを含む。すなわち、ソーシャル・ネットワーキング・システムによってホストされるオブジェクト(または工程、プログラム)は、その状態情報がソーシャル・ネットワーキング・システムによって維持されるので、ステートフル・オブジェクト(stateful object)でよい。ソーシャル・ネットワーキング・システムは、ソーシャル・ネットワーキング・システムのソーシャル・グラフ内のオブジェクトに対応するノード(またはエッジ)と共にオブジェクトの状態情報を維持および格納する。例えば、ユーザによってソーシャル・ネットワーキング・システムにポストされたポスト(例えば、ステータス更新、フォト、Universal Resource LocatorすなわちURLリンク、位置チェックイン)は、ステートフル・オブジェクトでよい。ソーシャル・ネットワーキング・システムは、ポストのアクセス・ステータス内に状態情報を維持する。例えば、ソーシャル・ネットワーキング・システムは、ソーシャル・ネットワーキング・システムによってホストされるウェブ・ページから特定のユーザがポストにアクセスしたかどうかを記録する。例えば、ソーシャル・ネットワーキング・システムは、ポストが特定のユーザのモバイル・クライアント・コンピューティング装置に送信されたかどうかを記録する。
ソーシャル・ネットワーキング・システムによってホストされるオブジェクトは、ユーザ対面情報(user-facing information)、すなわちソーシャル・ネットワーキング・システムの1人または複数のユーザが対話することのできるオブジェクトに関連する情報を含む。特定の実施形態では、ソーシャル・ネットワーキング・システムは、ステートフル・オブジェクトのユーザ対面情報についての状態情報を維持する。例えば、ポストのオブジェクトは、ポスト・オブジェクトに関連する「いいね」およびコメントなどのユーザ対面情報を含む。ソーシャル・ネットワーキング・システムは、ポストに関連する「いいね」およびコメント内に状態情報を維持する。例えば、ソーシャル・ネットワーキング・システムは、特定のユーザのモバイル・クライアント・コンピューティング装置に送信された「いいね」の最後のカウントおよびコメントの最後のカウントを記録する。ポストに関連するコメントのそれぞれについて、ソーシャル・ネットワーキング・システムはまた、コメントが特定のユーザのモバイル・クライアント・コンピューティング装置に送信されたかどうかを記録する。
ソーシャル・ネットワーキング・システムなどのウェブ・サイトは、ウェブ・サイトのユーザにプッシュ通知サービス(push notification service)を提供する。プッシュ・チャネル(push channel)を通じて、ウェブ・サイトからユーザのクライアント・コンピューティング装置に通知を送信(プッシュ)することができる。図3は、プッシュ通知のための例示的プッシュ・チャネル300を示す。図3の例では、ウェブ・サイト310のサーバは、ユーザに対する通知を生成する。例えば、サーバは、別のユーザの入力に応答して、テキスト・メッセージなどの通知を生成する。別の例では、サーバは、前述のユーザのソーシャル接続によって実施されたアクティビティに基づいて、ニュース・フィード・ストーリなどの通知を生成する。例えば、通知は、インスタント・メッセージ(instant message:IM)もしくはショート・メッセージ・サービス(Short Message Service : SMS)メッセージ、マルチメディア・メッセージング・サービス(Multimedia Messaging Service : MMS)メッセージ、オンライン・チャット・メッセージ、eメール、ニュース・フィード・ストーリ、広告、またはそれらの任意の組合せなどのテキスト・メッセージでよい。サーバは、チャネル・サーバ320に通知を送信する。チャネル・サーバ320は、各受信ユーザについて通知のキューを維持する。チャネル・サーバ320は、MQ Telemetry Transport(MQTT)サーバ330に通知を送信する。MQTTサーバ330は、ユーザのモバイル・クライアント・コンピューティング装置360との持続的接続を維持する。持続的接続は、伝送制御プロトコル(TCP)またはインターネット・プロトコル(IP)接続を含む。MQTTサーバ330は、キャリア・ネットワーク340に通知を送信する。キャリア・ネットワーク340は、ローカル・エリア・ネットワーク、広域ネットワーク、大都市圏ネットワーク、インターネットの一部、携帯電話網、またはこれらの2つ以上の組合せを含む。キャリア・ネットワークによってホストされるプッシュ・サービス350は、キャリア・ネットワーク340からのユーザのモバイル・クライアント・コンピューティング装置360に通知を送信する。ウェブ・サイト310によってプッシュ・サービス350をホストすることもできる。例えば、ソーシャル・ネットワーキング・システムによってプッシュ・サービス350をホストすることができる。特定の実施形態は、プッシュ・サービス350をホストする任意の適切なエンティティを企図する。
モバイル・クライアント・コンピューティング装置にプッシュされる通知を、消費のために複数のアプリケーションに対して提供する。例えば、モバイル・クライアント・コンピューティング装置によってホストされるウェブ・ブラウザまたはメッセージング・アプリケーションで通知を表示する。モバイル・クライアント・コンピューティング装置のオペレーティング・システムはまた、モバイル・クライアント・コンピューティング装置のディスプレイ内に示されるホーム画面の通知エリア内に通知を表示する。特定の実施形態では、通知の受信時に、モバイル・クライアント・コンピューティング装置360によってホストされる警報コントローラなどのソフトウェア・アプリケーションが、モバイル・クライアント・コンピューティング装置360でのユーザのアクティビティに基づいて通知の表示を決定する。図4Aおよび4Bは、モバイル・クライアント・コンピューティング装置上に通知を表示する例を示す。図4Aの例では、ユーザが電話呼出しセッションにあることを警報コントローラが検出した場合、警報コントローラは、モバイル・クライアント・コンピューティング装置360のディスプレイ361の上端部分の小さいエリア410内に通知を表示させることができる。ユーザがモバイル・クライアント・コンピューティング装置360で非アクティブである場合、図4Bに示されるように、警報コントローラは、ディスプレイ361のエリア全体を包含する(例えば、インスタント・メッセージング・アプリケーションの)ユーザ・インターフェース内に通知を表示させる。すなわち、ユーザがモバイル・クライアント・コンピューティング装置360と対話している(またはフォアグラウンド工程がモバイル・クライアント・コンピューティング装置360上で実行中である)場合、警報コントローラは、最小限の、邪魔にならない形で通知を表示させる。ユーザがモバイル・クライアント・コンピューティング装置360との間で非アクティブである場合、警報コントローラは、よりはっきりした、コンテンツ・リッチな形で(content-rich manner)通知を表示させる。
ユーザに対して活発で対話的な体験を提供するために、動作が生じたとき、または動作に関する1つまたは複数の変化が生じたとき、動作についての通知をユーザのクライアント・コンピューティング装置にプッシュすることが望ましい。例えば、ユーザがソーシャル・ネットワーキング・システムにステータス更新をポストしたとき、ソーシャル・ネットワーキング・システムは、ユーザの特定の友人に通知をプッシュする。ソーシャル・ネットワーキング・システムはまた、別のユーザがステータス更新に関してコメントを作成したとき、特定の友人に別の通知をプッシュする。一方、変化が生じたときにはいつでもアクティビティおよび動作に関する変化について通知をプッシュすることは、プッシュ通知のためにプッシュ・チャネルの帯域幅内の追加のリソースを必要とする可能性がある。特定の実施形態は、効率的なプッシュ通知のための方法を説明する。特定の実施形態は、ステートフル・オブジェクトの増分状態変化(incremental state changes)に基づいて通知をプッシュする。
図5は、プッシュ通知のための例示的な方法500を示す。例示的な方法500は、ユーザに関連するモバイル・クライアント・コンピューティング装置によって実装する。例えば、例示的な方法500は、モバイル・クライアント・コンピューティング装置の1つまたは複数のプロセッサ上で実行中のアプリケーション(またはオペレーティング・システムの)の工程によって実装する。モバイル・クライアント・コンピューティング装置は、携帯電話、スマートフォン、タブレット・コンピュータ、ラップトップ・コンピュータ、または任意の適切なモバイル・コンピューティング装置でよい。方法はステップ510から開始する。特定の実施形態では、ステップ510で、モバイル・クライアント・コンピューティング装置は、リアル・タイム・プッシュ・サービスを通じて第1の通知を受信する。例えば、ソーシャル・ネットワーキング・システムなどのウェブ・サイトによってリアル・タイム・プッシュ・サービスを提供する。例えば、図3に示されるプッシュ通知チャネル300を通じて、リアル・タイム・プッシュ・サービスによってモバイル・クライアント・コンピューティング装置に通知をプッシュする。
特定の実施形態では、第1の通知はコンテンツを含み、ステートフル・オブジェクトに関連付けられる。特定の実施形態では、前述のようにソーシャル・ネットワーキング・システムによってステートフル・オブジェクトをホストする。例えば、ステートフル・オブジェクトは、前述のようにソーシャル・ネットワーキング・システムにポストされたフォトなどのポストでよい。第1の通知は、ステートフル・オブジェクトに関連付けられるコンテンツを含む。例えば、第1の通知は、メッセージ(例えば、「ジェフ(Jeff)がフォトをポストした」)およびペイロード(例えば、フォトに関するイメージ・ファイル)を含む。1実施形態では、第1の通知は、メッセージのみを含む。別の例では、第1の通知は、メッセージ(例えば、「ジェフがフォトをポストした」)、フォトに関連する「いいね」のカウント、フォトに関するコメントのカウント、フォトに関するイメージ・ファイルを含む、フォトについてのニュース・フィード・ストーリを含む。ニュース・フィード・ストーリはまた、1つまたは複数のコメントに関するテキスト文字列をも含む。
特定の実施形態では、ステップ520で、モバイル・クライアント・コンピューティング装置が、リアル・タイム・プッシュ・サービスを通じて第2の通知を受信する。特定の実施形態では、第2の通知は、ステートフル・オブジェクトの状態変化に基づく、(第1の通知の)コンテンツに対する更新を含む。すなわち、ステートフル・オブジェクトに関するすべての情報を含む第2の通知をモバイル・クライアント・コンピューティング装置にプッシュする代わりに、ソーシャル・ネットワーキング・システムは、第1の通知以後の(ステートフル・オブジェクトに関する)増分状態変化を含む第2の通知をプッシュする。
例えば、ソーシャル・ネットワーキング・システムは、ソーシャル・ネットワーキング・システムにポストされたフォトのステートフル・オブジェクトに関連する通知をモバイル・クライアント・コンピューティング装置にプッシュする。第1の通知がモバイル・クライアント・コンピューティング装置にプッシュされるとき、フォト・ポスト・オブジェクトは、メッセージ、フォトに関するイメージ・ファイル、および第1の時間インスタンスでの5カウントの「いいね」を含むユーザ対面情報を含む。(メッセージ、イメージ・ファイル、および5カウントの「いいね」を含む)第1の通知を受信したとき、図6Aに示されるように、モバイル・コンピューティング装置は、メッセージ、イメージ・ファイル、および5カウントの「いいね」を含むニュース・フィード・ストーリをユーザ・インターフェース(例えば、ウェブ・ブラウザ)内で提示する。図6Aは、第1の通知と共にモバイル・クライアント・コンピューティング装置にプッシュされる、メッセージ(602)、イメージ(603)、および5カウントの「いいね」(604)を含む例示的ニュース・フィード・ストーリ601を示す。第1の時間インスタンスの後の第2の時間インスタンスで、フォト・ポスト・オブジェクトは、メッセージ、イメージ・ファイル、12カウントの「いいね」、1カウントのコメント、および1つのコメントについてのテキスト文字列を含むユーザ対面情報を含む。すなわち、ステートフル・フォト・ポスト・オブジェクトは、「いいね」カウント数、コメント・カウント数、および新しいコメントの状態変化を有する。状態変化に基づいて、ソーシャル・ネットワーキング・システムは、第2の時間インスタンスで新しい(しかし、第1の時間インスタンスでモバイル・クライアント・コンピューティング装置に送られなかった)すべてのユーザ対面情報である、12カウントの「いいね」、1カウントのコメント、および1つのコメントについてのテキスト文字列を含む更新を含む第2の通知を、モバイル・クライアント・コンピューティング装置に送信する。第2の通知の受信時に、モバイル・クライアント・コンピューティング装置は、(第1の通知と共に受信した)メッセージおよびイメージ・ファイルのローカルにキャッシュしたコピーにアクセスし、図6Bに示されるように、メッセージ、イメージ・ファイル、12カウントの「いいね」、1カウントのコメント、および1つのコメントについてのテキスト文字列を含むニュース・フィード・ストーリをユーザ・インターフェース内で提示する。図6Bは、第2の通知からのコンテンツを有するニュース・フィード・ストーリ601を示す。ニュース・フィード・ストーリ601は、第2の通知と共にモバイル・クライアント・コンピューティング装置にプッシュされる、12カウントの「いいね」(605)、1カウントのコメント(606)、および1つのコメントのテキスト文字列(607)を含む(すなわち、第2の時間インスタンスで新しいコンテンツ)。ニュース・フィード・ストーリ601はまた、第1の通知以後変化していない(第2の通知の部分ではない)メッセージ602およびイメージ603をも含む。
別の実施形態では、モバイル・クライアント・コンピューティング装置にプッシュされる通知は、ユーザ対面情報の所定の一部分を含むコンテンツを含むことができる。例えば、所定の一部分は、上記のフォト・ポスト・オブジェクトに関するメッセージ、イメージ・ファイル、「いいね」のカウントを含む。ソーシャル・ネットワーキング・システムは、第1の時間インスタンスで、メッセージ、イメージ・ファイル、および5カウントの「いいね」を含む第1の通知をモバイル・クライアント・コンピューティング装置に送信する。したがって、ソーシャル・ネットワーキング・システムは、第2の時間インスタンスで、12カウントの「いいね」を含む更新を含む第2の通知をモバイル・クライアント・コンピューティング装置に送信する。プッシュ通知の受信側ユーザにより、またはソーシャル・ネットワーキング・システムにより、所定の一部分を構成することができる。
特定の実施形態は、適切な場合、図5の方法の1つまたは複数のステップを反復する。本開示は、図5の方法の特定のステップが特定の順序で行われるものとして説明および図示するが、本開示は、任意の適切な順序で行われる図5の方法の任意の適切なステップを企図する。さらに、本開示は、図5の方法の特定のステップを実施する特定の構成要素、装置、またはシステムを説明および図示するが、本開示は、図5の方法の任意の適切なステップを実施する任意の適切な構成要素、装置、またはシステムの任意の適切な組合せを企図する。
優先順位、モバイル・クライアント・コンピューティング装置の電力状態、およびモバイル・クライアント・コンピューティング装置のネットワーク状態に基づいて、モバイル・クライアント・コンピューティング装置に通知をプッシュする。例えば、ソーシャル・ネットワーキング・システムは、即時(immediate)優先順位、選好(nice-to-have)優先順位、または低優先順位を通知に割り当てる。例えば、通知がインスタント・メッセージ、ソーシャル・ネットワーキング・システムに新しくポストされたステートフル・オブジェクトのメッセージ、または受信側ユーザによって望まれる、もしくは構成されるカテゴリのメッセージである場合、通知は即時優先順位を有する。図5の例示的な方法で説明したように通知が以前の通知に対する更新である場合、通知は選好優先順位を有する。通知がソーシャル・ネットワーキング・システム内に格納された自分のプロファイル写真を更新する友人についてのものである場合、通知は低優先順位を有する。モバイル・クライアント・コンピューティング装置は、周期的に、または電力もしくはネットワーク状態が変化したとき、その電力状態およびネットワーク状態をソーシャル・ネットワーキング・システムに送信する。例えば、モバイル・クライアント・コンピューティング装置が低電力状態を有する(例えば、装置の電池がその全容量の20パーセント未満である)場合、または低帯域幅ネットワーク接続(例えば、2Gセルラ接続)を有する場合、ソーシャル・ネットワーキング・システムは、即時優先順位の通知のみをモバイル・クライアント・コンピューティング装置に送信することができる。例えば、モバイル・クライアント・コンピューティング装置が高電力状態を有する(例えば、装置の電池がその全容量の70パーセント超であり、または充電中である)場合、または高帯域幅ネットワーク接続(例えば、3GまたはWi−Fiワイヤレス接続)を有する場合、ソーシャル・ネットワーキング・システムは、すべての優先順位の通知をモバイル・クライアント・コンピューティング装置に送信することができる。
前述のステートフル・オブジェクトの増分状態変化に基づくプッシュ通知は、図7に示される例示的な方法700によって実装することもできる。方法700はステップ710から開始することができる。特定の実施形態では、ステップ710で、1つまたは複数のコンピューティング装置が、リアル・タイム・プッシュ・サービスを通じてモバイル・クライアント・コンピューティング装置に第1の通知を送信する。リアル・タイム・プッシュ・サービスは、図3に示されるプッシュ通知チャネル300を含む。すなわち、ウェブ・サイト310の1つまたは複数のコンピューティング装置(例えば、サーバ)は、プッシュ通知チャネル300を通じてモバイル・クライアント・コンピューティング装置360に第1の通知を送信する。特定の実施形態では、第1の通知はコンテンツを含み、ステートフル・オブジェクトに関連付けられる。ソーシャル・ネットワーキング・システムによってステートフル・オブジェクトをホストする。例えば、ステートフル・オブジェクトは、前述のようにソーシャル・ネットワーキング・システムにポストされたフォトなどのポストでよい。第1の通知は、フォトに関するメッセージおよびイメージ・ペイロードを含む。第1の通知は、メッセージ、フォトに関連する「いいね」のカウント、フォトに関するコメントのカウント、フォトに関するイメージ・ファイル、および1つまたは複数のコメントに関するテキスト文字列を含む、フォトについてのニュース・フィード・ストーリを含む。
特定の実施形態では、ステップ720で、1つまたは複数のコンピューティング装置は、ステートフル・オブジェクトの状態変化に応答して、リアル・タイム・プッシュ・サービスを通じてモバイル・クライアント・コンピューティング装置に第2の通知を送信する。第2の通知は、ステートフル・オブジェクトの状態変化に基づく、コンテンツに対する更新を含む。さらに、モバイル・クライアント・コンピューティング装置による表示のために第2の通知を構成する。例えば、前述のフォト・ポストに関連する1つまたは複数の新しいコメント(または「いいね」)に応答して、1つまたは複数のコンピューティング装置は、新しいコメントに関するテキスト文字列および「いいね」の新しいカウントなどの、ユーザ対面情報(またはユーザ対面情報の一部分)に対する更新を含む第2の通知を、モバイル・クライアント・コンピューティング装置に送信する。図6Aおよび6Bの例に示されるように、モバイル・クライアント・コンピューティング装置にフォト・ポストに関連するニュース・フィード・ストーリの表示を更新させるように、第2の通知を構成する。
特定の実施形態は、適切な場合、図7の方法の1つまたは複数のステップを反復することができる。本開示は、図7の方法の特定のステップを特定の順序で行われるものとして説明および図示するが、本開示は、任意の適切な順序で行われる図7の方法の任意の適切なステップを企図する。さらに、本開示は、図7の方法の特定のステップを実施する特定の構成要素、装置、またはシステムを説明および図示するが、本開示は、図7の方法の任意の適切なステップを実施する任意の適切な構成要素、装置、またはシステムの任意の適切な組合せを企図する。
図8は、例示的コンピュータ・システム800を示す。特定の実施形態では、1つまたは複数のコンピュータ・システム800が、本明細書において説明または例示された1つまたは複数の方法の1つまたは複数のステップを実施する。特定の実施形態では、1つまたは複数のコンピュータ・システム800が、本明細書において説明または図示された機能を提供する。特定の実施形態では、1つまたは複数のコンピュータ・システム800で実行されるソフトウェアが、本明細書において説明もしくは図示された1つもしくは複数の方法の1つもしくは複数のステップを実施するか、または本明細書において説明もしくは図示された機能を提供する。特定の実施形態は、1つまたは複数のコンピュータ・システム800の1つまたは複数の部分を含む。本明細書において、適切な場合、コンピュータ・システムに対する参照はコンピューティング装置を含む(encompass)ことができ、逆も同様である。さらに、適切な場合、コンピュータ・システムに対する参照は、1つまたは複数のコンピュータ・システムを含むことができる。
本開示は、任意の適切な数のコンピュータ・システム800を企図する。本開示は、任意の適切な物理的形態をとるコンピュータ・システム800を企図する。限定ではなく例として、コンピュータ・システム800は、組込みコンピュータ・システム、システム・オン・チップ(SOC)、シングル・ボード・コンピュータ・システム(SBC)(例えば、コンピュータ・オン・モジュール(COM)やシステム・オン・モジュール(SOM)など)デスクトップ・コンピュータ・システム、ラップトップもしくはノートブック・コンピュータ・システム、対話型キオスク、メインフレーム、コンピュータ・システムのメッシュ、携帯電話、携帯情報端末(PDA)、サーバ、タブレット・コンピュータ・システム、またはこれらのうちの2つ以上の組合せでよい。適切な場合、コンピュータ・システム800は、1つまたは複数のコンピュータ・システム800を含むことができ、一体型または分散型でよく、複数の場所にわたるものでよく、複数のマシンにわたるものでよく、複数のデータセンタにわたるものでよく、またはクラウド内に常駐することができ、クラウドは、1つまたは複数のネットワーク内の1つまたは複数のクラウド構成要素を含むことができる。適切な場合、1つまたは複数のコンピュータ・システム800は、実質的な空間的または時間的な限定なしに、本明細書で説明または図示される1つまたは複数の方法の1つまたは複数のステップを実施することができる。限定ではなく例として、1つまたは複数のコンピュータ・システム800は、本明細書で説明または図示される1つまたは複数の方法の1つまたは複数のステップをリアル・タイムに、またはバッチ・モードで実施することができる。適切な場合、1つまたは複数のコンピュータ・システム800は、本明細書で説明または図示される1つまたは複数の方法の1つまたは複数のステップを異なる時刻または異なる場所で実施することができる。
特定の実施形態では、コンピュータ・システム800は、プロセッサ802、メモリ804、ストレージ806、入力/出力(I/O)インターフェース808、通信インターフェース810、およびバス812を含む。本開示は、特定の構成の、特定の数の特定の構成要素を有する特定のコンピュータ・システムを説明および図示するが、本開示は、任意の適切な構成の、任意の適切な数の任意の適切な構成要素を有する任意の適切なコンピュータ・システムを企図する。
特定の実施形態では、プロセッサ802は、コンピュータ・プログラムを構成するような命令を実行するハードウェアを含む。限定ではなく例として、命令を実行するために、プロセッサ802は、内部レジスタ、内部キャッシュ、メモリ804、またはストレージ806から命令を取り出し(またはフェッチし)、その命令を復号化および実行し、次いで内部レジスタ、内部キャッシュ、メモリ804、またはストレージ806に1つまたは複数の結果を書き込むことができる。特定の実施形態では、プロセッサ802は、データ、命令、またはアドレスのための1つまたは複数の内部キャッシュを含む。本開示は、適切な場合、任意の適切な数の任意の適切な内部キャッシュを含むプロセッサ802を企図する。限定ではなく例として、プロセッサ802は、1つまたは複数の命令キャッシュ、1つまたは複数のデータ・キャッシュ、および1つまたは複数の変換ルックアサイド・バッファ(translation lookaside buffer : TLB)を含むことができる。命令キャッシュ内の命令は、メモリ804またはストレージ806内の命令のコピーでよく、命令キャッシュは、プロセッサ802によるそうした命令の検索を加速することができる。データ・キャッシュ内のデータは、プロセッサ802で実行中の命令が演算するためのメモリ804またはストレージ806内のデータ、プロセッサ802で実行中の後続の命令によるアクセスのために、またはメモリ804もしくはストレージ806に書き込むために、プロセッサ802で実行された以前の命令の結果、あるいは他の適切なデータのコピーでよい。データ・キャッシュは、プロセッサ802による読取りまたは書込み演算を加速することができる。TLBは、プロセッサ802のための仮想アドレス変換を加速することができる。特定の実施形態では、プロセッサ802は、データ、命令、またはアドレス用の1つまたは複数の内部レジスタを含むことができる。本開示は、適切な場合、任意の適切な数の任意の適切な内部レジスタを含むプロセッサ802を企図する。適切な場合、プロセッサ802は、1つまたは複数の演算論理装置(ALU)を含むことができ、マルチコア・プロセッサでよく、または1つもしくは複数のプロセッサ802を含むことができる。本開示は、特定のプロセッサを説明および図示するが、本開示は任意の適切なプロセッサを企図する。
特定の実施形態では、メモリ804は、プロセッサ802が実行するための命令、またはプロセッサ802が演算するためのデータを格納するためのメイン・メモリを含む。限定ではなく例として、コンピュータ・システム800は、ストレージ806または別のソース(例えば、別のコンピュータ・システム800など)からメモリ804に命令をロードすることができる。次いで、プロセッサ802は、メモリ804から内部レジスタまたは内部キャッシュに命令をロードすることができる。命令を実行するために、プロセッサ802は、内部レジスタまたは内部キャッシュから命令を取り出し、その命令を復号化する。命令の実行中または実行後に、プロセッサ802は、1つまたは複数の結果(これは中間結果または最終結果でよい)を内部レジスタまたは内部キャッシュに書き込む。次いでプロセッサ802は、そうした結果の1つまたは複数をメモリ804に書き込む。特定の実施形態では、プロセッサ802は、(ストレージ806またはその他の場所ではなく)1つまたは複数の内部レジスタもしくは内部キャッシュ内、またはメモリ804内の命令のみを実行し、(ストレージ806または他の場所ではなく)1つまたは複数の内部レジスタもしくは内部キャッシュ内、またはメモリ804内のデータのみに対して演算する。1つまたは複数のメモリ・バス(これはそれぞれアドレス・バスおよびデータ・バスを含むことができる)が、プロセッサ802をメモリ804に結合する。バス812は、以下で説明するように、1つまたは複数のメモリ・バスを含む。特定の実施形態では、1つまたは複数のメモリ管理ユニット(MMU)が、プロセッサ802とメモリ804との間に常駐し、プロセッサ802によって要求されたメモリ804へのアクセスを可能にする。特定の実施形態では、メモリ804は、ランダム・アクセス・メモリ(RAM)を含む。適切な場合、このRAMは、揮発性メモリでよい。適切な場合、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)でよい。さらに、適切な場合、このRAMは、単一ポートまたはマルチポートでよい。本開示は、任意の適切なRAMを企図する。適切な場合、メモリ804は、1つまたは複数のメモリ804を含む。本開示は特定のメモリを説明および図示するが、任意の適切なメモリを企図する。
特定の実施形態では、ストレージ806は、データまたは命令用のマス・ストレージを含む。限定ではなく例として、ストレージ806は、ハード・ディスク・ドライブ(HDD)、フロッピィ・ディスク・ドライブ、フラッシュ・メモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサル・シリアル・バス(USB)ドライブ、あるいはこれらのうちの2つ以上の組合せを含む。ストレージ806は、適切な場合、取外し可能なまたは取外し不能(または固定)媒体を含む。ストレージ806は、適切な場合、コンピュータ・システム800の内部または外部でよい。特定の実施形態では、ストレージ806は不揮発性固体メモリである。特定の実施形態では、ストレージ806は、読取専用メモリ(ROM)を含む。適切な場合、このROMは、マスクプログラムされたROM(mask−programmed ROM)、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気消去可能PROM(EEPROM)、電気書換え可能ROM(EAROM:electrically alterable ROM)、またはフラッシュ・メモリ、あるいはこれらのうちの2つ以上の組合せでよい。本開示は、任意の適切な物理的形態をとるマス・ストレージ806を企図する。適切な場合、ストレージ806は、プロセッサ802とストレージ806との間の通信を可能にする1つまたは複数のストレージ制御ユニットを含む。適切な場合、ストレージ806は、1つまたは複数のストレージ806を含む。本開示は、特定のストレージを説明および図示するが、本開示は任意の適切なストレージを企図する。
特定の実施形態では、I/Oインターフェース808は、コンピュータ・システム800と1つまたは複数のI/O装置との間の通信のための1つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータ・システム800は、適切な場合、これらのI/O装置のうちの1つまたは複数を含む。これらのI/O装置のうちの1つまたは複数は、人とコンピュータ・システム800との間の通信を可能にする。限定ではなく例として、I/O装置は、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチル・カメラ、スタイラス、タブレット、タッチ・スクリーン、トラックボール、ビデオ・カメラ、別の適切なI/O装置、またはこれらのうちの2つ以上の組合せを含む。I/O装置は1つまたは複数のセンサを含む。本開示は、任意の適切なI/O装置およびそのための任意の適切なI/Oインターフェース808を企図する。適切な場合、I/Oインターフェース808は、プロセッサ802がこれらのI/O装置のうちの1つまたは複数を駆動することを可能にする1つまたは複数のデバイス・ドライバまたはソフトウェア・ドライバを含む。I/Oインターフェース808は、適切な場合、1つまたは複数のI/Oインターフェース808を含む。本開示は、特定のI/Oインターフェースを説明および図示するが、本開示は任意の適切なI/Oインターフェースを企図する。
特定の実施形態では、通信インターフェース810は、コンピュータ・システム800と、1つまたは複数の別のコンピュータ・システム800あるいは1つまたは複数のネットワークとの間の通信(例えば、パケット・ベースの通信など)用の1つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく例として、通信インターフェース810は、イーサネットまたは他のワイヤ・ベースのネットワークと通信するネットワーク・インターフェース・コントローラ(NIC)またはネットワーク・アダプタ、あるいはWI−FIネットワークなどのワイヤレス・ネットワークと通信するワイヤレスNIC(WNIC)またはワイヤレス・アダプタを含む。本開示は、任意の適切なネットワークおよびそのための任意の適切な通信インターフェース810を企図する。限定ではなく例として、コンピュータ・システム800は、アドホック・ネットワーク、パーソナル・エリア・ネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)、大都市圏ネットワーク(MAN)、またはインターネットの1つもしくは複数の部分、あるいはこれらのうちの2つ以上の組合せと通信することができる。これらのネットワークのうちの1つまたは複数の1つまたは複数の部分は、ワイヤードまたはワイヤレスでよい。1例を挙げると、コンピュータ・システム800は、ワイヤレスPAN(WPAN)(例えば、BLUETOOTH WPANなど)、Wi−Fiネットワーク、WI−MAXネットワーク、携帯電話網(例えば、移動体通信用グローバル・システム(GSM)ネットワークなど)、または他の適切なワイヤレス・ネットワーク、あるいはこれらのうちの2つ以上の組合せと通信することができる。コンピュータ・システム800は、適切な場合、これらのネットワークのいずれかに関する任意の適切な通信インターフェース810を含む。通信インターフェース810は、適切な場合、1つまたは複数の通信インターフェース810を含む。本開示は、特定の通信インターフェースを説明および図示するが、本開示は任意の適切な通信インターフェースを企図する。
特定の実施形態では、バス812は、コンピュータ・システム800の構成要素を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく例として、バス812は、アクセラレーテッド・グラフィックス・ポート(Accelerated Graphics Port : AGP)または他のグラフィックス・バス、拡張業界標準アーキテクチャ(EISA:Enhanced Industry Standard Architecture)バス、フロント・サイド・バス(FSB)、HYPERTRANSPORT(HT)相互接続、業界標準アーキテクチャ(ISA)バス、INFINIBAND相互接続、低ピン・カウント(LPC:low−pin−count)バス、メモリ・バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、周辺装置相互接続(PCI)バス、PCI−Express(PCIe)バス、シリアル・アドバンスド・テクノロジー・アタッチメント(SATA:serial advanced technology attachment)バス、映像電子機器標準協会(Video Electronics Standards Association)ローカル(VLB)バス、または別の適切なバス、あるいはこれらの2つ以上の組合せを含むことができる。バス812は、適切な場合、1つまたは複数のバス812を含むことができる。本開示は、特定のバスを説明および図示するが、任意の適切なバスまたは相互接続を企図する。
本明細書では、コンピュータ可読非一時的記憶媒体は、適切な場合、1つまたは複数の半導体ベースの、または他の集積回路(IC)(例えば、フィールド・プログラマブル・ゲート・アレイ(FPGA)または特定用途向けIC(ASIC)など)、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスク・ドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピィ・ディスケット、フロッピィ・ディスク・ドライブ(FDD)、磁気テープ、固体ドライブ(SSD)、RAMドライブ、セキュア・デジタル・カードもしくはドライブ、任意の他の適切なコンピュータ可読非一時的記憶媒体、またはこれらの2つ以上の任意の適切な組合せを含むことができる。コンピュータ可読非一時的記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性の組合せでよい。
本明細書では、別段に明記されていない限り、または文脈によって示されていない限り、「または」は排他的ではなく包含的である。したがって、本明細書では、別段に明記されていない限り、または文脈によって示されていない限り、「AまたはB」は「A、B、またはその両方」を意味する。さらに、別段に明記されていない限り、または文脈によって示されていない限り、「および」は協同(joint)および個々(several)の両方である。したがって、本明細書では、別段に明記されていない限り、または文脈によって示されていない限り、「AおよびB」は、「AおよびBが一緒に、または個別に」(A and B, jointly or severally)を意味する。
本開示の範囲は、当業者なら理解するはずである、本明細書で説明または図示される例示的実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書で説明または図示される例示的実施形態に限定されない。さらに、本開示は、本明細書のそれぞれの実施形態が特定の構成要素、要素、機能、動作、またはステップを含むものとして説明および図示するが、これらの実施形態のいずれの、当業者なら理解するはずである、本明細書のどこかで説明または図示される構成要素、要素、機能、動作、またはステップのいずれかの任意の組合せまたは置換を含むことができる。さらに、特定の機能を実施するように適合され、配置され、実施することが可能であり、実施するように構成され、実施することが可能にされ、実施するように動作可能である装置またはシステムあるいは装置またはシステムの構成要素に対する添付の特許請求項の範囲での参照は、その装置、システム、または構成要素がそのように適合され、配置され、可能であり、構成され、可能にされ、動作可能にされる限り、その装置、システム、構成要素またはその特定の機能が活性化され、オンにされ、またはロック解除されるか否かに関わらず、その装置、システム、構成要素を包含する。

Claims (28)

  1. 方法であって、
    コンピューティング装置が、コンテンツを含み且つオブジェクトに関連付けられる第1の通知を、通信ネットワークから受信することであって、前記オブジェクトは、1つまたは複数の状態に関連付けられ、前記第1の通知は、前記第1の通知を受信する前に前記コンピューティング装置の優先順位の第1の割当範囲関連付けられた第1の優先順位に割り当てられ、前記コンテンツは、前記オブジェクトに関連するユーザ向け情報の第1の部分を含み、前記ユーザ向け情報は、前記1つまたは複数の状態に関する情報を含み、前記第1の部分は、第1の時刻に決定される、前記通信ネットワークから受信すること、
    前記コンピューティング装置が、前記オブジェクトの1つまたは複数の状態のうちの少なくとも1つの状態変化に基づく前記コンテンツに対する更新を含む第2の通知を、前記通信ネットワークから受信すること、を備え、
    前記第2の通知は、前記第1の通知を受信した後であって前記第2の通知を受信する前に前記コンピューティング装置の優先順位の第2の割当範囲関連付けられた第2の優先順位に割り当てられ、
    前記更新は、第2の時刻で決定された前記ユーザ向け情報の第2の部分を含み、
    前記第2の時刻は、前記第1の時刻よりも遅い、方法。
  2. 前記第1の通知または第2の通知は、前記コンピューティング装置のディスプレイに表示される、請求項1に記載の方法。
  3. 前記オブジェクトが、ソーシャル・ネットワーキング・システムによってホストされる、請求項1に記載の方法。
  4. 前記オブジェクトが、前記ソーシャル・ネットワーキング・システムに対するユーザ・ポストである、請求項3に記載の方法。
  5. 前記オブジェクトのユーザ向け情報は、
    前記ユーザ・ポストに関連付けられた「いいね」の数、または
    前記ユーザ・ポストに関連付けられたコメントの数を含む、請求項4に記載の方法。
  6. 前記オブジェクトが、ソーシャル・ネットワーキング・システムによって維持されるソーシャル・グラフ内のノードに関連付けられる、請求項1に記載の方法。
  7. 前記第1の通知は、メッセージおよびペイロードを含む、請求項1に記載の方法。
  8. 前記通信ネットワークは、チャネル・サーバ、MQ Telemetry Transport(MQTT)サーバ、およびキャリア・ネットワークによってホストされるプッシュ・サービスを含む、請求項1に記載の方法。
  9. 前記第1の通知の受信は、
    前記第1の通知の優先順位、
    前記コンピューティング装置の第1の電力状態、および
    前記コンピューティング装置の第1のネットワーク状態により判定され、
    前記第2の通知の受信は、
    前記第2の通知の優先順位、
    前記コンピューティング装置の第2の電力状態、および
    前記コンピューティング装置の第2のネットワーク状態により判定される、請求項1に記載の方法。
  10. 前記第1の電力状態および第1のネットワーク状態は、前記コンピューティング装置によって前記第1の時刻よりも前に前記通信ネットワークに送信され、
    前記第2の電力状態および第2のネットワーク状態は、前記コンピューティング装置によって前記第2の時刻よりも前に前記通信ネットワークに送信される、請求項9に記載の方法。
  11. 1つまたは複数のコンピュータ可読非一時的記憶媒体であって、
    実行されたときに、
    コンテンツを含み且つオブジェクトに関連付けられる第1の通知を、リアル・タイム・プッシュ・サービスを通じて受信することであって、前記オブジェクトは、1つまたは複数の状態に関連付けられ、前記第1の通知は、前記第1の通知を受信する前に優先順位の第1の割当範囲に関連付けられた第1の優先順位に割り当てられ、前記コンテンツは、前記オブジェクトに関連するユーザ向け情報の第1の部分を含み、前記ユーザ向け情報は、前記1つまたは複数の状態に関する情報を含み、前記第1の部分は、第1の時刻に決定される、前記リアル・タイム・プッシュ・サービスを通じて受信すること、
    前記オブジェクトの1つまたは複数の状態のうちの少なくとも1つの状態変化に基づく前記コンテンツに対する更新を含む第2の通知を、前記リアル・タイム・プッシュ・サービスを通じて受信すること、を実行するように動作可能なソフトウェアを実装し、
    前記第2の通知は、前記第1の通知を受信した後であって前記第2の通知を受信する前に優先順位の第2の割当範囲に関連付けられた第2の優先順位に割り当てられ、
    前記更新は、第2の時刻で決定された前記ユーザ向け情報の第2の部分を含み、
    前記第2の時刻は、前記第1の時刻よりも遅い、1つまたは複数のコンピュータ可読非一時的記憶媒体。
  12. 前記オブジェクトが、ソーシャル・ネットワーキング・システムによってホストされる、請求項11に記載の1つまたは複数のコンピュータ可読非一時的記憶媒体。
  13. 前記オブジェクトが、前記ソーシャル・ネットワーキング・システムに対するユーザ・ポストである、請求項12に記載の1つまたは複数のコンピュータ可読非一時的記憶媒体。
  14. 前記オブジェクトのユーザ向け情報は、
    前記ユーザ・ポストに関連付けられた「いいね」の数、または
    前記ユーザ・ポストに関連付けられたコメントの数を含む、請求項13に記載の1つまたは複数のコンピュータ可読非一時的記憶媒体。
  15. 前記オブジェクトが、ソーシャル・ネットワーキング・システムによってソーシャル・グラフ内のノードに関連付けられる、請求項11に記載の1つまたは複数のコンピュータ可読非一時的記憶媒体。
  16. 前記第1の通知は、メッセージおよびペイロードを含む、請求項11に記載の1つまたは複数のコンピュータ可読非一時的記憶媒体。
  17. 前記リアル・タイム・プッシュ・サービスは、チャネル・サーバ、MQ Telemetry Transport(MQTT)サーバ、およびキャリア・ネットワークによってホストされるリアル・タイム・プッシュ・サービスを含む、請求項11に記載の1つまたは複数のコンピュータ可読非一時的記憶媒体。
  18. 前記第1の通知の受信は、
    前記第1の通知の優先順位、
    コンピューティング装置の第1の電力状態、および
    前記コンピューティング装置の第1のネットワーク状態により判定され、
    前記第2の通知の受信は、
    前記第2の通知の優先順位、
    コンピューティング装置の第2の電力状態、および
    前記コンピューティング装置の第2のネットワーク状態により判定される、請求項11に記載の1つまたは複数のコンピュータ可読非一時的記憶媒体。
  19. 前記第1の電力状態および第1のネットワーク状態は、前記コンピューティング装置によって前記第1の時刻よりも前に前記リアル・タイム・プッシュ・サービスに送信され、
    前記第2の電力状態および第2のネットワーク状態は、前記コンピューティング装置によって前記第2の時刻よりも前に前記リアル・タイム・プッシュ・サービスに送信される、請求項18に記載の1つまたは複数のコンピュータ可読非一時的記憶媒体。
  20. システムであって、
    1つまたは複数のプロセッサと、
    前記1つまたは複数のプロセッサに結合され、且つ前記1つまたは複数のプロセッサによって実行可能な命令を含むメモリであって、前記1つまたは複数のプロセッサが、前記命令を実行したときに、
    コンテンツを含み且つオブジェクトに関連付けられる第1の通知を、リアル・タイム・プッシュ・サービスを通じて受信することであって、前記オブジェクトは、1つまたは複数の状態に関連付けられ、前記第1の通知は、前記第1の通知を受信する前に優先順位の第1の割当範囲に関連付けられた第1の優先順位に割り当てられ、前記コンテンツは、前記オブジェクトに関連するユーザ向け情報の第1の部分を含み、前記ユーザ向け情報は、前記1つまたは複数の状態に関する情報を含み、前記第1の部分は、第1の時刻に決定される、前記リアル・タイム・プッシュ・サービスを通じて受信すること、
    前記オブジェクトの1つまたは複数の状態のうちの少なくとも1つの状態変化に基づく前記コンテンツに対する更新を含む第2の通知を、前記リアル・タイム・プッシュ・サービスを通じて受信すること、を実行するように動作可能である、前記メモリと、を備え、
    前記第2の通知は、前記第1の通知を受信した後であって前記第2の通知を受信する前に優先順位の第2の割当範囲に関連付けられた第2の優先順位に割り当てられ、
    前記更新は、第2の時刻で決定された前記ユーザ向け情報の第2の部分を含み、
    前記第2の時刻は、前記第1の時刻よりも遅い、システム。
  21. 前記オブジェクトが、ソーシャル・ネットワーキング・システムによってホストされる、請求項20に記載のシステム。
  22. 前記オブジェクトが、前記ソーシャル・ネットワーキング・システムに対するユーザ・ポストである、請求項21に記載のシステム。
  23. 前記オブジェクトのユーザ向け情報は、
    前記ユーザ・ポストに関連付けられた「いいね」の数、または
    前記ユーザ・ポストに関連付けられたコメントの数を含む、請求項22に記載のシステム。
  24. 前記オブジェクトが、ソーシャル・ネットワーキング・システムによってソーシャル・グラフ内のノードに関連付けられる、請求項20に記載のシステム。
  25. 前記第1の通知は、メッセージおよびペイロードを含む、請求項20に記載のシステム。
  26. 前記リアル・タイム・プッシュ・サービスは、チャネル・サーバ、MQ Telemetry Transport(MQTT)サーバ、およびキャリア・ネットワークによってホストされるリアル・タイム・プッシュ・サービスを含む、請求項20に記載のシステム。
  27. 前記第1の通知の受信は、
    前記第1の通知の優先順位、
    コンピューティング装置の第1の電力状態、および
    前記コンピューティング装置の第1のネットワーク状態により判定され、
    前記第2の通知の受信は、
    前記第2の通知の優先順位、
    コンピューティング装置の第2の電力状態、および
    前記コンピューティング装置の第2のネットワーク状態により判定される、請求項20に記載のシステム。
  28. 前記第1の電力状態および第1のネットワーク状態は、前記コンピューティング装置によって前記第1の時刻よりも前に前記リアル・タイム・プッシュ・サービスに送信され、
    前記第2の電力状態および第2のネットワーク状態は、前記コンピューティング装置によって前記第2の時刻よりも前に前記リアル・タイム・プッシュ・サービスに送信される、請求項27に記載のシステム。
JP2017006652A 2012-12-18 2017-01-18 モバイル・プッシュ通知 Active JP6353092B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/718,273 2012-12-18
US13/718,273 US9319473B2 (en) 2012-12-18 2012-12-18 Mobile push notification

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016139366A Division JP6081646B2 (ja) 2012-12-18 2016-07-14 モバイル・プッシュ通知

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2018109535A Division JP6615269B2 (ja) 2012-12-18 2018-06-07 モバイル・プッシュ通知

Publications (2)

Publication Number Publication Date
JP2017111831A JP2017111831A (ja) 2017-06-22
JP6353092B2 true JP6353092B2 (ja) 2018-07-04

Family

ID=50932249

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2015549382A Active JP5973682B2 (ja) 2012-12-18 2013-11-04 モバイル・プッシュ通知
JP2016139366A Active JP6081646B2 (ja) 2012-12-18 2016-07-14 モバイル・プッシュ通知
JP2017006652A Active JP6353092B2 (ja) 2012-12-18 2017-01-18 モバイル・プッシュ通知
JP2018109535A Active JP6615269B2 (ja) 2012-12-18 2018-06-07 モバイル・プッシュ通知

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2015549382A Active JP5973682B2 (ja) 2012-12-18 2013-11-04 モバイル・プッシュ通知
JP2016139366A Active JP6081646B2 (ja) 2012-12-18 2016-07-14 モバイル・プッシュ通知

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2018109535A Active JP6615269B2 (ja) 2012-12-18 2018-06-07 モバイル・プッシュ通知

Country Status (7)

Country Link
US (4) US9319473B2 (ja)
JP (4) JP5973682B2 (ja)
KR (3) KR101899432B1 (ja)
AU (3) AU2013364183B2 (ja)
CA (3) CA2893486C (ja)
IL (3) IL239247A (ja)
WO (1) WO2014099145A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9716635B2 (en) * 2012-09-14 2017-07-25 Facebook, Inc. Content prioritization based on packet size
US9781223B2 (en) * 2012-12-28 2017-10-03 Facebook, Inc. Conserving battery and data usage
US9223826B2 (en) 2013-02-25 2015-12-29 Facebook, Inc. Pushing suggested search queries to mobile devices
KR20140118605A (ko) * 2013-03-29 2014-10-08 인텔렉추얼디스커버리 주식회사 증강 객체를 전송하는 서버 및 방법
KR20140118604A (ko) * 2013-03-29 2014-10-08 인텔렉추얼디스커버리 주식회사 개인화된 증강 객체를 전송하는 서버 및 방법
US9414219B2 (en) * 2013-06-19 2016-08-09 Facebook, Inc. Detecting carriers for mobile devices
US9203252B2 (en) * 2013-11-12 2015-12-01 Google Inc. Redirecting notifications to a wearable computing device
US9185680B2 (en) * 2013-12-19 2015-11-10 International Business Machines Corporation Contextual push notification service
US9171434B2 (en) 2014-03-12 2015-10-27 Google Inc. Selectively redirecting notifications to a wearable computing device
US10498777B2 (en) 2014-03-17 2019-12-03 Citrix Systems, Inc. Real-time push notifications for cloud-based applications
GB201419337D0 (en) * 2014-10-30 2014-12-17 Psygnificant Services Ltd User interface system and method
US20160277329A1 (en) * 2015-03-18 2016-09-22 Beam Propulsion Lab Inc. System and method of interacting with content in an instant messaging bubble
CN105392122A (zh) * 2015-09-25 2016-03-09 珠海市小源科技有限公司 一种基于短信的信息推送方法和装置
US9462570B1 (en) * 2015-10-02 2016-10-04 International Business Machines Corporation Selectively sending notifications to mobile devices
US11010763B1 (en) * 2016-09-27 2021-05-18 United Services Automobile Association (Usaa) Biometric authentication on push notification
TWI617208B (zh) * 2017-01-10 2018-03-01 研華股份有限公司 訊息佇列通訊協定連線監控之方法與系統
US10304302B2 (en) 2017-04-28 2019-05-28 Arlo Technologies, Inc. Electronic monitoring system using push notifications
JP2019028599A (ja) 2017-07-27 2019-02-21 キヤノン株式会社 情報処理システムおよび制御方法
US10785179B2 (en) 2017-09-19 2020-09-22 International Business Machines Corporation Alert modification based on content of a notification
US10368196B2 (en) 2017-11-28 2019-07-30 International Business Machines Corporation Suppressing notifications based on directed location activity
US10326726B1 (en) 2017-12-01 2019-06-18 International Business Machines Corporation Alert modification based on social media activity
US11102320B2 (en) * 2019-09-03 2021-08-24 International Business Machines Corporation Post-delivery dynamic control of notifications in a push notification life-cycle
US12088681B2 (en) * 2021-07-24 2024-09-10 VMware LLC Synchronization of notification actions across multiple enrolled devices

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002023330A2 (en) 2000-09-11 2002-03-21 Avantgo, Inc. Method, system, and computer program product for synchronization of similar data objects with event information
US7698276B2 (en) * 2002-06-26 2010-04-13 Microsoft Corporation Framework for providing a subscription based notification system
JP4513418B2 (ja) 2004-05-20 2010-07-28 富士通株式会社 ネットワークを介した投稿記事更新方法、投稿記事更新装置、及び投稿記事更新プログラム
US7551568B2 (en) 2004-06-22 2009-06-23 Ntt Docomo Inc. Power mode aware packet communication method and apparatus
US20090327437A1 (en) 2008-06-30 2009-12-31 Microsoft Corporation Real time media-based social network notifications
US20100293105A1 (en) * 2009-05-15 2010-11-18 Microsoft Corporation Social networking updates for image display devices
US10282481B2 (en) * 2009-07-31 2019-05-07 Oath Inc. Providing link to portion of media object in real time in social networking update
JP2011097161A (ja) * 2009-10-27 2011-05-12 Ntt Docomo Inc メッセージ送信装置及びメッセージ送信方法
KR101626307B1 (ko) 2010-01-05 2016-06-01 엘지전자 주식회사 휴대 단말기 및 그 동작 제어방법
US8621012B2 (en) * 2010-02-08 2013-12-31 Google Inc. Active e-mails
CN102859541A (zh) * 2010-04-19 2013-01-02 国际商业机器公司 在发布/订阅通讯中控制消息传递
KR101651473B1 (ko) 2010-05-17 2016-08-26 엘지전자 주식회사 휴대 단말기 및 그 동작 제어방법
US20110307403A1 (en) 2010-06-11 2011-12-15 Arad Rostampour Systems and method for providing monitoring of social networks
KR101690060B1 (ko) 2010-07-12 2016-12-28 삼성전자주식회사 연속 접근 방식 아날로그-디지털 변환기 및 아날로그-디지털 변환 방법
US20120060105A1 (en) 2010-09-08 2012-03-08 Microsoft Corporation Social network notifications
US8312096B2 (en) * 2010-12-08 2012-11-13 Google Inc. Priority inbox notifications and synchronization for mobile messaging application
US8751592B2 (en) * 2011-11-04 2014-06-10 Facebook, Inc. Controlling notification based on power expense and social factors
US9407753B2 (en) * 2011-04-08 2016-08-02 Microsoft Technology Licensing, Llc Integrated contact card communication
US8825842B2 (en) 2011-04-28 2014-09-02 Facebook, Inc. Managing notifications pushed to user devices
US8562441B1 (en) * 2011-05-03 2013-10-22 Zynga Inc. Secure, parallel, and independent script execution
US20130060859A1 (en) * 2011-07-18 2013-03-07 Salesforce.Com, Inc. Computer implemented methods and apparatus for selective display of information updates of a feed of an online social network
US8892072B2 (en) * 2011-09-23 2014-11-18 Lg Electronics Inc. Mobile terminal and method of providing security thereto
US8874781B2 (en) * 2011-10-17 2014-10-28 Qualcomm Incorporated System and apparatus for power efficient delivery of social network updates to a receiver device in a broadcast network
AU2013245742A1 (en) * 2012-04-13 2014-11-20 Zipit Wireless, Inc. Reduced latency messaging for mobile communication devices
KR101361265B1 (ko) * 2012-05-08 2014-02-12 (주)카카오 복수의 알림 모드들을 이용하는 이동 단말의 알림 방법 및 그 방법을 이용한 이동 단말
JP5899142B2 (ja) * 2012-06-25 2016-04-06 株式会社コナミデジタルエンタテインメント メッセージ閲覧システム、サーバ、端末装置、制御方法およびプログラム
JP5950717B2 (ja) * 2012-06-25 2016-07-13 アルパイン株式会社 クライアント装置
US9699485B2 (en) * 2012-08-31 2017-07-04 Facebook, Inc. Sharing television and video programming through social networking
US20140067964A1 (en) * 2012-08-31 2014-03-06 Linkedln Corporation Targeted status updates
US20140074922A1 (en) * 2012-09-11 2014-03-13 Christopher David Bell Real-time notification of increased communication in a selected area of interest(s) on a social networking system

Also Published As

Publication number Publication date
KR20170075021A (ko) 2017-06-30
US9936035B2 (en) 2018-04-03
CA2970483A1 (en) 2014-06-26
CA2943967C (en) 2017-07-25
AU2017204392B2 (en) 2018-05-31
WO2014099145A1 (en) 2014-06-26
KR101899432B1 (ko) 2018-09-17
IL252930A0 (en) 2017-08-31
CA2893486A1 (en) 2014-06-26
US10623513B2 (en) 2020-04-14
US9591091B2 (en) 2017-03-07
CA2893486C (en) 2016-11-15
AU2017204392A1 (en) 2017-07-20
JP2016197444A (ja) 2016-11-24
US9319473B2 (en) 2016-04-19
IL239247A0 (en) 2015-07-30
JP2017111831A (ja) 2017-06-22
US20160134718A1 (en) 2016-05-12
CA2970483C (en) 2018-10-02
CA2943967A1 (en) 2014-06-26
AU2013364183A1 (en) 2015-07-23
KR20150096751A (ko) 2015-08-25
JP5973682B2 (ja) 2016-08-23
KR20160121598A (ko) 2016-10-19
AU2016213823B2 (en) 2017-05-25
JP2016510447A (ja) 2016-04-07
IL247352A (en) 2017-07-31
US20180227380A1 (en) 2018-08-09
JP6615269B2 (ja) 2019-12-04
IL239247A (en) 2016-08-31
US20140172973A1 (en) 2014-06-19
KR101752336B1 (ko) 2017-06-29
KR101669183B1 (ko) 2016-10-25
JP2018160262A (ja) 2018-10-11
AU2016213823A1 (en) 2016-09-01
AU2013364183B2 (en) 2016-05-12
JP6081646B2 (ja) 2017-02-15
US20170126829A1 (en) 2017-05-04

Similar Documents

Publication Publication Date Title
JP6615269B2 (ja) モバイル・プッシュ通知
JP6726775B2 (ja) ソーシャル化ダッシュ
JP6427496B2 (ja) 予測位置の通知
JP6404895B2 (ja) ライブ・フェイス
JP2017037662A (ja) ソーシャル化されたアプリケーションを備えるロック画面
KR20150122773A (ko) 프롬프트형 사진 공유
JP2016515270A (ja) ユーザ・インターフェースのソーシャル・フィルタリング
JP6445464B2 (ja) 友人のランチング
JP7242669B2 (ja) 複数のデバイスにわたるコンテンツを提供すること

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171024

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171218

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: 20180508

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180607

R150 Certificate of patent or registration of utility model

Ref document number: 6353092

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250