図面 (/)

技術 スクロール時における重い動作の延期

出願人 フェイスブック,インク.
発明者 ドゥ、チシンチャン、カン
出願日 2014年3月12日 (5年2ヶ月経過) 出願番号 2016-501654
公開日 2016年6月9日 (2年11ヶ月経過) 公開番号 2016-517085
状態 特許登録済
技術分野 デジタル計算機のユーザインターフェイス
主要キーワード 取外し式 シングルボード シングルポート型 非相互的 加入者関係 エンゲージメント 電気的消去可能PROM クリッカ
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2016年6月9日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (5)

課題・解決手段

一実施形態では、コンピューティングデバイスは、コンピューティング・デバイスによって表示されたグラフカル・ユーザ・インタフェースの変化に対応するイベントを検出する。コンピューティング・デバイスは、検出したイベントに基づき少なくとも1つの動作を識別する。コンピューティング・デバイスは、識別した動作の状態を判定する。コンピューティング・デバイスは、判定した状態に少なくとも部分的に基づき、識別した動作を延期する。

概要

背景

ソーシャルネットワーキングウェブサイトを含むソーシャル・ネットワーキング・システムは、そのユーザ(人または組織)がソーシャル・ネットワーキング・システムと、またソーシャル・ネットワーキング・システムを通じて互いに対話することを可能にする。ソーシャル・ネットワーキング・システムは、ユーザからの入力と共に、ソーシャル・ネットワーキング・システム内でそのユーザに関連付けられているユーザ・プロフィールを作成し記憶する。ユーザ・プロフィールは、人口統計情報通信チャネル情報、およびユーザの個人的関心に関する情報を含んでもよい。また、ソーシャル・ネットワーキング・システムは、ユーザからの入力と共に、ソーシャル・ネットワーキング・システムの他のユーザとのユーザの関係の記録を作成および記憶し、サービス(たとえば、ウォール投稿写真共有イベントの主催、メッセージング、ゲーム、または広告)を提供し、ユーザ間またはユーザの間でのソーシャル対話を容易にする。

ソーシャル・ネットワーキング・システムは、1または複数のネットワークを通じて、そのサービスに関係するコンテンツまたはメッセージをユーザの移動体コンピューティングデバイスまたは他のコンピューティング・デバイスに送信する。ユーザは、ソーシャル・ネットワーキング・システム内のそのユーザのユーザ・プロフィールおよび他のデータにアクセスするために、ユーザの移動体コンピューティング・デバイスまたは他のコンピューティング・デバイス上にソフトウェアアプリケーションインストールしてもよい。ソーシャル・ネットワーキング・システムは、ユーザに接続された他のユーザの集約されたストーリニュースフィードなど、コンテンツ・オブジェクトパーソナライズされたセットを生成し、ユーザに対して表示してもよい。

概要

一実施形態では、コンピューティング・デバイスは、コンピューティング・デバイスによって表示されたグラフカル・ユーザ・インタフェースの変化に対応するイベントを検出する。コンピューティング・デバイスは、検出したイベントに基づき少なくとも1つの動作を識別する。コンピューティング・デバイスは、識別した動作の状態を判定する。コンピューティング・デバイスは、判定した状態に少なくとも部分的に基づき、識別した動作を延期する。

目的

特定の実施形態では、重大なイベントの実行中に重い動作を延期することによって、より良いユーザ経験を提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

コンピューティングデバイスが、前記コンピューティング・デバイスによって表示されたグラフカル・ユーザ・インタフェースの変化に対応するイベントを検出する工程と、前記コンピューティング・デバイスが、検出した前記イベントに基づき少なくとも1つの動作を識別する工程と、前記コンピューティング・デバイスが、識別した前記動作の状態を判定する工程と、前記コンピューティング・デバイスが、判定した前記状態に少なくとも部分的に基づき、識別した前記動作を延期する工程と、を備える方法。

請求項2

前記コンピューティング・デバイスが、所定の期間の後、延期した前記動作を再開する工程をさらに備える、請求項1に記載の方法。

請求項3

前記変化は所定のしきい値を越えている、請求項1に記載の方法。

請求項4

前記イベントは、スクロール・イベント、アニメーション・イベント、またはカスタム・イベントを含む、請求項1に記載の方法。

請求項5

識別した前記動作は、JSON(JavaScriptObjectNotation)パースデータベースクエリ、データの直列化もしくは直列化復元、または写真デコードを含む、請求項1に記載の方法。

技術分野

0001

この開示は、一般にグラフカル・ユーザ・インタフェースに関する。

背景技術

0002

ソーシャルネットワーキングウェブサイトを含むソーシャル・ネットワーキング・システムは、そのユーザ(人または組織)がソーシャル・ネットワーキング・システムと、またソーシャル・ネットワーキング・システムを通じて互いに対話することを可能にする。ソーシャル・ネットワーキング・システムは、ユーザからの入力と共に、ソーシャル・ネットワーキング・システム内でそのユーザに関連付けられているユーザ・プロフィールを作成し記憶する。ユーザ・プロフィールは、人口統計情報通信チャネル情報、およびユーザの個人的関心に関する情報を含んでもよい。また、ソーシャル・ネットワーキング・システムは、ユーザからの入力と共に、ソーシャル・ネットワーキング・システムの他のユーザとのユーザの関係の記録を作成および記憶し、サービス(たとえば、ウォール投稿写真共有イベントの主催、メッセージング、ゲーム、または広告)を提供し、ユーザ間またはユーザの間でのソーシャル対話を容易にする。

0003

ソーシャル・ネットワーキング・システムは、1または複数のネットワークを通じて、そのサービスに関係するコンテンツまたはメッセージをユーザの移動体コンピューティングデバイスまたは他のコンピューティング・デバイスに送信する。ユーザは、ソーシャル・ネットワーキング・システム内のそのユーザのユーザ・プロフィールおよび他のデータにアクセスするために、ユーザの移動体コンピューティング・デバイスまたは他のコンピューティング・デバイス上にソフトウェアアプリケーションインストールしてもよい。ソーシャル・ネットワーキング・システムは、ユーザに接続された他のユーザの集約されたストーリニュースフィードなど、コンテンツ・オブジェクトパーソナライズされたセットを生成し、ユーザに対して表示してもよい。

図面の簡単な説明

0004

ソーシャル・ネットワーキング・システムに関連付けられている一例のネットワーク環境の図。
一例のソーシャル・グラフの図。
重大なイベントの実行中に重い動作を延期するための一例の方法の図。
一例のコンピュータ・システムの図。

実施例

0005

特定の実施形態では、重大なイベントの実行中に重い動作を延期することによって、より良いユーザ経験を提供するための方法について記載する。例えば、特定の実施形態では、ユーザがイベントをスクロールする際、重い動作を延期することによって、スクロール速度の不均一を低減する。特定の実施形態では、コンピューティング・デバイスは、コンピューティング・デバイスによって表示されたグラフィカル・ユーザ・インタフェースの変化に対応するイベントを検出する。コンピューティング・デバイスは、検出したイベントに基づき少なくとも1つの動作を識別し、識別した動作の状態を判定する。コンピューティング・デバイスは、判定した状態に少なくとも部分的に基づき、識別した動作を延期する。

0006

図1は、ソーシャル・ネットワーキング・システムに関連付けられている例示的なネットワーク環境100を示す。ネットワーク環境100は、互いにネットワーク110によって接続されたユーザ101、クライアント・システム130、ソーシャル・ネットワ
キング・システム160、およびサードパーティ・システム170を含む。図1は、ユーザ101、クライアント・システム130、ソーシャル・ネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110の特定の構成を示すが、この開示は、ユーザ101、クライアント・システム130、ソーシャル・ネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110の任意の好適な構成を企図する。限定するものとしてではなく一例として、クライアント・システム130、ソーシャル・ネットワーキング・システム160、およびサードパーティ・システム170の2以上は、ネットワーク110をバイパスして互いに直接的に接続されてもよい。別の例として、クライアント・システム130、ソーシャル・ネットワーキング・システム160、およびサードパーティ・システム170の2以上が、全体として、または部分的に互いに物理的に、または論理的に同じ場所にあってもよい。さらに、図1は、特定の数のユーザ101、クライアント・システム130、ソーシャル・ネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110を示すが、この開示は、任意の好適な数のユーザ101、クライアント・システム130、ソーシャル・ネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110を企図する。限定するものとしてではなく一例として、ネットワーク環境100は、複数のユーザ101、クライアント・システム130、ソーシャル・ネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110を含んでもよい。

