[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2011501299A - 動的に更新される仮想リストビュー - Google Patents

動的に更新される仮想リストビュー Download PDF

Info

Publication number
JP2011501299A
JP2011501299A JP2010530040A JP2010530040A JP2011501299A JP 2011501299 A JP2011501299 A JP 2011501299A JP 2010530040 A JP2010530040 A JP 2010530040A JP 2010530040 A JP2010530040 A JP 2010530040A JP 2011501299 A JP2011501299 A JP 2011501299A
Authority
JP
Japan
Prior art keywords
data
user
block
viewport
speed
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
JP2010530040A
Other languages
English (en)
Other versions
JP2011501299A5 (ja
JP5244911B2 (ja
Inventor
パノンティーニ デ ソウザ サナ ジゼリ
ムケルジー ラジャティシュ
シー.ミクラ スコット
アール.ヴァン イートン ジム
エル.シンプソン ラッセル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2011501299A publication Critical patent/JP2011501299A/ja
Publication of JP2011501299A5 publication Critical patent/JP2011501299A5/ja
Application granted granted Critical
Publication of JP5244911B2 publication Critical patent/JP5244911B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/43Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
    • 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/75Indicating network or usage conditions on the user display

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

ウェブアプリケーションの仮想リストビューは、ウェブに必然的に伴う待ち時間にかかわらず、ユーザが途切れることなく提示されたデータにアクセスし、そのデータを管理することができるように、動的に更新される。仮想リストビューに関連付けられたデータは、ユーザがスクロールすると、チャンクでダウンロードされ、ビューが更新される。ユーザのスクロールと、ダウンロードされる個々のデータチャンクを結び付けることによって、システムリソースは、効率的に利用される。ユーザインタフェース用の追加のユーザインタフェースコントロールが、データの一部への迅速で効率的なアクセスのために採用されて、遅延とシステムリソースの占領を最小限にする。

Description

本発明は、仮想リストビューを動的に更新する方法およびシステムに関する。
ウェブ閲覧アプリケーションは、一般に、リストビューの形でユーザにデータを提示する。例えば、データのページは、キーボード、マウスなどの様々なコントロールを用い、上下にスクロールすることによって見ることができる。可視データは、テキスト、グラフィック、その両方を組み合わせたデータなどを含むことができ、実際にリスト形式(表、箇条書き項目など)でフォーマットしてもよく、自由形式でフォーマットしてもよい。どちらの場合でも、ウェブ閲覧アプリケーションは、任意の大きさの項目リストをユーザに提示することができる。
実際の環境においては、ユーザインタフェースにデータが提示される前に、ユーザがデータへのリンクを選択すると、ウェブアプリケーションは、データ全体のダウンロードを試みるかもしれない。データが大きい場合、利用可能な帯域幅が小さい場合、または、他のシステムリソースがウェブサーバからのデータのダウンロードの制限となっている場合、この方法は、ユーザへのデータの提示に容認できない遅れを生じさせ、実行不可能な場合がある。別の代替的な方法としては、データをグループでダウンロードし、データをダウンロードしながらユーザインタフェースを更新することがある。しかしながら、この方法も、システムが「重くて動きにくい(clunkiness)」になる場合がある。そうなると、提示されたウェブページがばらばらに表示されたり、ユーザが遅れにいらいらしたり、ユーザがデータの特定の部分にしか興味がないのに、システムリソースがデータ全体のダウンロードに不必要に占領されたりする。
この概要は、下記の詳細な説明で詳述するコンセプトの一部を簡単に紹介する。この概要は、請求の主題の主要な特徴や不可欠な特徴を特定することを意図するものではないし、当該主題の範囲を決定するための補助として用いられることを意図するものでもない。
本実施形態では、ウェブアプリケーションの仮想リストビューを動的に更新して、ウェブに必然的に伴う待ち時間にもかかわらず、ユーザが提示されたデータに途切れることなくアクセスし、そのデータを管理できるようにする。仮想リストビューに関連付けられたデータは、チャンク(塊)でダウンロードし、ユーザのスクロールによってビューを更新することができる。ユーザのスクロールとダウンロードする個々のデータチャンクを結び付けることにより、システムリソースを効率的に利用することができる。データの一部に迅速に効率よくアクセスするために、追加のユーザインタフェースコントロールを採用することができ、それによって遅延やシステムリソースの占領を最小限に抑える。
これらの特徴や利点および他の特徴や利点は、下記の詳細な説明を読み、添付図面を参照することで明らかとなる。前述の一般的記述および下記の詳細な記述は、説明のためだけのものであり、特許請求の範囲を制限するものではないことを理解されたい。
サーバとクライアント間におけるウェブアプリケーションのデータの提示を示す概念図である。 仮想リストビューを有するウェブページの一例のスクリーンショットを示す図である。 ある実施形態に従って、図2の仮想リストビューの例と、その前後のデータチャンクを、ビューポートに提示されたチャンクと比較して示す図である。 本実施形態に従って、仮想リストビューを動的に更新するためにチャンクでダウンロードすることができるデータブロックの図である。 データの一部に効率的にアクセスするための追加のユーザインタフェースコントロールを備えた、図2のリストビューの例の別のスクリーンショットを示す図である。 本実施形態を実装することができるネットワーク環境の図である。 本実施形態を実装することができるコンピュータ動作環境の一例を示すブロック図である。 本実施形態に従って仮想リストビューを動的に更新するプロセスの一例を示す論理フロー図である。
上記に簡単に記述したように、ウェブアプリケーションの仮想リストビューは、ユーザのスクロール動作をダウンロードしているデータチャンクと連係させることによって動的に更新することができ、それによってユーザは途切れることなく提示されたデータにアクセスし、そのデータを管理できる。下記の詳細な説明においては、本明細書の一部を構成する添付図面を参照し、具体的な実施形態または実施例を、例として示す。本明細書の開示内容の精神または範囲を逸脱することなく、これらの態様を組み合わせることができ、他の態様を利用することができ、構造を変えることができる。従って、下記の詳細な説明は、限定的な意味で捉えるべきではなく、本発明の範囲は、添付の特許請求の範囲および特許請求の範囲と同等のものによって定義される。
本実施形態は、パーソナルコンピュータのオペレーティングシステムで実行するアプリケーションプログラムと共に実行するプログラムモジュールという一般的なコンテキストで記載するが、態様は他のプログラムモジュールと共に実装することもできることを当業者は理解するであろう。
一般的に、プログラムモジュールはルーチン、プログラム、コンポーネント、データ構造、その他の種類の構造を含むが、それらは特定のタスクを実行する、または、特定の抽象データ型を実装する。さらに、本実施形態は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な消費者家電、ミニコンピュータ、メインフレームコンピュータなどの他のコンピュータシステム構成で実施してもよいことを、当業者は理解するであろう。本実施形態は、通信ネットワークを介してつながった遠隔処理装置でタスクを行う分散コンピューティング環境で実施してもよい。分散コンピューティング環境では、プログラムモジュールは、ローカル記憶装置と遠隔記憶装置の両方に置くことができる。
本実施形態は、コンピュータプロセス(方法)、コンピューティングシステム、または、コンピュータプログラム製品やコンピュータ可読媒体などの製品として、実装することができる。コンピュータプログラム製品は、コンピュータシステムで読み取ることができ、かつ、コンピュータプロセスを実行するコンピュータプログラム命令を符号化するコンピュータ記憶媒体であってよい。
図1を参照すると、サーバとクライアント間におけるウェブアプリケーションでデータを提示するための概念図が示されている。ウェブアプリケーションは、様々なアプリケーションが含まれ、一般的にはクライアント装置/アプリケーション(106)内にユーザインタフェースを有し、サーバ102などのデータソースとデータを交換する。アプリケーションのための実データは、1つまたは複数のデータストア104に常駐することができ、サーバ102によって管理されることができる。
ウェブアプリケーションのユーザインタフェース108によって、ユーザは、データを見たり、ユーザインタフェース108上で操作を行ったり、入力によってデータを変更してデータソースに送り返すことができる。ユーザインタフェースが提示するデータは、様々なフォーマットで、テキストデータ、グラフィックデータ、またはその両方の組合せを含んでよい。例えば、様々な書式の、リスト、表、自由形式テキスト、およびページとして提示してよく、他のフォーマットとして提示してもよい。
下記の実施形態は、上記のようなウェブアプリケーションを参照しているが、下記の実施形態は、ウェブアプリケーションに限定されない。ネットワークを介してデータを交換し、かつ、リストビューフォーマットの形でユーザにデータを提示する任意のアプリケーションで、実施形態に従った動的更新方法を実装することができる。なお、ネットワークにおいては、システムリソースや交換されるデータの量が制限を受ける。そのようなアプリケーションの例としては、クライアント装置にある電子メールアプリケーションがあり、電子メールアプリケーションは、受信した電子メールのコンテンツは主としてサーバに置いたままで、受信した電子メールのリスト(例えば、件名と送信者)をユーザに提供する。このような電子メールアプリケーションは、ウェブアプリケーションである必要はない。イントラネットアプリケーションであっても、異なったネットワークのプロトコル(HTTPである必要はない)を用いても、下記の実施形態を実装することができる。
仮想リストビューの動的更新を実装することができる他のアプリケーションの例には、インスタントメッセージアプリケーション、検索エンジン結果表示などのアプリケーションが含まれるが、これらに限定されない。このようなアプリケーションは、ハイパーテキストマークアップ言語(HTML)での実装にも限定されない。アプリケーション閲覧用の任意の種類のプログラミング言語を用いることができる。さらに、仮想リストビューの幅と高さは、データブロックの行数やスクロール速度などのプロパティに基づいて動的に変更可能であってよい。
図2は、仮想リストビューを有するウェブページの一例のスクリーンショットを示す。上述のように、動的に更新された仮想リストビューは、交換したデータをリスト形式でユーザに提示する任意のユーザインタフェースで実装することができる。
ウェブページ208の例が、一般的なウェブ閲覧ユーザインタフェースによって提示されている。そのユーザインタフェースは、提示されているウェブページのURL(Uniform Resource Locator)212と、メニューコマンド218と、操作アイコン216と、を含む。メインコンテンツは、リストビュー214に提示される。ウェブページの例は、米国特許庁のウェブサイトの特許法の部分である。ご覧のように、そのウェブページは、合衆国法典の長いリストを含み、各行はその法典の個々の条項へのリンクを示している。ユーザインタフェースは、完全なリストの限られた部分だけを提示することができる。リストビューの提示された部分は、ビューポートと呼ばれる。スクロールバー210によって、ユーザはリスト上を上下にスクロールして、リストの異なる部分を見ることができる。
そのリストの例は、単一の行からなるリストであり、リスト全体をクライアントにダウンロードするのに長くはかからないが、多くの場合、完全なリストビューは、単に長すぎて一度の素早い操作ではダウンロードできなかったり、個々の行がさらにデータを含んでいて、ダウンロード操作が、ユーザのスクロール動作に追いつかず、その結果、提示が遅れたり、システムリソースを消耗することになる。
図3は、図2の仮想リストビューの例と、その前後のデータチャンクを、ある実施形態に従ってビューポートに提示されたチャンクと比較して、示している。
本実施形態に従ったウェブ閲覧アプリケーションにおいては、仮想リストビューは、スクロールバー310とビューポート314という2つの主要部分から構成されている。これら2つの要素は切り離されており、スクロールバー310からのイベントを捕らえて、要求に応じて処理することも捨てることもできる。ビューポートは、行の「チャンク」(例えば、HTMLでは、チャンクは、複数の行からなる表と追加のメタデータを含む仕切り要素「DIV」であり得る)を含む。チャンクは、(所定の基準に対する)位置属性を与えられており、チャンクのスタイルプロパティを変更することによって、任意の範囲の行(クライアント上でその行が利用可能である限り)をビューポート内に可視的に配置することが可能である。ユーザがスクロールすると、ビューにチャンクが追加されたり、ビューからチャンクが取り除かれたりして、ビューポート314内に現在見えている行の上(322)および下(326)の両方に追加の行を保持する。
クライアントとデータソース間で交換されるデータを減らすことによってシステムリソース(通信帯域幅、メモリ等)の消費を最小限にするために、所定の閾値より速くユーザがスクロールすると、データがロードされないようにしてもよい。一実施形態による閾値の定義は、「スクロール位置が最後のMミリ秒でN行を越えて変化した場合、ユーザは速くスクロールしている」であってよい。この場合、ビューポートは、スクロールが減速するまで変わらないままであってよく、スクロールが減速した時点で、スクロールバーの最終位置に対応するデータのみがロードされる。
表示のための行(1行または複数行)の選択は、クライアント上で、行ID(複数可)にハッシュとして保持されてもよい。これによって、ファーストルックアップは、ある行が選択されているか否かを知ることができ、選択された項目のセットを得るように列挙することができる。行IDがすでにクライアント上に存在するので、選択された個々の項目は行選択に付け加えることができる。選択された項目は、単にハッシュに付け加えられてもよい。広い範囲の選択に関しては、クライアント上にない行もある。その場合は、同期コールをサーバ(データソース)に行い、ビューを再構成してその範囲に含まれる行IDのセットを返すことができる。もちろん、行のIDを保持する他の方法も、本明細書に記述の原理を逸脱することなく、実装することができる。
実際のネットワーク環境においては、リストのコンテンツは、データソースで変わることがある。クライアント上のウェブアプリケーションのユーザインタフェースは、これを反映するために動的に更新する必要がある。実行不可能かもしれないデータセット全体のプレロードの代わりに、本実施形態によるアプリケーションは、ユーザが現在見ているデータ範囲と、ユーザが少しスクロールするとすぐにクライアント(側)を更新可能なデータ範囲という、一部のデータ範囲のみをロードすることができる。
更新は、データソースが変わる時に、一行ベースでクライアントに伝えられてもよい。サーバは、行を挿入、削除、変更したか否かに応じて、ビューを更新するのに最小限のデータをクライアントに送ってもよい。データには、影響を受けた行のIDと、その行の新しいマークアップと、その行のリスト上の位置(前の行のIDによって示される)と、を含むことができる。そうすると、クライアントは、この更新を適用することができる。
他の一実施形態によると、クライアント上のビューはサーバと同期がずれているかもしれないため、更新の各バッチと共にウォータマーク含むことができる。ウォータマークは、リストビュー操作(例えば、削除、移動)が行われると送り返され、サーバ上の現在のウォータマークと比較することができる。ウォータマークが一致しなければ、更新時に何らかの更新が途中で行われたに違いなく、その更新が把握されなかったということを意味する。この場合、サーバは、その更新を適用した後、クライアントに再度操作するように通知することができる。
図4は、本実施形態による、仮想リストビューを動的に更新するためにチャンクでダウンロードすることができるデータブロックの図である。
上述のように、仮想リストビューのデータは、ダウンロードし、ビューポートのブロック(430)に提示することができる。一実施形態によると、現在見ているブロック432に加えて、1ブロック前のデータと1ブロックのデータ(両方とも所定の行数を含む)(例えば、ブロックN−1、ブロックN、および、ブロックN+1)をダウンロードすることができる。ユーザが、所定の閾値より速くスクロールすると、閾値以下のレベルまでスクロールが減速するまで後続のブロックはスキップされ、減速すると、連続する3つのブロックを再度ダウンロードして、ユーザが現在選択しているデータ行をユーザに提示することができる。
しかしながら、本実施形態は、連続する3つのデータブロックをダウンロードすることに限定されるわけではない。利用可能な通信帯域幅、データの種類、ユーザプリファレンス、スクロール速度、ビューポートのサイズ、利用可能なメモリなどの多くの要素に基づいて、現在見ているブロックの前後の任意の数のブロックをクライアントにダウンロードしてもよい。このように、データ全体の一部を、クライアントとデータソース間の往復のトラフィックなしに見ることができる。さらに、アルゴリズムを実装することによって、人工知能を用いて、ダウンロードされたデータブロックの数とユーザがそのデータブロックをどのように使用したかという過去の情報に基づいて、先行ダウンロードのためのデータブロックの数を予測してもよい。
前述のように、ソースのデータは、ユーザがクライアント上でデータの一部を見ている間に、変化する場合がある。選択した中に一部の行が存在して、他の行が存在しない場合、抜けている行を検索して選択が保存されるように、データソースを呼び出してもよい。新しい行が作成または更新される場合、これらの行は、選択した中から削除されず、選択した中に再び保存される。
図5は、図2のリストビューの例の別のスクリーンショットで、各データ部分に効率的にアクセスする追加のユーザインタフェースコントロールを備えている。
仮想リストビューを動的に更新して、ユーザ体験を高め、データへのアクセスを容易にする幾つかのコントロール機能を、ユーザインタフェースに備えてもよい。ウェブ閲覧ユーザインタフェース508の例には、URL512、操作アイコン516、スクロールバー510などの標準的な要素が、仮想リストビュー514の一部と共に示されている。
強化されたコントロール機能の一つは、スクロールマークである。ユーザは、データとの対話を通して仮想リストビューの特定の部分に戻りたい場合がある。アイコン542などのスクロールマークアイコンを用いて、ユーザの指示(例えば、ポインタデバイスの右クリック、メニューバーの項目の選択など)でスクロールバー上の位置を示すことができる。スクロールマーク機能のさらに強化された点は、各スクロールマークアイコンは、その位置に対応する行に関連付けることができ、その行に関する要約情報を、ユーザが見るのを妨害することなく(例えばユーザがスクロールマークアイコン上を指すと現れるポップアップボックスという形で)、ユーザに提示することができる。
データをダウンロードする様々な方法を記載したが、それらの方法では、スクロールの速度に基づいて、チャンクがダウンロードされる。ユーザが閾値より遅くスクロールすると、ビューは連続して更新される。スクロール速度が閾値を超えると、スクロールが再び減速するまでビューをフリーズすることができ、減速すると、データの新しいチャンクがダウンロードされ、表示される。閾値は、予め設定しても、システムの選択したプロパティに基づいて動的に決定してもよい。他の強化されたコントロール機能は、ユーザがすばやくスクロールしてデータの行を通り過ぎている間、通り過ぎたデータ行のプレビューをユーザに提示することを含むことができる。プレビューは、行のグループに基づいてよく、かつ、タイトル、見出し、日付などのユーザ定義による(または選択した)パラメータに基づいて分類されてもよい。例えば、ユーザが米国法典(タイトル35)をすばやくスクロールしている場合、プレビューボックス(546)は、15章「植物特許」、17章「意匠特許」などの個々の章を表示することができ、ユーザが見たい行をうっかり通り過ぎてスクロールしてしまうのを防止する。
プレビュー機能は、ユーザが選択可能な任意の方法で構築してもよく、デフォルトパラメータに基づいて構築してもよい。パラメータは、グループ分けの種類、メタデータの種類、ソートスタイル(アルファベット、日付、タイトルなど)を含むことができる。
強化されたさらなるコントロール機能は、ジャンプツーコントロール(jump-to control)(544)と呼ばれる。この機能によって、ユーザは、大きいリストの特定の位置を、リストビュー全体をロードする必要なく探すことができる。例えば、図で示される位置にスクロールする代わりに、行をアルファベットで選択することにより、ユーザは特定の行にジャンプすることができる。プレビュー機能においてと同様、ジャンプツーコントロールは、アルファベット、時間順、ユーザ定義など複数の基準に基づいていてよい。一実施形態によると、ジャンプツーコントロールは、ソート基準にふさわしいドロップダウンメニューとして提供することができる。例えば、リストをアルファベット順にソートする場合、メニューはアルファベットを表示することができ、日付でソートする場合、メニューはデートピッカー(date picker)を表示することができる。ドロップダウンメニューの値を選択すると、リストは、選択した値に等しいか、またはその後の最初の行を探す。
本実施形態に従って動的に更新された仮想リストビューは、アプリケーションの例と共に上述したコンポーネントや機能に追加して、また、それらより少ないコンポーネントや機能と共に実装することができる。このようなリストビューを実装するアプリケーションは、1つまたは複数のコンピュータ装置に、ネットワーク化された方法でローカルに実行することができる。データは1つまたは複数のサーバまたはデータストアに記憶することができる。データは、構造化されていても構造化されていなくてもよく、暗号化されていても暗号化されていなくてもよい。さらに、例としてあげた強化されたコントロール機能に代えて、またはその機能に追加して、動作を最適化する追加の方法を採用してもよい。
図6は、本実施形態を実装することができるネットワーク化された環境の一例である。仮想リストビューの動的更新は、1つまたは複数のコンピュータ装置で実行するローカルアプリケーションまたは分散アプリケーションで実装することができる。このコンピュータ装置は、多数の物理的クライアント、多数の仮想クライアント、多数の物理的サーバおよび多数の仮想サーバにわたって分散した方法で構成される。1つまたは複数のネットワーク(例えば、ネットワーク660)上で通信する複数のノードを用いて、クラスタ化されていないシステムで実装しても、クラスタ化されたシステムで実装してもよい。
このようなシステムは、サーバ、クライアント、インターネットサービスプロバイダ、および通信媒体の、任意のトポロジを備えることができる。また、このシステムは、静的トポロジまたは動的トポロジを有してもよく、システムの階層内のサーバとクライアントの役割や、サーバとクライアントの相互関係は、管理者が静的に決定してもよく、装置の利用可能性、ロードバランシングなどに基づいて動的に決定されてもよい。「クライアント」という用語は、クライアントアプリケーションまたはクライアント装置を指すことができる。ネットワーク化されたシステムが動的に実装する一方で、更新された仮想リストビューはさらに多くのコンポーネントを伴うかもしれない。この図に関連して、関係のあるコンポーネントを記述する。
上述のように、ウェブアプリケーション(または、リストビュー更新を実装する任意のアプリケーション)は、クライアント装置654から656またはサーバ652で実行することができ、クライアント装置653によってアクセスすることができる。ユーザは、ウェブサーバ662からネットワーク660を介して仮想リストビューに提示されたデータにアクセスすることができる。ウェブサーバ662は、データストア668を用いて、データそのものを管理し、記憶してもよく、データベースサーバ664と通信してデータストア666を管理してもよい。
ネットワーク660は、企業ネットワークなどの安全なネットワーク、オープンワイヤレスネットワークなどの安全でないネットワーク、またはインターネットを含むことができる。ネットワーク660は、本明細書に記載のノード間に通信を提供する。限定ではなく例として、ネットワーク660は、有線ネットワークや直接配線接続などの有線媒体、音響、RF、赤外線、および他の無線媒体などの無線媒体を含む。
コンピュータ装置、アプリケーション、データソース、データ配信システムの他の多くの構成を採用し、データのカテゴリーに基づいて、協調サーバに対する分散データ記憶装置を実装することができる。さらに、図6で記載したネットワーク化された環境は、例示のみを目的としている。本実施形態は、例示したアプリケーション、モジュールまたはプロセスに限定されない。
図7および図7に関する記載は、本実施形態を実装することができる適切なコンピューティング環境を簡単に一般的に記載することを目的としたものである。図7を参照して、コンピュータ装置700などのコンピュータ動作環境のブロック図の例を示す。基本的構成においては、コンピュータ装置700はクライアント装置であってよい。コンピュータ装置700は、一般的には、少なくとも1つの処理装置702と少なくとも1つのシステムメモリ704を含むことができる。コンピュータ装置700は、協働してプログラムを実行する複数の処理装置を含んでもよい。コンピュータ装置の具体的構成と具体的種類に応じて、システムメモリ704は、揮発性(例えば、RAM)、不揮発性(例えば、ROM、フラッシュメモリなど)、または揮発性、不揮発性の両方を組み合わせたものであってよい。システムメモリ704は、一般的に、ネットワーク化されたパーソナルコンピュータの動作を制御するのに適切な、本件特許出願人のWINDOWS(登録商標)オペレーティングシステムなどのオペレーティングシステム705を備える。また、システムメモリ704は、プログラムモジュール706、クライアントアプリケーション722、ビューモジュール724、およびデータ検索モジュール726などの、1つまたは複数のソフトウェアアプリケーションを含んでもよい。
クライアントアプリケーション722は、別のソースからのデータを仮想リストビューでユーザに提示する、ウェブ閲覧アプリケーションのような、任意のアプリケーションであってよい。データ検索モジュール726は、ウェブサーバのようなリモートデータソースから、提示のためのデータを検索することができる。前述のように、仮想リストビュー全体をダウンロードすることは、システムリソースに限りがあることから、実用的でなく、実行不可能な場合がある。ビューモジュール724は、ユーザのスクロールを対応するデータチャンクに連係させることができ、それによって、データ検索モジュール726は、ユーザがすぐに見る必要のあるそれらのデータチャンクのみを検索することができる。ビューモジュール724はまた、図5に関連して上述した、強化されたコントロール機能も提供することができる。この基本的構成は、図7に示す点線708内のコンポーネントである。クライアントアプリケーション722の機能性は、ここに記載されている2つのモジュールに割り当てる必要はない。上述の機能性は、より多くのモジュールまたはより少ないモジュールで行ってもよく、全く同じアプリケーションで行ってもよい。
コンピュータ装置700は、追加の機能または機能性を有することができる。例えば、コンピュータ装置700は、磁気ディスク、光学ディスク、テープなどの追加のデータ記憶装置(取り外し可能および/または取り外し不可)を含むこともできる。このような追加の記憶装置は、取り外し可能な記憶装置709と取り外し不可の記憶装置710として図7に示されている。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報、を記憶するための任意の方法または任意の技術で実装される、揮発性媒体、不揮発性媒体、取り外し可能な媒体、および、取り外し不可の媒体が含まれる。システムメモリ704、取り外し可能な記憶装置709、および取り外し不可の記憶装置710は全て、コンピュータ記憶媒体の例である。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)もしくは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または、所望の情報を記憶するのに使うことができ、かつ、コンピュータ装置700がアクセスすることができる任意の他の媒体を含むが、それらに限定されない。このような任意のコンピュータ記憶媒体が、装置700の一部となることができる。コンピュータ装置700は、キーボード、マウス、ペン、音声入力装置、タッチ入力装置などの入力装置712も含むことができる。ディスプレイ、スピーカー、プリンタなどの出力装置714も含むことができる。これらの装置は、この技術分野において周知であり、詳述する必要はない。
コンピュータ装置700は、通信接続716も含むことができ、通信接続716によって、コンピュータ装置700は、イントラネットやインターネットなどの分散コンピューティング環境にある無線ネットワーク上などで、他のコンピュータ装置と通信することができる。他のコンピュータ装置718は、ウェブサーバ、データベースサーバ、ファイルサーバ、プロバイダサーバなどを含むことができる。通信接続716は、通信媒体の一例である。通信媒体は、一般的に、コンピュータ可読命令、データ構造、プログラムモジュール、または、搬送波や他の搬送機構などの変調データ信号の形の他のデータで具現することができ、任意の情報配信媒体を含む。「変調データ信号」という用語は、特性の1つまたは複数が、情報を信号に符号化する方法で、設定または変更された信号を意味する。限定ではなく例として、通信媒体は、有線ネットワークまたは直接配線接続などの有線媒体と、音響、RF、赤外線、および他の無線媒体などの無線媒体と、を含む。
本請求の主題は、操作方法も含む。操作方法は、本明細書に記載した構造を含む任意の数の方法で実装することができる。本明細書に記載の種類の装置の方法の1つは、機械操作による。
選択できる別の方法は、その方法の個々の操作の1つまたは複数を、操作を行う1人または複数の人間オペレータと組み合わせて行うことである。この人間オペレータは、互いに結びついている必要はなく、各人間オペレータは、プログラムの一部を実行する機械とだけ共に操作を行う。
図8は、本実施形態に従って仮想リストビューを動的に更新するプロセス800の一例を示す論理フロー図である。プロセス800は、任意のウェブアプリケーション環境で実装することができる。
プロセス800は操作802から始まる。操作802において、ウェブ閲覧アプリケーションのウェブページの最初のビューなどのデータソースから、ユーザに提示するための初期データブロックが受信される。処理は操作802から操作804に続く。
操作804において、受信された初期データブロックは、ウェブアプリケーションによってユーザに提示される。処理は操作804から操作806に続く。
操作806において、仮想リストビューを介したユーザのスクロールが検出される。上述のように、ユーザは、スローペースでスクロールしてもよく、また、アプリケーションが、スクロール中のデータを同時にダウンロードして、提示するのが可能な速さより速くスクロールしてもよい。処理は操作806から決定操作808に進む。
決定操作808において、スクロール操作が所定の閾値より速いか否かが判断される。スクロールが閾値より速くない場合、処理は操作810に進む。操作810において、データ交換がシステムリソースに負担をかける可能性があるものではないので、ビューは連続して更新される。
スクロールが閾値より速い場合、処理は決定操作808から操作812に続く。操作812において、スクロールされたデータブロックは、(クライアントにダウンロードされずに)スキップされる。ビューは、そのタイムフレームの間フリーズしてもよく、プレビュー機能などの追加の拡張されたコントロール機能を備えてもよい。処理は操作812から決定操作814に進む。
決定操作814において、スクロールが減速して所定の閾値を下回ったか否かが判断される。スクロールがまだ閾値を越えたままなら、処理は操作812に戻って、スクロール中のデータは引き続きスキップされる。スクロールが減速すると、処理は操作816に進む。
操作816において、ビューポートに提示される1つと、提示されたブロックの前後の所定の数のブロックと、を含む範囲のデータブロックが、クライアントにダウンロードされる。処理は操作816から操作818に進む。
データソースに何らかの変更がある場合、操作818において、データが更新される。処理は操作818から操作820に続く。
操作820において、ダウンロードされたデータブロックが、スロースクロールモードで、ユーザに提示される。操作820の後、処理は、次のアクションを呼び出すプロセスに進む。
プロセス800に含まれる操作は、例示を目的としている。ウェブアプリケーションにおける仮想リストビューの動的更新は、より少ないステップまたは追加のステップと共に同様のプロセスによって実装することができ、かつ、本明細書に記載の原理を用いて、異なった操作順で実装することもできる。
上記明細書、実施例、およびデータは、本実施形態の構成の製造および使用を全て記載したものである。本発明の主題は、構造的特徴および/または方法論的行為に特有の言葉で記載したが、特許請求の範囲で定義する主題は、上記の具体的な特徴や行為に必ずしも限定されないことを理解されたい。正しくは、上記の具体的な特徴や行為は、特許請求の範囲や実施形態を実装する形の例として、開示している。

Claims (20)

  1. 仮想リストビュー(214)を動的に更新するために、コンピュータ装置において少なくとも部分的に実行される方法(800)であって、
    前記方法(800)は、
    ダウンロードしたデータを提示するアプリケーションユーザインタフェース(108)の仮想リストビュー(214)の提示において、ユーザによるスクロール速度を検出するステップ(808)と、
    前記スクロール速度が所定の閾値を下回る場合、前記データのダウンロードに続き(810)、ビューポート(314)の提示を連続して更新するステップと、
    前記スクロール速度が前記閾値を越える場合、前記スクロール速度が前記閾値を再び下回るまで、ユーザによってスクロールされているデータ行のブロック(430)のダウンロード操作をスキップするステップ(812)と、
    前記スクロール速度が再び前記閾値を下回ると、ビューポート(314)に提示されるブロック(432)と、提示される前記ブロック(432)の前後のブロックの数(430)と、を含む所定の数のブロック(430)をダウンロードするステップ(816)と、
    前記ビューポート(314)に提示される前記ブロック(432)を表示するステップ(820)と、
    を備えることを特徴とする方法。
  2. 各ブロックのデータ行の数は、利用可能な通信帯域幅、データの種類、ユーザプリファレンス、前記スクロール速度、前記ビューポート(314)のサイズ、および利用可能なメモリ、からなるセットの少なくとも1つに基づいて決定されることを特徴とする請求項1に記載の方法。
  3. 提示される前記ブロック(432)の前後の前記ブロックの数(430)は、利用可能な通信帯域幅、データの種類、ユーザプリファレンス、前記スクロール速度、前記ビューポート(314)のサイズ、および利用可能なメモリ、からなるセットの少なくとも1つに基づいて決定されることを特徴とする請求項1に記載の方法。
  4. 前記仮想リストビュー(214)は、番号付リスト、箇条書きリスト、表、自由形式テキスト、ページフォーマットのセットのうちの少なくとも1つの形式で、テキストデータおよびグラフィックデータの少なくとも1つを、含むことを特徴とする請求項1に記載の方法。
  5. 前記仮想リストビュー(214)内の各ブロックに、所定の基準に対する位置属性を割り当てるステップをさらに備え、前記位置属性は、前記ビューポート(314)に提示するために任意の範囲の行を選択できるように行識別子に関連付けられていることを特徴とする請求項1に記載の方法。
  6. 前記識別子は、メタデータとして記憶されることを特徴とする請求項5に記載の方法。
  7. 表示のための行の選択は、行識別子上のハッシュとして、前記アプリケーションによって保持されることを特徴とする請求項5に記載の方法。
  8. 選択した複数の行が前記アプリケーションを実行するクライアント(106)に存在しない場合、前記データを保持するデータソースに同期コールを開始し、前記行識別子を利用して、抜けている行をリクエストするステップをさらに備えることを特徴とする請求項1に記載の方法。
  9. 前記データソースで前記データの一部が変更された場合、影響を受けたデータ行の識別子と、前記データ行に関する変更と、前記データ行の位置インジケータと、を提供することによって、前記クライアント(106)を更新するステップを更に備え、前記更新は、1行ベースと、複数行からなるバッチベースのいずれか1つで行われることを特徴とする請求項8に記載の方法。
  10. 前記データソースからの各更新と共にウォータマークを含むステップと、
    前記クライアント(106)からのウォータマークを前記データソースに送り返すステップと、
    前記データソースの前記ウォータマークと、前記クライアント(106)から送り返された前記ウォータマークとの比較に基づいて、前記クライアント(106)の前記データの更新状況を判断するステップと、
    をさらに備えることを特徴とする請求項9に記載の方法。
  11. 前記アプリケーションは、ウェブ閲覧アプリケーション、電子メールアプリケーション、インスタントメッセージアプリケーション、および検索エンジンアプリケーションのうちの1つを含むことを特徴とする請求項1に記載の方法。
  12. 前記スクロール速度の閾値は、所定の期間に、所定の数の行を超えてスクロール位置が変化することとして定義されることを特徴とする請求項1に記載の方法。
  13. 仮想リストビュー(214)を動的に更新する(800)システムであって、
    データソースとデータを交換する通信モジュールと、
    メモリと、
    前記メモリと前記通信モジュールとに接続されて、クライアントアプリケーション(106)を実行することができるプロセッサと、
    を備え、
    前記プロセッサは、
    ビューポート(314)に表示するための最初のブロックと、表示される前記最初のブロックの前後の所定の数のブロック(430)とを、前記データソースからダウンロードし(802)、かつ、
    前記仮想リストビュー(214)の各ブロックに、所定の基準に対する位置属性であって、前記ビューポート(314)に表示するために任意の範囲の行を選択できるように行識別子と関連付けられる位置属性を割り当て、
    ユーザによるスクロールの速度を検出し(806)、
    前記スクロールの速度を所定の閾値と比較し(808)、
    前記速度が前記所定の閾値を下回る場合、前記データをブロック(430)でダウンロードし、前記ビューポート(314)を連続して更新することを続け(810)、
    前記速度が前記閾値を越える場合、前記速度が前記閾値を下回るまで、ユーザによりスクロールされているブロック(430)のダウンロードをスキップし(812)、
    前記速度が前記閾値を下回ると、前記ビューポート(314)に表示するブロック(432)と、表示される前記ブロック(432)の前後複数のブロック(430)と、を含む所定の数のブロックを新たにダウンロードし(816)、
    前記ビューポート(314)を更新する(820)
    ように構成されていることを特徴とするシステム。
  14. 前記クライアントアプリケーション(106)は、前記ユーザが、スクロールバーの選択した位置に、次に見るデータ行の位置を示すマーカを配置できるようにさらに構成されることを特徴とする請求項13に記載のシステム。
  15. 前記マーカは、ポップアップボックスと関連付けられており、前記ポップアップボックスは、前記選択した位置で、前記データ行に関する要約情報を前記ユーザに提供することを特徴とする請求項14に記載のシステム。
  16. 前記クライアントアプリケーション(106)は、タイトル、見出し、日付、および、ユーザ定義の属性からなるセットから少なくとも1つを含む基準に基づいてソートされた、スキップしたデータ行のプレビューを提供するようにさらに構成されることを特徴とする請求項13に記載のシステム。
  17. 前記クライアントアプリケーション(106)は、ユーザインタフェースメニューからのユーザの選択に応答して、スクロールすることなしに、ユーザを選択した行にジャンプさせることを可能にするようにさらに構成され、前記ユーザインタフェースメニューは、アルファベット順ソート、タイトルソート、経時ソート、および、ユーザ定義によるソートのうちの1つを含むソート基準に基づいた範囲の選択を含むことを特徴とする請求項13に記載のシステム。
  18. 動的に仮想リストビュー(214)を更新するための符号化された命令を有するコンピュータ読み取り可能な記憶媒体であって、
    前記命令は、実行時に、コンピュータに、
    ウェブアプリケーションのビューポート(314)に表示するための最初のブロックと、表示される前記最初のブロックの前後の所定の数のブロック(430)をデータソースからダウンロードするステップ(802)と、
    前記仮想リストビュー(214)の各ブロックに、所定の基準に対する位置属性であって、前記ビューポート(314)に表示するために任意の範囲の行を選択できるように行識別子に関連付けられた位置属性を、割り当てるステップ(804)と、
    ユーザによるスクロールの速度を検出するステップ(806)と、
    前記スクロールの速度を所定の閾値と比較するステップ(808)と、
    前記速度が前記所定の閾値を下回る場合、ブロック(430)でデータをダウンロードし、連続して前記ビューポート(314)の更新を続けるステップ(810)と、
    前記速度が前記閾値を越える場合、前記速度が減速して前記閾値を下回るまで、前記ユーザによってスクロールされるブロック(430)のダウンロードをスキップするステップ(812)と、
    前記速度が前記閾値を越えている間、表示された行をフリーズし、タイトル、見出し、日付、および、ユーザ定義の属性のセットから少なくとも1つを含む基準に基づいてソートした、スキップしたデータ行のプレビューを提供するステップと、
    前記速度が減速して前記閾値を下回ると、前記ビューポート(314)に表示されるブロック(432)と、表示される前記ブロックの前後の複数のブロック(430)と、を含む所定の数のブロック(430)を新たにダウンロードするステップ(816)と、
    前記ビューポート(314)を更新するステップ(820)と、
    ユーザが、アルファベット順ソート、タイトルソート、経時ソート、および、ユーザ定義によるソートのうちの1つを含むソート基準に基づいた範囲の選択を含むユーザインタフェースメニューからのユーザの選択に応答して、スクロールすることなしに選択した行にジャンプできるようにするステップと、
    を含むこと実行させることを特徴とするコンピュータ読み取り可能な記憶媒体。
  19. 前記命令は、前記データソースで前記データの一部が変更された場合、影響を受けたデータ行の識別子と、前記データ行に関する変更と、前記データ行の位置インジケータと、を提供することによって前記ウェブアプリケーションを更新するステップ(818)をさらに含み、前記更新は、一行ベースおよび複数行のバッチベースの一つで行われることを特徴とする請求項18に記載のコンピュータ読み取り可能な記憶媒体。
  20. 前記命令は、人工知能アルゴリズムを採用することによって、過去にダウンロードされたデータ行の数と、前記ダウンロードされた行に関するユーザの活動と、に基づいて、ダウンロードされるデータ行の数を決定するステップをさらに含むことを特徴とする請求項18に記載のコンピュータ読み取り可能な記憶媒体。
JP2010530040A 2007-10-19 2008-10-11 動的に更新される仮想リストビュー Expired - Fee Related JP5244911B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/875,124 2007-10-19
US11/875,124 US7930646B2 (en) 2007-10-19 2007-10-19 Dynamically updated virtual list view
PCT/US2008/079669 WO2009052033A2 (en) 2007-10-19 2008-10-11 Dynamically updated virtual list view

Publications (3)

Publication Number Publication Date
JP2011501299A true JP2011501299A (ja) 2011-01-06
JP2011501299A5 JP2011501299A5 (ja) 2011-10-20
JP5244911B2 JP5244911B2 (ja) 2013-07-24

Family

ID=40564761

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010530040A Expired - Fee Related JP5244911B2 (ja) 2007-10-19 2008-10-11 動的に更新される仮想リストビュー

Country Status (6)

Country Link
US (1) US7930646B2 (ja)
EP (1) EP2210167B1 (ja)
JP (1) JP5244911B2 (ja)
KR (1) KR101566565B1 (ja)
CN (1) CN101828166B (ja)
WO (1) WO2009052033A2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011141718A (ja) * 2010-01-07 2011-07-21 Fujitsu Ltd メール管理プログラム,メール管理装置およびメール管理方法
JP2014531102A (ja) * 2012-10-12 2014-11-20 エスケー プラネット カンパニー、リミテッド ウェブページのスクロールトップ属性を用いたスクロール遂行システム及び方法
JPWO2014192496A1 (ja) * 2013-05-29 2017-02-23 ソニー株式会社 情報処理装置、更新情報通知方法及びプログラム
JP2018506110A (ja) * 2014-12-26 2018-03-01 北京京東尚科信息技術有限公司Beijing Jingdong Shangke Information Technology Co., Ltd. ウェブページのローディング方法およびシステム
WO2018142588A1 (ja) 2017-02-03 2018-08-09 楽天株式会社 情報処理装置、情報処理方法、プログラム、記憶媒体
JP2022109211A (ja) * 2021-01-14 2022-07-27 北京小米移動軟件有限公司 画像ロード方法、装置

Families Citing this family (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009051665A1 (en) * 2007-10-16 2009-04-23 Hillcrest Laboratories, Inc. Fast and smooth scrolling of user interfaces operating on thin clients
US7930646B2 (en) 2007-10-19 2011-04-19 Microsoft Corporation Dynamically updated virtual list view
JP5039903B2 (ja) * 2008-02-18 2012-10-03 インターナショナル・ビジネス・マシーンズ・コーポレーション アプリケーションを実行するシステム、方法およびプログラム
US20090288035A1 (en) * 2008-05-15 2009-11-19 Microsoft Corporation Scrollable views in a client/server application
US8775971B2 (en) * 2008-12-05 2014-07-08 Microsoft Corporation Touch display scroll control
US20100162126A1 (en) * 2008-12-23 2010-06-24 Palm, Inc. Predictive cache techniques
US8689095B2 (en) * 2009-02-09 2014-04-01 Microsoft Corporation Grid presentation in web-based spreadsheet services
TWI482077B (zh) * 2009-06-02 2015-04-21 Htc Corp 電子裝置、其桌面瀏覽方法與電腦程式產品
WO2011065285A1 (ja) * 2009-11-26 2011-06-03 楽天株式会社 サーバ装置、端末装置、Webページ上への情報挿入方法、情報挿入プログラム、及びプログラムが記録された記録媒体
US9952968B2 (en) * 2010-01-29 2018-04-24 Micro Focus Software, Inc. Methods and system for maintaining data coherency in distributed data cache network
US8917632B2 (en) 2010-04-07 2014-12-23 Apple Inc. Different rate controller configurations for different cameras of a mobile device
US20110258575A1 (en) * 2010-04-16 2011-10-20 Microsoft Corporation Displaying large datasets in a browser environment
US9864501B2 (en) * 2010-07-30 2018-01-09 Apaar Tuli Displaying information
CN102387091B (zh) * 2010-08-31 2014-12-10 腾讯科技(深圳)有限公司 一种基于滑动检测的数据传输方法及装置
US20120110499A1 (en) * 2010-10-29 2012-05-03 Microsoft Corporation Virtualized layouts
US9529866B2 (en) * 2010-12-20 2016-12-27 Sybase, Inc. Efficiently handling large data sets on mobile devices
US8442494B2 (en) 2011-02-18 2013-05-14 Mitel Networks Corporation System for updating presentations on mobile devices and methods thereof
US9558013B2 (en) * 2011-04-12 2017-01-31 Citrix Systems, Inc. Responsive scroller controls in server-hosted applications
JP5706236B2 (ja) * 2011-05-31 2015-04-22 楽天株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
US8996987B2 (en) * 2011-06-30 2015-03-31 Apple Inc. List view optimization
US20130067349A1 (en) * 2011-09-12 2013-03-14 Microsoft Corporation Efficiently providing data from a virtualized data source
WO2013038549A1 (ja) * 2011-09-15 2013-03-21 富士通株式会社 電源制御方法およびシステム
CN102520918A (zh) * 2011-09-27 2012-06-27 深圳市五巨科技有限公司 一种提高列表刷新频率的方法及装置
US9098595B2 (en) 2011-10-19 2015-08-04 Oracle International Corporation Adaptive navigation functionality in a web-based data-entry grid
US8775506B2 (en) 2011-10-19 2014-07-08 Oracle International Corporation Eager block fetching for web-based data grids
US8994755B2 (en) * 2011-12-20 2015-03-31 Alcatel Lucent Servers, display devices, scrolling methods and methods of generating heatmaps
US9032385B2 (en) 2011-12-28 2015-05-12 Lg Electronics Inc. Mobile terminal and control method thereof
US9229632B2 (en) 2012-10-29 2016-01-05 Facebook, Inc. Animation sequence associated with image
US9547416B2 (en) 2012-11-14 2017-01-17 Facebook, Inc. Image presentation
US9547627B2 (en) 2012-11-14 2017-01-17 Facebook, Inc. Comment presentation
US9245312B2 (en) 2012-11-14 2016-01-26 Facebook, Inc. Image panning and zooming effect
US9696898B2 (en) 2012-11-14 2017-07-04 Facebook, Inc. Scrolling through a series of content items
US9606717B2 (en) 2012-11-14 2017-03-28 Facebook, Inc. Content composer
US9684935B2 (en) 2012-11-14 2017-06-20 Facebook, Inc. Content composer for third-party applications
US9218188B2 (en) 2012-11-14 2015-12-22 Facebook, Inc. Animation sequence associated with feedback user-interface element
US9606695B2 (en) 2012-11-14 2017-03-28 Facebook, Inc. Event notification
US9235321B2 (en) 2012-11-14 2016-01-12 Facebook, Inc. Animation sequence associated with content item
US9507757B2 (en) 2012-11-14 2016-11-29 Facebook, Inc. Generating multiple versions of a content item for multiple platforms
US9081410B2 (en) 2012-11-14 2015-07-14 Facebook, Inc. Loading content on electronic device
US9507483B2 (en) 2012-11-14 2016-11-29 Facebook, Inc. Photographs with location or time information
US9607289B2 (en) 2012-11-14 2017-03-28 Facebook, Inc. Content type filter
CN103853538A (zh) * 2012-12-04 2014-06-11 金蝶软件(中国)有限公司 一种eclipse视图处理的方法及终端
CN103902197A (zh) * 2012-12-28 2014-07-02 北京新媒传信科技有限公司 Android系统中基于列表显示的数据显示方法及装置
US10175873B2 (en) * 2013-01-21 2019-01-08 Salesforce.Com, Inc. System and method for retrieving data based on scrolling velocity
US10592278B2 (en) * 2013-03-15 2020-03-17 Facebook, Inc. Defer heavy operations while scrolling
EP3000055A4 (en) * 2013-05-22 2017-05-17 Google, Inc. Non-collaborative filters in a collaborative document
WO2015015251A1 (en) * 2013-08-01 2015-02-05 Yogesh Chunilal Rathod Presenting plurality types of interfaces and functions for conducting various activities
CN104423947B (zh) * 2013-08-30 2019-04-26 腾讯科技(深圳)有限公司 一种可拖拽列表内容的刷新方法、装置及触摸屏设备
JP6146230B2 (ja) * 2013-09-19 2017-06-14 富士通株式会社 中継装置、シンクライアントシステム、中継方法および中継プログラム
US9779069B2 (en) 2014-01-31 2017-10-03 Yahoo Holdings, Inc. Model traversing based compressed serialization of user interaction data and communication from a client-side application
US11488213B2 (en) * 2014-01-31 2022-11-01 Yahoo Assets Llc Tracking user interaction with a stream of content
US9959255B2 (en) 2014-01-31 2018-05-01 Yahoo Holdings, Inc. Dynamic streaming content provided by server and client-side tracking application
US9680897B2 (en) * 2014-01-31 2017-06-13 Yahoo! Inc. Throttled scanning for optimized compression of network communicated data
US10339572B2 (en) 2014-01-31 2019-07-02 Oath Inc. Tracking user interaction with a stream of content
US20150277741A1 (en) * 2014-03-31 2015-10-01 Microsoft Corporation Hierarchical virtual list control
US10175953B2 (en) * 2014-04-02 2019-01-08 Microsoft Technology Licensing, Llc User interface control and communication
US20150312375A1 (en) * 2014-04-25 2015-10-29 Microsoft Corporation Pre-fetching grid blocks by user intent
US9594485B1 (en) 2014-05-02 2017-03-14 Tribune Publishing Company, Llc Online information system with selectable items for continuous scrolling
WO2015183367A1 (en) 2014-05-30 2015-12-03 Apple Inc. Continuity
CN104038806B (zh) * 2014-06-11 2017-09-29 深圳市九洲电器有限公司 一种应用界面显示方法及机顶盒
US9959363B2 (en) 2014-06-26 2018-05-01 International Business Machines Corporation Self-documentation for representational state transfer (REST) application programming interface (API)
US10097440B2 (en) 2014-06-26 2018-10-09 International Business Machines Corporation User interface element adjustment using web analytics
US10216855B2 (en) * 2014-06-26 2019-02-26 International Business Machines Corporation Mobilizing an existing web application
US9886181B2 (en) 2014-12-15 2018-02-06 Microsoft Technology Licensing, Llc Scrollbar for dynamic content
US20160321230A1 (en) * 2015-04-29 2016-11-03 Facebook, Inc. Generating a data table
US9661491B1 (en) * 2015-11-10 2017-05-23 Google Inc. Communicating information about an update of an application
US10637986B2 (en) * 2016-06-10 2020-04-28 Apple Inc. Displaying and updating a set of application views
DK201670574A1 (en) 2016-06-12 2018-01-02 Apple Inc Accelerated scrolling
US10162500B2 (en) 2016-08-24 2018-12-25 Microsoft Technology Licensing, Llc Dynamically render large dataset in client application
US10372299B2 (en) * 2016-09-23 2019-08-06 Microsoft Technology Licensing, Llc Preserve input focus in virtualized dataset
EP3513370A4 (en) * 2016-09-26 2020-05-27 WP Company LLC METHOD AND SYSTEM FOR REAL-TIME CONTENT DELIVERY
US11010037B2 (en) * 2016-10-12 2021-05-18 Lg Electronics Inc. Display device and operating method thereof
CN108021419B (zh) * 2016-11-02 2021-07-02 阿里巴巴集团控股有限公司 一种弹出层的展现控制方法及装置
CN106775274A (zh) * 2016-12-30 2017-05-31 深圳天珑无线科技有限公司 列表滑动控制方法和装置
CN107026895A (zh) * 2017-01-12 2017-08-08 阿里巴巴集团控股有限公司 应用程序列表数据的推送方法、装置和服务器
US12242707B2 (en) 2017-05-15 2025-03-04 Apple Inc. Displaying and moving application views on a display of an electronic device
US10572108B2 (en) 2017-07-20 2020-02-25 Vmware, Inc. Hierarchical inventory tree operation
JP6553829B1 (ja) * 2017-09-04 2019-07-31 楽天株式会社 情報処理装置、情報処理方法、プログラム、記憶媒体
CN108762866B (zh) * 2018-05-09 2021-08-13 北京酷我科技有限公司 一种短音频滚动展现的方法
CN111125575A (zh) * 2018-10-31 2020-05-08 北京国双科技有限公司 网页数据处理方法和装置
US11131967B2 (en) 2019-05-06 2021-09-28 Apple Inc. Clock faces for an electronic device
CN110851058B (zh) * 2019-11-11 2021-03-30 支付宝(杭州)信息技术有限公司 一种页面虚拟滚动方法、装置及设备
CN114116080A (zh) * 2020-08-10 2022-03-01 腾讯科技(深圳)有限公司 内容呈现方法、内容呈现装置、计算设备及存储介质
US11055378B1 (en) * 2020-08-21 2021-07-06 Coupang Corp. Systems and methods for loading websites with multiple items
CN112684960A (zh) * 2020-12-29 2021-04-20 平安普惠企业管理有限公司 前端列表滚动方法、装置、计算机设备及存储介质
US11907605B2 (en) 2021-05-15 2024-02-20 Apple Inc. Shared-content session user interfaces
US12260059B2 (en) 2021-05-15 2025-03-25 Apple Inc. Shared-content session user interfaces
CN117111820B (zh) * 2023-08-18 2024-05-31 浪潮智慧科技有限公司 一种多行虚拟列表的视图展示控制方法、装置及设备
KR102759224B1 (ko) * 2024-04-15 2025-01-22 쿠팡 주식회사 데이터 청크 페칭 방법 및 그 시스템

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04156664A (ja) * 1990-10-20 1992-05-29 Fujitsu Ltd テキスト表示方法
JPH10143498A (ja) * 1996-11-08 1998-05-29 Nippon Telegr & Teleph Corp <Ntt> リンク付与機能を持つページ分割通信中継装置
JP2000029448A (ja) * 1998-07-13 2000-01-28 Toshiba Corp 画像情報提供システム、画像情報表示端末およびサーバ装置
JP2002077762A (ja) * 2000-08-31 2002-03-15 Matsushita Electric Ind Co Ltd 放送受信装置
WO2002103554A1 (fr) * 2001-06-14 2002-12-27 Sharp Kabushiki Kaisha Procede de traitement de donnees, programme de traitement de donnees et appareil de traitement de donnees
JP2003330883A (ja) * 2002-05-15 2003-11-21 Eigyotatsu Kofun Yugenkoshi 情報処理装置を使用したテキストの表示方法
JP2004519033A (ja) * 2001-02-09 2004-06-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 小型ディスプレイ及び少数のボタンを中心に構成された長いリストを検索するための高速検索ユーザインタフェース
JP2008542875A (ja) * 2005-05-25 2008-11-27 マイクロソフト コーポレーション 変更可能文書を複数のクライアントと同期するための方法、システム、およびコンピュータ可読記憶媒体

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5959626A (en) 1997-05-22 1999-09-28 International Business Machines Corporation Method and apparatus for manipulating very long lists of data displayed in a graphical user interface using a layered list mechanism
US6011550A (en) 1997-05-22 2000-01-04 International Business Machines Corporation Method and system for expanding and contracting point of sale scrolling lists
US6518984B1 (en) * 1998-08-26 2003-02-11 Apple Computer, Inc. Record range control for browsing published databases
US6204846B1 (en) * 1999-02-16 2001-03-20 International Business Machines Corporation Data set user interface control for use in accessing information in a computer
US6734883B1 (en) * 2000-05-25 2004-05-11 International Business Machines Corporation Spinlist graphical user interface control with preview and postview
US20040205496A1 (en) 2001-10-11 2004-10-14 International Business Machines Corporation Displaying subheadings and hyperlinks in a scrollable long document
WO2004079709A1 (ja) 2003-03-07 2004-09-16 Nec Corporation スクロール表示制御
EP1510911A3 (en) 2003-08-28 2006-03-22 Sony Corporation Information processing apparatus, information processing method, information processing program and storage medium containing information processing program
US7328411B2 (en) * 2004-03-19 2008-02-05 Lexmark International, Inc. Scrollbar enhancement for browsing data
US7681141B2 (en) 2004-05-11 2010-03-16 Sony Computer Entertainment America Inc. Fast scrolling in a graphical user interface
US7551188B2 (en) 2004-10-01 2009-06-23 Nokia Corporation Scrolling items on a list
US9094621B2 (en) * 2005-07-25 2015-07-28 Hewlett-Packard Development Company, L.P. Document management
US20070100800A1 (en) 2005-10-31 2007-05-03 Rose Daniel E Methods for visually enhancing the navigation of collections of information
US20070100915A1 (en) 2005-10-31 2007-05-03 Rose Daniel E Methods for displaying dynamic suggestions in a user interface
US20070136268A1 (en) 2005-12-09 2007-06-14 Microsoft Corporation Just in time loading list
US7667719B2 (en) 2006-09-29 2010-02-23 Amazon Technologies, Inc. Image-based document display
US7523412B2 (en) * 2006-12-26 2009-04-21 International Business Machines Corporation Method and system for providing a scroll-bar pop-up with quick find for rapid access of sorted list data
WO2009051665A1 (en) * 2007-10-16 2009-04-23 Hillcrest Laboratories, Inc. Fast and smooth scrolling of user interfaces operating on thin clients
US7930646B2 (en) 2007-10-19 2011-04-19 Microsoft Corporation Dynamically updated virtual list view

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04156664A (ja) * 1990-10-20 1992-05-29 Fujitsu Ltd テキスト表示方法
JPH10143498A (ja) * 1996-11-08 1998-05-29 Nippon Telegr & Teleph Corp <Ntt> リンク付与機能を持つページ分割通信中継装置
JP2000029448A (ja) * 1998-07-13 2000-01-28 Toshiba Corp 画像情報提供システム、画像情報表示端末およびサーバ装置
JP2002077762A (ja) * 2000-08-31 2002-03-15 Matsushita Electric Ind Co Ltd 放送受信装置
JP2004519033A (ja) * 2001-02-09 2004-06-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 小型ディスプレイ及び少数のボタンを中心に構成された長いリストを検索するための高速検索ユーザインタフェース
WO2002103554A1 (fr) * 2001-06-14 2002-12-27 Sharp Kabushiki Kaisha Procede de traitement de donnees, programme de traitement de donnees et appareil de traitement de donnees
JP2003330883A (ja) * 2002-05-15 2003-11-21 Eigyotatsu Kofun Yugenkoshi 情報処理装置を使用したテキストの表示方法
JP2008542875A (ja) * 2005-05-25 2008-11-27 マイクロソフト コーポレーション 変更可能文書を複数のクライアントと同期するための方法、システム、およびコンピュータ可読記憶媒体

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011141718A (ja) * 2010-01-07 2011-07-21 Fujitsu Ltd メール管理プログラム,メール管理装置およびメール管理方法
JP2014531102A (ja) * 2012-10-12 2014-11-20 エスケー プラネット カンパニー、リミテッド ウェブページのスクロールトップ属性を用いたスクロール遂行システム及び方法
US9959029B2 (en) 2012-10-12 2018-05-01 Sk Planet Co., Ltd. System and method for performing scroll using scrolltop attribute of web page
JPWO2014192496A1 (ja) * 2013-05-29 2017-02-23 ソニー株式会社 情報処理装置、更新情報通知方法及びプログラム
JP2018506110A (ja) * 2014-12-26 2018-03-01 北京京東尚科信息技術有限公司Beijing Jingdong Shangke Information Technology Co., Ltd. ウェブページのローディング方法およびシステム
WO2018142588A1 (ja) 2017-02-03 2018-08-09 楽天株式会社 情報処理装置、情報処理方法、プログラム、記憶媒体
US10970359B2 (en) 2017-02-03 2021-04-06 Rakuten, Inc. Web page distributing server, web page distributing method, and storage medium
JP2022109211A (ja) * 2021-01-14 2022-07-27 北京小米移動軟件有限公司 画像ロード方法、装置
JP7209046B2 (ja) 2021-01-14 2023-01-19 北京小米移動軟件有限公司 画像ロード方法、装置

Also Published As

Publication number Publication date
EP2210167B1 (en) 2015-11-25
JP5244911B2 (ja) 2013-07-24
EP2210167A4 (en) 2011-01-12
CN101828166B (zh) 2012-06-20
EP2210167A2 (en) 2010-07-28
US20090106687A1 (en) 2009-04-23
KR101566565B1 (ko) 2015-11-05
CN101828166A (zh) 2010-09-08
KR20100072256A (ko) 2010-06-30
WO2009052033A3 (en) 2009-06-11
US7930646B2 (en) 2011-04-19
WO2009052033A2 (en) 2009-04-23

Similar Documents

Publication Publication Date Title
JP5244911B2 (ja) 動的に更新される仮想リストビュー
US7281008B1 (en) Systems and methods for constructing a query result set
US9195750B2 (en) Remote browsing and searching
US8156444B1 (en) Systems and methods for determining a user interface attribute
US7617458B1 (en) Managing navigation and history information
JP5655083B2 (ja) 社会的距離に基づくコンテンツ項目のプリフェッチ
US9529784B2 (en) Remote browsing and searching
US8103742B1 (en) Deferred and off-loaded rendering of selected portions of web pages to incorporate late-arriving service data
US7707198B2 (en) Harvesting of media objects from searched sites without a user having to enter the sites
US20120060083A1 (en) Method for Use in Association With A Multi-Tab Interpretation and Rendering Function
US7877702B2 (en) Tree widget data population
CN104794177B (zh) 一种数据存储方法及装置
US9092405B1 (en) Remote browsing and searching
HUP0103782A2 (hu) Eljárás és berendezés számítógépes adatok eléréséhez
US9009620B2 (en) Interactive scrollbars for unknown data size
CN111399823B (zh) 页面组件布局方法、系统和前台终端
US20080162508A1 (en) Smart links and dynamic favorites
CN109284428A (zh) 数据处理方法、装置及存储介质
US20140074821A1 (en) System, Method and Device Having Data Display Regulation and Tabular Output
CN112835490A (zh) 一种菜单展示方法、装置、客户端设备及存储介质
WO2018057401A1 (en) Preserve input focus while scrolling in a virtualized dataset
JP2010282503A (ja) 関連情報検索表示システム及び関連情報検索表示方法,プログラム
US10437911B2 (en) Fast bulk z-order for graphic elements
CN114625991A (zh) 表格展示方法和电子设备
Vučak et al. Cache and prefetch mechanisms for improving symbol usage in symbol based applications

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110902

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110902

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130227

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130408

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160412

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5244911

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

LAPS Cancellation because of no payment of annual fees