JP2005513658A - サーバとクライアント端末との間でオブジェクトを送信する方法 - Google Patents

サーバとクライアント端末との間でオブジェクトを送信する方法 Download PDF

Info

Publication number
JP2005513658A
JP2005513658A JP2003555739A JP2003555739A JP2005513658A JP 2005513658 A JP2005513658 A JP 2005513658A JP 2003555739 A JP2003555739 A JP 2003555739A JP 2003555739 A JP2003555739 A JP 2003555739A JP 2005513658 A JP2005513658 A JP 2005513658A
Authority
JP
Japan
Prior art keywords
server
client terminal
client
objects
cache memory
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
JP2003555739A
Other languages
English (en)
Other versions
JP2005513658A5 (ja
JP4336583B2 (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.)
Orange SA
Original Assignee
France Telecom SA
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 France Telecom SA filed Critical France Telecom SA
Publication of JP2005513658A publication Critical patent/JP2005513658A/ja
Publication of JP2005513658A5 publication Critical patent/JP2005513658A5/ja
Application granted granted Critical
Publication of JP4336583B2 publication Critical patent/JP4336583B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

本発明は、少なくとも1つの通信ネットワークを介して、サーバと少なくとも1つのクライアント端末との間で、オブジェクトと呼ばれるデータを送信する方法であって、サーバによって送信された前記オブジェクトの少なくともいくつかを格納するようにされた少なくとも1つのキャッシュメモリが、ネットワーク内において、前記クライアント端末の少なくとも1つに関連付けられる方法に関する。本発明は、前記クライアント端末の少なくとも1つに関連付けられた前記キャッシュメモリに存在するオブジェクトの少なくとも1つのリストを前記クライアント端末のアップストリームで管理して、前記キャッシュメモリのコンテンツに関するデータ交換を、前記クライアント端末と前記サーバとの間で制限することを特徴とする。

Description

本発明は、通信ネットワークを介したデータ送信の分野に関する。さらに詳しく言えば、本発明は、双方向に表示されるデータの送信およびそれに関連するキャッシュ管理に関する。
現在、通信ネットワークの顕著な発展により、ユーザが、例えば、イメージ、テキスト、幾何学的タイプのモデル、または3Dシーンタイプのモデルを双方向にリアルタイムで表示することができる。従来、ユーザは、適切な端末を介して遠隔サーバに接続を行い、この遠隔サーバによって、ユーザがあるデータベースにおいてこの表示に必要なすべての情報を中央管理する(この場合には「表示」という用語が使用されているが、このタイプの情報は、すべてのタイプのデータを含み、特に、サウンドデータ、ページ付けデータなどを含むことに留意されたい)。
このようにして、ユーザは、例えば、仮想ミュージアム、地形の起伏(ground relief)、またはクラシック音楽のコンサートなどの3D仮想環境を動き回ることが可能なタイプの新しいアプリケーションにアクセスできる。したがって、これらのアプリケーションに関連して、サーバは、シーン内のユーザ位置により、ユーザの視野(または聴覚範囲)に入るシーンの異なるオブジェクトに関する情報とともに、広範囲のシーンの再構築に必要な情報をクライアントに送信する。
本発明は、特に、例えば、将来的に使用するための、データサーバを介したユーザによりアクセス可能なすべてのタイプの情報の上述したような送信および格納に応用可能であるが、これらの限定されるものではない。
例えば、(上述したように)シーンやビデオのリアルタイム表示ができるように、ユーザの端末はキャッシュと一般的に関連付けられており、端末がリアルタイムでシーンを再生するのに必要なすべての情報がキャッシュ内に格納される。
このタイプのキャッシュは、従来、「過去」のデータ、言い換えれば、シーンやイメージを再生するために端末がすでに使用したデータであるが、ユーザの必要により、後で使用されることがあるデータを記憶する。そして、これは、「現在」のデータ、つまり端末が現在使用中のデータと、近い未来に端末が必要とすることがあり、サーバがユーザの必要性を予想した結果得られる可能性がある「未来」のデータを最後に格納する。
容易に理解できるように、特に、ユーザが、非常に大きなデータアイテム、例えば、非常に大きな三次元シーンの表示を望む場合には、最初にサーバが送信する必要があり、次にキャッシュでの管理が必要な情報量は、かなりのものである。
クライアントと対応するサーバとの間での大量のデータ交換に関連する問題を解決するために、いくつかの体系的方法を導入することができ、特に、
キャッシュ充填率が高いとき、メモリ空間を解放するために、削除すべき格納データを選択するために使用可能な置換アルゴリズムや、
クライアントに送信されるデータのサーバが行う選択とこれらのデータの送信モードとを調整する送信方法を導入することができる。
このとき、クライアントとサーバとの間のダイアローグを作成し、クライアントに送信される情報についてサーバに通知するための2つの公知の主要な送信方法がある。
第1の公知の送信方法は、J.H.P.Chem et al.による文献「Multi−Resolution Model transmission in Distributed Virtual Environments」、VRST’98、25−34頁に詳しく記載されている。
この第1の方法によれば、サーバは、4つの連続ステップにおいて、クライアントが表示を望むデータを送信することができ、
第1のステップ中に、クライアント端末は、表示されるシーン内におけるユーザの位置に関する情報をサーバに送信し、
サーバがこの位置情報を受信すると、サーバは、ユーザに必要なすべてのオブジェクトを算出し、第2のステップ中に、オブジェクトの必要な<O,L0>のペアのリストを送信し、ここで、Oはオブジェクトの基準であり、L0はそれに対応する詳細レベルであり、
クライアント端末は、このリストを用いて、キャッシュのコンテンツに応じて、受信を望むオブジェクトに対応する対を選択し、第3のステップ中に、その選択結果をサーバに送信し、
第4のステップ中に、サーバは、クライアントの端末によってリクエストされたオブジェクトを転送する。
従来技術によるこの技術の1つの欠点は、シーン内でユーザ位置が変化すると、すなわち、サーバが1以上の新しいオブジェクトをユーザに送信する必要が生じると、キャッシュを介してユーザが必要なオブジェクトにアクセスできるようになる前に、サーバとクライアント端末との間に、往復運動(forward-return)の形態で2つの完全なデータ交換が必要になることである。
したがって、待ち時間が長い通信ネットワークを介したデータ送信にこのタイプの技術が適応されず、このタイプのネットワークに対して、この技術では、サーバによって送信されるデータをリアルタイムで表示することができない。
第2の公知の送信方法は、J.H.P.Chim et al.による論文「On Caching and Prefetching of Virtual Objects in Distributed Virtual Environments」、Proceedings of the sixth ACM international conference on Multimedia、1998、171−180頁に記載されている。
段階的にコード化されたオブジェクトの送信に特に適応されたこの第2の方法によれば、クライアント端末は、位置情報およびキャッシュのコンテンツに関する情報とともに、表示されるシーンにおける動きの各々に関する情報を<O,L0>のペアの形態でサーバに送信する。この場合も、Oはクライアントキャッシュに含まれるオブジェクトの基準を表し、L0はこのオブジェクトに関連した詳細なレベルについてサーバに知らせる。
そして、サーバは、シーン内でのユーザの位置に応じて、すべての視覚的に関連するオブジェクトを算出し、これらのオブジェクトがユーザのキャッシュに存在するか否かをチェックし、すべての不明オブジェクトをクライアントに送信する。
この方法を用いると、クライアントにシーンを表示するのに必要なデータを転送するのに、クライアントとサーバとの間での往復が1回で済む。
しかしながら、従来技術によるこの技術の1つの欠点は、特に、通過帯域という観点で、非常に多くのネットワークリソースを消費してしまうことである。シーン内でのユーザのそれぞれの動きについて、クライアント端末は、キャッシュのコンテンツに関するすべての情報(言い換えれば、キャッシュに含まれるオブジェクトに対応するすべての<O,L0>のペア)をサーバに転送する。
したがって、非常に大きなシーンを表示する場合には、クライアント端末からサーバに送信される情報量は非常に多くなり、このことは、低速通信ネットワークの場合には特に問題となる。
本発明の1つの特定の目的は、従来技術による欠点を解消することである。
より詳しく言えば、本発明の1つの目的は、サーバとクライアント端末との間の転送を最小限に抑えながら、大量のデータのリアルタイム表示に必要な情報をサーバからクライアント端末に送信する技術を提供することである。
本発明の別の目的は、単純で安価に構築できるこのタイプのデータ送信技術を構築することである。
本発明の別の目的は、あらゆるタイプのネットワークに適応され、特に、多くの待ち時間をもつネットワーク速度が遅いネットワークにも同様に適応される通信ネットワークを介して、このようなデータ送信技術を提供することである。
本発明の別の目的は、サーバからクライアント端末へのデータ送信の冗長を回避するために、このようなデータ送信技術を構築することである。
本発明のさらなる別の目的は、クライアント端末によってサーバに送信されたデータリクエストをなくし、または少なくとも減らすこのようなデータ送信技術を提案することである。
以下から明らかとなる上記目的および他の目的は、少なくとも1つの通信ネットワークを介したサーバと少なくとも1つのクライアント端末との間での、オブジェクトと呼ばれるデータの送信方法であって、前記サーバによって送信された前記オブジェクトの少なくともいくつかを格納することになる少なくとも1つのキャッシュメモリが、前記ネットワーク内の前記クライアント端末の少なくとも1つに関連付けられる方法によって達成される。
本発明によれば、前記クライアント端末と前記サーバとの間で、前記キャッシュメモリのコンテンツに関する情報交換を制限するために、前記クライアント端末の1つに関連付けられた前記キャッシュメモリに存在するオブジェクトの少なくとも1つのリストが、前記クライアント端末の入力側で管理される。
したがって、本発明は、キャッシュメモリの管理の革新的で進歩性のあるアプローチに基づくものである。本発明は、特に、データサーバにアクセス可能なクライアント端末の入力側(アップストリーム)において、クライアントに関連付けられたキャッシュのコンテンツを表すリストを維持するという革新的で有利な考えに基づく。したがって、この解決策を用いると、サーバは、これらのコンテンツをサーバで複製する必要がなく、いつでもクライアントキャッシュのコンテンツを知ることができる。したがって、本発明により、リソース、特に、サーバ用のメモリという観点で費用をかけずに、クライアントがシーンまたはオブジェクトセットを表示するとき、サーバとクライアントとの間で交換される情報量を著しく低減できる解決策が得られる。このタイプの解決策は、低容量のクライアント端末または性能が限定された通信ネットワークに対して特に有益である。
サーバとクライアント端末との間での交換のコンテキスト(context、または、文脈)下でオブジェクトリストまたはドキュメントリストの管理を行うようにする米国特許第6098064号明細書および同第5956039号明細書に特に記載されているいくつかの技術がすでに知られている。しかしながら、これらのリストは、本発明によるリストとは、形態の点からも役割の点からも異なる。
したがって、米国特許第6098064号明細書には、ドキュメントが将来的にユーザによって必要とされる見込みに応じて、コンピュータのキャッシュメモリに格納すべき(特に、ウェブページの形態などの)ドキュメントを決定するための技術が記載されている。この技術を用いると、端末のキャッシュメモリにあるか、または将来的にユーザの関心を引くであろうドキュメントをリストした要求リストが作製される。
本発明によるリストと異なり、上述したリストの役割は、クライアントがドキュメントを表示するときにサーバとクライアント端末との間で交換される情報の数および/または量を減らすことではないので、本願の目的のために使用することができない。
米国特許第5956039号明細書により、3Dシーンにおけるリアルタイムナビゲーションシステムの性能を高めるための技術が提供されている。このタイプの技術は、シーンの異なるオブジェクトにプライオリティ(優先順位)を与えることからなり、それによって、クライアント端末は、最も高いプライオリティのオブジェクトをまず受け取る。これらのプライオリティは、現在のシーンにある各オブジェクトに関する情報を含むデータベース内で管理される。
しかしながら、このデータベースは、(アップストリームである)クライアント端末の入力側で管理されないため、本発明のように、サーバと端末との間での交換を減少させる技術的な問題を解決できない。
前記オブジェクトの各々の識別子は、前記オブジェクトの少なくとも1つに対して、前記オブジェクトの再生に関する情報とともに、前記リスト内に格納されるのが有益である。
したがって、サーバは、クライアントのキャッシュに含まれたオブジェクトのリストだけでなく、クライアントによって再生可能な再生レベルにアクセスすることができる。
前記オブジェクトの少なくとも1つの前記再生情報は、前記オブジェクトの微細レベルに関するものであることが好ましい。
したがって、サーバは、クライアント端末が、例えば、きめの粗い形態または微細な形態でオブジェクトを再生可能であるかを認識できる。
前記リストが、前記オブジェクトの前記O識別子と前記オブジェクトの前記再生情報L0とを含む、前記キャッシュメモリに格納された前記オブジェクトの各々に対して<O,L0>のペアを含むことが好ましい。
本発明の1つの有益な特徴によれば、表示情報と呼ばれる、前記クライアント端末および/または前記クライアント端末のユーザに関する情報の少なくとも1つのアイテムは、コンテキストを形成するように、前記クライアント端末の各々に対して前記リストに関連付けられる。
サーバに接続された各クライアントに対して、サーバは、クライアントに関連付けられたキャッシュの状態を表すリストおよび表示情報を含むコンテキストを管理する。このタイプの情報は、特に、クライアント端末の容量、またはその速度を表すものでありうる。
前記表示情報は、
前記ユーザの位置情報と、
前記ユーザの観察方向と、
前記オブジェクトの選択パラメータと
を含んでなる群に属することが好ましい。
例えば、このタイプの選択パラメータは、オブジェクト選択しきい値(object selection threshold)と、オブザーバ視野(observer view)とを含む。クライアント端末による3Dシーンの表示の場合には、3D点の形態で位置情報を表現することができ、この場合には、軸は、シーンの中心に対するオブザーバの位置に相当する。3Dベクトルの形態で観察方向を表現することができる。
前記リストは、前記サーバによって、または前記ネットワークの中間要素によって管理される。
例えば、サーバとクライアントとの中間にあるプロキシサーバによってリストを管理することができる。そして、クライアントキャッシュのコンテンツの状態を決定するために、サーバは、リクエストをプロキシに送信する。この解決策の性能は、より多くの情報交換を生成するという点でかなり劣るが、サーバとプロキシとが高性能ネットワークによって接続されており、(例えば、サーバの容量が低い場合など)サーバを「軽減する(relieve)」ことが要求される場合には、興味深い場合がある。
本発明の1つの好適な実施形態によれば、このタイプの方法は、前記サーバに初期表示情報が送信される前記クライアント端末の各々の第1の送信ステップと、前記サーバが、前記対応するコンテキストに前記初期表示情報を格納する格納ステップとを伴う予備初期化段階(preliminary initialization phase)を含む。
また、前記予備初期化段階は、前記クライアント端末によって再生されるシーンのきめの粗いバージョンを送信するために、前記サーバが前記クライアント端末に送信を行う第2の送信ステップをさらに含むことが有益である。
したがって、本発明によれば、従来技術による解決策と異なり、クライアントが表示を望むオブジェクトを含むデータベースのすべてが初期化時に送信されるわけではないので、クライアントのメモリとネットワークの通過帯域との観点から著しい節減を図ることができる。データベースが約100Mbitsであり、クライアントとサーバとが最大速度500kbits/秒のADSL「非対称ディジタル加入者線(Asymmetric Digital Subscriber Line)」タイプのネットワークによって接続されているとする。したがって、クライアントとサーバとの間の接続が初期化されると、クライアントで表示される全シーンをロードするのに必要な全ベースが送信され、それには少なくとも200秒かかる。本発明では、初期化時にこのような送信を行う必要がなく、したがって、ほぼ瞬時に少なくともシーンのきめの粗い表現を表示できるため、従来技術によって課されていた3分を超える少なくとも200秒の長い待機時間がなくなるという点から、本発明は、クライアントにとって特に有益である。
所定の時間間隔で、および/または、前記表示情報の修正時に、前記クライアント端末の各々が、前記表示情報アイテムの少なくともいくつかを前記サーバに転送するステップを実行することが好ましい。
最後の送信以降の情報が修正されていれば、所定の時間間隔で表示情報を転送することからなる選択によって、送信の数が最小限に抑えられることに留意されたい。
本発明の第1の有益な実施形態によれば、前記所定の時間間隔が、前記クライアント端末によって固定される。
特に、例えば、クライアントが表示されるシーンをリフレッシュさせたい場合には、周波数に応じて、クライアントによって前記所定の時間間隔を要求することができる。
本発明の第2の有益な実施形態によれば、前記所定の時間間隔が、前記通信ネットワークの少なくとも1つの特徴によるものである。
特に、これらの時間間隔は、ネットワークロード、または、例えば、そのスループットや待ち時間によるものでありうる。
前記クライアント端末によって実行される前記転送ステップの終わりに、前記方法が、対応する前記コンテキスト内の前記表示情報を更新するステップを実行することが好ましい。
前記更新ステップの終わりに、前記サーバが、
前記更新された表示情報の少なくともいくつかに応じて、前記クライアント端末に必要な少なくとも1つの識別子オブジェクトOおよび対応する再生レベルL0を決定する決定ステップと、
前記クライアント端末に関連付けられた前記キャッシュメモリを表す前記リストを分析して、存在すれば、前記識別オブジェクトOと、前記クライアント端末に必要な再生レベルL0に対応し、前記リストに記憶されていないペア<O,L0>を特定するステップと、
前記リストに記憶されていない前記ペア<O,L0>の任意のものに対応する、前記クライアント端末が必要とする再生レベルL0とともに、存在すれば、前記識別子オブジェクトOとを、前記クライアント端末に送信するステップと、
存在すれば、送信された前記オブジェクトに対応する前記ペア<O,L0>を前記クライアント端末に追加して、前記クライアント端末に関連付けられた前記キャッシュメモリを表す前記リストを更新するステップと
を実行することが有益である。
クライアントに必要な1以上のオブジェクトを決定するためのステップは、クライアントのコンテキストに格納された情報に応じて、サーバによって実行される算出の結果でありうる。また、このタイプの計算は、例えば、クライアント接続がなされる前に、サーバに関連付けられた独立計算エンティティによって実行可能である。そして、決定ステップは、クライアントに関連付けられた表示情報に応じて必要とされるオブジェクトを特定するように、サーバがこの計算の結果を見ることからなる。したがって、従来技術による技術を比較すると、本発明により、クライアントの端末からサーバに、またはそれに関連付けされた算出エンティティに、クライアントに必要なオブジェクトの計算を転送する手段が得られる。
また、前記サーバは、
少なくとも1つの見込み基準に従って、前記クライアント端末にとって必要な可能性がある少なくとも1つの識別子オブジェクトOおよび再生レベルL0を決定するステップと、
前記少なくとも1つの識別子オブジェクトOおよび再生レベルL0を、前記クライアント端末に前もって送信するステップと
をさらに使用できることが有益である。
例えば、オブザーバが、前の置換の変動に応じて、シーンのオブジェクトの方向へと移動している見込みをサーバが評価し、この見込みが所定のしきい値より大きい場合には、サーバは、同じ方向に移動を継続していれば、クライアントが近い将来必要とするオブジェクトを送信する主導権をとる。
前記サーバによって送信される少なくとも1つのオブジェクトを受信すると、前記クライアント端末は、
前記クライアント端末に関連付けられた前記キャッシュメモリの充填率が、所定のしきい値より低ければ、前記キャッシュメモリに前記受信したオブジェクトを格納するステップと、
そうでなければ、前記受信したオブジェクトの関連基準(relevance criterion)を評価するステップとを実行するものであり、
前記キャッシュメモリに格納された前記オブジェクトの少なくとも1つが、前記受信したオブジェクトの前記関連基準より小さい値の関連基準を有していれば、前記クライアント端末が、前記キャッシュメモリから前記値が小さな関連オブジェクトを除外するサブステップと、前記キャッシュメモリに前記受信したオブジェクトを格納するサブステップとを実行し、
そうでなければ、前記クライアント端末が、前記受信したオブジェクトを拒絶するサブステップを実行することが好ましい。
例えば、このような関連基準は、オブジェクトからオブザーバまでの距離によるものでありうる。
本発明の1つの有益な特徴によれば、前記除外サブステップおよび/または前記拒絶サブステップの後に、前記クライアント端末は、前記クライアント端末に関連付けられた前記キャッシュメモリを更新するための少なくとも1つの情報アイテム(項目)を、前記サーバに送信することによって、前記サーバは、前記除外サブステップ中に除外された前記オブジェクト、および/または、前記送信ステップ中に前記サーバによって送信されたオブジェクトに対応するが、前記キャッシュメモリには記憶されていない少なくとも1つの<O,L0>のペアを、前記キャッシュメモリを表す前記リストから除外する。
前記オブジェクトの少なくともいくつかは、少なくとも1つのインデックスを含むことにより、前記関連付けされたインデックスから始まる前記オブジェクトの一部分を選択的に送信できることが好ましい。
特に、これらのオブジェクトは、例えば、以下のタイプ、すなわち、
2Dイメージ、
メッシュ、
テクスチャ、
サウンド、
幾何学的モデル、
3Dシーン、
ビデオデータ、
ページ付けデータ、
からなるタイプの1つでありうる。
このリストは、完全なものではなく、例示目的のみのものであることは明らかである。
また、本発明は、少なくとも1つの通信ネットワークを介したサーバと少なくとも1つのクライアント端末との間での、オブジェクトと呼ばれるデータの送信システムであって、前記サーバによって送信された前記オブジェクトの少なくともいくつかを格納するようにされた少なくとも1つのキャッシュメモリが、前記ネットワーク内の前記クライアント端末の少なくとも1つに関連付けられた送信システムに関する。
本発明によれば、このタイプのシステムは、前記クライアント端末と前記サーバとの間で、前記キャッシュメモリのコンテンツに関する情報交換を制限するために、前記クライアント端末の入力側で、前記クライアント端末の1つに関連付けられた前記キャッシュメモリに存在するオブジェクトの少なくとも1つのリストを管理するための管理手段を含む。
また、本発明は、少なくとも1つの通信ネットワークを介して少なくとも1つのクライアント端末に接続された、オブジェクトと呼ばれるデータ用のデータサーバであって、前記サーバによって送信された前記オブジェクトの少なくともいくつかを格納するように与えられた少なくとも1つのキャッシュメモリが、前記ネットワーク内の前記クライアント端末の少なくとも1つに関連付けられたデータサーバに関する。このタイプのサーバは、前記キャッシュメモリのコンテンツに関係する情報に関して、前記関連付けられたクライアント端末との情報交換を制限するために、前記クラアント端末の少なくとも1つに関連付けられた前記キャッシュメモリに存在するオブジェクトの少なくとも1つのリストを管理する手段を含む。
また、本発明は、前記端末に関連付けられた前記キャッシュメモリを表す前記リストを前記サーバが更新できるように、更新情報の少なくとも1つのアイテム(項目)を前記サーバに送信する手段を含む上述したようなデータサーバのクライアント端末に関する。
本発明の他の特徴および利点は、例示的で非制限的な例として単に挙げた好適な実施形態の詳細な記載を読み、添付の図面を参照することにより、さらに明らかになるであろう。
本発明の一般的な原理は、クライアント端末がオブジェクトリクエストをアドレス指定するサーバと、そのクライアント端末自体との間での情報交換を減少するように、この端末に関連付けられたキャッシュメモリに存在するオブジェクトリストを、クライアント端末の入力側(アップストリーム)から管理することに基づく。
本願明細書の以下の記載では、クライアントによってシーンのリアルタイム表示用に、通信ネットワークを介した順次データ送信への本発明の特定の応用について記載する。(なお、本発明は、オブジェクトの表示に限定されるものではなく、サウンドオブジェクトを聴くことなどにも適用することができる。)
以下、図1を参照しながら、本発明のコンテキスト内で使用できる1つの例示的なネットワークアーキテクチャについて記載する。
このタイプのネットワークアーキテクチャは、クライアント・サーバアーキテクチャである。キャッシュ1はクライアント2と関連付けられている。このキャッシュ1は、サーバ3により送信されるデータを、通信ネットワーク4を介して格納できるようにする。
キャッシュ1に格納されるデータは、「現在」のデータ(言い換えれば、クライアント端末2によって使用中のデータ)、または「未来」のデータ(言い換えれば、後で使用する予定のデータ)、または「過去」のデータ(言い換えれば、すでに使用したが、少なくとも一時的に使用されていないデータ)でありうる。
クライアント端末2内へとキャッシュ1を組み込むことができ、または、ネットワーク内の別のポイントにキャッシュ1を設置して、クライアント端末2に単に関連付けることができ、例えば、図1に図示していないサーバ3とクライアント2との間の中間サーバ、特に、プロキシタイプのサーバへとキャッシュ1を組み込むことができる。本発明の1つ別の実施形態において、いくつかのクライアント2によってキャッシュ1を共有することができる。単純化の理由から、本願明細書の以下の記載は、クライアント端末2にキャッシュ1を組み込んだ本発明の特定の実施形態を記載することに限定する。
クライアント端末2は、表示されるシーンでのクライアントの位置などの視覚や、観察方向や、オブジェクト選択しきい値や、視野などの表示または再生されるオブジェクトの選択パラメータに応じて、スクリーン上に表示されるオブジェクトの選択に必須な情報セットを管理する。
サーバ3は、クライアント2が表示したいオブジェクトセットがグループ化されたデータベース5を管理する。これらのオブジェクトは、サーバ3とクライアント2との両方によって認識可能なデータベース5内で、単一の識別子によって参照されることが好ましい。例えば、これらのオブジェクトは、好ましくは、順次送信、サウンド、または他のタイプの生データを有する3Dメッシュでありうる。また、データベース5は、クライアント端末2によりシーンの再生に必要な異なる特性のいくつかのオブジェクトを含み、例えば、クライアント2がクラシック音楽のコンサートを表示したければ、データベース5は、シーンをグラフィック的に再生するための3Dオブジェクトと、楽器によって生成される音を再生するための3Dサウンドとを含みうる。
本発明の1つの好適な実施形態によれば、図2に示すように、サーバ3は、クライアント2のキャッシュ1を参照するリスト6をさらに管理する。本発明の1つの変形例によれば、このリスト6は、サーバ3で管理されず、例えば、クライアント2とサーバ3との間の中間にある図2には図示していないプロキシサーバにおいて、クライアント端末2の入力側で管理される。単純化の理由のために、本明細書の以下の記載では、リスト6がサーバ3によって管理される本発明の特定の実施形態を簡単に記載するが、本明細書によれば、当業者が、リスト6がクライアント端末2のアップストリームにあるサーバ3の外側で管理される場合である本発明の実施形態を容易に想定できるであろう。
リスト6は、ペア<O,L0>のセットからなり、Oはオブジェクト識別子であり、L0は、クライアント端末2に転送された考慮されたオブジェクトの再生レベルに対応する。図4および図5を参照すると、本明細書の以下の記載に示すように、使用されるオブジェクトOのタイプによって、L0はいくつかの別個の形態のものでありうる。
サーバ3は、図2に示されていないクライアントコンテキスト内において、リスト6と関連して、クライアント端末および/またはクライアント2に関する情報セットを管理することができる。例えば、この情報は、表示されるシーンに関連付けられたベースでのクライアントの位置と、クライアントの観察方向と、表示されるオブジェクトの選択パラメータ(特に、選択しきい値およびシーンにおけるオブジェクトの視野)とからなる。
本発明の文脈中において、図2に提示されたアーキテクチャは、表示されるデータの選択のいくつかの計算をクライアント端末2からサーバ3に転送するために使用することができ、これによって、クライアント2とサーバ3との間での交換が有益に減少される。本発明のこの態様は、図3を参照しながら、本明細書の以下の記載においてより詳細に記載される。
図2のアーキテクチャの状況において、図7を参照しながら、サーバ3とクライアント2との間のダイアローグの初期化段階(initialisation phase)中に伴う異なるステップについて記載する。したがって、クライアント2がサーバ3に接続されるとき、サーバ3を初期化するために、いくつかのデータが送信される。
ステップ参照番号71の間に、クライアント端末2は、(特に、クライアント2が得たい詳細レベルに応じて)例えば、表示されるシーンにおけるクライアントの位置、クライアントの方向、視野、またはオブジェクト選択しきい値などの初期表示情報をサーバ3に送信する。選択しきい値のタイプは、本明細書において以下に記載して示すように、考慮するオブジェクトタイプに応じて変動できることに留意されたい。
格納ステップ72において、サーバ3は、クライアント端末2に関連付けされたコンテキストの初期受信表示情報を格納する。
そして、サーバ3は、マッピングとも呼ばれる動作において、再生されるシーンのきめの粗いバージョンをクライアント端末2に送信する(ステップ73)。このタイプのマッピングは、データベース5の基本バージョンに対応し、それによって、クライアント2は、接続の開始時に、端末において表示されるシーンの少なくともきめの粗いビューを表示することができる。
クライアント2がこのマップを受信すると、クライアントは、特に、キャッシュ1内において、サーバ3から受信したデータの格納に必要な異なるサブキャッシュを作成することができる。
本発明によれば、同一のサブキャッシュにおいて、サーバ3から受信した同一のタイプのすべてのオブジェクトを格納することが決定される。表示されるシーンのすべてのオブジェクトが同じ特性をもてば、キャッシュ1内にサブキャッシュを作成する必要がない。クライアント2が地形の起伏を端末において表示する特定の例では、地形の幾何学的形状に関係するデータを格納するためのキャッシュ1内の第1のサブキャッシュと、地形のテクスチャを格納するようにされた第2のサブキャッシュとを作成することが好ましい。
このタイプの初期化段階の後に、クライアント2およびサーバ3は、考慮されるシーンを表示するために、クライアント2に対して、ベース5からデータを送受信することができる。
以下、図3および図6を参照して、クライアント端末2によって再生されるシーンの表示中のクライアント・サーバダイアローグについて記載する。
このような表示段階(display phase)の一般的な原理は、サーバ3がクライアント2に関連付けられたコンテキストに格納した後に、シーンを表示し続けるのに必要なデータまたはオブジェクトをクライアント2に送信するために使用する、サーバ3へのクライアント2の送信情報に基づく。
この情報は、異なる特性のものからなり、特に、異なる頻度でクライアント2によって修正することができる。したがって、再生されるシーンにおけるクライアントの位置に関する情報およびクライアントの観察方向は、シーンが表示される限り修正され、それは、クライアント2が、または、より正確に言えば、クライアントに関連付けられた仮想オブザーバが、シーンを動き回ってその周りをみるからである。
クライアント2からサーバ3へのこのような情報の送信は、図3の実線で示す矢印で表される。これは、クライアント2によって規定可能な頻度(例えば、5秒間隔)で実行され、または、ネットワーク4およびクライアント端末2の容量に応じて決定することができる(例えば、表示情報が送信される頻度を、高速ネットワークの場合には2秒間隔に固定でき、低速ネットワークの場合には6秒間隔に固定できる)。また、この情報の送信(a)は、クライアント2とサーバ3との間での交換回数(a)を制限するために、イベント関連の基準によることが有益である。つまり、位置および観察方向の情報の送信(a)は、この情報がサーバ3に送信された(a)最後の時間以降に修正されていない場合には発生しないことになる。
例えば、位置および観察方向の情報がサーバ3に送信された最後の時間以降にクライアント2がシーン内で動いている場合には、(送信頻度が5秒で固定されている場合には)修正された情報は5秒後に再度送信される。
本発明によれば、クライアント2は、(a)の送信時にサーバ3からの応答を待たないので、(例えば、UDP(ユーザデータグラムプロトコル)タイプの)非接続モードでこの送信を行うことができる。
図6に示すように、クライアント2によって送信される方向および位置情報が受信されると(ステップ61)、サーバ3は、クライアント2に関連付けられたコンテキストを更新し(ステップ62)、新しい受信位置および方向情報をコンテキストに記憶する。
送信されるオブジェクトの選択パラメータなどの他の情報や、キャッシュ1の更新情報は、イベント関連基準、すなわち、この情報の修正により送信されることが好ましい。クライアント2からサーバ3へのこのタイプの送信は、図3の破線で示す矢印(b)で表される。受信すると、(キャッシュ更新情報の)リスト6、または、より一般的に、クライアント2に関連付けられたコンテキストのいずれかに、サーバ3がこの情報を格納する。
したがって、
サーバ3によって送信される新しいオブジェクトを格納するために、1以上のオブジェクトがクライアント端末2によってキャッシュ1から削除されるか、または、
サーバ3によって送信された1以上のオブジェクトが、クライアント端末2によって拒絶された場合には、
キャッシュ1(または、キャッシュ1のサブキャッシュの1つ)に存在するオブジェクトに対応する<O,L0>のペアのリストの形態で、クライアント2のキャッシュ1の更新情報はサーバ3に送信される。
サーバ3によって送信されたオブジェクトを受信した後に、クライアント端末2によって行われる方法を示した図8を参照して、以下に、これらの態様についてさらに詳細に記載する。
Oはシーンのオブジェクトの識別子を表し、L0はオブジェクトOの再生詳細レベルに関する情報である。L0の構造は、オブジェクトタイプOおよび関連付けされた詳細レベルをコード化するために使用される方法によることは明らかである。したがって、L0は、図4および図5を参照して以下に記載するように、(例えば、本発明は、HLOD「階層詳細レベル」タイプ技術を使用する場合の)詳細レベルを表す値、またはオブジェクトOの幾何学的微細さをコード化した表現値のセットでありうる。
同様に、(例えば、オブジェクト選択しきい値、視野、またはオブジェクトの選択を修正するための任意の他の情報などの)オブジェクト選択パラメータは、この値が修正されるときに送信される。初期化段階において規定された選択しきい値を表示段階中に修正すること、例えば、シーンのより詳細な再生を行うために、クライアント2がこのしきい値を下げるように決定することが考えられる。
このタイプの選択しきい値は、多くのさまざまな方法により規定することができ、特に、角度や、投影ピクセルや、サイズなどで評価されうることに留意されたい。したがって、サーバ3は、クライアント端末2のスクリーン上で表示された後に、1°以上の角度で仮想オブザーバが見えるオブジェクトのみをクライアント2に送信することができる。ウェーブレットによってコード化されたメッシュに関連付けられたオブジェクトの場合には、例えば、2°以上のメッシュの変形を誘発するウェーブレット係数のみを選択するように選択しきい値を固定することができる。考慮するオブジェクトがサウンドであれば、選択しきい値は、このサウンドの周波数または持続時間によるものでありうる。クライアント2に送信される関連するオブジェクトをサーバ3が選択できる任意の他の方法により、選択しきい値とすべての他の選択パラメータとを規定することができる。
クライアント2に関連付けられたコンテキストに含まれる情報(位置情報、観察方向情報、選択パラメータ、キャッシュ1のコンテンツに関する情報)によって、サーバ3は、クライアント2に視覚的に関連するオブジェクトまたはデータを送信する。この送信は、図3に示す連続的なグレー矢印(c)によって表される。視覚的に関連するオブジェクトの決定は、サーバ3によって、またはネットワーク4の別のエンティティによって実行される計算から得られる。また、その決定は、サーバ3とクライアント2との間の接続が設定される前に計算されて、例えば、サーバ3のネットワーク内に記憶されていてもよい。
したがって、図6に示す特定の実施形態において、サーバ3は、クライアント2のコンテキストに含まれる表示情報のいくつかまたはすべてに応じて(例えば、クライアント2の位置および観察方向情報および選択パラメータに応じて)、クライアント端末2に必要なオブジェクトOを適切な再生レベルで決定する(ステップ63)。
そして、サーバ3は、受信した最新の更新データに応じて更新された、クライアント端末2のキャッシュ1に関連付けられたリスト6を分析し(ステップ64)、クライアント2に必要なオブジェクトが、適切な微細レベルL0において、クライアント2のキャッシュ1にすでに格納されているか否かを決定する。
格納されていなければ、サーバ3は、このオブジェクトまたはこれらのオブジェクトをクライアント端末2に送信する(ステップ65)。
本発明によれば、サーバが近い将来に必要になるであろうと予測すれば、クライアント2に現在必要ではないオブジェクトをサーバ3が送信できる(c)ような予想方法を実行することもできる。例えば、サーバ3が、クライアント2が同じ方向に数回移動したと決定すれば、クライアント2に関係していないが、クライアント2が同じ方向に沿って移動し続けていれば、クライアントの視野に間もなく入るであろうオブジェクトをこのクライアント2に送信することができる。
この送信(c)の時に、サーバ3は、クライアントに送信されるすべてのデータがキャッシュ1に格納されたことを考慮しながら、ペア<O,L0>の形態でクライアント2に送信(c)されたデータを追加することによって、クライアント2に関連付けられたリスト6を修正する。この更新ステップは、図6において、ステップ参照番号66によって示される。リスト6のこのタイプの修正は、送信冗長を最小限に抑えることが有益である。クライアント2にサーバ3によって送信(c)されたいくつかのデータが、例えば、ネットワークに関係する送信エラーの場合には、キャッシュ1に格納されず、キャッシュ1の状態とリスト6との間に一貫性が欠けることになる場合がある。本発明がこの問題を解消する方法を含むことは有益である。以下に図8を参照してさらに詳細に記載するように、キャッシュ1の状態とリスト6との間の一貫性が維持される。
以下、図4Aから図4Cを参照しながら、幾何学的ウェーブレットによってコード化された三次元モデルのクライアント2による例示的な表示について記載する。ベースメッシュに追加された詳細の連続としてメッシュを表すように、「ウェーブレット」コード化方法が使用されると留意されたい。この技術の一般的な理論は、M.Lounsbery,T.DeRoseおよびJ.Warrenによる論文「Multiresolution Analysis for Surfaces of Arbitrary Topological Type」(ACM Transaction on Graphics、Vol.16、No.1、pp.34−73、January 1997)において特に記載される。
上述したように、クライント・サーバダイアローグの初期化段階の後に、サーバ3は、ベース5のマッピングと呼ばれるきめの粗いバージョンをクライアント端末2に送信する。(図4Aから図4Cに示す)3Dモデルのセットからなるベース5の場合には、例えばベース5の異なるオブジェクトの位置およびサイズについて、例えばこれらのオブジェクトの周りにあるボックス41Aおよび42Aの位置およびサイズの形態で、このマッピングは、クライアント端末2に通知する値のセットに対応する。
これらのオブジェクトの視感度によって(言い換えれば、これらが、オブザーバの視野において部分的または全体的に存在するか否か、オブザーバからの距離などに応じて)、サーバ3は、これらのオブジェクトのメッシュ41B、42Bをクライアント2に送信する。そして、これらのベースメッシュ41B、42Bを用いて、クライアント2は、サーバ3から生じたデータの格納に必要な異なるサブキャッシュを構築し、ペア<O,L0>の対応する初期リストを作成する。
図4Aから図4Cの例において、ベースメッシュ41B、42Bの各々は、n個の面を含むと考えられる。したがって、クライアント2に対してサーバ3によって管理されたリスト6は、ペア<O,<N1,...,Nn>>のセットからなることになり、Oは、オブジェクト識別子を表し、Niは、ベースメッシュ41B、42Bの面iのキャッシュ1に存在するウェーブレット係数の数を表す。ベースメッシュ41B、42Bが送信されると、i[1,n]のNi値はすべてゼロに初期化される。
各面についてのウェーブレット係数のソート順序が前もって決定されていれば、サーバ3が、クライアント2のキャッシュ1に存在するウェーブレット係数を正確に決定するには、i∈[1,n]のNi値を正確に分かっていればよいことに留意されたい。したがって、クライアント2が、図3のステップ(b)の間に、メッシュ41Bの面No.8に対して30個の係数があることをサーバ3に通知すれば、サーバ3は、31番目の係数から始まりメッシュ41Bの面No.8に関連付けられる、クライアント2に関連する係数の送信を開始することになる。位置情報や観察方向情報や選択パラメータなどの、クライアントコンテキストに記憶された表示情報が関連係数の選択には考慮されることに留意されたい。
各メッシュ面に対して係数が格納される順番は、クライアント端末2に到着した順序のままであることが好ましい。
クライアント端末2は、ベースメッシュ41B、41Cの可視面の各々に対して、サーバによって送信された係数から始まり、シーンのオブジェクトの詳細な表示41C、42Cを再構築することができる。
以下、非順次詳細レベルを用いたオブジェクトに対して、図5を参照して、本発明の第2の例示的な実施形態を示す。オブジェクトまたはオブジェクトの部分がユーザの視点に応じて選択的に改良できるウェーブレットコード化技術を用いた前述の例と異なり、以下に、4つの連続的な詳細レベル参照番号51〜54によって表されたオブジェクトの場合を示す。
図4Aから図4Cの例にあるように、サーバ3は、どのデータが表示されるべきかを知るためにクライアント2が使用することになるデータベース5のマッピングをクライアント2に送信することによって始動する。そして、サーバ3は、見えると考えられるベース5の各オブジェクトに対して、このオブジェクトの最低詳細レベル54(言い換えれば、オブジェクトの最もきめの粗いバージョン)をクライアント2に送信する。サーバ3は、シーン内でのクライアント2の位置によって、より高い詳細レベル53から51を表示中に送信する。このようにして、クライアント2が、図5のオブジェクトの方に次第に移動すれば、サーバ3は、オブザーバからオブジェクトまでの距離に応じて、詳細レベル53、そして詳細レベル52、そして詳細レベル51を段階的に送信する。
オブジェクトOに関連付けられた微細レベルL0のコード化は、使用中のアプリケーションにより課される制約、特に、オブジェクトが関連付けされた詳細レベルの順序で送信されることが必須か否かによる。
したがって、サーバ3が、微細レベルの順序でオブジェクトをクライアント2に送信する必要があれば、オブジェクトOに対してキャッシュ1に存在する最高詳細レベルの値に等しいL0を設定することが決定される。キャッシュ1が、オブジェクトに対して微細レベル参照番号54(微細レベル0および53(微細レベル1)を含めば、O,L0は、値「1」に等しくなる。そして、リスト6は、ペア<O,「1」>を含み、サーバ3は、キャッシュ1がオブジェクトOに対して微細レベル0および1を含むと推測する。そして、必要に応じて、次に高い詳細レベル、言い換えれば、微細レベル「2」に対応するレベル参照番号52のみをクライアント2に送信する。
サーバ3からクライアント2への送信が、成功レベルの順序でなされる必要がなければ、L0は、クライアントのキャッシュ1において、オブジェクトOに対して記憶されたすべての微細レベルを表す。例えば、数ビットでL0をコード化することを選択することができ、クライアント2のキャッシュ1に記憶された詳細レベルにL0での位置が対応するビットは、値1に等しい。図5の例において、クライアント2のキャッシュ1が、表示参照番号54および52にそれぞれ対応する微細レベル「0」および「2」を含む場合には、L0は0101に等しくなる。そして、サーバ3は、(特に、考慮するオブジェクトからの距離と観察方向などの)シーン内のユーザの位置によって、表示参照番号53および51のそれぞれに対応した詳細レベル1および3を送信可能であることが分かる。
同様に、8個の連続した詳細レベルが関連付けられたオブジェクトを考慮するとき、クライアント2のキャッシュ1が、このオブジェクトに対して詳細レベル1、2、4、および7を含む場合には、L0の値は「01001011」になる。そして、サーバ3は、関連付けされたコンテキストに格納された表示情報に基づいて、レベル3、5、6、および8をクライアント2に送信可能であることが分かる。
0のこのタイプのコード化は、面からなる3Dオブジェクトに対して制限されているが、例えば、マルチ解像度テクスチャなど、非順次詳細レベルからなる任意のタイプのデータに適用できることに留意されたい。
サウンドやビデオタイプの生データの場合、または(在庫管理や人事管理などの)ページ付けデータの場合に関し、本発明の第3の例示的な実施形態について簡潔に記載する。
例えば、サウンドタイプの生データの場合には、サーバ3がマッピングを送信する必要がないことがある。また、このことは、サーバ3が、時間内にデータセットを送信し、例えば、30秒以内にバイオリンの音が演奏または再生すべきであることをクライアント2に知らせることに該当する。このタイプのサウンドオブジェクトの場合には、再生情報L0は、例えば、送信されるデータパーセンテージに相当する。したがって、サーバ3は、例えば、2分30秒間続く音のうちの最初の15秒がクライアント2のキャッシュ1に格納されていることをL0の値により知ることができる。
ページ付けデータの場合には、初期化中にサーバ3によって送信されるマッピングは、例えば、データベース5の各データに対して存在するページ総数に対応するものでありうる。この場合には、再生情報L0は、形態<N,N0,...,Nn>の可変データであってよく、Nは、このオブジェクトに対する既知のページ番号(言い換えれば、このオブジェクトに対してクライアントキャッシュに格納されたページ数)を表し、Niは、i番目のページの名称を示す。
図8を参照して、図3の送信参照(c)の間にサーバ3によって送信される1以上のオブジェクトORの受信81において、クライアント端末2によって実行される異なるステップを記載する。単純化の理由により、サーバ3が1つのオブジェクトORをクライアント2に送信する場合について記載する。いくつかのオブジェクトORが、クライアント2および/またはキャッシュ1によって受信される場合に使用される技術は、この場合から容易に推測されるであろう。
参照番号82のステップの間に、クライアント端末は、それに関連付けられたキャッシュ1の充填率をチェックする。キャッシュ1が端末2に組み込まれていなければ、キャッシュ1の管理に責任のあるエンティティ、例えば、キャッシュ1が組み込まれているプロキシサーバによって、このチェックが実行される。
キャッシュ1の充填率が、所定の充填しきい値より小さければ、すなわち、キャッシュ1に1以上の新しいオブジェクトを格納可能であることを示せば、受信したオブジェクトORは、クライアント2のキャッシュ1に記憶される(ステップ83)。
そうでなければ、既存の状態において、キャッシュ1にサーバ3から受信したオブジェクトORを格納することができない。そして、キャッシュ1に、オブザーバの受信したオブジェクトORより視覚的に関連性が低いオブジェクトOSがあるかが決定される(ステップ84)。例えば、最新の変位またはクライアント2の観察方向の変化に起因して、このタイプのオブジェクトOSは、クライアント2の視野外のオブジェクトでありうる。
このタイプの関連性の低いオブジェクトOSがあれば、そのオブジェクトをキャッシュ1から削除することによって(ステップ86)、サーバ3から受信した新しいオブジェクトORをキャッシュ1の適所に格納することができる。
そして、クライアント端末2は、キャッシュ1の状態を更新するための情報を送信し(ステップ87)、このオブジェクトOSをキャッシュ1から削除し、オブジェクトORがこれに相応して格納されたことをサーバ3に示す。
一方で、キャッシュ1に格納されたすべてのオブジェクトが、サーバ3から受信したオブジェクトORよりも視覚的に関連性があれば、キャッシュ1の管理に責任のあるエンティティ(例えば、クライアント端末2)は、このオブジェクトORを拒絶することになる。
そして、クライアント端末2は、キャッシュ1の状態に関する更新情報を送信し(ステップ87)、キャッシュ1にオブジェクトORを格納できないことをサーバ3に知らせる。
また、サーバ3は、この更新情報を用いて、キャッシュ1の状態とそのコンテンツを表すリスト6とを保持する。この更新情報を受信した後に、特に、クライアント2に送信され、またはリスト6に追加されたすべてのオブジェクトが、サーバ3は、クライアント2および/またはキャッシュ1によってエラーなしに実際に受信されたことをチェックすることができる。特に、このことによって、ネットワーク4の障害に関連する送信問題を追跡することができる。
したがって、サーバ3は、クライアント2から受信した更新情報およびリスト6を比較して、それらが一致しており、受信した更新情報に応じてリストを更新するのに適用可能であるかをチェックする。
本発明を実施するのに適したクライアント・サーバアーキテクチャを示すブロック図である。 オブジェクトリスト管理ブロックをサーバに追加して完了した、本発明による図1のアーキテクチャを示すブロック図である。 本発明により使用されるクライアント・サーバダイアローグの一例を示す概略図である。 A〜Cは、幾何学的ウェーブレットによってコード化された3Dモデルのコンテキスト内における本発明の1つの例示的な実施形態を示す概略図である。 非順次詳細レベルを用いたオブジェクトの本発明の1つの実施形態の第2の例を示す概略図である。 表示段階における本発明によりサーバによって使用される異なるステップのブロック図を示す流れ図である。 初期化段階における本発明により使用される異なるステップを示す流れ図である。 クライアント端末によるオブジェクトの受信中に本発明により使用される異なるステップを示す流れ図である。

Claims (21)

  1. 少なくとも1つの通信ネットワークを介して、サーバと少なくとも1つのクライアント端末との間で、オブジェクトと呼ばれるデータを送信する方法であって、該サーバによって送信された該オブジェクトの少なくともいくつかを格納するようにされた少なくとも1つのキャッシュメモリが、前記ネットワーク内の前記クライアント端末の少なくとも1つに関連付けられ、
    前記クライアント端末と前記サーバとの間での前記キャッシュメモリのコンテンツに関する情報交換を制限するために、前記クライアント端末の1つに関連付けられた前記キャッシュメモリに存在するオブジェクトの少なくとも1つのリストを管理することを特徴とする送信方法。
  2. 前記オブジェクトの少なくとも1つに対して、前記オブジェクトの再生に関する情報とともに、前記オブジェクトの各々についての識別子を前記リスト内に格納することを特徴とする請求項1に記載の送信方法。
  3. 前記オブジェクトの少なくとも1つの前記再生情報が、前記オブジェクトの微細レベルに関するものであることを特徴とする請求項2に記載の送信方法。
  4. 前記オブジェクトの前記O識別子および前記オブジェクトの前記再生情報L0を含む、前記キャッシュメモリに格納された前記オブジェクトの各々に対して、前記リストが<O,L0>のペアを含むことを特徴とする請求項2または3に記載の送信方法。
  5. 表示情報と呼ばれる、前記クライアント端末および/または前記クライアント端末のユーザに関する情報の少なくとも1つのアイテムが、前記クライアント端末の各々に対してコンテキストを形成するように前記リストに関連付けられることを特徴とする請求項1から4のいずれかに記載の送信方法。
  6. 前記表示情報が、
    前記ユーザの位置情報と、
    前記ユーザの観察方向と、
    前記オブジェクトの選択パラメータと
    を含んでなる群に属することを特徴とする請求項5に記載の送信方法。
  7. 前記サーバによってまたは前記ネットワークの中間要素によって、前記リストが管理されることを特徴とする請求項1から6のいずれかに記載の送信方法。
  8. 前記サーバに初期表示情報が送信されるものである、前記クライアント端末の各々のための第1の送信ステップと、前記対応するコンテキスト中に前記サーバが前記初期表示情報を格納する格納ステップとを含む予備初期化段階を含むことを特徴とする請求項5から7のいずれかに記載の送信方法。
  9. 前記予備初期化段階は、前記サーバが前記クライアント端末によって再生されるシーンのきめの粗いバージョンのものを前記クライアント端末に送信する第2の送信ステップをさらに含むことを特徴とする請求項4に記載の送信方法。
  10. 所定の時間間隔で、および/または、前記表示情報の修正時に、前記クライアント端末の各々が、前記表示情報アイテムの少なくともいくつかを前記サーバに転送するステップを実行することを特徴とする請求項5から9のいずれかに記載の送信方法。
  11. 前記所定の時間間隔が、前記クライアント端末によって固定されたものであることを特徴とする請求項10に記載の送信方法。
  12. 前記所定の時間間隔が、前記通信ネットワークの少なくとも1つの特徴によるものであることを特徴とする請求項11に記載の送信方法。
  13. 前記クライアント端末によって実行される前記転送ステップの終わりに、対応する前記コンテキスト内の前記表示情報を更新するステップを実行することを特徴とする請求項10から12のいずれかに記載の送信方法。
  14. 前記サーバが、
    前記更新された表示情報の少なくともいくつかの関数として、前記クライアント端末に必要な少なくとも1つの識別子オブジェクトOおよび対応する再生レベルL0を決定する決定ステップと、
    前記クライアント端末に関連付けられた前記キャッシュメモリを表す前記リストを分析して、存在するならば、前記識別オブジェクトOと前記クライアント端末に必要な再生レベルL0とに対応し、前記リストに記憶されていないペア<O,L0>を特定するステップと、
    前記リストに記憶されていない前記ペア<O,L0>の任意のものに対応する、前記クライアント端末が必要とする再生レベルL0とともに、存在するならば、前記識別子オブジェクトOを前記クライアント端末に送信するステップと、
    存在するならば、送信された前記オブジェクトに対応する前記ペア<O,L0>を前記クライアント端末に追加して、前記クライアント端末に関連付けられた前記キャッシュメモリを表す前記リストを更新するステップと
    を前記更新ステップの終わりに実行することを特徴とする請求項13に記載の送信方法。
  15. 前記サーバが、
    少なくとも1つの識別子オブジェクトOと、前記クライアント端末にとって必要な可能性がある再生レベルL0とを、少なくとも1つの見込み基準によって決定するステップと、
    前記少なくとも1つの識別子オブジェクトOおよび再生レベルL0を、前記クライアント端末に前もって送信するステップと
    をさらに実行することを特徴とする請求項14に記載の送信方法。
  16. 前記サーバによって送信される少なくとも1つのオブジェクトを受信すると、前記クライアント端末が、
    前記クライアント端末に関連付けられた前記キャッシュメモリの充填率が、所定のしきい値より低い場合には、前記キャッシュメモリに前記受信したオブジェクトを格納するステップと、
    そうでない場合には、前記受信したオブジェクトの関連基準を評価するステップと
    を実行するものであり、
    前記キャッシュメモリに格納された前記オブジェクトの少なくとも1つが、前記受信したオブジェクトの前記関連基準より小さい値の関連基準を有している場合には、前記クライアント端末が、前記キャッシュメモリから前記値が小さな関連オブジェクトを除外するサブステップと、前記キャッシュメモリに前記受信したオブジェクトを格納するサブステップとを実行し、
    そうでない場合には、前記クライアント端末が、前記受信したオブジェクトを拒絶するサブステップを実行することを特徴とする請求項14または15に記載の送信方法。
  17. 前記除外サブステップおよび/または前記拒絶サブステップの後に、前記クライアント端末が、前記クライアント端末に関連付けられた前記キャッシュメモリを更新するための少なくとも1つの情報アイテムを前記サーバに送信することによって、前記サーバは、前記除外サブステップ中に除外された前記オブジェクト、および/または、前記送信ステップ中に前記サーバによって送信されたオブジェクトに対応するが、前記キャッシュメモリには記憶されていない少なくとも1つの<O,L0>のペアを、前記キャッシュメモリを表す前記リストから除外することを特徴とする請求項16に記載の送信方法。
  18. 前記関連付けされたインデックスから始まる前記オブジェクトの一部分を選択的に送信できるように、前記オブジェクトの少なくともいくつかが少なくとも1つのインデックスを含むことを特徴とする請求項1から17のいずれかに記載の送信方法。
  19. 少なくとも1つの通信ネットワークを介して、サーバと少なくとも1つのクライアント端末との間で、オブジェクトと呼ばれるデータを送信するシステムであって、前記サーバによって送信された前記オブジェクトの少なくともいくつかを格納するようにされた少なくとも1つのキャッシュメモリが、前記ネットワーク内の前記クライアント端末の少なくとも1つに関連付けられ、
    前記クライアント端末と前記サーバとの間での前記キャッシュメモリのコンテンツに関する情報交換を制限するために、前記クライアント端末の1つに関連付けられた前記キャッシュメモリに存在するオブジェクトの少なくとも1つのリストを、前記クライアント端末の入力側で管理するための手段を含むことを特徴とするシステム。
  20. 少なくとも1つの通信ネットワークを介して少なくとも1つのクライアント端末に接続された、オブジェクトと呼ばれるデータのためのデータサーバであって、前記サーバによって送信された前記オブジェクトの少なくともいくつかを格納するように与えられた少なくとも1つのキャッシュメモリが、前記ネットワーク内の前記クライアント端末の少なくとも1つに関連付けられ、
    前記キャッシュメモリのコンテンツに関係する情報に関して、前記関連付けられたクライアント端末との情報交換を制限するために、前記クラアント端末の少なくとも1つに関連付けられた前記キャッシュメモリに存在するオブジェクトの少なくとも1つのリストを管理する手段を含むことを特徴とするデータサーバ。
  21. 前記端末に関連付けられた前記キャッシュメモリを表す前記リストを前記サーバが更新できるように、更新情報の少なくとも1つのアイテムを前記サーバに送信する手段を含むことを特徴とする請求項20に記載のデータサーバ用のクライアント端末。

JP2003555739A 2001-12-20 2002-12-05 サーバとクライアント端末との間でオブジェクトを送信する方法 Expired - Fee Related JP4336583B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0116632A FR2834104B1 (fr) 2001-12-20 2001-12-20 Procede de transmission d'objets entre un serveur et un terminal client mettant en oeuvre une gestion de cache, systeme de transmission, serveur et terminal correspondants
PCT/FR2002/004199 WO2003055141A2 (fr) 2001-12-20 2002-12-05 Procédé de transmission d'objets entre un serveur et un terminal client mettant en oeuvre une gestion de cache

Publications (3)

Publication Number Publication Date
JP2005513658A true JP2005513658A (ja) 2005-05-12
JP2005513658A5 JP2005513658A5 (ja) 2006-01-26
JP4336583B2 JP4336583B2 (ja) 2009-09-30

Family

ID=8870818

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003555739A Expired - Fee Related JP4336583B2 (ja) 2001-12-20 2002-12-05 サーバとクライアント端末との間でオブジェクトを送信する方法

Country Status (13)

Country Link
US (1) US20050086318A1 (ja)
EP (1) EP1457023B1 (ja)
JP (1) JP4336583B2 (ja)
KR (1) KR100952190B1 (ja)
CN (1) CN100505741C (ja)
AT (1) ATE307453T1 (ja)
AU (1) AU2002364818A1 (ja)
BR (1) BR0215625A (ja)
DE (1) DE60206801T2 (ja)
ES (1) ES2249638T3 (ja)
FR (1) FR2834104B1 (ja)
MX (1) MXPA04005844A (ja)
WO (1) WO2003055141A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006236334A (ja) * 2005-01-28 2006-09-07 Fujitsu Ltd データ転送システム、データ転送サーバプログラム及びデータ受信プログラム

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8620286B2 (en) 2004-02-27 2013-12-31 Synchronoss Technologies, Inc. Method and system for promoting and transferring licensed content and applications
US6671757B1 (en) 2000-01-26 2003-12-30 Fusionone, Inc. Data transfer and synchronization system
US8156074B1 (en) 2000-01-26 2012-04-10 Synchronoss Technologies, Inc. Data transfer and synchronization system
WO2005010715A2 (en) 2003-07-21 2005-02-03 Fusionone, Inc. Device message management system
US7440559B2 (en) * 2003-10-22 2008-10-21 Nokia Corporation System and associated terminal, method and computer program product for controlling the flow of content
US20050102385A1 (en) * 2003-10-22 2005-05-12 Nokia Corporation System and associated terminal, method and computer program product for controlling storage of content
US7634509B2 (en) * 2003-11-07 2009-12-15 Fusionone, Inc. Personal information space management system and method
US9542076B1 (en) 2004-05-12 2017-01-10 Synchronoss Technologies, Inc. System for and method of updating a personal profile
CN1998224A (zh) 2004-05-12 2007-07-11 富盛旺公司 高级联络识别系统
US7831680B2 (en) * 2004-07-16 2010-11-09 National Instruments Corporation Deterministic communication between graphical programs executing on different computer systems
KR100662256B1 (ko) 2004-12-20 2006-12-28 한국전자통신연구원 낮은 프로세스 점유율을 가지는 객체기반 스토리지 장치및 그 제어 방법
US8583827B2 (en) * 2005-05-26 2013-11-12 Citrix Systems, Inc. Dynamic data optimization in data network
US7610291B2 (en) * 2005-08-17 2009-10-27 International Business Machines Corporation Logical grouping and management of redundant objects in storage systems
SE531899C2 (sv) * 2007-07-10 2009-09-01 Agency 9 Ab System för grafikhantering
US8181111B1 (en) 2007-12-31 2012-05-15 Synchronoss Technologies, Inc. System and method for providing social context to digital activity
US8352871B2 (en) 2008-12-04 2013-01-08 International Business Machines Corporation System and method for virtual environment preservation based on automated item reduction
JP2011030179A (ja) * 2009-06-29 2011-02-10 Sony Corp 画像データ送信装置、制御方法およびプログラム
US8255006B1 (en) 2009-11-10 2012-08-28 Fusionone, Inc. Event dependent notification system and method
US8943428B2 (en) 2010-11-01 2015-01-27 Synchronoss Technologies, Inc. System for and method of field mapping
GB2500229B (en) * 2012-03-14 2014-08-06 Canon Kk Method,system and server device for transmitting a digital resource in a client-server communication system
US9854052B2 (en) * 2013-09-27 2017-12-26 Sap Se Business object attachments and expiring URLs
EP2963894A1 (en) * 2014-07-04 2016-01-06 Thomson Licensing Method for operating a cache arranged along a transmission path between client terminals and at least one server, and corresponding cache.
EP3864626A1 (en) * 2018-10-14 2021-08-18 Bentley Systems, Incorporated Dynamic frontend-driven generation of an hlod tree
WO2020081347A1 (en) * 2018-10-14 2020-04-23 Bentley Systems, Incorporated Conversion of infrastructure model geometry to a tile format
US11012531B2 (en) * 2019-04-23 2021-05-18 Cesium GS, Inc. Systems and methods for culling requests for hierarchical level of detail content over a communications network

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5079695A (en) * 1988-04-25 1992-01-07 Hewlett-Packard Company Object management facility which includes a snapshot facility for providing data transfer between two objects
US6026474A (en) * 1996-11-22 2000-02-15 Mangosoft Corporation Shared client-side web caching using globally addressable memory
JP2000516751A (ja) * 1997-06-13 2000-12-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 相互に関連する複数のオブジェクトの周期的な伝送
US5956039A (en) * 1997-07-25 1999-09-21 Platinum Technology Ip, Inc. System and method for increasing performance by efficient use of limited resources via incremental fetching, loading and unloading of data assets of three-dimensional worlds based on transient asset priorities
US6085193A (en) * 1997-09-29 2000-07-04 International Business Machines Corporation Method and system for dynamically prefetching information via a server hierarchy
US5924096A (en) * 1997-10-15 1999-07-13 Novell, Inc. Distributed database using indexed into tags to tracks events according to type, update cache, create virtual update log on demand
US6088698A (en) * 1998-02-27 2000-07-11 Oracle Corporation Method and apparatus for incrementally generating a virtual three-dimensional world
US6098064A (en) * 1998-05-22 2000-08-01 Xerox Corporation Prefetching and caching documents according to probability ranked need S list
US6414679B1 (en) * 1998-10-08 2002-07-02 Cyberworld International Corporation Architecture and methods for generating and displaying three dimensional representations
US6377257B1 (en) * 1999-10-04 2002-04-23 International Business Machines Corporation Methods and apparatus for delivering 3D graphics in a networked environment
US6820133B1 (en) * 2000-02-07 2004-11-16 Netli, Inc. System and method for high-performance delivery of web content using high-performance communications protocol between the first and second specialized intermediate nodes to optimize a measure of communications performance between the source and the destination
US7127525B2 (en) * 2000-05-26 2006-10-24 Citrix Systems, Inc. Reducing the amount of graphical line data transmitted via a low bandwidth transport protocol mechanism

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006236334A (ja) * 2005-01-28 2006-09-07 Fujitsu Ltd データ転送システム、データ転送サーバプログラム及びデータ受信プログラム
JP4745839B2 (ja) * 2005-01-28 2011-08-10 富士通株式会社 データ転送システム、送信プログラム、受信プログラム及びデータ送信方法

Also Published As

Publication number Publication date
FR2834104B1 (fr) 2004-10-15
ES2249638T3 (es) 2006-04-01
CN1615629A (zh) 2005-05-11
DE60206801T2 (de) 2006-07-27
EP1457023B1 (fr) 2005-10-19
ATE307453T1 (de) 2005-11-15
AU2002364818A1 (en) 2003-07-09
FR2834104A1 (fr) 2003-06-27
MXPA04005844A (es) 2005-03-31
WO2003055141A2 (fr) 2003-07-03
AU2002364818A8 (en) 2003-07-09
EP1457023A2 (fr) 2004-09-15
US20050086318A1 (en) 2005-04-21
WO2003055141A3 (fr) 2003-12-24
DE60206801D1 (de) 2006-03-02
KR100952190B1 (ko) 2010-04-09
BR0215625A (pt) 2004-12-21
JP4336583B2 (ja) 2009-09-30
CN100505741C (zh) 2009-06-24
KR20040068338A (ko) 2004-07-30

Similar Documents

Publication Publication Date Title
JP4336583B2 (ja) サーバとクライアント端末との間でオブジェクトを送信する方法
CN104469395B (zh) 图像传输方法和装置
Royan et al. Network-based visualization of 3d landscapes and city models
JP5678743B2 (ja) 情報処理装置、画像送信プログラム、画像送信方法および画像表示方法
JP2004527046A (ja) 限定された帯域幅の通信チャネルに対して最適化された動的視錘台を用いたネットワーク画像送信システムおよび方法
WO2009017940A2 (en) Tiled packaging of vector image data
JPH10222699A (ja) データ処理装置
CN110297680A (zh) 一种传输虚拟桌面图像的方法及装置
WO2010035133A1 (en) Method and system for rendering realtime sprites
De Floriani et al. Dynamic view-dependent multiresolution on a client–server architecture
Yang et al. A progressive view-dependent technique for interactive 3-D mesh transmission
Chen et al. Progressive visualization of complex 3D models over the internet
US8543700B1 (en) Asynchronous content transfer
EP1531428A2 (en) Methods and devices for creating, downloading and managing an animation
Han et al. Progressive vector data transmission
Ding et al. Remote visualization by browsing image based databases with logistical networking
Zhang et al. Transmission and visualization of large geographical maps
Sahm et al. Efficient representation and streaming of 3D scenes
WO2022149189A1 (ja) 配信制御装置、配信制御システム、配信制御方法、及びプログラム
WO2023170726A1 (ja) 点群データ表示装置、点群データ記憶装置、点群データ表示方法及び点群データ表示プログラム
US11860843B2 (en) Data processing method and device
Nowak et al. Progressive 3D Mesh Transmission in IP Networks: Implementation and Traffic Measurements
Zheng et al. Optimized neighbour prefetch and cache for client-server based walkthrough
Fathy et al. Efficient framework for mobile walkthrough application
Ge et al. Point-based VR visualization for large-scale mesh datasets by real-time remote computation

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051205

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081028

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090127

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090428

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090629

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

Free format text: PAYMENT UNTIL: 20120703

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130703

Year of fee payment: 4

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