JP2016522907A - アプリケーションに適合したオブジェクトのプレインフレート - Google Patents

アプリケーションに適合したオブジェクトのプレインフレート Download PDF

Info

Publication number
JP2016522907A
JP2016522907A JP2016508957A JP2016508957A JP2016522907A JP 2016522907 A JP2016522907 A JP 2016522907A JP 2016508957 A JP2016508957 A JP 2016508957A JP 2016508957 A JP2016508957 A JP 2016508957A JP 2016522907 A JP2016522907 A JP 2016522907A
Authority
JP
Japan
Prior art keywords
content
computing device
application
display object
user
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
JP2016508957A
Other languages
English (en)
Other versions
JP6412109B2 (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 JP2016522907A publication Critical patent/JP2016522907A/ja
Application granted granted Critical
Publication of JP6412109B2 publication Critical patent/JP6412109B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Abstract

一実施形態では、コンピューティング・デバイスは、コンピューティング・デバイスに関連付けられている画面の表示可能領域におけるコンテンツ・レイアウトの第1の部分におけるコンテンツの要求を受信する。デバイスは、コンテンツ・レイアウトの第2の部分に対する表示オブジェクトの選択される少なくとも1つの要素をプレインフレートし、次いで、この要素をアプリケーションに適合したリサイクラーに記憶することができる。選択される少なくとも1つの要素の選択は、表示可能領域の寸法、コンピューティング・デバイスの利用可能なメモリ、またはアプリケーション固有の規則に基づいてよい。このデバイスは、コンテンツ・レイアウトの第2の部分に対するコンテンツの要求に応じて、アプリケーションに適合したリサイクラーから要素を取り出し、コンテンツ・レイアウトの第2の部分に対する必要に応じて表示オブジェクトの他の要素を更新し、表示オブジェクトを返すことができる。

Description

本開示は、一般にオブジェクトのライフサイクル管理に関する。
表示オブジェクトを作成し、それらをインフレートすることは、コンテンツ集約型アプリケーション(特に変化するおよび/または長いコンテンツ(リストまたはグリッドなど)のセクションを有するコンテンツ・レイアウト)のレイテンシの主な原因を構成する場合がある。コンテンツ・レイアウトを、コンテンツが表示可能領域を越えて延びる(ユーザはコンテンツを閲覧するためにコンテンツ・レイアウトをスクロールする必要がある)特定の表示画面にレンダリングする際、表示オブジェクト、入れ子の表示オブジェクト、および他のコンテンツ要素は、それらが現れるときに作成およびインフレートされ、それらが見えなくなるときにリサイクルされる。表示オブジェクトのリクエスト駆動リアルタイム・インフレートでは、そのようなコンテンツ集約型アプリケーションの要件には不十分であると分かる場合がある。
表示オブジェクトを用いてレンダリングされるコンテンツ・レイアウトのワイヤフレーム。 図1Aの詳細なセクションを示すワイヤフレーム。 アプリケーションに適合したオブジェクトのプレインフレートのための一例の方法を示す図。 ソーシャル・ネットワーキング・システムに関連付けられている一例のネットワーク環境を示す図。 一例のソーシャル・グラフを示す図。 一例のコンピュータ・システムを示す図。
アプリケーションに適合した方式により表示オブジェクトのプレインフレートを行うために、アプリケーションはアプリケーション固有のポリシーを適用し、それらの表示オブジェクトおよび/またはインフレートのコストが最も高い表示オブジェクトの要素のみをどのように選択的にプレインフレートするかを決定することができる。
表示されるコンテンツ・レイアウトの特定のセクションに対する要求を受信する前に、アプリケーションは、プレインフレートするコンテンツ・レイアウトの特定のセクションの要素を選択し、選択された要素をインフレートし、プレインフレートされた要素をリサイクラーに記憶してもよい。同じコンテンツ要素が再び要求される場合、アプリケーションはリサイクラーから表示オブジェクトを取り出し、ラッパー・オブジェクトにより包囲し、包まれた表示オブジェクトを返す。本明細書に記載の実施形態は、その一部が入れ子の表示オブジェクを含む、表示オブジェクトの要素により行われてもよい。
アプリケーションに適合した方式により表示オブジェクトのプレインフレートを行うために、アプリケーションはアプリケーション固有のポリシーを適用し、それらの表示オブジェクトおよび/またはインフレートのコストが最も高い表示オブジェクトの要素のみをどのように選択的にプレインフレートするかを決定することができる。
表示されるコンテンツ・レイアウトの特定のセクションに対する要求を受信する前に、アプリケーションは、プレインフレートするコンテンツ・レイアウトの特定のセクション
の要素を選択し、選択された要素をインフレートし、プレインフレートされた要素をリサイクラーに記憶してもよい。そのコンテンツ・セクションが要求される場合、アプリケーションはリサイクラーから表示オブジェクトを取り出し、ラッパー・オブジェクトにより包囲し、包まれた表示オブジェクトを返す。本明細書に記載の実施形態は、その一部が入れ子の表示オブジェクを含む、表示オブジェクトの要素で行われてもよい。
リサイクラーを実装する方法に関連して、特定の実施形態では、「アプリケーションに適合したオブジェクト・リサイクル(“Application−Tailored Object Recycling”)」と題する2013年4月11日出願の米国特許出願13/861,250号に開示されている1つ以上のシステム、構成要素、要素、機能、方法、動作、または工程が利されてよい。これを引用によって本明細書に援用する。
図1Aは、コンテンツ・レイアウト100の一例のワイヤフレームを示すワイヤフレームであり、複数の表示オブジェクトに基づいてタブレット型デバイス上に表示するためにレンダリングされるソーシャル・ネットワーキング・システムのユーザ向けニュースフィード・ページである。(破線によって示される)コンテンツ・レイアウト100の表示可能領域は(折り畳みの上の)タブレット型デバイスの画面寸法内に適合することとなるコンテンツ・レイアウト100の部分を含む。
コンテンツ・レイアウト100は、ヘッダ領域110と、メニューバー120と、左側サイドバー130と、右側サイドバー140と、メイン・ボディ・エリア150と、を含む。各領域は、それ自身の表示オブジェクトに関連付けられ、各表示オブジェクトは、限定ではなく例として、イメージ、動画、テキスト、リンク、フォーム、および対話型要素など複数の要素を含むことができる。これらの要素の各々は、1つまたは複数のネストされた表示オブジェクトによって表されてもよい。
ヘッダ領域110に関連付けられている表示オブジェクトは、ソーシャル・ネットワーク・ユーザによって選択された、ソーシャル・ネットワーク・ユーザの対話型プロファイル写真112と、テキスト・ブロック114と、背景イメージ116と、テーマ音楽と、を含む。対話型プロファイル写真112は、イメージ、テキスト、リンク、およびJAVA(登録商標)スクリプトコードを含み得る表示オブジェクトに基づいてレンダリングされ、マウスなどのポインティングデバイスがプロファイル写真上に移動すると現れるソーシャル・ネットワーク・ユーザのプロファイルの要約を表示するポップアップ・ウィンドウをレンダリングする。
メニューバー120に関連付けられている表示オブジェクトは、5つのメニューオプション125A〜125Fを含み、メニューオプションの各々は、イメージ、テキスト、およびリンクを含む。
左側サイドバー130に関連付けられている表示オブジェクトは(スポンサー記事を含む)おすすめを含んでいるコンテンツを含み(135A〜135Eのみが示されているが、もっと多くのおすすめがあってもよい)、おすすめの各々は、表示オブジェクトに基づいてレンダリングされる。おすすめ用の各々の表示オブジェクトは、対話型イメージと、タイトルと、おすすめ用のテキストと、おすすめに関係するさらなる情報を得るためのリンクと、を含んでもよい。ニュースフィード・アイテム用の各表示オブジェクトはまた、1つまたは複数のイメージもしくは動画を含んでもよい。
右側サイドバー140に関連付けられている表示オブジェクトは、1つまたは複数の広告145用のコンテンツを含み、広告の各々は、表示オブジェクトに基づいてレンダリングされる。図1Aに示される例に示されるように、広告145Aは、折り畳みの上に現れ
、一方、145Bは、まだ見えない。広告のコンテンツは、少なくともある程度、サードパーティの広告主によって決定されてもよい。
メイン・ボディ・エリア150に関連付けられている表示オブジェクトは、複数のニュースフィード・アイテム(155A〜155Eのみが示されているが、より多くのニュースフィード・アイテムがあってもよい)を含み、ニュースフィード・アイテムの各々は、ユーザの友人(すなわち、ソーシャル・グラフのつながり)に関係するアクティビティに関連付けられている表示オブジェクトに基づいてレンダリングされる。
図1Bは、図1Aの詳細なセクション、すなわち、コンテンツ・レイアウト100のメイン・ボディ・エリア150におけるニュースフィード・アイテム155B〜155Eを示すワイヤフレームである。図1Aに示すように(破線によって示される)コンテンツ・レイアウト100の表示可能領域は、タブレット型デバイスの画面上に適合することとなるコンテンツ・レイアウト100の一部を含む。
ニュースフィード・アイテム155の各表示オブジェクトは、友人の対話型プロファイル写真160と、友人の名前165と、ニュースフィード・アイテム用のテキスト170と、時間依存性情報175(例えば、一覧の、常時最新の閲覧数/コメント数/「いいね」の数、一覧の、閲覧/コメント/「いいね」の表明をした最新の1人または2人の短い一覧など)と、ニュースフィード・アイテムに「いいね」を表明するためのリンク180と、ニュースフィード・アイテムにコメントするためのリンク185と、ニュースフィード・アイテムを「共有」するためのリンク190と、を含む。ニュースフィード・アイテム用の各表示オブジェクトはまた、1つまたは複数のイメージ195または動画を含んでもよい。
各対話型プロファイル写真160は、イメージ、テキスト、リンク、およびJAVAスクリプトコードを含み得る表示オブジェクトに基づいてレンダリングされ、マウスなどのポインティングデバイスがプロファイル写真上に移動すると現れるソーシャル・ネットワーク・ユーザのプロファイルの要約を表示するポップアップ・ウィンドウをレンダリングする。
図2には、アプリケーションに制御される表示オブジェクトのプレインフレートのための一例の方法を示す。工程210では、アプリケーションは、表示可能領域の寸法を決定してよい。この情報は、以下の工程250において記載されるように、プレインフレートする表示オブジェクトの要素を選択する処理の因子に含められてもよい。表示可能領域は、表示オブジェクトに関連付けられているコンテンツを用いてコンテンツ・レイアウト(またはその一部分)がレンダリングされる領域を含む。表示可能領域は、限定ではなく例示として、以下などの任意の関連情報に基づき決定されてよい:画面の寸法、画面のアスペクト比、レンダリングされるコンテンツの種類、アプリケーション固有の因子(例えば、ユーザが広告の届けられる必要のない支払済みサブスクライバか否かに基づきコンテンツ・レイアウトを異ならせる)、ユーザに構成される設定(例えば、ウィンドウのサイズを再設定する)、ユーザの好み(例えば、ポップアップ・ウィンドウを妨げる)など。
工程220では、アプリケーションは、デバイス上の利用可能なメモリを決定してよい。この情報は、以下の工程250において記載されるように、プレインフレートする表示オブジェクトの要素を選択する処理の因子に含められてもよい。
工程230では、アプリケーションは、指定されるコンテンツ・レイアウトのための表示オブジェクトを作成決定してよい。例えば、ユーザが自身のソーシャル・ネットワーキング情報ベースのニュースフィードを要求する場合、アプリケーションは、そのニュース
フィードのコンテンツ・レイアウトのための表示オブジェクトを作成してよい。
工程240では、アプリケーションは、特定のコンテンツ(例えば、図1Aに示される表示可能領域に含まれるコンテンツ。ヘッダ領域110、メニューバー120、左側サイドバー130の部分(推薦135Aを含む)、右側サイドバー140の部分(広告145Aを含む)、および本体領域150の部分(ニュースフィード・アイテム155Aを含む)の要求を受信し、要求されたコンテンツを格納している表示オブジェクトによって応答してよい。上述のように、表示オブジェクトは、それ自身が表示オブジェクトであり得る複数の要素を格納してもよい。例えば、ニュースフィード・アイテム155Cは、表示オブジェクトによってレンダリングされ得る対話型プロフィール写真160を含む。
工程250では、アプリケーションは、表示可能領域の寸法と、利用可能なメモリと、アプリケーション固有の規則とに基づき、プレインフレートする表示オブジェクトの要素を選択してよい。特定の実施形態では、アプリケーション固有の規則は、インフレートのコストがより高い表示オブジェクトの要素の選択を優先させてもよい。要素をインフレートするコストは、任意の適用可能な基準(例えば、要素のサイズ、要素の複雑性(例えば、要素が入れ子の表示オブジェクトであるか?))、要素が更新される必要のある頻度、プラットフォームの能力および構成(例えば、デバイスが、代替の、より単純なコンテンツによる置換を必要とするクライアント側スクリプトのサポートを欠いている、またはクライアント側スクリプトの実行を禁止しているか?)などに基づき決定されてよい。
特定の実施形態、特にリストベースまたはグリッドベースのコンテンツ・レイアウトに関する実施形態では、アプリケーション固有の規則は、要素をプレインフレートする増分を設定し、この増分は、表示可能領域の寸法に収まるリストまたはグリッド・アイテムの数によって定義される倍量単位である。例えば、図1Bに示されるように、4つのニュースフィード・アイテムが表示可能領域の垂直寸法にインフレートされてもよく、この場合、コンテンツ・レイアウトは垂直の寸法に拡張してよい(しかしながら、水平の寸法にはそうではない)。この例では、アプリケーション固有の規則は、ユニットが4つのニュースフィード・アイテムを含む(そのように表示可能領域がインフレートされるので)と決定し、増分の倍量に3を設定するので、アプリケーションは、ニュースフィード・アイテム155B〜Eを表示する要求に応答するとき、次の12のニュースフィード・アイテムに対する選択された要素もプレインフレートする。
特定の実施形態では、倍量はユーザ固有の利用パターンに基づいてよい。例えば、ユーザが、通常、ニュースフィードを通じて相当遅くスクロールする場合、倍量はより小さな数であってよい。反対に、ユーザが、通常、ニュースフィードを通じて相当速くスクロールする場合、倍量はより大きな数であってよい。
特定の実施形態では、倍量は、リストまたはグリッド要素のためのコンテンツの属性に基づいてよい。例えば、コンテンツが非常にリッチな種類のもので、ユーザがコンテンツを通じてブラウズするのにより長く掛かりそうなコンテンツ(例えば、ユーザが各々にマウスオーバすると再生する複数の動画サムネイル)である場合、倍量は減少されてもよい。
特定の実施形態では、アプリケーション固有の規則は、利用可能なメモリに基づき表示オブジェクトの要素の選択の優先順位を決定してもよい。例えば、利用可能なメモリが多くない場合、アプリケーションはコストが最も高い要素のみをプレインフレートする(より多い利用可能なメモリがあった場合、追加のもの(コストが幾らか低い要素)をプレインフレートし得る)ことを選んでもよい。別の例では、利用可能なメモリが多くない場合、アプリケーションは非常に頻繁に再使用される要素をプレインフレートすることを選ん
でもよい。例えば、次の10個のニュースフィード・アイテム全てが1つの人気のあるオンライン記事に対する同じ複雑なリンク(イメージ、テキスト、リンクおよび他の情報を含む)を投稿した人に関連する場合、その複雑なリンクを表す要素に対し、他の要素より上の優先順位が与えられてもよい。
工程260では、アプリケーションは、表示オブジェクトの選択された要素をプレインフレートしてよい。選択された要素(それ自体が表示オブジェクトであり得る)をプレインフレートする部分として、特定の実施形態では、選択された要素のコンテキスト内において工程250〜290が行われてよい。
工程270では、アプリケーションは、アプリケーションに適合したリサイクラーに表示オブジェクトのプレインフレートされた要素を記憶してよい。記憶された要素は、コンテンツ・レイアウトの関連部分が表示可能領域のために要求されるまで、リサイクラーにおいて保持されてよい。
工程280では、アプリケーションは、アプリケーションに適合したリサイクラーにおいて、表示可能領域のためのレンダリングされるコンテンツに使用可能な、表示オブジェクトの任意のプレインフレートされた要素を取り出してよい。しかしながら、リサイクラーは、以前に使用された表示オブジェクトおよびその要素や、プレインフレートされた表示オブジェクトおよびその要素を格納している場合があるので、特定の実施形態では、リサイクラーにおける表示オブジェクトおよびその要素(プレインフレートされたものも含み得る)のいずれが再使用に適切であるかを識別するために、アプリケーションに適合したリサイクルポリシーが適用されてよい。
特定の実施形態では、リサイクラーの表示オブジェクトは、それが現在要求されている表示オブジェクトと同じクラス階層を用いてインフレートされていた場合、再使用に適切であってよい。特定の実施形態では、リサイクラーの表示オブジェクトは、それが現在要求されている表示オブジェクトと同じXML仕様を用いてインフレートされていた場合、再使用に適切であってよい。
リサイクラーの表示オブジェクトは、それが同じ種類のオブジェクトであり、ただし異なるコンテンツによりインフレートされる場合、リサイクルするのに適切であってもよい。この場合、アプリケーションは表示オブジェクトを最初からインフレートしてもよく(これは任意のプレインフレートされた表示オブジェクトまたはその要素には必要でない)、それによって表示オブジェクトにおける既存のコンテンツの全てではないとしてもほとんどが上書きされる。
表示オブジェクトおよびその要素のいずれが再使用、リサイクルに適切であるか、またはいずれも適切でないかの決定は、アプリケーション固有、デバイス固有、および/またはユーザ固有のプレインフレート・ポリシーに応じて異なってよい。特定の実施形態では、アプリケーションは、アプリケーション要件、コンテンツ種類、デバイス属性(例えば、利用可能なメモリおよび/またはディスプレイ画面の寸法)、コンテンツ統計、利用パターンおよび選好、または他の適切な因子に従って、プレインフレート・ポリシーを設定してよい。そのようなポリシーは、リサイクラーに保持するオブジェクトの数、リサイクラーに記憶するオブジェクトの種類、表示オブジェクトが再使用および/またはリサイクルに適切であるか否かをどのように判定するか、いつ表示オブジェクトを再使用し、対していつ表示オブジェクトをリサイクルするか、などを管理してもよい。
リサイクラーがヌルを返す場合、アプリケーションは、要求されるコンテンツを表示するために適切な種類の新しい表示オブジェクトを作成し、次いで、その表示オブジェクト
をインフレートする。これは最も高価な経路である(新しい表示オブジェクトの作成および表示オブジェクトのインフレートの両方がコストが高い動作であるので)。したがって、リサイクラーに記憶される他の点では適切な表示オブジェクトのリサイクルをいつ禁止するかを決定するとき、アプリケーションには、衝突する優先順位のバランスを取ることが必要なことがある。
工程290では、アプリケーションは、要求に応答して表示オブジェクトを返してよい。
本明細書に開示の実施形態では表示オブジェクトの要素に対して行われているが、しかしながら、特定の実施形態では、本明細書に記載の技術は表示オブジェクトの特定の要素(それ自身が表示オブジェクトであり得る)に対し、それらの要素の一部又は全部をプレインフレートするために、再帰的な手法により適用されてもよい。
本明細書に開示の実施形態は、アプリケーションによって行われているが、しかしながら、当業者には分かるように、本明細書に開示の方法例200および他の実施形における工程の多くは、アブストラクションの1つ以上のレイヤにおいて動作するソフトウェアの1以上の部分によって行われてもよい。例えば、上述の方法例の工程は、アプリケーションとは別に実行され、アプリケーションおよびリサイクラーとのインタフェースを行うソフトウェアによって行われてもよい。
特定の実施形態は、適宜、図2の方法の1つまたは複数のステップを繰り返してもよい。本開示は、特定の順序で発生するように、図2の方法の特定のステップを記載および例示しているが、本開示は、任意の適切な順序で発生する図2の方法の任意の適切なステップを企図する。さらに、本開示は、図2の方法の特定のステップを遂行する特定の構成要素、デバイス、またはシステムを記載および例示しているが、本開示は、図2の方法の任意の適切なステップを遂行する任意の適切な構成要素、デバイス、またはシステムの任意の適切な組み合わせを企図する。
図3は、ソーシャル・ネットワーキング・システムに関連付けられている一例のネットワーク環境300を示す。ネットワーク環境300は、ネットワーク310によって互いに接続された、ユーザ301と、クライアント・システム330と、ソーシャル・ネットワーキング・システム360と、サードパーティ・システム370とを含む。図3は、ユーザ301、クライアント・システム330、ソーシャル・ネットワーキング・システム360、サードパーティ・システム370、およびネットワーク310の特定の配置を示しているが、この開示は、ユーザ301、クライアント・システム330、ソーシャル・ネットワーキング・システム360、サードパーティ・システム370、およびネットワーク310の任意の好適な配置を検討する。例として、クライアント・システム330、ソーシャル・ネットワーキング・システム360、およびサードパーティ・システム370のうちの2つ以上が、ネットワーク310を介さずに、直接互いに接続されることもあるが、これらに限定するものではない。別の例として、クライアント・システム330、ソーシャル・ネットワーキング・システム360、およびサードパーティ・システム370のうちの2つ以上が、全体または一部において、互いと物理的にまたは論理的に同じ場所に配置されることがある。さらに、図3は、特定の数のユーザ301、クライアント・システム330、ソーシャル・ネットワーキング・システム360、サードパーティ・システム370、およびネットワーク310を示しているが、この開示は、任意の好適な数のユーザ301、クライアント・システム330、ソーシャル・ネットワーキング・システム360、サードパーティ・システム370、およびネットワーク310を検討する。例として、ネットワーク環境300が、複数のユーザ301、クライアント・システム330、ソーシャル・ネットワーキング・システム360、サードパーティ・システム370、およびネットワーク310を含むことがあるが、これらに限定するものではない。コ
ンピュータ・サーバおよびクライアント・デバイスなどの、ただしこれらに限定されない、コンピューティング・デバイスの諸実施形態については、本明細書の関連部分において図5に関してさらに詳細に説明する。
特定の実施形態では、ユーザ301は、ソーシャル・ネットワーキング・システム360と対話するまたはソーシャル・ネットワーキング・システム360を通じて通信する個人(人間のユーザ)、エンティティ(たとえば、企業、事業者、またはサードパーティ・アプリケーション)、またはグループ(たとえば、個人またはエンティティの)であってよい。特定の実施形態では、ソーシャル・ネットワーキング・システム360は、オンライン・ソーシャル・ネットワークをホストするネットワークアドレス指定可能なコンピューティング・システムであってよい。ソーシャル・ネットワーキング・システム360は、たとえばユーザプロフィール・データ、コンセプトプロフィール・データ、ソーシャル・グラフ情報、またはオンライン・ソーシャル・ネットワークに関係する他の好適なデータなど、ソーシャル・ネットワーキング・データを生成、記憶、受信、および送信する。ソーシャル・ネットワーキング・システム360は、ネットワーク環境300の他の構成要素によって、直接的に、またはネットワーク310を通じてアクセスされてもよい。特定の実施形態では、ソーシャル・ネットワーキング・システム360は、ユーザ301がたとえば適切なプライバシ設定を設定することによってなど、自分達のアクションをソーシャル・ネットワーキング・システム360によって記録させる、または他のシステム(たとえば、サードパーティ・システム370)と共有させることについてオプトインまたはオプトアウトすることを可能にする認可サーバ(または他の適切な構成要素)を含んでもよい。ユーザのプライバシ設定は、そのユーザに関連付けられているどの情報が記録されるか、そのユーザに関連付けられている情報がどのように記録されるか、そのユーザに関連付けられている情報がいつ記録されるか、そのユーザに関連付けられている情報を誰が記録するか、そのユーザに関連付けられている情報が誰と共有されるか、およびそのユーザに関連付けられている情報が何の目的で記録され共有されるかを決定する。認可サーバは、ブロッキング、データのハッシュ化、匿名化、または他の適切な技術を通じて、ソーシャル・ネットワーキング・システム30のユーザの1以上のプライバシ設定を適切に実施するために用いられる。サードパーティ・システム370は、ネットワーク環境300の他の構成要素によって、直接的に、またはネットワーク310を通じてアクセスされてもよい。特定の実施形態では、1または複数のユーザ301が1または複数のクライアント・システム330を使用し、ソーシャル・ネットワーキング・システム360またはサードパーティ・システム370にアクセスし、データを送り、それらからデータを受信してもよい。クライアント・システム330は、ソーシャル・ネットワーキング・システム360またはサードパーティ・システム370に直接的に、ネットワーク310を通じて、またはサードパーティ・システムを通じてアクセスしてもよい。限定するものとしてではなく一例として、クライアント・システム330は、サードパーティ・システム370にソーシャル・ネットワーキング・システム360を通じてアクセスしてもよい。クライアント・システム330は、たとえばパーソナル・コンピュータ、ラップトップ・コンピュータ、携帯電話、スマートフォン、またはタブレット・コンピュータなど、任意の好適なコンピューティング・デバイスであってよい。
この開示は、任意の好適なネットワーク310を検討する。例として、ネットワーク310の1つまたは複数の部分は、アド・ホック・ネットワーク、インターネット、エクストラネット、仮想プライベート・ネットワーク(VPN)、ローカル・エリア・ネットワーク(LAN)、無線LAN(WLAN)、ワイド・エリア・ネットワーク(WAN)、無線WAN(WWAN)、メトロポリタン・エリア・ネットワーク(MAN)、インターネットの一部、公衆交換電話網(PSTN)の一部、携帯電話網、またはこれらの2つ以上の組合せを含むことができるが、これらに限定するものではない。ネットワーク310は、1つまたは複数のネットワーク310を含むことがある。
リンク350は、クライアント・システム330、ソーシャル・ネットワーキング・システム360、およびサードパーティ・システム370を、通信ネットワーク310に、または互いに接続することができる。この開示は、任意の好適なリンク350を検討する。特定の実施形態では、1つまたは複数のリンク350は、1つまたは複数の有線(例えばデジタル加入者線(DSL)もしくはデータ・オーバ・ケーブル・サービス・インタフェース仕様(DOCSIS:Data Over Cable Service Interface Specification)など)、無線(例えばWi−Fiもしくはワールドワイド・インターオペラビリティ・フォー・マイクロウェーブ・アクセス(WiMAX:Worldwide Interoperability for Microwave Access)など)、または光(例えば同期光ネットワーク(SONET)もしくは同期デジタル階層(SDH)など)リンクを含む。特定の実施形態では、1つまたは複数のリンク350が、それぞれアド・ホック・ネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、インターネットの一部、PSTNの一部、セル方式の技術によるネットワーク、衛星通信技術によるネットワーク、別のリンク350、または2つ以上のこのようなリンク350の組合せを含む。リンク350は、必ずしもネットワーク環境300の全体にわたって同じである必要はない。1つまたは複数の第1のリンク350は、1つまたは複数の点において、1つまたは複数の第2のリンク350とは異なることがある。
図4は、一例のソーシャル・グラフ400を示す。特定の実施形態では、ソーシャル・ネットワーキング・システム360は、1つまたは複数のデータ・ストアに1つまたは複数のソーシャル・グラフ400を記憶することができる。特定の実施形態では、ソーシャル・グラフ400は、複数のユーザ・ノード402もしくは複数の概念ノード404を含むことができる複数のノードと、ノードを接続する複数のエッジ406とを含むことができる。図4に示す一例のソーシャル・グラフ400は、説明のために2次元の視覚地図表現で示される。特定の実施形態では、ソーシャル・ネットワーキング・システム360、クライアント・システム330、またはサードパーティ・システム370は、ソーシャル・グラフ400および好適なアプリケーションの関連するソーシャル・グラフ情報にアクセスすることができる。ソーシャル・グラフ400のノードおよびエッジは、例えば(ソーシャル・グラフ・データベースなどの)データ・ストアに、データ・オブジェクトとして記憶されることが可能である。このようなデータ・ストアは、ソーシャル・グラフ400のノードまたはエッジの1つまたは複数の検索可能なまたは問い合わせ可能なインデックスを含むことができる。
特定の実施形態では、ユーザ・ノード402が、ソーシャル・ネットワーキング・システム360のユーザに対応することができる。例として、ユーザが、ソーシャル・ネットワーキング・システム360とまたはこれを通じて対話するまたは通信する個人(人間のユーザ)、エンティティ(例えば、企業、会社、もしくはサードパーティ・アプリケーション)、または(例えば、個人もしくはエンティティの)グループであることが可能であるが、これらに限定するものではない。特定の実施形態では、ユーザがソーシャル・ネットワーキング・システム360でアカウントに登録するとき、ソーシャル・ネットワーキング・システム360が、ユーザに対応するユーザ・ノード402を作成し、このユーザ・ノード402を1つまたは複数のデータ・ストアに記憶することができる。本明細書に記載するユーザおよびユーザ・ノード402は、必要に応じて、登録されたユーザ、および登録されたユーザに関連付けられているユーザ・ノード402を指すことができる。これに加えて、またはこれに代えて、本明細書に記載するユーザおよびユーザ・ノード402は、必要に応じて、ソーシャル・ネットワーキング・システム360に登録していないユーザを指すことができる。特定の実施形態では、ユーザ・ノード402が、ユーザによって提供される情報、またはソーシャル・ネットワーキング・システム360などの様々
なシステムによって集められた情報に関連付けられてよい。例として、ユーザが、ユーザの名前、プロフィール写真、連絡先情報、誕生日、性別、結婚歴、家族状態、職業、学歴、好み、関心、または他の人口統計情報を提供することができるが、これらに限定するものではない。特定の実施形態では、ユーザ・ノード402は、ユーザに関連付けられている情報に対応する1つまたは複数のデータ・オブジェクトに関連付けられてよい。特定の実施形態では、ユーザ・ノード402が、1つまたは複数のウェブ・ページと対応することがある。
特定の実施形態では、概念ノード404が、概念に対応することができる。例として、概念は、場所(例えば、映画館、レストラン、ランドマーク、もしくは都市など)、ウェブサイト(例えば、ソーシャル・ネットワーク・システム360に関連付けられているウェブサイト、もしくはウェブ・アプリケーション・サーバに関連付けられているサードパーティのウェブサイトなど)、エンティティ(例えば、人、会社、グループ、スポーツチーム、または有名人など)、ソーシャル・ネットワーキング・システム360内、もしくはウェブ・アプリケーション・サーバなどの外部サーバ上に配置されることが可能であるリソース(例えば、音声ファイル、動画ファイル、デジタル写真、テキスト・ファイル、構造化文書、もしくはアプリケーションなど)、不動産もしくは知的財産(例えば、彫刻、絵画、映画、ゲーム、歌、アイデア、写真、または著作物(written work)など)、ゲーム、アクティビティ、アイデアもしくは理論、別の好適な概念、または2つ以上のこのような概念に対応することができるが、これらに限定するものではない。概念ノード404は、ユーザによって提供される概念の情報、または、ソーシャル・ネットワーキング・システム360を含めた様々なシステムによって収集される情報に関連付けられてよい。例として、概念の情報は、名前もしくはタイトル、1つもしくは複数の画像(例えば、本のカバー・ページの画像)、場所(例えば、アドレスもしくは地理的位置)、(URLに関連付けられてよい)ウェブサイト、連絡先情報(例えば、電話番号もしくは電子メールアドレス)、他の好適な概念情報、またはこのような情報の任意の好適な組合せを含むことができるが、これらに限定するものではない。特定の実施形態では、概念ノード404は、概念ノード404に関連付けられている情報に対応する1つまたは複数のデータ・オブジェクトに関連付けられてよい。特定の実施形態では、概念ノード404が、1つまたは複数のウェブ・ページと対応することがある。
特定の実施形態では、ソーシャル・グラフ400のノードはウェブ・ページ(「プロフィール・ページ」と呼ばれることがある)を表す、またはウェブ・ページによって表されることがある。プロフィール・ページは、ソーシャル・ネットワーキング・システム360によってホストされる、またはソーシャル・ネットワーキング・システム360にアクセス可能であることがある。プロフィール・ページは、サードパーティのサーバ370に関連付けられているサードパーティのウェブサイト上でホストされることもある。例として、特定の外部ウェブ・ページに対応するプロフィール・ページは、特定の外部ウェブ・ページであることが可能であり、プロフィール・ページは、特定の概念ノード404に対応することがあるが、これに限定するものではない。プロフィール・ページは、他のユーザのすべてによって、または選択されたサブセットによって閲覧可能であるものとすることができる。例として、ユーザ・ノード402が、対応するユーザ・プロフィール・ページを有することができ、対応するユーザがこれにコンテンツを追加する、宣言を行う、またはその他の場合ユーザを表現することができるが、これに限定するものではない。別の例として、概念ノード404が、対応する概念プロフィール・ページを有することができ、これに1人または複数のユーザが、コンテンツを追加する、宣言を行う、または詳細には概念ノード404に対応する概念に関して自身を表現する、ことができるが、これに限定するものではない。
特定の実施形態では、概念ノード404が、サードパーティのシステム370によって
ホストされるサードパーティのウェブ・ページまたはリソースを表すことができる。サードパーティのウェブ・ページまたはリソースが、他の要素、コンテンツのうち、選択可能もしくは他のアイコン、またはアクションもしくはアクティビティを表す(例えば、JAVASCRIPT(登録商標)、AJAX、もしくはPHPコードで実行されることが可能である)他の相互に実行可能な(inter−actable)オブジェクトを含むことができる。例として、サードパーティのウェブ・ページが、「いいね!」、「チェックイン」、「食べる」、「推奨」などの選択可能なアイコン、または別の好適なアクションもしくはアクティビティを含むことができるが、これに限定するものではない。サードパーティのウェブ・ページを閲覧しているユーザが、アイコン(例えば、「食べる」)の1つを選択することによって、クライアント・システム330にソーシャル・ネットワーキング・システム360まで、ユーザのアクションを示すメッセージを送信させるができる。メッセージに応答して、ソーシャル・ネットワーキング・システム360は、ユーザに対応するユーザ・ノード402と、サードパーティのウェブ・ページもしくはリソースに対応する概念ノード404との間にエッジ(例えば、「食べる」エッジ)を作成して、エッジ406を1つまたは複数のデータ・ストアに記憶することができる。
特定の実施形態では、ソーシャル・グラフ400中のノードのペアが、1つまたは複数のエッジ406によって互いに接続されることが可能である。ノードのペアと接続しているエッジ406が、そのノードのペア間の関係を表すことができる。特定の実施形態では、エッジ406が、1つもしくは複数のデータ・オブジェクトまたはノードのペア間の関係に対応する属性を含む、または表すことができる。例として、第1のユーザが、第2のユーザは第1のユーザの「友人」であることを示すことができるが、これに限定するものではない。この表示に応答して、ソーシャル・ネットワーキング・システム360は、「友人リクエスト」を第2のユーザに送信することができる。第2のユーザが「友人リクエスト」を確認する場合、ソーシャル・ネットワーキング・システム360は、ソーシャル・グラフ400において、第1のユーザのユーザ・ノード402を第2のユーザのユーザ・ノード402に接続するエッジ406を作成し、データ・ストア24の1つまたは複数にソーシャル・グラフ情報としてエッジ406を記憶することがでる。図4の例では、ソーシャル・グラフ400は、ユーザ「A」のユーザ・ノード402とユーザ「B」のユーザ・ノード402との間の友人関係を示すエッジ406、およびユーザ「C」のユーザ・ノード402とユーザ「B」のユーザ・ノード402との間の友人関係を示すエッジを含んでいる。この開示は、特定のユーザ・ノード402を接続する特定の属性を有する特定のエッジ406を説明する、または例示するが、この開示は、ユーザ・ノード402を接続する任意の好適な属性を有する任意の好適なエッジ406を検討する。例として、エッジ406が、友人関係、家族関係、仕事もしくは雇用関係、ファン関係、フォロワー関係、訪問者関係、購読者関係、上司/部下関係、互恵関係、非互恵関係、その他の好適なタイプの関係、またはこのような関係の2つ以上を表すことができるが、これらに限定するものではない。さらに、この開示は、概して接続されているものとしてノードを説明するが、この開示は、接続されているものとしてユーザまたは概念も説明する。本明細書において、接続されているユーザまたは概念への言及は、必要に応じて、ソーシャル・グラフ400において1つまたは複数のエッジ406で接続されているそうしたユーザまたは概念に対応するノードを指す。
特定の実施形態では、ユーザ・ノード402と概念ノード404との間のエッジ406は、ユーザ・ノード402に関連付けられているユーザによって、概念ノード404に関連付けられている概念に向かって行われる特定のアクションまたはアクティビティを表すことができる。例として、図4に示すように、ユーザが概念について、「『いいね!』する」、「参加した」、「プレイした」、「聴いた」、「調理した」、「働いた」、または「見た」とすることがあり、これらの各々がエッジ・タイプまたはサブタイプに対応することができるが、これらに限定するものではない。概念ノード404に対応する概念プロ
フィール・ページは、例えば、選択可能な「チェックイン」アイコン(例えば、クリック可能な「チェックイン」アイコンなど)、または選択可能な「お気に入りに追加する」アイコンを含むことができる。同様に、ユーザがこれらのアイコンをクリックした後、各アクションに対応するユーザのアクションに応答して、ソーシャル・ネットワーキング・システム360が、「お気に入り」エッジまたは「チェックイン」エッジを作成することができる。別の例として、ユーザ(ユーザ「C」)が、特定のアプリケーション(オンライン音楽アプリケーションであるSPOTIFY)を使用して特定の歌(「Ramble On」)を聴くことがあるが、これに限定するものではない。この場合、ソーシャル・ネットワーキング・システム360が、ユーザに対応するユーザ・ノード402と、歌およびアプリケーションに対応する概念ノード404との間に(図4に示すように)「聴いた」エッジ406および「使用した」エッジを作成して、ユーザが歌を聴き、アプリケーションを使用したことを示すことができる。さらに、ソーシャル・ネットワーキング・システム360は、歌およびアプリケーションに対応する概念ノード404間に(図4に示すように)「プレイした」エッジ406を作成して、特定の歌が特定のアプリケーションによってプレイされたことを示すことができる。この場合、「プレイした」エッジ406が、外部音声ファイル(歌「Imagine」)に対して外部アプリケーション(SPOTIFY)によって行われたアクションに対応する。この開示は、ユーザ・ノード402および概念ノード404を接続する特定の属性を有する特定のエッジ406を説明するが、この開示は、ユーザ・ノード402および概念ノード404を接続する任意の好適な属性を有する任意の好適なエッジ406を検討する。さらに、この開示は、単一の関係を表すユーザ・ノード402と概念ノード404との間のエッジを説明するが、この開示は、1つまたは複数の関係を表すユーザ・ノード402と概念ノード404との間のエッジを検討する。例として、エッジ406は、ユーザが「いいね!」と表明することと、特定の概念で使用したことをともに表すことがあるが、これに限定するものではない。あるいは、別のエッジ406は、(図4においてユーザ「E」のユーザ・ノード402と「SPOTIFY」の概念ノード404との間に示すように)ユーザ・ノード402と概念ノード404との間の関係(または複数の単一関係)の各タイプを表すことができる。
特定の実施形態では、ソーシャル・ネットワーキング・システム360が、ソーシャル・グラフ400においてユーザ・ノード402と概念ノード404との間にエッジ406を作成することができる。例として、(例えば、ウェブ・ブラウザまたはユーザのクライアント・システム330によってホストされる特殊用途のアプリケーションを使用することによって)概念プロフィールのページを見ているユーザが、「いいね!」アイコンをクリックすること、または選択することによって、概念ノード404によって表される概念に「いいね!」と表明することを示すことができ、これによりユーザのクライアント・システム330がソーシャル・ネットワーキング・システム360に、概念プロフィール・ページに関連付けられている概念にユーザが「いいね!」と表明していることを示すメッセージを送信するようにするが、これに限定するものではない。メッセージに応答して、ソーシャル・ネットワーキング・システム360が、ユーザと概念ノード404との間の「いいね!」エッジ406で示されるように、ユーザに関連付けられているユーザ・ノード402と、概念ノード404との間にエッジ406を作成することができる。特定の実施形態では、ソーシャル・ネットワーキング・システム360は、1つまたは複数のデータ・ストアにエッジ406を記憶することができる。特定の実施形態では、エッジ406が、特定のユーザアクションに応答して、ソーシャル・ネットワーキング・システム360によって自動的に形成されることが可能である。例として、第1のユーザが写真をアップロードする、映画を見る、または歌を聴く場合、第1のユーザに対応するユーザ・ノード402とそれらの概念に対応する概念ノード404との間に、エッジ406が形成されることが可能であるが、これに限定するものではない。この開示は、特定の方法で特定のエッジ406を形成することを説明するが、この開示は、任意の方法で任意の好適なエッジ406を形成することを検討する。
特定の実施形態において、広告は、テキスト(HTMLのリンクであってもよい)、1つもしくは複数のイメージ(HTMLのリンクであってもよい)、1つもしくは複数の動画、オーディオ、1つもしくは複数のADOBE FLASHファイル、これらの適切な組み合わせ、または1つもしくは複数のウェブ・ページに提示された任意の適切なデジタルフォーマットにおける、1つもしくは複数のeメールにおける、もしくはユーザによって要求された検索結果に関する、任意の他の適切な広告であってもよい。加えてまたは代替として、広告は、1つまたは複数のスポンサー記事(例えば、ソーシャル・ネットワーキング・システム360に関するニュースフィードまたはティッカーアイテム)であってもよい。スポンサー記事は、広告主が、例えば、ユーザのプロファイルページもしくは他のページの事前に決められたエリア内に提示され、広告主に関連付けられている付加的な情報と共に提示され、他のユーザのニュースフィードもしくはティッカー内で上昇したもしくは他の方法で強調され、または他の方法で促進された、ソーシャルアクションを有することによって、促進するユーザによるソーシャルアクション(ページに「いいね」と表明すること、ページの投稿に「いいね」と表明することもしくはコメントすること、ページに関連付けられているイベントに返答を求めること、ページに投稿された質問に投票すること、場所にチェックインすること、アプリケーションを使用することもしくはゲームをすること、またはウェブサイトに「いいね」と表明することもしくはウェブサイトを共有することなど)であってもよい。広告主は、ソーシャルアクションが促進されるようお金を支払ってもよい。限定ではなく例として、広告は、検索結果ページの検索結果内に含まれていてもよく、スポンサーのコンテンツは、スポンサーなしのコンテンツより促進されてもよい。
特定の実施形態において、広告は、ソーシャル・ネットワーキング・システムのウェブ・ページ、サードパーティのウェブ・ページ、または他のページ内に表示するよう要求されてもよい。広告は、ページのトップのバナーエリア、ページの側部のコラム、ページのGUI、ポップアップ・ウィンドウ、ドロップ・ダウン型メニュー、ページの入力フィールド、ページのコンテンツのトップの上、またはページに関する他の場所などページの専用部分に表示されてもよい。加えてまたは代替として、広告は、アプリケーション内に表示されてもよい。広告は、専用ページ内に表示されてもよく、ユーザに広告との対話、または広告を見ることを要求し、その後、ユーザは、ページにアクセスし、アプリケーションを利用することができる。ユーザは、例えば、ウェブ・ブラウザを通じて広告を閲覧することができる。
図5は、一例のコンピュータ・システム500を示す。特定の実施形態では、1つまたは複数のコンピュータ・システム500が、本明細書で説明する、または例示する1つまたは複数の方法の1つまたは複数のステップを行う。特定の実施形態では、1つまたは複数のコンピュータ・システム500は、本明細書で説明する、または例示する機能を提供する。特定の実施形態では、1つまたは複数のコンピュータ・システム500で動作しているソフトウェアが、本明細書で説明する、もしくは例示する1つもしくは複数の方法の1つもしくは複数のステップを行う、または本明細書で説明する、もしくは例示する機能を提供する。特定の実施形態は、1つまたは複数のコンピュータ・システム500の1つまたは複数の部分を含む。本明細書では、コンピュータ・システムへの言及は、コンピュータ・デバイスを含むことがあり、必要に応じて、逆もまた同様である。さらに、コンピュータ・システムへの言及は、必要に応じて、1つまたは複数のコンピュータ・システムを含むことがある。
この開示は、任意の好適な数のコンピュータ・システム500を検討する。この開示は、任意の好適な物理的形状を呈するコンピュータ・システム500を検討する。例として、コンピュータ・システム500は、埋め込み式コンピュータ・システム、システム・オ
ン・チップ(SOC)、シングル・ボード・コンピュータ・システム(SBC)(例えば、コンピュータ・オン・モジュール(COM)もしくはシステム・オン・モジュール(SOM)など)、デスクトップ・コンピュータ・システム、ラップトップもしくはノートブック・コンピュータ・システム、インタラクティブ・キオスク、メインフレーム、コンピュータ・システムのメッシュ、携帯電話、携帯情報端末(PDA)、サーバ、タブレット・コンピュータ・システム、またはこれらの2つ以上の組合せとすることができるが、これらに限定するものではない。必要に応じて、コンピュータ・システム500は、1つまたは複数のコンピュータ・システム500含む、単一であるまたは分散される、複数の場所にわたる、複数のマシンにわたる、複数のデータセンタにわたる、または1つまたは複数のネットワークに1つもしくは複数のクラウド構成要素を含むことができるクラウドにあることが可能である。必要に応じて、1つまたは複数のコンピュータ・システム500が、本明細書で説明する、または例示する1つまたは複数の方法の1つまたは複数のステップを、実質的な空間的または時間的制限なく行うことができる。例として、1つまたは複数のコンピュータ・システム500が、リアル・タイムで、またはバッチ・モードで、本明細書で説明する、または例示する1つまたは複数の方法の1つまたは複数のステップを行うことができるが、これに限定するものではない。1つまたは複数のコンピュータ・システム500は、必要に応じて、本明細書に記載する、または例示する1つまたは複数の方法の1つまたは複数のステップを、様々な時間に、または様々な場所で、行うことができる。
特定の実施形態では、コンピュータ・システム500は、プロセッサ502と、メモリ504と、ストレージ506と、入力/出力(I/O)インタフェース508と、通信インタフェース510と、バス512とを含む。この開示は、特定の配置で特定の数の特定の構成要素を有する特定のコンピュータ・システムを説明し、例示するが、この開示は、任意の好適な配置で任意の好適な数の任意の好適な構成要素を有する任意の好適なコンピュータ・システムを検討する。
特定の実施形態では、プロセッサ502は、例えばコンピュータ・プログラムを作り上げる命令などの命令を実行するためのハードウェアを含む。例として、命令を実行するために、プロセッサ502は、内部レジスタ、内部キャッシュ、メモリ504、またはストレージ506から命令を取り出す(またはフェッチする)、これらを復号して実行する、次いで1つまたは複数の結果を内部レジスタ、内部キャッシュ、メモリ504、またはストレージ506に書き込むことができるが、これらに限定するものではない。特定の実施形態では、プロセッサ502は、データ、命令、またはアドレス用の1つまたは複数の内部キャッシュを含むことができる。この開示は、必要に応じて、任意の好適な数の任意の好適な内部キャッシュを含んだプロセッサ502を検討する。例として、プロセッサ502は、1つもしくは複数の命令キャッシュ、1つもしくは複数のデータ・キャッシュ、および1つもしくは複数のトランスレーション・ルックアサイド・バッファ(TLB:translation lookaside buffers)を含むことができるが、これに限定するものではない。命令キャッシュ中の命令は、メモリ504またはストレージ506中の命令のコピーとすることができ、命令キャッシュは、プロセッサ502によるこれらの命令の取出をスピード・アップすることができる。データ・キャッシュ中のデータは、プロセッサ502で実行される命令が動作するためのメモリ504またはストレージ506中のデータのコピー、プロセッサ502で実行されるその後の命令によるアクセスのための、またはメモリ504もしくはストレージ506に書き込むための、プロセッサ502で実行された以前の命令の結果、あるいはその他の好適なデータであることがある。データ・キャッシュは、プロセッサ502による読み取り動作または書き込み動作をスピード・アップすることができる。TLBは、プロセッサ502の仮想アドレス変換をスピード・アップすることができる。特定の実施形態では、プロセッサ502は、データ、命令、またはアドレス用の1つまたは複数の内部レジスタを含むことができる。この開
示は、必要に応じて、任意の好適な数の任意の好適な内部レジスタを含んだプロセッサ502を検討する。必要に応じて、プロセッサ502は、1つもしくは複数の算術論理演算ユニット(ALU)を含む、マルチ・コア・プロセッサである、または1つもしくは複数のプロセッサ502を含むことができる。この開示は、特定のプロセッサを説明し、例示するが、この開示は、任意の好適なプロセッサを検討する。
特定の実施形態では、メモリ504は、プロセッサ502が実行する命令、またはプロセッサ502が動作するデータを記憶するためのメイン・メモリを含む。例として、コンピュータ・システム500は、ストレージ506または別のソース(例えば、別のコンピュータ・システム500など)からメモリ504に命令をロードすることができるが、これに限定するものではない。プロセッサ502は次いで、メモリ504から内部レジスタまたは内部キャッシュに命令をロードすることができる。命令を実行するために、プロセッサ502は、内部レジスタまたは内部キャッシュから命令を取り出し、これを復号することができる。命令中に、または命令後に、プロセッサ502は、1つまたは複数の結果(中間結果または最終結果であることがある)を内部レジスタまたは内部キャッシュに書き込むことができる。プロセッサ502は次いで、これらの結果の1つまたは複数をメモリ504に書き込むことができる。特定の実施形態では、プロセッサ502は、1つもしくは複数の内部レジスタまたは内部キャッシュ中の、または(ストレージ506または他の場所とは対照的に)メモリ504中の命令のみを実行し、1つもしくは複数の内部レジスタまたは内部キャッシュ中の、または(ストレージ506または他の場所とは対照的に)メモリ504中のデータ上でのみ動作する。1つまたは複数のメモリ・バス(それぞれアドレス・バスと、データ・バスとを含むことができる)が、プロセッサ502をメモリ504に結合することができる。バス512は、以下に説明するように、1つまたは複数のメモリ・バスを含むことができる。特定の実施形態では、1つまたは複数のメモリ管理ユニット(MMU)が、プロセッサ502とメモリ504との間にあり、プロセッサ502によって要求されるメモリ504へのアクセスを容易にする。特定の実施形態では、メモリ504は、ランダム・アクセス・メモリ(RAM)を含む。このRAMは、必要に応じて、揮発性メモリとすることができる。必要に応じてこのRAMは、ダイナミックRAM(DRAM)、またはスタティックRAM(SRAM)とすることができる。さらに、必要に応じて、このRAMは、シングル・ポートの、またはマルチ・ポートのRAMとすることができる。この開示は、任意の好適なRAMを検討する。メモリ504は、必要に応じて、1つまたは複数のメモリ504を含むことができる。この開示は、特定のメモリを説明し、例示するが、この開示は、任意の好適なメモリを検討する。
特定の実施形態では、ストレージ506は、データまたは命令用の大容量記憶装置を含む。例として、ストレージ506は、ハード・ディスク・ドライブ(HDD)、フロッピー(登録商標)・ディスク・ドライブ、フラッシュ・メモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサル・シリアル・バス(USB)ドライブ、またはこれらの2つ以上の組合せを含むことができるが、これらに限定するものではない。ストレージ506は、必要に応じて、取り外し可能なまたは取り外し不可能な(または固定の)媒体を含むことができる。ストレージ506は、必要に応じて、コンピュータ・システム500の内部に、または外部にあることが可能である。特定の実施形態では、ストレージ506は、不揮発性の、ソリッド・ステート・メモリである。特定の実施形態では、ストレージ506は、リード・オンリ・メモリ(ROM)を含む。必要に応じて、このROMは、マスク・プログラムされたROM、プログラマブルROM(PROM)、消去可能なPROM(EPROM)、電気的に消去可能なPROM(EEPROM)、電気的に書き換え可能なROM(EAROM)、またはフラッシュ・メモリ、またはこれらの2つ以上の組合せとすることができる。この開示は、任意の好適な物理的形状を呈する大容量記憶装置506を検討する。ストレージ506は、必要に応じて、プロセッサ502とストレージ506との通信を容易にする1つまたは複数のストレージ制御ユニットを含むことがで
きる。必要に応じて、ストレージ506は、1つまたは複数のストレージ506を含むことができる。この開示は、特定のストレージを説明し、例示するが、この開示は、任意の好適なストレージを検討する。
特定の実施形態では、I/Oインタフェース508は、コンピュータ・システム500と1つまたは複数のI/Oデバイスとの通信のための1つまたは複数のインタフェースを提供するハードウェア、ソフトウェア、または両方を含む。コンピュータ・システム500は、必要に応じて、これらのI/Oデバイスの1つまたは複数を含むことができる。これらのI/Oデバイスの1つまたは複数が、人とコンピュータ・システム500との通信を可能にすることができる。例として、I/Oデバイスは、キーボード、キーパッド、マイク、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチルカメラ、スタイラス、タブレット、タッチ・スクリーン、トラックボール、ビデオ・カメラ、別の好適なI/Oデバイス、またはこれらの2つ以上の組合せを含むことができるが、これらに限定するものではない。I/Oデバイスは、1つまたは複数のセンサを含むことができる。この開示は、任意の好適なI/Oデバイス、およびそれらのための任意の好適なI/Oインタフェース508を検討する。必要に応じて、I/Oインタフェース508は、プロセッサ502がこれらのI/Oデバイスの1つまたは複数を駆動できるようにする1つもしくは複数のデバイスまたはソフトウェア・ドライバを含むことができる。I/Oインタフェース508は、必要に応じて、1つまたは複数のI/Oインタフェース508を含むことができる。この開示は、特定のI/Oインタフェースを説明し、例示するが、この開示は、任意の好適なI/Oインタフェースを検討する。
特定の実施形態では、通信インタフェース510は、コンピュータ・システム500と、1つもしくは複数の他のコンピュータ・システム500または1つもしくは複数のネットワークとの通信(例えば、パケット・ベースの通信など)のための1つまたは複数のインタフェースを提供するハードウェア、ソフトウェア、または両方を含む。例として、通信インタフェース510は、イーサネット(登録商標)もしくは他の有線によるネットワークと通信するための、ネットワーク・インタフェース・コントローラ(NIC)もしくはネットワーク・アダプタ、またはWi−Fiネットワークなどの無線ネットワークと通信するための、無線NIC(WNIC)もしくは無線アダプタを含むことができるが、これらに限定するものではない。この開示は、任意の好適なネットワーク、およびそのための任意の好適な通信インタフェース510を検討する。例として、コンピュータ・システム500は、アド・ホック・ネットワーク、パーソナル・エリア・ネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、メトロポリタン・エリア・ネットワーク(MAN)、またはインターネットの1つもしくは複数の部分、またはこれらの2つ以上の組合せと通信することができるが、これらに限定するものではない。これらのネットワークの1つまたは複数の1つまたは複数の部分は、有線または無線とすることができる。例として、コンピュータ・システム500は、無線PAN(WPAN)(例えば、BLUETOOTH(登録商標)WPANなど)、Wi−Fiネットワーク、Wi−MAXネットワーク、携帯電話ネットワーク(例えば、Global System for Mobile Communications(GSM(登録商標))ネットワークなど)、または他の好適な無線ネットワーク、またはこれらの2つ以上の組合せと通信することができる。コンピュータ・システム500は、必要に応じて、これらのネットワークのいずれかのための任意の好適な通信インタフェース510を含むことができる。通信インタフェース510は、必要に応じて、1つまたは複数の通信インタフェース510を含むことができる。この開示は、特定の通信インタフェースを説明し、例示するが、この開示は、任意の好適な通信インタフェースを検討する。
特定の実施形態では、バス512は、コンピュータ・システム500の構成要素を互い
に結合するハードウェア、ソフトウェア、または両方を含む。例として、バス512は、アクセラレーテッド・グラフィックス・ポート(AGP)もしくは他のグラフィックス・バス、拡張業界標準アーキテクチャ(EISA)バス、フロント・サイド・バス(FSB)、HYPERTRANSPORT(HT)インターコネクト、業界標準アーキテクチャ(ISA)バス、INFINIBANDインターコネクト、ロー・ピン・カウント(LPC)バス、メモリ・バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、ペリフェラル・コンポーネント・インターコネクト(PCI)バス、PCIエクスプレス(PCIe)バス、シリアル・アドバンスト・テクノロジ・アーキテクチャ(SATA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション・ローカル(VLB)バス、または別の好適なバス、またはこれらの2つ以上の組合せを含むことができるが、これらに限定するものではない。バス512は、必要に応じて、1つまたは複数のバス512を含むことができる。この開示は、特定のバスを説明し、例示するが、この開示は、任意の好適なバスまたはインターコネクトを検討する。
本明細書では、(1つまたは複数の)非一時的コンピュータ可読記憶媒体は、1つまたは複数の半導体ベースの、または他の集積回路(IC)(例えば、フィールド・プログラマブル・ゲート・アレイ(FPGA)もしくは特定用途向けIC(ASIC)など)、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスク・ドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピー(登録商標)・ディスケット、フロッピー(登録商標)・ディスク・ドライブ(FDD)、磁気テープ、ソリッド・ステート・ドライブ(SSD)、RAMドライブ、SECURE DIGITALカードもしくはドライブ、任意の他の好適な非一時的コンピュータ可読記憶媒体、またはこれらの2つ以上の任意の好適な組合せを含むことができる。非一時的コンピュータ可読記憶媒体は、必要に応じて、揮発性、不揮発性、または揮発性と不揮発性の組合せとすることができる。
本明細書では、「または」は、明示的に別段の指示がある、または文脈によって別段の指示がある場合を除き、包括的であって、排他的ではない。従って、本明細書では、「AまたはB」は、明示的に別段の指示がある、または文脈によって別段の指示がある場合を除き、「A、B、または両方」を意味する。さらに、「および」は、明示的に別段の指示がある、または文脈によって別段の指示がある場合を除き、共同的かつ個別的である。従って、本明細書では、「AおよびB」は、明示的に別段の指示がある、または文脈によって別段の指示がある場合を除き、「共同的にまたは個別的に、AおよびB」を意味する。
この開示の範囲は、本明細書に説明する、または例示する例示的実施形態へのすべての変化、代用、変形、改変、および変更を包むことを、当業者は理解するであろう。この開示の範囲は、本明細書に説明する、または例示する例示的実施形態に限定されない。さらに、この開示は、本明細書において特定の構成要素、要素、機能、動作、またはステップを含むものとして、各実施形態を説明し、例示するが、これらの実施形態のいずれも、本明細書のどこかに説明する、または例示する構成要素、要素、機能、動作、またはステップのいずれかのいかなる組合せまたは置換も含むことができることを、当業者は理解するであろう。さらに、添付の特許請求の範囲における、装置またはシステムまたは装置もしくはシステムの構成要素が、特定の機能を行うように適合される、整えられる、能力がある、構成される、有効にされる、動作可能である、または動作することへの言及は、装置、システム、または構成要素がそのように適合される、整えられる、能力がある、構成される、有効にされる、動作可能である、または動作する限り、その装置、システム、構成要素が、それ自体であれ、その特定の機能であれ、作動される、オンにされる、またはロック解除されることを含む。

Claims (20)

  1. コンピューティング・デバイスが、前記コンピューティング・デバイスに関連付けられている画面の表示可能領域におけるコンテンツ・レイアウトの第1の部分におけるコンテンツの要求を受信する工程と、
    前記コンピューティング・デバイスが、前記コンテンツ・レイアウトの第2の部分に対する表示オブジェクトの選択される少なくとも1つの要素をプレインフレートする工程であって、前記表示オブジェクトは前記コンテンツ・レイアウトに関連付けられており、選択される前記少なくとも1つの要素の選択は、前記表示可能領域の寸法、前記コンピューティング・デバイスの利用可能なメモリ、またはアプリケーション固有の規則に基づく、工程と、
    前記コンピューティング・デバイスが、プレインフレートされた前記少なくとも1つの要素をアプリケーションに適合したリサイクラーに記憶する工程と、
    前記コンピューティング・デバイスが、前記コンテンツ・レイアウトの前記第2の部分に対するコンテンツの要求に応じて、プレインフレートされた前記少なくとも1つの要素を前記アプリケーションに適合したリサイクラーから取り出す工程と、
    前記コンピューティング・デバイスが、前記コンテンツ・レイアウトの前記第2の部分に対する必要に応じて前記表示オブジェクトの他の要素を更新する工程と、
    前記コンピューティング・デバイスが、前記表示オブジェクトを返す工程と、
    を備える方法。
  2. 前記表示可能領域は、前記画面の寸法、前記画面のアスペクト比、レンダリングされるコンテンツの種類、アプリケーション固有の因子、ユーザに構成される設定、またはユーザの好みに基づいて決定される、請求項1に記載の方法。
  3. 前記コンテンツ・レイアウトは、リストまたはグリッドを含み、アプリケーション固有の規則は、要素をプレインフレートする増分を設定し、前記増分は、前記表示可能領域に収まるリストまたはグリッド・アイテムの数によって定義される倍量単位である、請求項1に記載の方法。
  4. 前記倍量は、ユーザ固有の利用パターンにさらに基づく、請求項3に記載の方法。
  5. 前記倍量は、コンテンツ属性にさらに基づく、請求項3に記載の方法。
  6. 前記アプリケーション固有の規則は、各要素をプレインフレートするコストに基づき要素の優先順位を決定し、要素をプレインフレートする前記コストは、前記要素の寸法、前記要素の複雑性、前記要素が更新される必要のある頻度、前記コンピューティング・デバイスのプラットフォームの能力、または前記コンピューティング・デバイスの構成を含む因子に基づく、請求項1に記載の方法。
  7. アプリケーション固有の規則は、前記コンピューティング・デバイスの利用可能なメモリに基づき、プレインフレートするために選択される要素の数を調節する、請求項1に記載の方法。
  8. ソフトウェアを具現する1以上の非一時的なコンピュータ可読記憶媒体であって、
    前記ソフトウェアは実行時、
    コンピューティング・デバイスに関連付けられている画面の表示可能領域におけるコンテンツ・レイアウトの第1の部分におけるコンテンツの要求を受信する工程と、
    前記コンテンツ・レイアウトの第2の部分に対する表示オブジェクトの選択される少なくとも1つの要素をプレインフレートする工程であって、前記表示オブジェクトは前記コ
    ンテンツ・レイアウトに関連付けられており、選択される前記少なくとも1つの要素の選択は、前記表示可能領域の寸法、前記コンピューティング・デバイスの利用可能なメモリ、またはアプリケーション固有の規則に基づく、工程と、
    プレインフレートされた前記少なくとも1つの要素をアプリケーションに適合したリサイクラーに記憶する工程と、
    前記コンテンツ・レイアウトの前記第2の部分に対するコンテンツの要求に応じて、プレインフレートされた前記少なくとも1つの要素を前記アプリケーションに適合したリサイクラーから取り出す工程と、
    前記コンテンツ・レイアウトの前記第2の部分に対する必要に応じて前記表示オブジェクトの他の要素を更新する工程と、
    前記表示オブジェクトを返す工程と、
    を行うように動作可能である、媒体。
  9. 前記表示可能領域は、前記画面の寸法、前記画面のアスペクト比、レンダリングされるコンテンツの種類、アプリケーション固有の因子、ユーザに構成される設定、またはユーザの好みに基づいて決定される、請求項8に記載の媒体。
  10. 前記コンテンツ・レイアウトは、リストまたはグリッドを含み、アプリケーション固有の規則は、要素をプレインフレートする増分を設定し、前記増分は、前記表示可能領域に収まるリストまたはグリッド・アイテムの数によって定義される倍量単位である、請求項8に記載の媒体。
  11. 前記倍量は、ユーザ固有の利用パターンにさらに基づく、請求項10に記載の媒体。
  12. 前記倍量は、コンテンツ属性にさらに基づく、請求項10に記載の媒体。
  13. 前記アプリケーション固有の規則は、各要素をプレインフレートするコストに基づき要素の優先順位を決定し、要素をプレインフレートする前記コストは、前記要素の寸法、前記要素の複雑性、前記要素が更新される必要のある頻度、前記コンピューティング・デバイスのプラットフォームの能力、または前記コンピューティング・デバイスの構成を含む因子に基づく、請求項8に記載の媒体。
  14. アプリケーション固有の規則は、前記コンピューティング・デバイスの利用可能なメモリに基づき、プレインフレートするために選択される要素の数を調節する、請求項8に記載の媒体。
  15. コンピューティング・デバイスであって、
    1つ以上のプロセッサと、
    前記プロセッサに結合されており、前記プロセッサによって実行可能な命令を含むメモリと、を備え、前記プロセッサは、前記命令を実行する時、
    前記コンピューティング・デバイスに関連付けられている画面の表示可能領域におけるコンテンツ・レイアウトの第1の部分におけるコンテンツの要求を受信する工程と、
    前記コンテンツ・レイアウトの第2の部分に対する表示オブジェクトの選択される少なくとも1つの要素をプレインフレートする工程であって、前記表示オブジェクトは前記コンテンツ・レイアウトに関連付けられており、選択される前記少なくとも1つの要素の選択は、前記表示可能領域の寸法、前記コンピューティング・デバイスの利用可能なメモリ、またはアプリケーション固有の規則に基づく、工程と、
    プレインフレートされた前記少なくとも1つの要素をアプリケーションに適合したリサイクラーに記憶する工程と、
    前記コンテンツ・レイアウトの前記第2の部分に対するコンテンツの要求に応じて、プ
    レインフレートされた前記少なくとも1つの要素を前記アプリケーションに適合したリサイクラーから取り出す工程と、
    前記コンテンツ・レイアウトの前記第2の部分に対する必要に応じて前記表示オブジェクトの他の要素を更新する工程と、
    前記表示オブジェクトを返す工程と
    を行うように動作可能である、デバイス。
  16. 前記表示可能領域は、前記画面の寸法、前記画面のアスペクト比、レンダリングされるコンテンツの種類、アプリケーション固有の因子、ユーザに構成される設定、またはユーザの好みに基づいて決定される、請求項15に記載のデバイス。
  17. 前記コンテンツ・レイアウトは、リストまたはグリッドを含み、アプリケーション固有の規則は、要素をプレインフレートする増分を設定し、前記増分は、前記表示可能領域に収まるリストまたはグリッド・アイテムの数によって定義される倍量単位である、請求項15に記載のデバイス。
  18. 前記倍量は、ユーザ固有の利用パターンまたはコンテンツ属性に基づく、請求項17に記載のデバイス。
  19. 前記アプリケーション固有の規則は、各要素をプレインフレートするコストに基づき要素の優先順位を決定し、要素をプレインフレートする前記コストは、前記要素の寸法、前記要素の複雑性、前記要素が更新される必要のある頻度、前記コンピューティング・デバイスのプラットフォームの能力、または前記コンピューティング・デバイスの構成を含む因子に基づく、請求項15に記載のデバイス。
  20. アプリケーション固有の規則は、前記コンピューティング・デバイスの利用可能なメモリに基づき、プレインフレートするために選択される要素の数を調節する、請求項15に記載のデバイス。
JP2016508957A 2013-04-15 2014-04-03 アプリケーションに適合したオブジェクトのプレインフレート Active JP6412109B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/862,960 2013-04-15
US13/862,960 US10126903B2 (en) 2013-04-15 2013-04-15 Application-tailored object pre-inflation
PCT/US2014/032823 WO2014172114A1 (en) 2013-04-15 2014-04-03 Application-tailored object pre-inflation

Publications (2)

Publication Number Publication Date
JP2016522907A true JP2016522907A (ja) 2016-08-04
JP6412109B2 JP6412109B2 (ja) 2018-10-24

Family

ID=51687675

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016508957A Active JP6412109B2 (ja) 2013-04-15 2014-04-03 アプリケーションに適合したオブジェクトのプレインフレート

Country Status (11)

Country Link
US (1) US10126903B2 (ja)
EP (1) EP2987074B1 (ja)
JP (1) JP6412109B2 (ja)
KR (1) KR102001848B1 (ja)
CN (1) CN105283835B (ja)
AU (1) AU2014254368B2 (ja)
BR (1) BR112015026174A2 (ja)
CA (1) CA2909075C (ja)
IL (1) IL241996B (ja)
MX (1) MX363929B (ja)
WO (1) WO2014172114A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160321230A1 (en) * 2015-04-29 2016-11-03 Facebook, Inc. Generating a data table
US10346511B2 (en) * 2016-06-01 2019-07-09 Taboola.Com Ltd. Scalable content rendering
CN107038201A (zh) * 2016-12-26 2017-08-11 阿里巴巴集团控股有限公司 个人主页的显示方法、装置、终端及服务器
JP6919509B2 (ja) * 2017-11-09 2021-08-18 コニカミノルタ株式会社 表示装置、画像処理装置、表示システム及びプログラム
CN110096320B (zh) * 2018-01-29 2023-09-29 华为技术有限公司 认证窗口的显示方法和装置
KR102192934B1 (ko) * 2018-08-08 2020-12-18 엔에이치엔 주식회사 사용자 단말기에 웹 페이지를 제공하는 네트워크 서버 및 방법
US11301780B2 (en) 2019-02-15 2022-04-12 Samsung Electronics Co., Ltd. Method and electronic device for machine learning based prediction of subsequent user interface layouts

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962570A (ja) * 1995-08-29 1997-03-07 Fuji Xerox Co Ltd データベース管理装置及び方法
JP2001105671A (ja) * 1999-10-05 2001-04-17 Fuji Xerox Co Ltd 画像処理装置、画像処理方法、画像形成装置
JP2002175142A (ja) * 2000-12-08 2002-06-21 Fuji Xerox Co Ltd Gui装置およびgui画面表示プログラムを記録した記憶媒体
US20060242557A1 (en) * 2003-06-03 2006-10-26 Nortis Iii Forbes H Flexible, dynamic menu-based web-page architecture
JP2007265164A (ja) * 2006-03-29 2007-10-11 Nec Corp 高効率キャッシュシステム、高効率キャッシュ格納方法、及び高効率キャッシュ操作プログラム

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07219738A (ja) 1994-02-03 1995-08-18 Matsushita Electric Ind Co Ltd 情報処理装置
US5608909A (en) 1994-04-15 1997-03-04 Microsoft Corporation Method and system for caching presentation data of a source object in a presentation cache
US5794016A (en) 1995-12-11 1998-08-11 Dynamic Pictures, Inc. Parallel-processor graphics architecture
US6085226A (en) 1998-01-15 2000-07-04 Microsoft Corporation Method and apparatus for utility-directed prefetching of web pages into local cache using continual computation and user models
US6182133B1 (en) 1998-02-06 2001-01-30 Microsoft Corporation Method and apparatus for display of information prefetching and cache status having variable visual indication based on a period of time since prefetching
US6105111A (en) * 1998-03-31 2000-08-15 Intel Corporation Method and apparatus for providing a cache management technique
US6173316B1 (en) 1998-04-08 2001-01-09 Geoworks Corporation Wireless communication device with markup language based man-machine interface
US7392308B2 (en) 1999-09-10 2008-06-24 Ianywhere Solutions, Inc. System, method, and computer program product for placement of channels on a mobile device
JP3948911B2 (ja) 2001-05-30 2007-07-25 富士通株式会社 視野データに従う仮想空間におけるリンクされた複数の情報オブジェクトの表示
US6912533B1 (en) 2001-07-31 2005-06-28 Oracle International Corporation Data mining agents for efficient hardware utilization
US20040205514A1 (en) 2002-06-28 2004-10-14 Microsoft Corporation Hyperlink preview utility and method
DE10394189T5 (de) 2003-03-17 2006-02-02 Mitsubishi Denki K.K. Numeriksteuersystem
US6978147B2 (en) * 2003-03-19 2005-12-20 Motorola, Inc. Wireless messaging device with selectable scroll display and message pre-fetch
US7870100B2 (en) 2003-06-10 2011-01-11 International Business Machines Corporation Methods and systems for publishing electronic documents with automatic fragment detection
EP1652071A2 (en) 2003-07-11 2006-05-03 Computer Associates Think, Inc. System and method for dynamic generation of a graphical user interface
US9098475B2 (en) 2003-08-20 2015-08-04 Xerox Corporation Apparatus and method for generating reusable composite components during dynamic document construction
US8103742B1 (en) 2003-11-24 2012-01-24 Amazon Technologies, Inc. Deferred and off-loaded rendering of selected portions of web pages to incorporate late-arriving service data
US7430340B2 (en) 2004-03-16 2008-09-30 Advanced Tracking Technologies, Inc. Geographic information data base engine
EP1836584A4 (en) 2004-11-16 2009-05-06 Zalag Corp DISPLAY / PRESENTATION METHODS AND DEVICES CORRESPONDING TO CONTENT ELEMENTS AND DISPLAY CONTAINERS
US7975019B1 (en) 2005-07-15 2011-07-05 Amazon Technologies, Inc. Dynamic supplementation of rendered web pages with content supplied by a separate source
JP2007058755A (ja) 2005-08-26 2007-03-08 Dainippon Screen Mfg Co Ltd 電子掲示板システム、電子掲示板システムのサーバー、電子掲示板システムのクライアントにおけるスレッド表示処理方法、およびプログラム
US8402094B2 (en) 2006-08-11 2013-03-19 Facebook, Inc. Providing a newsfeed based on user affinity for entities and monitored actions in a social network environment
US8102398B2 (en) 2006-03-03 2012-01-24 Ati Technologies Ulc Dynamically controlled power reduction method and circuit for a graphics processor
US20070297560A1 (en) 2006-03-03 2007-12-27 Telesecurity Sciences, Inc. Method and system for electronic unpacking of baggage and cargo
JP2007286745A (ja) 2006-04-13 2007-11-01 Canon Inc 画像形成装置、画像形成方法及びプログラム
WO2007132746A1 (ja) 2006-05-11 2007-11-22 Panasonic Corporation 処理装置
US7667719B2 (en) * 2006-09-29 2010-02-23 Amazon Technologies, Inc. Image-based document display
WO2008118613A1 (en) 2007-03-01 2008-10-02 Microsoft Corporation Executing tasks through multiple processors consistently with dynamic assignments
US7818194B2 (en) 2007-04-13 2010-10-19 Salesforce.Com, Inc. Method and system for posting ideas to a reconfigurable website
US8832650B2 (en) 2007-09-26 2014-09-09 Ncr Corporation Automated code generation for an automated teller machine
US20090182618A1 (en) 2008-01-16 2009-07-16 Yahoo! Inc. System and Method for Word-of-Mouth Advertising
US8935620B1 (en) * 2008-03-20 2015-01-13 Amazon Technologies, Inc. Dynamic content management
US8381123B2 (en) * 2008-06-27 2013-02-19 Microsoft Corporation Positioning and realizing of virtualized visible content within a viewport
WO2010001324A2 (en) 2008-06-30 2010-01-07 Mominis Ltd Method of generating and distributing a computer application
US20100023690A1 (en) 2008-07-22 2010-01-28 International Business Machines Corporation Caching dynamic contents and using a replacement operation to reduce the creation/deletion time associated with html elements
CN101436131A (zh) 2008-12-15 2009-05-20 北大方正集团有限公司 一种交互操作软件中实现重复操作的方法及系统
JP5236564B2 (ja) 2009-04-20 2013-07-17 株式会社日立製作所 ソフトウェア再利用支援方法及び装置
US20100281224A1 (en) 2009-05-01 2010-11-04 International Buisness Machines Corporation Prefetching content from incoming messages
US9015619B2 (en) 2009-06-17 2015-04-21 Oracle International Corporation Pop-up panel for multiple messages
US9213780B2 (en) * 2009-06-26 2015-12-15 Microsoft Technology Licensing Llc Cache and index refreshing strategies for variably dynamic items and accesses
US8024374B2 (en) 2009-07-24 2011-09-20 Oracle International Corporation Computer object conversion using an intermediate object
US8364611B2 (en) 2009-08-13 2013-01-29 Yahoo! Inc. System and method for precaching information on a mobile device
US20110055683A1 (en) 2009-09-02 2011-03-03 Facebook Inc. Page caching for rendering dynamic web pages
US8826141B2 (en) 2010-02-12 2014-09-02 Blackberry Limited Image-based and predictive browsing
US9075894B2 (en) * 2010-11-01 2015-07-07 Blue Coat Systems, Inc. System and method for identifying web objects unworthy of being cached
US10304066B2 (en) 2010-12-22 2019-05-28 Facebook, Inc. Providing relevant notifications for a user based on location and social information
US20120166532A1 (en) 2010-12-23 2012-06-28 Yun-Fang Juan Contextually Relevant Affinity Prediction in a Social Networking System
JP2012148429A (ja) 2011-01-17 2012-08-09 Canon Inc 印刷データ処理装置、キャッシュ処理方法及びプログラム
US8880592B2 (en) 2011-03-31 2014-11-04 Cloudera, Inc. User interface implementation for partial display update
US9152616B2 (en) 2011-04-28 2015-10-06 Flipboard, Inc. Template-based page layout for web content
US20120284662A1 (en) * 2011-05-04 2012-11-08 Microsoft Corporation Virtualized caching of user interface controls
JP5276145B2 (ja) 2011-06-13 2013-08-28 株式会社ソニー・コンピュータエンタテインメント リスト表示装置
KR101799978B1 (ko) 2011-06-17 2017-11-22 삼성전자주식회사 타일 근접성을 사용하는 타일 기반 렌더링 방법 및 장치
US8922575B2 (en) * 2011-09-09 2014-12-30 Microsoft Corporation Tile cache
US20130124563A1 (en) * 2011-11-16 2013-05-16 Google Inc. Controlling pre-fetching of map data tiles based on selectable parameters
US9852054B2 (en) 2012-04-30 2017-12-26 Vmware, Inc. Elastic caching for Java virtual machines
US9654591B2 (en) 2012-10-01 2017-05-16 Facebook, Inc. Mobile device-related measures of affinity
US9547668B2 (en) * 2012-10-29 2017-01-17 Dropbox, Inc. Event-based content item view
KR20140122292A (ko) 2013-03-28 2014-10-20 삼성전자주식회사 디스플레이 장치의 디스플레이 방법 및 디스플레이 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962570A (ja) * 1995-08-29 1997-03-07 Fuji Xerox Co Ltd データベース管理装置及び方法
JP2001105671A (ja) * 1999-10-05 2001-04-17 Fuji Xerox Co Ltd 画像処理装置、画像処理方法、画像形成装置
JP2002175142A (ja) * 2000-12-08 2002-06-21 Fuji Xerox Co Ltd Gui装置およびgui画面表示プログラムを記録した記憶媒体
US20060242557A1 (en) * 2003-06-03 2006-10-26 Nortis Iii Forbes H Flexible, dynamic menu-based web-page architecture
JP2007265164A (ja) * 2006-03-29 2007-10-11 Nec Corp 高効率キャッシュシステム、高効率キャッシュ格納方法、及び高効率キャッシュ操作プログラム

Also Published As

Publication number Publication date
AU2014254368A1 (en) 2015-11-26
US20140310624A1 (en) 2014-10-16
KR20150143718A (ko) 2015-12-23
CA2909075C (en) 2019-10-08
AU2014254368B2 (en) 2019-03-07
JP6412109B2 (ja) 2018-10-24
CN105283835A (zh) 2016-01-27
KR102001848B1 (ko) 2019-07-19
CN105283835B (zh) 2019-05-31
IL241996B (en) 2019-07-31
EP2987074A1 (en) 2016-02-24
BR112015026174A2 (pt) 2017-07-25
EP2987074A4 (en) 2017-01-25
WO2014172114A1 (en) 2014-10-23
US10126903B2 (en) 2018-11-13
EP2987074B1 (en) 2021-03-03
CA2909075A1 (en) 2014-10-23
MX2015014580A (es) 2016-06-21
MX363929B (es) 2019-04-08

Similar Documents

Publication Publication Date Title
JP6427616B2 (ja) ディスプレイ・オブジェクトの前生成
JP6681867B2 (ja) 関心箇所に応じた画像の切り取り
JP6412109B2 (ja) アプリケーションに適合したオブジェクトのプレインフレート
JP5981075B1 (ja) 画像内のタグの集約
KR102196595B1 (ko) 오프라인 컨텐츠의 생성
JP6488240B2 (ja) 所在地または速度に基づいたユーザ・インターフェースの変更
US20190138331A1 (en) Contextual and Personalized Help
JP6313425B2 (ja) アプリケーションに適合したオブジェクトの再使用およびリサイクル
JP5933864B2 (ja) アプリケーション用ソーシャル・コンテキスト
JP2016532939A (ja) メディア・コンテンツの電子レイアウトの最適化

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170327

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180507

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180904

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180927

R150 Certificate of patent or registration of utility model

Ref document number: 6412109

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