0007

特定の実施形態では、ユーザ101は、ソーシャル・ネットワーキング・システム160と、またはソーシャル・ネットワーキング・システム160を通じて対話、すなわち通信する個人(人間のユーザ)、エンティティ(たとえば、企業、事業者、またはサードパーティ・アプリケーション)、または(たとえば、個人またはエンティティの)グループであってよい。特定の実施形態では、ソーシャル・ネットワーキング・システム160は、オンライン・ソーシャル・ネットワークをホストするネットワークアドレス指定可能なコンピューティング・システムであってよい。ソーシャル・ネットワーキング・システム160は、たとえばユーザプロフィール・データ、コンセプトプロフィール・データ、ソーシャル・グラフ情報、またはオンライン・ソーシャル・ネットワークに関係する他の好適なデータなど、ソーシャル・ネットワーキング・データを生成、記憶、受信、および送信する。ソーシャル・ネットワーキング・システム160は、ネットワーク環境100の他の構成要素によって、直接的に、またはネットワーク110を通じてアクセスされてもよい。特定の実施形態では、ソーシャル・ネットワーキング・システム160は、ユーザ101がたとえば適切なプライバシ設定を設定することによってなど、自分達アクションをソーシャル・ネットワーキング・システム160によって記録させる、または他のシステム(たとえば、サードパーティ・システム170)と共有させることについてオプトインまたはオプトアウトすることを可能にする認可サーバ(または他の適切な構成要素)を含んでもよい。ユーザのプライバシ設定は、そのユーザに関連付けられているどの情報が記録されるか、そのユーザに関連付けられている情報がどのように記録されるか、そのユーザに関連付けられている情報がいつ記録されるか、そのユーザに関連付けられている情報を誰が記録するか、そのユーザに関連付けられている情報が誰と共有されるか、およびそのユーザに関連付けられている情報が何の目的で記録され共有されるかを決定する。認可サーバは、ブロッキング、データのハッシュ化、匿名化、または他の適切な技術を通じて、ソーシャル・ネットワーキング・システム30のユーザの1以上のプライバシ設定を適切に実施するために用いられる。特定の実施形態では、サードパーティ・システム170は、ウェブサイトまたはアプリケーションをホストするネットワークアドレス指定可能なコンピューティング・システムであってよい。サードパーティ・システム170は、たとえば、ウェブページテキスト、画像、映像オーディオ、またはアプリケーションなど、サードパーティ・システム・データを生成、記憶、受信、および送信する。サードパーティ・システム170は、ネットワーク環境100の他の構成要素によって、直接
的に、またはネットワーク110を通じてアクセスされてもよい。特定の実施形態では、1または複数のユーザ101が1または複数のクライアント・システム130を使用し、ソーシャル・ネットワーキング・システム160またはサードパーティ・システム170にアクセスし、データを送り、それらからデータを受信してもよい。クライアント・システム130は、ソーシャル・ネットワーキング・システム160またはサードパーティ・システム170に直接的に、ネットワーク110を通じて、またはサードパーティ・システムを通じてアクセスしてもよい。限定するものとしてではなく一例として、クライアント・システム130は、サードパーティ・システム170にソーシャル・ネットワーキング・システム160を通じてアクセスしてもよい。クライアント・システム130は、たとえばパーソナル・コンピュータ、ラップトップ・コンピュータ、携帯電話スマートフォン、またはタブレット・コンピュータなど、任意の好適なコンピューティング・デバイスであってよい。

0008

この開示は、任意の好適なネットワーク110を企図する。限定するものとしてではなく一例として、ネットワーク110の1または複数の部分は、アドホック・ネットワーク、イントラネットエクストラネット仮想プライベート・ネットワーク(VPN)、ローカルエリア・ネットワーク(LAN)、無線LAN(WLAN)、ワイド・エリア・ネットワーク(WAN)、無線WAN(WWAN)、メトロポリタン・エリア・ネットワーク(MAN)、インターネットの一部分、公衆交換電話網(PSTN)の一部分、携帯電話ネットワーク、またはこれらの2以上の組合せを含んでもよい。ネットワーク110は、1または複数のネットワーク110を含んでもよい。

0009

リンク150は、クライアント・システム130、ソーシャル・ネットワーキング・システム160、およびサードパーティ・システム170を通信ネットワーク110に、または互いに接続する。この開示は、任意の好適なリンク150を企図する。特定の実施形態では、1または複数のリンク150は、1または複数の有線(たとえば、デジタル加入者線(DSL)またはDOCSIS(Data Over Cable Service
Interface Specification)など)、無線(たとえば、Wi−FiまたはWiMAX(Worldwide interoperability for Microwave Access)など)、または光(たとえば、同期光ネットワーク(SONET)または同期デジタルハイアラーキSDH)など)リンクを含む。特定の実施形態では、1または複数のリンク150は、それぞれ、アドホック・ネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、インターネットの一部分、PSTNの一部分、セルラ技術ベースのネットワーク、衛星通信技術ベースのネットワーク、別のリンク150、または2以上のそのようなリンク150の組合せを含む。リンク150は、必ずしもネットワーク環境100全体を通じて同じであることを必要としない。1または複数の第1のリンク150は、1または複数の点で1または複数の第2のリンク150と異なってもよい。

0010

図2は、例示的なソーシャル・グラフ200を示す。特定の実施形態では、ソーシャル・ネットワーキング・システム160は、1または複数のソーシャル・グラフ200を1または複数のデータ・ストア内に記憶する。特定の実施形態では、ソーシャル・グラフ200は、複数のノード(複数のユーザノード202または複数のコンセプトノード204を含んでもよい)と、それらのノードを接続する複数のエッジ206とを含んでもよい。図2に示されている例示的なソーシャル・グラフ200は、説明のために、2次元視覚マップ表現で示されている。特定の実施形態では、ソーシャル・ネットワーキング・システム160、クライアント・システム130、またはサードパーティ・システム170は、適切な用途のためにソーシャル・グラフ200および関連するソーシャル・グラフ情報にアクセスする。ソーシャル・グラフ200のノードおよびエッジは、データ・オブジェクトとして、たとえばデータ・ストア(ソーシャル・グラフ・データベースなど)内に記
憶されてもよい。そのようなデータ・ストアは、ソーシャル・グラフ200のノードまたはエッジの、1または複数の検索可能または照会可能なインデックスを含んでもよい。

0011

特定の実施形態では、ユーザノード202は、ソーシャル・ネットワーキング・システム160のユーザに対応する。限定するものとしてではなく一例として、ユーザは、ソーシャル・ネットワーキング・システム160と、またはソーシャル・ネットワーキング・システム160を通じて対話または通信する個人(人間のユーザ)、エンティティ(たとえば、企業、事業者、またはサードパーティ・アプリケーション)、または(たとえば、個人またはエンティティの)グループであってよい。特定の実施形態では、ユーザがアカウントをソーシャル・ネットワーキング・システム160に登録するとき、ソーシャル・ネットワーキング・システム160は、そのユーザに対応するユーザノード202を作成し、そのユーザノード202を1または複数のデータ・ストア内に記憶する。本明細書に記載のユーザおよびユーザノード202は、適切な場合、登録されたユーザ、および登録されたユーザに関連付けられているユーザノード202に及ぶ。それに加えて、または代替として、本明細書に記載のユーザおよびユーザノード202は、適切な場合、ソーシャル・ネットワーキング・システム160に登録しなかったユーザに及ぶ。特定の実施形態では、ユーザノード202は、ユーザによって提供された情報、またはソーシャル・ネットワーキング・システム160を含む様々なシステムによって収集された情報に関連付けられてもよい。限定するものとしてではなく一例として、ユーザは、自分の名前、プロフィール写真、連絡先情報誕生日性別婚姻状態、家族状態、雇用、学歴、好み、関心、または他の人口統計情報を提供してもよい。特定の実施形態では、ユーザノード202は、ユーザに関連付けられている情報に対応する1または複数のデータ・オブジェクトに関連付けられてもよい。特定の実施形態では、ユーザノード202は、1または複数のウェブ・ページに対応してもよい。

0012

特定の実施形態では、コンセプトノード204は、コンセプトに対応する。限定するものとしてではなく一例として、コンセプトは、場所(たとえば、映画館レストラン目印、または都市など)、ウェブサイト(たとえば、ソーシャル・ネットワーキング・システム160に関連付けられているウェブサイト、またはウェブアプリケーションサーバに関連付けられているサードパーティウェブサイトなど)、エンティティ(たとえば、人、事業者、グループ、スポーツチーム、または有名人など)、ソーシャル・ネットワーキング・システム160内、またはウェブアプリケーションサーバなど外部サーバ上に位置するリソース(たとえば、オーディオファイル映像ファイルデジタル写真テキストファイル構造化文書、またはアプリケーションなど)、実際の財産または知的財産(たとえば、彫刻絵画映画、ゲーム、楽曲、着想、写真、または書物など)、ゲーム、アクティビティ、着想もしくは理論、別の好適なコンセプト、または2以上のそのようなコンセプトに対応してもよい。コンセプトノード204は、ユーザによって提供されたコンセプトの情報、またはソーシャル・ネットワーキング・システム160を含む様々なシステムによって収集された情報に関連付けられてもよい。限定するものとしてではなく一例として、コンセプトの情報は、名前もしくはタイトル、1または複数の画像(たとえば、本の表紙の画像)、ロケーション(たとえば、住所または地理的ロケーション)、(URLに関連付けられる)ウェブサイト、連絡先情報(たとえば、電話番号または電子メール・アドレス)、他の好適なコンセプト情報、またはそのような情報の任意の好適な組合せを含んでもよい。特定の実施形態では、コンセプトノード204は、コンセプトノード204に関連付けられている情報に対応する1または複数のデータ・オブジェクトに関連付けられてもよい。特定の実施形態では、コンセプトノード204は、1または複数のウェブ・ページに対応してもよい。

0013

特定の実施形態では、ソーシャル・グラフ200内のノードは、ウェブ・ページを表しても、ウェブ・ページによって表されてもよい(「プロフィールページ」と呼ばれる)。
プロフィールページは、ソーシャル・ネットワーキング・システム160によってホストされ、またはそこからアクセス可能であってもよい。また、プロフィールページは、サードパーティ・システム170に関連付けられているサードパーティウェブサイト上でホストされてもよい。限定するものとしてではなく一例として、特定の外部ウェブ・ページに対応するプロフィールページは、その特定の外部ウェブ・ページであってもよく、プロフィールページが、特定のコンセプトノード204に対応してもよい。プロフィールページは、他のユーザのすべてまたは選択されたサブセットによって閲覧可能であってもよい。限定するものとしてではなく一例として、ユーザノード202は、対応するユーザがコンテンツを追加し、宣言をし、または他の方法で自分を表現する、対応するユーザプロフィールページを有してもよい。限定するものとしてではなく別の例として、コンセプトノード204は、1または複数のユーザがコンセプトノード204に対応するコンセプトに特に関連してコンテンツを追加し、宣言をし、またはユーザ自身を表現する、対応するコンセプトプロフィールページを有してもよい。

0014

特定の実施形態では、コンセプトノード204は、サードパーティ・システム170によってホストされるサードパーティウェブページまたはリソースを表す。サードパーティウェブページまたはリソースは、要素の中でもとりわけ、コンテンツ、選択可能なアイコンもしくは他のアイコン、またはアクションもしくはアクティビティを表す(たとえば、JavaScript(登録商標)、AJAX、またはPHPコードにより実装される)他の対話可能なオブジェクトを含んでもよい。限定するものとしてではなく一例として、サードパーティウェブページは、「いいね」、「チェックイン」、「食べる」、「推奨する」、または別の好適なアクションまたはアクティビティなど、選択可能なアイコンを含んでもよい。サードパーティウェブページを閲覧するユーザは、アイコンの1つ(たとえば、「食べる」)を選択することによって、アクションを行う。これによって、クライアント・システム130は、ユーザのアクションを示すメッセージをソーシャル・ネットワーキング・システム160へ送信する。ソーシャル・ネットワーキング・システム160は、メッセージに応答して、ユーザに対応するユーザノード202とサードパーティウェブページまたはリソースに対応するコンセプトノード204との間にエッジ(たとえば、「食べる」エッジ)を作成し、エッジ206を1または複数のデータ・ストア内に記憶する。

0015

特定の実施形態では、ソーシャル・グラフ200内の1対のノードが、1または複数のエッジ206によって互いに接続されてもよい。1対のノードを接続するエッジ206は、その対のノード間の関係を表す。特定の実施形態では、エッジ206は、1対のノード間の関係に対応する1または複数のデータ・オブジェクトまたは属性を含み、または表してもよい。限定するものとしてではなく一例として、第1のユーザは、第2のユーザが第1のユーザの「友達」であることを示してもよい。この示したことに応答して、ソーシャル・ネットワーキング・システム160は、「友達要求」を第2のユーザに送信してもよい。第2のユーザが「友達要求」を確認した場合、ソーシャル・ネットワーキング・システム160は、ソーシャル・グラフ200内で第1のユーザのユーザノード202を第2のユーザのユーザノード202に接続するエッジ206を作成し、エッジ206をソーシャル・グラフ情報としてデータ・ストアの1または複数に記憶してもよい。図2の例では、ソーシャル・グラフ200は、ユーザ「A」とユーザ「B」とのユーザノード202間の友達関係を示すエッジ206と、ユーザ「C」とユーザ「B」とのユーザノード202間の友達関係を示すエッジとを含む。本開示は特定のユーザノード202を接続する特定の属性を有する特定のエッジ206について記載し示しているが、本開示は、ユーザノード202を接続する任意の好適な属性を有する任意の好適なエッジ206を企図する。限定するものとしてではなく一例として、エッジ206は、友達関係、家族関係仕事関係もしくは雇用関係、ファン関係、フォロワ関係、ビジタ関係、加入者関係主従関係相互的関係、非相互的関係、別の好適なタイプの関係、または2以上のそのような関係を表
してもよい。さらに、本開示は一般にノードを接続されているものとして記載しているが、本開示は、ユーザまたはコンセプトも接続されているものとして記載している。本明細書では、接続されているユーザまたはコンセプトへの言及は、適切な場合、ソーシャル・グラフ200内で1または複数のエッジ206によって接続されているユーザまたはコンセプトに対応するノードに及ぶ。

0016

特定の実施形態では、ユーザノード202とコンセプトノード204との間のエッジ206は、コンセプトノード204に関連付けられているコンセプトに向かってユーザノード202に関連付けられているユーザによって行われる特定のアクションまたはアクティビティを表してもよい。限定するものとしてではなく一例として、図2に示されているように、ユーザは、コンセプトに対して「いいね」と表明することができ、コンセプトに「通った」、コンセプトを「プレイした」、「聴いた」、「調理した」、コンセプトに「勤務した」、またはコンセプトを「見た」のであり、コンセプトのそれぞれは、エッジタイプまたはサブタイプに対応する。コンセプトノード204に対応するコンセプトプロフィールページは、たとえば、選択可能な「チェックイン」アイコン(たとえば、クリッカ可能な「チェックイン」アイコン)または選択可能な「お気に入りに追加」アイコンを含んでもよい。同様に、ユーザがこれらのアイコンをクリックした後、ソーシャル・ネットワーキング・システム160は、それぞれのアクションに対応するユーザのアクションに応答して「お気に入り」エッジ、または「チェックイン」エッジを作成する。限定するものとしてではなく別の例として、ユーザ(ユーザ「C」)は、特定のアプリケーション(オンラインミュージックアプリケーションであるSPOTIFY)を使用して特定の楽曲(ランブルオン)を聴く。この場合には、ソーシャル・ネットワーキング・システム160は、ユーザに対応するユーザノード202と楽曲およびアプリケーションに対応するコンセプトノード204との間に「聴いた」エッジ206および「使用した」エッジ(図2に図示)を作成し、ユーザがその楽曲を聞き、そのアプリケーションを使用したことを示す。さらに、ソーシャル・ネットワーキング・システム160は、楽曲およびアプリケーションに対応するコンセプトノード204間に「プレイした」エッジ206(図2に図示)を作成し、特定の楽曲が特定のアプリケーションによってプレイされたことを示す。この場合には、「プレイした」エッジ206は、外部アプリケーション(SPOTIFY)によって外部オーディオファイル(楽曲「イマジン」)に対して行われたアクションに対応する。本開示は、ユーザノード202とコンセプトノード204とを接続する特定の属性を有する特定のエッジ206について記載しているが、本開示は、ユーザノード202とコンセプトノード204とを接続する任意の好適な属性を有する任意の好適なエッジ206を企図する。さらに、本開示は、ユーザノード202とコンセプトノード204の間の単一の関係を表すエッジについて記載しているが、本開示は、ユーザノード202とコンセプトノード204との間の1または複数の関係を表すエッジを企図する。限定するものとしてではなく一例として、エッジ206は、ユーザが「いいね」と表明したこと、および特定のコンセプトを使用したことの両方を表してもよい。あるいは、別のエッジ206が、ユーザノード202とコンセプトノード204(図2に示されているように、ユーザ「E」に関するユーザノード202と「SPOTIFY」に関するコンセプトノード204)との間の関係の各タイプ(または単一の関係の複数)を表してもよい。

0017

特定の実施形態では、ソーシャル・ネットワーキング・システム160は、ソーシャル・グラフ200内でユーザノード202とコンセプトノード204との間にエッジ206を作成する。限定するものとしてではなく一例として、(たとえば、ウェブブラウザまたはユーザのクライアント・システム130によってホストされる専用アプリケーションを使用することによってなど)コンセプトプロフィールページを閲覧するユーザは、「いいね」アイコンをクリックまたは選択することによって、ユーザがコンセプトノード204によって表されたコンセプトに対して「いいね」と表明することを示す。これによって、ユーザのクライアント・システム130は、コンセプトプロフィールページに関連付けら
れているコンセプトに対してユーザが「いいね」と表明することを示すメッセージをソーシャル・ネットワーキング・システム160へ送信する。ソーシャル・ネットワーキング・システム160は、そのメッセージに応答して、ユーザとコンセプトノード204との間の「いいね」エッジ206によって示されているように、ユーザに関連付けられているユーザノード202とコンセプトノード204との間にエッジ206を作成してもよい。特定の実施形態では、ソーシャル・ネットワーキング・システム160は、エッジ206を1または複数のデータ・ストア内に記憶してもよい。特定の実施形態では、エッジ206は、特定のユーザ・アクションに応答してソーシャル・ネットワーキング・システム160によって自動的に形成されてもよい。限定するものとしてではなく一例として、第1のユーザが写真をアップロードし、映画を見たか、または楽曲を聴いた場合、エッジ206は、第1のユーザに対応するユーザノード202とそれらのコンセプトに対応するコンセプトノード204との間に形成されてもよい。本開示は、特定のエッジ206を特定の方法で形成することについて記載しているが、本開示は、任意の好適なエッジ206を任意の好適な方法で形成することを企図する。

0018

さらに、任意の2つのノード間の分離度は、一方のノードから他方のノードにソーシャル・グラフを横断するために必要とされるホップ(またはエッジ)の最小数として定義される。2つのノード間の分離度は、ソーシャル・グラフ内の2つのノードによって表されるユーザ間またはコンセプト間の関連性の尺度と考えることができる。

0019

ソーシャル・ネットワーキング・システムは、ユーザに対し、そのユーザに関係する記録されたアクティビティまたはアクションに基づき、頻繁に更新されるコンテンツを提供する。特定の実施形態では、ソーシャル・ネットワーキング・システムは、ニュースフィード・サービスをサポートする。特定の実施形態では、ニュースフィードは、1以上のニュースフィード・ストーリを含むデータ・フォーマットを含む。各ニュースフィード・ストーリは、特定の主題またはトピックと関係するコンテンツを含んでよい。特定の実施形態では、ソーシャル・ネットワーキング・システムは、特定のユーザ・アクションに関係するアクティビティまたはアクションをニュースフィード・ストーリに集約してもよい。例えば、第1のユーザは、ソーシャル・ネットワーキング・システムに写真をポストしてもよく、一方、ソーシャル・ネットワーキング・システムの他のユーザは、その写真に関係する様々なアクティビティまたはアクションを行っていてもよい。他のユーザは、その写真に「いいね」と表明してもよく、その写真に関係するコメントをポストしてもよく、その写真に対し1以上の特定のユーザをタグ付けしてもよい。ソーシャル・ネットワーキング・システムは、その写真に関係するアクティビティを、その写真のイメージ、第1のユーザのプロフィール写真、他のユーザによるその写真に関する「いいね」のカウント、およびその写真に関係する1以上のコメントを含むニュースフィード・ストーリに集約してもよい。別の例では、第1のユーザは、1つの場所(例えば、ランドマーク、レストラン、デパート)に対応するウェブ・ページ(ソーシャル・ネットワーキング・システムまたはサードパーティ・システムによって維持される)にチェックインを行ってもよい。ソーシャル・ネットワーキング・システムの他のユーザは、このチェックイン・アクティビティに「いいね」と表明してもよく、このチェックイン・アクティビティに関係するコメントをポストしてもよい。ソーシャル・ネットワーキング・システムは、そのチェックイン・アクティビティに関係するアクティビティを、そのウェブ・ページのリンクおよびイメージ、第1のユーザのプロフィール写真、他のユーザによるそのチェックイン・アクティビティに関する「いいね」のカウント、およびそのチェックイン・アクティビティに関係する1以上のコメントを含むニュースフィード・ストーリに集約してもよい。また、ソーシャル・ネットワーキング・システムは、そのウェブ・ページに対する更新をニュースフィード・ストーリに集約してもよく、ウェブ・ページに関係する広告(例えば、そのウェブ・ページに関係するビジネスからのオンライン・クーポン)を行ってもよい。特定の実施形態では、ソーシャル・ネットワーキングは、1以上のニュースフィード・ストーリ
を含むニュースフィードを閲覧ユーザ提示してもよい。例えば、この閲覧ユーザのクライアント・デバイスによってホストされるアプリケーション(例えば、ウェブ・ブラウザ)は、ソーシャル・ネットワーキング・システムからニュースフィードを取り出し、アプリケーションのユーザ・インタフェースにニュースフィードを表示する。アプリケーションは、アプリケーションのユーザ・インタフェースにおいて。それぞれのフレーム(例えば、ハイパーテキストマークアップ言語すなわちHTMLのiFrame)にニュースフィードにおける各ニュースフィード・ストーリを表示してもよい。

0020

ソーシャル・ネットワーキング・システムは、ソーシャル・グラフ情報に基づき、アクティビティまたはアクションをニュースフィード・ストーリに集約してもよい。例えば、ソーシャル・ネットワーキング・システムは、閲覧ユーザのために、ソーシャル・グラフ上において閲覧ユーザから指定の隔たりの程度内(例えば、2次の隔たり以内)に存在するユーザによって行われたアクティビティまたはアクションに関係するニュースフィード・ストーリを含むニュースフィードを集約してもよい。ソーシャル・ネットワーキング・システムは、プライバシ設定に基づき、アクティビティまたはアクションをニュースフィード・ストーリに集約してもよい。例えば、ユーザは、そのユーザによって行われた特定のアクティビティの情報に他のどのユーザがアクセス可能であるかを指定してもよい。ソーシャル・ネットワーキング・システムは、閲覧ユーザのために、その閲覧ユーザにアクセス可能なアクティビティに関係するニュースフィード・ストーリを含むニュースフィードを集約してもよい。

0021

ウェブ・ページなどの構造化ドキュメントは、例えば、ページ・レイアウト情報(例えば、フレーム)、スクリプト、テキスト(例えば、ASCIIまたはHTML)などのページ・コンテンツ、メディア・データ(例えば、イメージ、ビデオクリップ、またはアニメーション)、および実行可能なコード・オブジェクト(例えば、ブラウザ・ウィンドウまたはフレーム内において実行可能なゲーム)を含む。構造化ドキュメントは、HTML(Hypertext Markup Language)、XML(Extensible Markup Language)、XHTML(Extensible Hypertext Markup Language)、JAVASCRIPT(登録商標)、WebGL、CSS(Cascading Style Sheet)アニメーションおよび遷移を含むCSS(CSS)、およびしばしばJAVA(登録商標)などの言語および技術を用いて実装されてもよい。構造化ドキュメントは、それ自体、複数の構造化ドキュメントおよびコンテンツに対する参照を含んでもよい。例えば、ウェブ・ページは、グラフィカル・ユーザ・インタフェースにウェブ・ページを表示するアプリケーションに、ユーザ・イベント(例えば、マウスのクリック、マウスのホバーオーバ)に応じて、URLおよびスクリプト・コードによって指定されるコンテンツを動的に取り出させるURL(Uniform Resource Location)またはスクリプト・コード(例えば、JAVASCRIPT(登録商標)、PHP、またはAJAX)を組込むことによって、1以上のインライン参照を含んでもよい。

0022

グラフィカル・ユーザ・インタフェースに構造化ドキュメントを表示するアプリケーションは、アプリケーション・プログラム・インタフェース(API)を通じて遠隔データベース(例えば、ウェブサイトによってホストされる)にデータベース・クエリ送出することによって、構造化ドキュメントによって(またはアプリケーションのユーザによって)指定されるコンテンツを取り出すことができる。遠隔データベースから返されたクエリ結果は、JSON(JAVASCRIPT(登録商標) Object Notation)フォーマットにより表現されるコードを含んでもよい。アプリケーションは、グラフィカル・ユーザ・インタフェースに結果を表示する前に、JSONコードのパースを行ってもよい。また、アプリケーションは、キャッシュされているコンテンツについての1以上のローカル・ファイルにアクセスすることによって、構造化ドキュメントによって(
またはアプリケーションのユーザによって)指定されるコンテンツを取り出してもよい。

0023

ユーザがアプリケーション(例えば、ウェブ・ブラウザ)のグラフィカル・ユーザ・インタフェースにより構造化ドキュメントの閲覧または対話を行うと、そのアプリケーションは、グラフィカル・ユーザ・インタフェース内に表示される構造化ドキュメントのコンテンツの取出およびレンダリングを行う。アプリケーションは、ユーザがグラフィカル・ユーザ・インタフェースにおいて構造化ドキュメントを上または下にスクロールさせるとき、構造化ドキュメントの追加のコンテンツの取出およびレンダリングを行ってもよい。構造化ドキュメントのコンテンツの取出およびレンダリングに関係する動作は、上述のデータベース・クエリ、JSONパース、またはファイル・アクセス(またはデータ直列化もしくは直列化復元)を含んでもよい。構造化ドキュメントのコンテンツの取出およびレンダリングに関係する動作は、構造化ドキュメントにおけるイメージのための写真デコード(例えば、JPEG(Joint Photographic Experts Group)を含んでもよい。しかしながら、構造化ドキュメントのコンテンツの取出およびレンダリングに関係する動作は、ハードウェア資源が制限されているアプリケーションの性能に影響を与え、アプリケーションのユーザエンゲージメントおよび質を減少させる場合がある。

0024

例えば、データベース・クエリがアプリケーションによって遠隔データベースに送出されており、遠隔データベースが応答しない場合、アプリケーションが休止されてもよい。例えば、大きな写真のデコードは、より大きな処理またはメモリのリソースを必要とし、したがってアプリケーションの実行を妨げる場合がある。例えば、JSONパース、データベース・クエリ、データ直列化または直列化復元、および写真デコードは、より大きなメモリを必要とするので、アプリケーションをホストするコンピューティング・デバイスによって自動メモリ管理アクティビティ(例えば、JAVA(登録商標)プログラミング言語におけるガーベジコレクション)のトリガを行ってもよい。自動メモリ管理アクティビティが著しい量の処理資源消費して、アプリケーションに関連付けられているコード実行(例えば、JAVA(登録商標)バーチャルマシンの実行)における休止を引き起こしてもよい。さらにまた、自動メモリ管理アクティビティは、アプリケーションによってではなく、自動メモリ管理アクティビティがアプリケーションをホストするコンピューティング・デバイスによって制御されているので、アプリケーションに時外れの休止をもたらす場合がある。スクロールまたはアニメーションなどの重大なイベントの実行中、それらの「重い」動作は、カクカクした(choppy)スクロール、スクリーンフリーズ、またはフレーム落ちなど、アプリケーションの視覚的な経験の質を下げる場合がある。一方、JSONパース、データベース・クエリ、ファイル・アクセスまたは、グラフィカル・ユーザ・インタフェースを表示するアプリケーションとは異なる別のアプリケーションに由来する写真デコードなどの動作も、グラフィカル・ユーザ・インタフェースの視覚的な経験の質を下げる場合がある。

0025

特定の実施形態では、アプリケーションのグラフィカル・ユーザ・インタフェースの視覚的な経験を保持する方法について記載する。特定の実施形態では、スクロールおよびアニメーションなどの重大なイベントの実行中に重い動作を延期することによって、グラフィカル・ユーザ・インタフェースの視覚的な経験を保持する。

0026

図3には、重大なイベントの実行中に重い動作を延期するための一例の方法300を示す。方法300は、コンピューティング・デバイスによって実行されることができる。例えば、方法300は、コンピューティング・デバイスの1以上のプロセッサ上で実行する、1以上のコンピューティング・プロセスによって実行されてもよい。コンピューティング・デバイスは、デスクトップ・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピュータ、スマートフォン、または1以上のグラフィカル・ユーザ・インタフェ
ースを表示する少なくとも1つのディスプレイを備えた任意の適切なコンピューティング・デバイスであってよい。方法300は、工程310によって開始できる。特定の実施形態では、工程310にて、コンピューティング・デバイスは、コンピューティング・デバイスによって表示されるグラフィカル・ユーザ・インタフェースの変化に対応するイベントを検出する。

0027

このグラフィカル・ユーザ・インタフェースの変化は、上述のように1以上の重い動作によって影響され得る重大なイベントの実行に相当し得る。例えば、グラフィカル・ユーザ・インタフェースは、コンテンツ・オブジェクト(例えば、テキスト、イメージ、HTMLの iFrameなど)のスクロール可能なリストを表示する。別の例では、グラフィカル・ユーザ・インタフェースは、ニュースフィード・ストーリのスクロール可能なリストを含むニュースフィードを表示してもよい(例えば、各ニュースフィード・ストーリはHTMLのiFrameに含まれる)。このグラフィカル・ユーザ・インタフェースの変化は、コンピューティング・デバイスのユーザによって開始されるスクロール・イベントに相当し得る。ユーザは、グラフィカル・ユーザ・インタフェースを表示するタッチ・スクリーン上でスライドジェスチャを用いることによって、またはマウスもしくはポインティング・デバイスを用いてグラフィカル・ユーザ・インタフェースのスクロール・バーを上または下にドラッグすることによって、グラフィカル・ユーザ・インタフェースを上または下にスクロールできる。スクロール・イベントは、グラフィカル・ユーザ・インタフェースの垂直軸に沿って、グラフィカル・ユーザ・インタフェースの水平軸に沿って、または任意の適切な方向に沿ってよい。また、このグラフィカル・ユーザ・インタフェースの変化は、グラフィカル・ユーザ・インタフェースによって表示されるスクロール可能なリストに関連付けられているフライ・イベントに相当してもよい。ユーザは、フリック・タッチ・ジェスチャを用いて、リストがフリック・タッチ・ジェスチャの速度でグラフィカル・ユーザ・インタフェース中で移動する(「フライ」)するように、スクロール可能なリストを上または下へ(または任意の適切な方向へ)スクロールでき、徐々に速度を落として停止させることができる。

0028

このグラフィカル・ユーザ・インタフェースの変化は、グラフィカル・ユーザ・インタフェースに表示されるアニメーション・イベントに相当してもよい。アニメーション・イベントは、グラフィカル・ユーザ・インタフェースの表示エリアの全部または一部を含むアニメーション効果を含んでもよい。アニメーション・イベントは、グラフィカル・ユーザ・インタフェースに表示されるフレーム内のアニメーション効果を含んでもよい。

0029

このグラフィカル・ユーザ・インタフェースの変化は、コンピューティング・デバイスのユーザによって、またはコンピューティング・デバイス上で動作するプログラムまたはオペレーティング・システムのプログラマによって定義される、カスタム・イベントに相当してもよい。プログラムのプログラマは、所定のしきい値を越える変化に対応するようにカスタム・イベントを定義してもよい。例えば、プログラマは、カスタム・イベントが、グラフィカル・ユーザ・インタフェースの変化がグラフィカル・ユーザ・インタフェースの表示エリアの20パーセントを超える変化に相当する場合、カスタム・イベント(プログラムの実行中)を定義してもよい。別の例では、カスタム・イベントが、グラフィカル・ユーザ・インタフェースに新たなフレームを表示することに相当し、かつ、その新たなフレームのエリアがグラフィカル・ユーザ・インタフェースの20パーセントを超える場合、プログラマはカスタム・イベントを定義してもよい。さらに別の例では、カスタム・イベントが、グラフィカル・ユーザ・インタフェースの新たなアニメーションに相当し、かつ、そのアニメーションのエリアがグラフィカル・ユーザ・インタフェースの表示エリアの20パーセントを超える場合、プログラマはカスタム・イベントを定義してもよい。一実施形態では、コンピューティング・デバイス(例えば、コンピューティング・デバイス上で動作するオペレーティング・システム)は、その変化が所定のしきい値を超える
(例えば、その変化がグラフィカル・ユーザ・インタフェースの表示エリアの30パーセントを超える)場合、グラフィカル・ユーザ・インタフェースにおける変化に対応するイベントを検出してもよい。

0030

コンピューティング・デバイスは、リスナーまたはイベント・メッセージングを用いることによって、コンピューティング・デバイスにより表示されたグラフィカル・ユーザ・インタフェースの変化に対応するイベントを検出してもよい。例えば、コンピューティング・デバイス上で動作するディテクタ・プロセスは、グラフィカル・ユーザ・インタフェース(例えば、ハンドラ機能を用いる)を表示するアプリケーション(またはオペレーティング・システム)を、そのグラフィカル・ユーザ・インタフェースに関連付けられているスクロール・イベントに対するリスナーとして。登録してもよい。ディテクタ・プロセスは、このリスナー機能を通じてスクロール・イベントを検出することができる。また、ディテクタ・プロセスは、グラフィカル・ユーザ・インタフェースに関連付けられているアニメーション・イベントに対するリスナーとして登録することもできる。ディテクタ・プロセスは、リスナー機能を通じて、アニメーション・イベントの開始またはアニメーション・イベントの停止を検知することができる。また、ディテクタ・プロセスは、カスタム・イベントの開始および終了を検出するために、カスタム・イベントに対するリスナーとして登録することもできる。例えば、ディテクタ・プロセスは、リスナー機能を通じて、カスタム・イベントの開始より前である状態、カスタム・イベントの処理中の状態、およびカスタム・イベントの終了より後である状態を検出してもよい。

0031

特定の実施形態では、工程320にて、コンピューティング・デバイスは、検出したイベントに基づき少なくとも1つの動作を識別する。コンピューティング・デバイスによって識別された動作は、検出されたイベント中に視覚的な経験に影響を与える重い動作である場合がある。例えば、コンピューティング・デバイスによって識別された動作は、JSONパース、データベース・クエリ、データ直列化または直列化復元、または上述の写真デコードを含む。特定の実施形態では、検出されたイベント中に視覚的な経験に影響を与える任意の適切な動作が想定される。例えば、コンピューティング・デバイスによって識別された動作は、グラフィカル・ユーザ・インタフェースに関連付けられているフレームレートの著しい減少(例えば、35パーセントを超える)を引き起こす。別の例では、コンピューティング・デバイスによって識別された動作は、1フレームの期間より長い(例えば、60Hzのフレームレートについては17ミリ秒より長い)期間、グラフィカル・ユーザ・インタフェースを表示するアプリケーションの実行を休止させる。すなわち、この動作によってグラフィカル・ユーザ・インタフェースにおける1以上のフレームが欠落する。

0032

コンピューティング・デバイスは、リスナーを用いるかメッセージングを均一化することによって、少なくとも1つの動作を識別することができる。例えば、ディテクタ・プロセスは、上述のように、スクロール・イベント、アニメーション・イベントの開始、またはアニメーション・イベントの終了など、検出されたイベントを公表してもよい。一方、動作(例えば、JSONパース、データベース・クエリなど)は、ディテクタ・プロセスをサブスクライブしてもよい。ディテクタ・プロセスによって公表されたイベントに対するサブスクライバとして、動作は検出されたイベントに関するディテクタ・プロセスによって通知されてもよい。すなわち、コンピューティング・デバイスは、ディテクタ・プロセスに対するサブスクライバとして、検出されたイベントに関するディテクタ・プロセスによって通知される少なくとも1つの動作を識別してもよい。ここでは、識別されたプロセス(サブスクライバ)は、ディテクタ・プロセスからの、およびグラフィカル・ユーザ・インタフェースからのコンピューティング・デバイスによって実行される異なるコンピューティング・スレッド(またはプロセス)のものであってもよい。したがって、コンピューティング・デバイスは、ディテクタ・プロセスまたはグラフィカル・ユーザ・インタ
フェースの実行に衝突することなく、識別された動作を延期したり、中断したりできる。

0033

特定の実施形態では、工程330にて、コンピューティング・デバイスは、識別された動作の状態を判定する。コンピューティング・デバイスは、識別された動作がアイドルであるか否かを判定してもよい。例えば、遠隔データベースからの応答を待機する間、データベース・クエリ動作はアイドルである場合がある。コンピューティング・デバイスは、識別された動作が処理の初期化段階にあるか否か(例えば、ちょうど入力データを受信するところ)、識別された動作が既にデータを処理しているか否か、または識別された動作がほぼデータの処理を完了しているか否かを判定してもよい。例えば、ファイル・アクセス動作は、特定のファイルにアクセスするための命令をちょうど受信する。あるいは、ファイル・アクセス動作は、特定のファイルからデータを取り出している。あるいは、ファイル・アクセス動作は、特定のファイルからデータを取り出して、その取り出しデータをちょうど返すところである。

0034

特定の実施形態では、工程340にて、コンピューティング・デバイスは、判定した状態に少なくとも部分的に基づき、識別した動作を延期する。例えば、コンピューティング・デバイスは、識別された動作がアイドルである場合、識別された動作を延期する。コンピューティング・デバイスは、識別された動作がそのデータ処理の初期化段階にある場合、識別された動作を延期することができる。コンピューティング・デバイスは、識別された動作が既にデータを処理しているか、ほとんどデータの処理を完了している場合、識別された動作を延期しないことができる。コンピューティング・デバイスは、識別された動作が既にデータを処理している場合、識別された動作を延期してもよい。

0035

特定の実施形態では、コンピューティング・デバイスは、検出されたイベントの終了後、識別された動作を再開してもよい。例えば、動作は、ディテクタ・プロセスに対するサブスクライバとして、ディテクタ・プロセスによって公表されたアニメーション・イベントの開始の受信後に、その実行を中断してよい。この動作は、ディテクタ・プロセスによって公表されたアニメーション・イベントの終了の受信後に、その実行を再開してよい。

0036

他の実施形態では、コンピューティング・デバイスは、所定の期間の後、延期された動作を再開してもよい。すなわち、コンピューティング・デバイスは、例えば、その延期が延期された動作からの結果を待機している(そのコンピューティング・デバイス上で動作している)別のコンピューティング・プロセスの実行を偶発的に阻止しないように、識別された動作の延期を時間切れにしてもよい。

0037

特定の実施形態は、適切な場合、図3の方法の1または複数のステップを繰り返してもよい。この開示は、図3の方法の特定のステップを、特定の順番で発生するものとして記載し示しているが、この開示は、任意の好適な順番で発生する図3の方法の任意の好適なステップを企図する。さらに、この開示は、図3の方法の特定のステップを実施する特定の構成要素、デバイス、またはシステムについて記載し示しているが、この開示は、図3の方法の任意の好適なステップを実施する任意の好適な構成要素、デバイス、またはシステムの任意の好適な組合せを企図する。

0038

図4は、例示的なコンピュータ・システム400を示す。特定の実施形態では、1または複数のコンピュータ・システム400は、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施する。特定の実施形態では、1または複数のコンピュータ・システム400は、本明細書に記載され、または示されている機能を提供する。特定の実施形態では、1または複数のコンピュータ・システム400上で動作するソフトウェアは、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施し、または本明細書に記載され、または示されている機能
を提供する。特定の実施形態は、1または複数のコンピュータ・システム400の1または複数の部分を含む。本明細書では、コンピュータ・システムに言及することは、適切な場合、コンピューティング・デバイスを包含してもよく、逆も同様である。さらに、コンピュータ・システムに言及することは、適切な場合、1または複数のコンピュータ・システムを包含してもよい。

0039

この開示は、任意の好適な数のコンピュータ・システム400を企図する。この開示は、任意の好適な物理形態をとるコンピュータ・システム400を企図する。限定するものとしてではなく一例として、コンピュータ・システム400は、組込みコンピュータ・システム、システム・オン・チップ(SOC)、シングルボード・コンピュータ・システム(SBC)(たとえば、コンピュータ・オン・モジュール(COM)またはシステム・オン・モジュール(SOM)など)、デスクトップ・コンピュータ・システム、ラップトップもしくはノートブック・コンピュータ・システム、対話キオスクメインフレーム、コンピュータ・システムのメッシュ移動体電話携帯情報端末(PDA)、サーバ、タブレット・コンピュータ・システム、またはこれらの2以上の組合せであってよい。適切な場合、コンピュータ・システム400は、1または複数のコンピュータ・システム400を含んでもよく、一元的なものであっても分散型であってもよく、複数のロケーションに跨ってもよく、複数のマシンに跨ってもよく、複数のデータ・センタに跨ってもよく、クラウド内にあってもよく、クラウドは、1または複数のネットワーク内で1または複数のクラウド・コンポーネントを含んでもよい。適切な場合、1または複数のコンピュータ・システム400は、実質的な空間的または時間的制限なしに、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施してもよい。限定するものとしてではなく一例として、1つまたは複数のコンピュータ・システム400は、リアルタイムで、またはバッチ・モードで、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施してもよい。1または複数のコンピュータ・システム400は、適切な場合、異なる時に、または異なるロケーションで、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施してもよい。

0040

特定の実施形態では、コンピュータ・システム400は、プロセッサ402、メモリ404、ストレージ406、入力/出力(I/O)インタフェース408、通信インタフェース410、およびバス412を含む。この開示は、特定の数の特定の構成要素を特定の構成で有する特定のコンピュータ・システムについて記載し示しているが、この開示は、任意の好適な数の任意の好適な構成要素を任意の好適な構成で有する任意の好適なコンピュータ・システムを企図する。

0041

特定の実施形態では、プロセッサ402は、コンピュータ・プログラムを構成するものなど命令を実行するためのハードウェアを含む。限定するものとしてではなく一例として、命令を実行するために、プロセッサ402は、内部レジスタ内部キャッシュ、メモリ404、またはストレージ406から命令を取り出し(またはフェッチし)、それらを復号および実行し、次いで、1または複数の結果を内部レジスタ、内部キャッシュ、メモリ404、またはストレージ406に書き込む。特定の実施形態では、プロセッサ402は、データ、命令、またはアドレス用に1または複数の内部キャッシュを含んでもよい。この開示は、適切な場合、任意の好適な数の任意の好適な内部キャッシュを含むプロセッサ402を企図する。限定するものとしてではなく一例として、プロセッサ402は、1または複数の命令キャッシュ、1または複数のデータ・キャッシュ、および1または複数の変換索引バッファTLB)を含んでもよい。命令キャッシュ内の命令は、メモリ404またはストレージ406内の命令のコピーであってもよく、命令キャッシュは、プロセッサ402によるこれらの命令の取り出しを高速化する。データ・キャッシュ内のデータは、プロセッサ402にて実行される命令が操作するための、メモリ404またはストレ
ジ406内のデータのコピー、プロセッサ402で実行される後続の命令によるアクセスための、またはメモリ404もしくはストレージ406に書き込むための、プロセッサ402で実行された以前の命令の結果、あるいは他の好適なデータであってもよい。データ・キャッシュは、プロセッサ402による読出しまたは書込み動作を高速化する。TLBは、プロセッサ402のために仮想アドレス変換を高速化する。特定の実施形態では、プロセッサ402は、データ、命令、またはアドレス用に1または複数の内部レジスタを含む。この開示は、適切な場合、任意の好適な数の任意の好適な内部レジスタを含むプロセッサ402を企図する。適切な場合、プロセッサ402は、1または複数の算術論理演算ユニットALU)を含むことができ、マルチコア・プロセッサであってもよく、1または複数のプロセッサ402を含んでもよい。この開示は、特定のプロセッサについて記載し示しているが、この開示は、任意の好適なプロセッサを企図する。

0042

特定の実施形態では、メモリ404は、プロセッサ402が実行するための命令、またはプロセッサ402が操作するためのデータを記憶するための主記憶装置を含む。限定するものとしてではなく一例として、コンピュータ・システム400は、ストレージ406または別のソース(たとえば、別のコンピュータ・システム400など)からメモリ404に命令をロードする。次いで、プロセッサ402は、メモリ404から内部レジスタまたは内部キャッシュに命令をロードする。命令を実行するために、プロセッサ402は、内部レジスタまたは内部キャッシュから命令を取り出し、それらを復号する。命令の実行中、または実行後、プロセッサ402は、1または複数の結果(中間結果であることも最終結果であることもある)を内部レジスタまたは内部キャッシュに書き込む。次いで、プロセッサ402は、それらの結果の1または複数をメモリ404に書き込む。特定の実施形態では、プロセッサ402は、1もしくは複数の内部レジスタもしくは内部キャッシュ内、または(ストレージ406もしくは他の場所ではなく)メモリ404内の命令だけを実行し、1もしくは複数の内部レジスタもしくは内部キャッシュ内、または(ストレージ806もしくは他の場所ではなく)メモリ404内のデータだけを操作する。1または複数のメモリ・バス(それぞれがアドレス・バスとデータ・バスを含むことがある)がプロセッサ402をメモリ404に結合してもよい。バス412は、下記に記載されているように、1または複数のメモリ・バスを含んでもよい。特定の実施形態では、1または複数のメモリ管理ユニット(MMU)が、プロセッサ402とメモリ404との間に存在し、プロセッサ402によって要求されるメモリ404へのアクセスを容易にする。特定の実施形態では、メモリ404は、ランダム・アクセス・メモリ(RAM)を含む。このRAMは、適切な場合、揮発性メモリであり得る。適切な場合、このRAMは、ダイナミックRAMDRAM)またはスタティックRAM(SRAM)であってよい。さらに、適切な場合、このRAMは、シングルポート型またはマルチポート型RAMであってよい。この開示は、任意の好適なRAMを企図する。メモリ404は、適切な場合、1または複数のメモリ404を含んでもよい。この開示は、特定のメモリについて記載し示しているが、この開示は、任意の好適なメモリを企図する。

0043

特定の実施形態では、ストレージ406は、データまたは命令用のマス・ストレージを含む。限定するものとしてではなく一例として、ストレージ406は、ハードディスクドライブ(HDD)、フロッピー(登録商標)ディスク・ドライブ、フラッシュ・メモリ、光ディスク光磁気ディスク磁気テープ、もしくはユニバーサルシリアル・バス(USB)ドライブ、またはこれらの2以上の組合せを含んでもよい。ストレージ406は、適切な場合、取外し式または非取外し式(または固定)媒体を含んでもよい。ストレージ406は、適切な場合、コンピュータ・システム400に対して内部であっても外部であってもよい。特定の実施形態では、ストレージ406は、不揮発性ソリッドステート・メモリである。特定の実施形態では、ストレージ406は、読出し専用メモリ(ROM)を含む。適切な場合、このROMは、マスクプログラムドROM、プログラマブルROMPROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEP
ROM)、電気的書き換え可能ROMEAROM)、もしくはフラッシュ・メモリ、またはこれらの2以上の組合せであってよい。この開示は、任意の好適な物理形態をとるマス・ストレージ406を企図する。ストレージ406は、適切な場合、プロセッサ402とストレージ406の間の通信を容易にする1または複数のストレージ制御ユニットを含んでもよい。適切な場合、ストレージ406は、1または複数のストレージ406を含んでもよい。この開示は、特定のストレージについて記載し示しているが、この開示は、任意の好適なストレージを企図する。

0044

特定の実施形態では、I/Oインタフェース408は、コンピュータ・システム400と1または複数のI/Oデバイスとの間の通信のために1または複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータ・システム400は、適切な場合、これらのI/Oデバイスの1または複数を含んでもよい。これらのI/Oデバイスの1または複数は、人とコンピュータ・システム400の間の通信を可能にする。限定するものとしてではなく一例として、I/Oデバイスは、キーボードキーパッドマイクロフォンモニタ、マウス、プリンタスキャナスピーカスチルカメラスタイラス、タブレット、タッチ・スクリーン、トラックボールビデオ・カメラ、別の好適なI/Oデバイス、またはこれらの2以上の組合せを含んでもよい。I/Oデバイスは、1または複数のセンサを含んでもよい。この開示は、任意の好適なI/Oデバイス、およびそれらのための任意の好適なI/Oインタフェース408を企図する。適切な場合、I/Oインタフェース408は、プロセッサ402がこれらのI/Oデバイスの1または複数を駆動することを可能にする1または複数のデバイスまたはソフトウェア・ドライバを含む。I/Oインタフェース408は、適切な場合、1または複数のI/Oインタフェース408を含んでもよい。この開示は、特定のI/Oインタフェースについて記載し示しているが、この開示は、任意の好適なI/Oインタフェースを企図する。

0045

特定の実施形態では、通信インタフェース410は、コンピュータ・システム400と1もしくは複数の他のコンピュータ・システム400または1もしくは複数のネットワークとの間の通信(たとえば、パケットベースの通信など)のために1または複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定するものとしてではなく一例として、通信インタフェース410は、ETHERNET(登録商標)もしくは他の有線ベースのネットワークとの通信のためのインタフェース・コントローラ(NIC)もしくはネットワーク・アダプタ、またはWI−FIネットワークなど無線ネットワークとの通信のための無線NIC(WNIC)もしくは無線アダプタを含んでもよい。この開示は、任意の好適なネットワーク、およびそのための任意の好適な通信インタフェース410を企図する。限定するものとしてではなく一例として、コンピュータ・システム400は、アドホック・ネットワーク、パーソナル・エリア・ネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、メトロポリタン・エリア・ネットワーク(MAN)、またはインターネットの1もしくは複数の部分、あるいはこれらの2以上の組合せと通信する。これらのネットワークの1または複数のうちの1または複数の部分は、有線であっても無線であってもよい。一例として、コンピュータ・システム400は、無線PAN(WPAN)(たとえば、BLUETOOTH(登録商標)WPANなど)、WI−FIネットワーク、WI−MAXネットワーク、携帯電話ネットワーク(たとえば、グローバル移動体通信システム(GSM(登録商標))ネットワークなど)、もしくは他の好適な無線ネットワーク、またはこれらの2以上の組合せと通信する。コンピュータ・システム400は、適切な場合、これらのネットワークのいずれかのための任意の好適な通信インタフェース410を含んでもよい。通信インタフェース410は、適切な場合、1または複数の通信インタフェース410を含んでもよい。この開示は、特定の通信インタフェースについて記載し示しているが、この開示は、任意の好適な通信インタフェースを企図する。

0046

特定の実施形態では、バス412は、コンピュータ・システム400の構成要素を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定するものとしてではなく一例として、バス412は、アクセラレィティッド・グラフィックスポート(AGP)もしくは他のグラフィックス・バス、EISA(Enhanced Industry Standard Architecture)バス、フロントサイド・バス(FSB)、HT(HYPERTRANSPORT相互接続ISA(Industry Standard Architecture)バス、インフィニバンド相互接続、LPC(low−pin−count)バス、メモリ・バス、MCA(Micro Channel Architecture)バス、PCI(Peripheral Component Interconnect)バス、PCIエクスプレス(PCIe)バス、SATA(serial advanced technology attachment)バス、VLB(Video Electronics StandardsAssociation local)バス、もしくは別の好適なバス、またはこれらの2以上の組合せを含んでもよい。バス412は、適切な場合、1または複数のバス412を含んでもよい。この開示は、特定のバスについて記載し示しているが、この開示は、任意の好適なバスまたは相互接続を企図する。

0047

本明細書では、1または複数の非一時的コンピュータ可読記憶媒体は、適切な場合、1または複数の半導体ベースの、もしくは他の集積回路(IC)(たとえば、フィールドプログラマブルゲートアレイFPGA)または特定用途向けICASIC))、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスク・ドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピー(登録商標)・ディスケット、フロッピー(登録商標)・ディスク・ドライブ(FDD)、磁気テープ、ソリッドステート・ドライブ(SSD)、RAMドライブセキュア・デジタル・カードもしくはセキュア・デジタル・ドライブ、任意の他の好適な非一時的コンピュータ可読記憶媒体、またはこれらの2以上の組合せを含んでもよい。非一時的コンピュータ可読記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性の組合せであってよい。

0048

本明細書では、「または(もしくは)」は、別段明確に示されていない限り、または別段文脈によって示されない限り、包括的(inclusive)であり、排他的なものではない。したがって、本明細書では、「AまたはB」は、別段明確に示されていない限り、または別段文脈によって示されない限り、「A、B、またはその両方」を意味する。さらに、「および」は、別段明確に示されていない限り、または別段文脈によって示されない限り、共同であり、個別的でもある。したがって、本明細書では、「AおよびB」は、別段明確に示されていない限り、または別段文脈によって示されない限り、「AおよびBを共同で、または個別的に」意味する。

0049

この開示の範囲は、当業者であれば理解するであろう、本明細書に記載され、または示されている例示的な実施形態に対する変更、置換、変形、代替、および修正すべてを包含する。この開示の範囲は、本明細書に記載され、または示されている例示的な実施形態に限定されない。さらに、この開示は、それぞれの実施形態について、本明細書では、特定の構成要素、要素、機能、動作、またはステップを含むものとして記載し示しているが、これらの実施形態のいずれも、当業者であれば理解するであろう、本明細書のどこかに記載され、または示されている構成要素、要素、機能、動作、またはステップのいずれかの任意の組合せまたは並べ替えを含んでもよい。さらに、添付の特許請求の範囲において、特定の機能を実施するように適合された、するように配置された、することが可能な、するように構成された、することが可能である、するように動作可能である、またはするように動作する装置もしくはシステム、または装置もしくはシステムの構成要素に言及することは、その装置、システム、または構成要素がそのように適合され、配置され、動作可
能であり、構成され、可能であり、動作可能であり、動作する限り、それ、またはその特定の機能が作動される、オンにされる、またはロック解除されるか否かにかかわらず、その装置、システム、構成要素を包含する。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