KR100952190B1 - 캐쉬 관리를 이용한 서버와 클라이언트 단말기 사이의오브젝트 전송 방법 및 대응하는 전송 시스템, 서버 및단말기 - Google Patents

캐쉬 관리를 이용한 서버와 클라이언트 단말기 사이의오브젝트 전송 방법 및 대응하는 전송 시스템, 서버 및단말기 Download PDF

Info

Publication number
KR100952190B1
KR100952190B1 KR1020047009912A KR20047009912A KR100952190B1 KR 100952190 B1 KR100952190 B1 KR 100952190B1 KR 1020047009912 A KR1020047009912 A KR 1020047009912A KR 20047009912 A KR20047009912 A KR 20047009912A KR 100952190 B1 KR100952190 B1 KR 100952190B1
Authority
KR
South Korea
Prior art keywords
server
client terminal
client
cache memory
information
Prior art date
Application number
KR1020047009912A
Other languages
English (en)
Other versions
KR20040068338A (ko
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 KR20040068338A publication Critical patent/KR20040068338A/ko
Application granted granted Critical
Publication of KR100952190B1 publication Critical patent/KR100952190B1/ko

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

본 발명은 적어도 하나의 통신 네트워크를 통하여, 서버와 적어도 하나의 클라이언트 단말기 사이에, 오브젝트라고 불리우는 데이터를 전송하기 위한 방법에 있어서, 적어도 하나의 캐시 메모리가, 상기 네트워크 내부에서 적어도 하나의 상기 클라이언트 단말기와 연관되고, 상기 서버에 의하여 전송되는 적어도 일부의 상기 오브젝트를 저장하도록 디자인되며, 상기 클라이언트와 상기 서버 사이에서 상기 캐시 메모리의 컨텐츠에 대한 정보 교환을 제한하기 위하여, 상기 클라이언트 단말기들 중 하나와 연관된 상기 캐시 메모리내에 존재하는 적어도 하나의 오브젝트 리스트가 관리되는 것을 특징으로 하는 오브젝트 전송방법에 관한 것이다.
오브젝트, 캐시 관리, 디스플레이, 서버, 클라이언트

Description

캐쉬 관리를 이용한 서버와 클라이언트 단말기 사이의 오브젝트 전송 방법 및 대응하는 전송 시스템, 서버 및 단말기{METHOD FOR TRANSMITTING OBJECTS BETWEEN A SERVER AND A CLIENT TERMINAL USING CACHE MANAGEMENT, CORRESPONDING TRANSMISSION, SERVER AND TERMINAL}
본 발명은 통신 네트워크를 통한 데이타 전송에 관한 것이다. 더욱 상세하게는, 본 발명은 양방향으로 디스플레이(display)되는 데이터의 전송, 및 대응하는 캐쉬 관리(cache management)에 관한 것이다.
현재 급속한 통신의 발전으로 인하여 사용자들이 양방향 및 실시간으로, 예를 들어, 이미지, 텍스트, 기하학적 형태 모델 또는 3D 화면 형태 모델을 디스플레이하는 것이 가능하게 되었다. 종래에는, 사용자는 적절한 단말기를 통하여 원격의 서버에 연결하고, 이러한 원격 서버는 데이터베이스 안에서 이러한 디스플레이를 하기 위하여 필요한 모든 정보에 대한 중심 역할을 한다(비록 상기 "디스플레이"란 용어가 사용되고 있으나, 이러한 형태의 정보는 모든 종류의 데이터, 특히 소리 데이터, 페이지를 매긴 데이터 등을 포함한다).
이와 같이 사용자는 새로운 응용에 접속할 수 있고, 이러한 형태의 예에서는 사용자들이 가상 박물관, 지상 구조 또는 클래식 음악 콘서트와 같은 3D 가상 환경 안에서 돌아다니는 것이 가능하다. 따라서 이러한 응용의 측면에서, 서버는 글로벌(global) 화면의 재구성에 필요한 정보와, 상기 화면안의 자신의 위치에 따라서 상기 사용자의 가시 영역(또는 가청 영역)을 입력하는 화면안의 다른 오브젝트에 관한 정보를 함께 클라이언트로 전송한다.
본 발명은 특히, 예를 들어 미래 사용을 위한 데이터 서버를 통하여 상기 사용자에 의하여 접속 가능한 모든 형태의 정보의 전송 및 저장에 응용가능하며, 여기에 국한되는 것은 아니다.
예를 들어 화면(scene) 또는 비디오(video)에 대한 실시간 디스플레이(위에서 설명한 바와 같은)를 가능하게 하기 위하여, 일반적으로 사용자 단말기는 캐쉬(cache)와 연관되고, 여기서 상기 단말기가 상기 화면을 실시간으로 재생성하기 위하여 필요한 모든 정보가 저장된다.
이러한 형태의 캐쉬는 통상적으로 "과거" 데이터, 즉 상기 단말기가 이미 화면 또는 이미지를 재생성하기 위해서 사용하였으나, 사용자의 요구에 따라서 나중에 사용될 수 있는 데이터를 기억한다. 또한 상기 캐쉬는 "현재" 데이터, 즉 상기 단말기가 현재 사용하고 있으며, 종국에는 가까운 미래에 상기 단말기에게 필요하고 상기 사용자의 요구를 기대하는 서버로부터 결과적으로 생기는 "미래" 데이터가 될 수 있는 데이터를 저장한다.
쉽게 이해할 수 있듯이, 첫째 서버가 전송해야 하며, 그리고 둘째로 캐쉬 안 에서 관리되어야 하는 정보의 크기는 상당하며, 특히 사용자가 예를 들어 매우 큰 3차원 화면과 같은 매우 큰 데이터 아이템(item)을 디스플레이 하고자 하는 경우에 그러하다.
클라이언트와 대응하는 서버 사이에서 데이터 큰 크기의 데이터 교환에 관련된 문제를 해결하기 위한 여러 메쏘딩(methoding) 방법들이 소개될 수 있으며, 특히:
- 캐쉬-충전율(cache-filling)이 높을 때, 메모리 공간을 풀어놓기 위하여 삭제되어야 하는 저장 데이터를 찾는데 사용될 수 있는 대체 알고리즘,
- 클라이언트에 전송될 데이터의 서버에 의하여 결정되는 선택권 및 이러한 데이터의 전송 모드(transmission mode)를 관장하는 전송 방법;
여기서, 클라이언트와 서버 사이에 대화를 생성하며, 상기 서버에게 상기 클라이언트로 전송되는 정보에 관하여 알려주기 위한 두개의 공지된 전송 방법이 있다.
첫번째 공지된 정송 방법은 특히 J.H.P.Chim 등에 의한 "Multi-Resolution Model transmission in Distributed Virtual Environments" VRST'98, 페이지 25-34에 설명되어 있다.
상기 첫번째 방법에 따르면, 서버는 클라이언트가 디스플레이하고자 하는 데이터를 4 가지 연속적인 단계로서 전송할 수 있다:
- 제1 단계 동안에는, 상기 클라이언트 단말기는 디스플레이될 화면 안에서 상기 사용자의 위치에 관련된 서버에 정보를 전송한다;
- 상기 서버가 이러한 위치 정보를 수신할 때, 상기 서버는 상기 사용자에게 필요한 모든 오브젝트를 계산하고, 제2 단계 동안에 오브젝트의 필요한 <O, L0> 쌍의 리스트를 전송하며, 여기서 O는 상기 오브젝트의 참조이고 L0는 이에 대응하는 세부 레벨이다;
- 그리고 상기 클라이언트 단말기는 그 캐시의 컨텐츠의 기능으로서, 수신하고자 하는 오브젝트에 대응하는 쌍을 선택하기 위한 이러한 리스트를 사용하고, 그 선택 결과를 제3 단계 동안에 상기 서버에게 전송한다;
- 제4 단계 동안에, 상기 서버는 상기 클라이언트 터미널에 의하여 요청되는 오브젝트를 전달한다.
종래의 방법에 따른 이러한 기술의 한 단점은 화면에서 사용자의 위치가 변하는 매 시간마다, 그리고 상기 서버가 상기 사용자에게 하나 또는 여러개의 새로운 오브젝트를 전송하는 매 시간마다, 상기 필요한 오브젝트(들)이 그 캐시 메모리를 통하여 상기 사용자에게 접속이 가능하게 되기 이전에, 상기 서버와 상기 클라이언트 단말기 사이에서 전방향-반환 동작(forward-return movements)의 형태로 두 개의 완전한 데이터 교환이 필요하다.
따라서, 이러한 형태의 기술은 긴 대기 시간을 갖는 통신 네트워크를 통한 데이터 전송에 적용되지 않는다; 이러한 형태의 네트워크에 대하여, 상기 기술은 서버에 의하여 전송되는 데이터를 실시간으로 디스플레이할 수 있도록 하는 것이 불가능하다.
두 번째 공지된 방법은 J.H.P.Chim 등에 의한 "On Caching and Prefetching of Virtual Objects in Distributed Virtual Environments", 멀티미디어에 관한 제6차 ACM 국제 회의 간행물, 1998, 페이지 171-180에 설명되어 있다.
이러한 두 번째 방법은 특히 순차적으로 코딩된 오브젝트(progressively coded objects)의 전송에 적용되며, 상기 방법에 따르면 상기 클라이언트 단말기는 디스플레이된 화면 안에서의 자신의 각각의 동작에 대한 정보와, 위치 정보 및 그 캐쉬의 컨텐츠에 대한 정보를 <O, L0> 쌍의 형태로 함께 상기 서버에 전송한다. 다시, O 는 상기 클라이언트 캐시에 포함된 오브젝트의 참조를 나타내고, L0 는 상기 서버에 상기 오브젝트와 연관된 세부 레벨에 관하여 알려준다.
그리고 상기 서버는 모든 가시적을 적합한 오브젝트들을 화면내에서 상기 사용자의 위치의 기능으로서 계산하고, 이러한 오브젝트들이 상기 사용자의 캐시에 존재하는지 여부를 검사하며, 모든 손실된 오브젝트들을 상기 클라이언트에 전송한다.
이와 같은 방법에 대하여, 클라이언트와 서버 사이의 단일 전방향-반환이 상기 화면을 디스플레이할 수 있도록 요구되는 데이터를 상기 클라이언트에 전송하는 것이 필요하다.
그러나, 종래 방법에 따른 이러한 기술의 한 단점은 특히 통과 대역(pass band)의 관점에서 아주 많은 네트워크 자원을 낭비한다는 점에 있다. 화면내에서 모든 사용자 동작에 대하여, 상기 클라이언트 단말기는 그 캐시의 컨텐츠에 관한 모든 정보를 상기 서버에 전달한다(즉, 그 캐시에 포함된 오브젝트에 대응하는 모든 <O, L0> 쌍).
따라서, 매우 큰 화면을 디스플레이하는 경우에 있어서, 상기 클라이언트로부터 상기 서버로 전송되는 정보의 양은 매우 크며, 이것은 특히 낮은 속도의 통신 네트워크에 대하여 문제가 된다.
본 발명의 일 목적은 종래 기술에 따른 단점을 극복하는데 있다.
더욱 상세하게는, 본 발명의 일 목적은 서버로부터 클라이언트로 매우 큰 양의 데이터를 실시간으로 디스플레이하는데 필요한 정보를 전송하고, 상기 서버와 상기 클라이언트 단말기 사이에 전송을 최소화하는 기술을 제공하는데 있다.
본 발명의 다른 목적은 간단하면서도 저렴하게 구현할 수 있는 이와 같은 데이터 전송 기술을 구현하는데 있다.
본 발명의 다른 목적은 어떠한 네트워크에도 적용가능하고, 특히 높은 대기 시간 및 낮은 속도의 네트워크에도 동등하게 잘 적용될 수 있는, 통신 네트워크를 통한 데이터 전송 기술을 제공함에 있다.
본 발명의 다른 목적은 상기 서버로부터 상기 클라이언트 단말기로 데이터 전송에 있어서 중복(redundancies)을 피할 수 있는 데이터 전송 기술을 구현함에 있다.
본 발명의 또 다른 목적은 상기 클라이언트 단말기에 의하여 상기 서버로 전송되는 데이터 요청을 제거하거나, 또는 최소한 감소시킬 수 있는 데이터 전송 기술을 제공함에 있다.
이러한 본 발명의 목적과, 다른 사항들은 이후에 더욱 명확하게 될 것이며, 서버와 적어도 하나의 클라이언트 단말기 사이의 적어도 하나의 통신 네트워크와, 상기 네트워크 내부의 적어도 하나의 상기 클라이언트 터미널과 연관된 상기 서버에 의하여 전송되는 상기 오브젝트들의 적어도 일부를 저장하는 적어도 하나의 캐시 메모리를 통하여, 오브젝트라고 불리우는 데이터의 전송을 위한 방법에 의하여 성취된다.
본 발명에 따르면, 상기 클라이언트 단말기 중 하나와 연관된 상기 캐시 메모리에 존재하는 적어도 하나의 오브젝트 리스트는, 상기 클라이언트 단말기와 상기 서버 사이의 상기 캐시 메모리의 컨텐츠와 연관된 정보 교환을 제한하기 위하여, 상기 클라이언트 단말기의 입력 측면에서 관리된다.
이와 같이, 본 발명은 캐시 메모리의 관리에 대하여 매우 창의적이고 진보적인 접근 방법에 기초하고 있다. 본 발명은 특히 상기 클라이언트와 연관된 캐쉬의 컨텐츠를 대표하는, 상기 데이터 서버에 접속가능한 클라이언트 터미널의 입력 측면(upstream) 상의 리스트를 관리하는 창의적이고도 유용한 아이디어에 기초한다. 따라서, 이러한 해결책을 이용하여, 상기 서버는, 상기 서버에서 이러한 컨텐츠를 복제하지 않고서도, 언제라도 상기 클라이언트 캐쉬의 컨텐츠를 알 수 있다.
따라서, 본 발명은, 자원 특히 상기 서버의 메모리 측면에서의 비용이 비싸지 않더라도, 상기 클라이언트가 화면 또는 오브젝트 세트를 디스플레이 할 때 상기 서버와 상기 클라이언트 사이에 교환되는 정보의 양을 상당히 감소시킬 수 있는 해결책을 제공한다. 이러한 형태의 해결책은 특히 낮은 용량의 클라이언트 단말기 또는 제한된 수행능력을 갖는 통신 네트워크에 대하여 유용한다.
서버와 클라이언트 단말기 사이 교환 문맥의 오브젝트 리스트 또는 다큐먼트(documents) 리스트의 관리 방법에 대하여 여러가지 기술이 이미 공지되어 있으며, 특히 미국 특허 US 6098064 및 US 5956039에 설명되어 있다. 그러나, 이러한 리스트들은 본 발명에 따른 리스트와는 형태 및 확률의 양 관점에서 매우 다르다.
따라서, 특허 US 6098064는 어떠한 다큐먼트(특히 웹 페이지의 형태에서)가, 이러한 다큐먼트들이 미래에 사용자에 의하여 요구될 것인지의 확률로서, 컴퓨터의 캐쉬 메모리 내에 저장되어야 하는지 결정하기 위한 기술을 설명한다. 이러한 기술을 이용하여, 상기 단말기의 캐쉬 메모리에 존재하는 다큐먼트를 리스트하거나, 또는 장래에 사용자의 관심을 끌 수 있는 요구 리스트가 도출된다.
본 발명에 따른 리스트와는 달리, 위에서 설명한 리스트의 기능은 상기 클라이언트가 상기 다큐먼트를 디스플레이할 때 상기 서버와 상기 클라이언트 단말기 사이에 교환되는 정보의 수 및/또는 크기를 감소시키기 위한 것이 아니며, 이러한 목적으로 사용될 수는 없다.
실제, 상기 니즈 리스트(the list of needs)는 상기 서버가 어느 다큐먼트들이 주어진 클라이언트 단말기의 캐시 메모리 내에 실제 존재하는지 정확하게 알 수 있도록 하지는 않는다. 따라서 더구나 이러한 니즈 리스트는 하나의 서버에 연결된 클라이언트 세트에 대하여 집합적인 리스트가 될 수 있다.
단말기가 서버로부터 한 세트의 다큐먼트들을 필요로 할 때 상기 다큐먼트 US 6 098 064에 제시된 기술에 따르면, 상기 단말기와 서버는 따라서 상기 단말기에 의하여 요구되는 다큐먼트들 중에서, 어느 것이 상기 캐시 내에 이미 존재하는 것이며, 상기 서버가 다시 전송할 필요가 없는 것인지 여부를 이들 중 하나 또는 양자 모두가 결정하도록 하는 풍부한 정보를 교환할 것이 필요하다.
상기 다큐먼트 US 6 098 064에 의하여 해결되는 문제는 클라이언트 단말기들로부터 요청되는 기대에 관한 문제이며, 이는 본 발명에 의하여 해결될 수 있는, 상기 서버와 상기 클라이언트 단말기 사이의 상기 캐시 메모리의 컨텐트에 관련되어 교환된 정보를 감소시키는 문제와는 매우 다른 것이다.
상기 특허 US 5956039는 3D 화면에서의 실시간 항법 시스템의 수행능력을 향상시기키 위한 기술을 제시한다. 이러한 형태의 기술은 화면내의 다른 오브젝트들 에 우선순위 분배하는 것으로 구성됨으로써, 상기 클라이언트 단말기가 가장 높은 우선순위의 오브젝트를 제일 먼저 수신하게 한다. 이러한 우선 순위는 현재 화면내의 각각의 오브젝트에 대한 정보를 포함하는 데이터베이스 안에서 관리된다.
그러나, 이러한 데이터베이스는 상기 클라이언트 단말기의 입력 측면(upstream) 상에서는 관리되지 않으며, 따라서 본 발명에서 처럼, 상기 서버와 상기 단말기 사이의 교환을 감소시키는 기술 문제를 해결하지 못한다.
바람직하게는, 상기 오브젝트 각각에 대한 식별자는, 상기 오브젝트들 중 적어도 하나에 대하여, 상기 오브젝트의 재생성에 관한 정보와 함께, 상기 리스트 내부에 저장된다.
따라서, 상기 서버는 상기 클라이언트 캐쉬에 포함된 오브젝트 리스트뿐만 아니라, 상기 클라이언트에 의하여 재생성될 수 있는 재생성 레벨에도 접속할 수 있다.
바람직하게는, 상기 오브젝트들 중 적어도 하나에 대한 재생성 정보는 상기 오브젝트의 정제레벨에 관련된다.
따라서, 상기 서버는 상기 클라이언트 단말기가 예를 들어 대략적이거나 자세한 형태와 같은 오브젝트의 재생성을 할 수 있는지 여부를 알 수 있다.
바람직하게는, 상기 리스트는, 상기 오브젝트의 O 식별자와 상기 오브젝트의 상기 재생성 정보 L0 를 포함하여, 상기 캐쉬 메모리 내부에 저장된 상기 각각의 오브젝트에 대한 <O, L0> 쌍을 포함한다.
본 발명의 하나의 유용한 특징에 따르면, 문맥을 형성하기 위하여 디스플레이 정보라고 불리우는, 상기 클라이언트 단말기 및/또는 상기 클라이언트 단말기의 사용자에 대한 적어도 하나의 정보 아이템이 상기 클라이언트 단말기 각각에 대한 상기 리스트와 연관된다.
상기 서버에 연결된 각각의 클라이언트에 대하여, 상기 서버는 상기 클라이언트 및 디스플레이 정보와 연관된 캐쉬 상태의 대표 리스트를 포함하는 문맥을 관리한다. 이러한 형태의 정보는 특히 상기 클라이언트 단말기의 용량 또는 그 메쏘딩 속도(methoding speed)를 대표할 수 있다.
바람직하게는, 상기 디스플레이 정보는 다음을 포함하는 그룹에 속한다:
- 상기 사용자의 위치 정보;
- 상기 사용자의 관찰 방향;
- 상기 오브젝트의 선택 변수.
예를 들어, 이러한 형태의 선택 변수는 하나의 오브젝트 선택 임계값(object selection threshold)과, 화면각(view angle)을 포함한다. 상기 클라이언트 단말기에 의하여 3D 화면을 디스플레이 하는 경우에 있어서, 위치 정보는 3D 포인트의 형태로 표현될 수 있으며, 여기서 그 좌표들은 상기 화면의 중앙에 대한 관찰자의 위치에 대응한다. 상기 관찰 방향은 3D 벡터의 형태로 표현될 수 있다.
바람직하게는, 상기 리스트는 상기 서버 또는 상기 네트워크의 매개 소자(intermediate element)에 의하여 관리될 수 있다.
예를 들어, 상기 리스트는, 상기 서버와 상기 클라이언트 사이에서 일어나 는, 프록시 서버(proxy server)에 의하여 관리될 수 있다. 그리고 상기 서버는 상기 프록시에게 상기 클라이언트 캐쉬의 컨텐츠 상태를 결정할 것을 요구할 수 있다. 이러한 해결방안의 수행 능력은 더 많은 정보를 교환한다는 점에서 훨씬 낮으나, 상기 서버와 상기 프록시가 높은 수행 능력을 갖는 네트워크에 연결되고, 상기 서버를 "relieve"하기 위하여 요구되는 경우에 중요할 수 있다(예를 들어 만약 상기 서버가 낮은 용량을 갖는 경우).
본 발명의 바람직한 일 실시예에 따르면, 이러한 형태의 방법은, 초기화 디스플레이 정보가 상기 서버로 전송되는 상기 각각의 클라이언트 단말기에 대한 제1 전송단계, 및 상기 서버가 상기 대응하는 문맥에 상기 초기화 디스플레이 정보를 저장하는 저장단계를 갖는 예비 초기화 단계를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 예비 초기화 단계는 또한 상기 클라이언트 단말기에 의하여 재생성될 수 있도록 상기 화면의 대략적인 버전(coarse version)을 전송하기 위하여, 상기 서버가 상기 클라이언트 단말기에 전송을 하는 제2 전송 단계를 포함하는 것을 특징으로 한다.
따라서 본 발명에 따르면, 종래 기술에 따른 해결방안과는 달리, 상기 클라이언트가 디스플레이하고자 하는 오브젝트를 포함하는 모든 데이터베이스가 초기화로 전송되는 것은 아니며, 이로 인하여 상기 클라이언트 및 네트워크 통과대역폭(passband)에 대한 메모리 측면에서 상당한 절약을 할 수 있게 된다. 100Mbits 정도의 데이터 베이스와, 상기 클라이언트와 상기 서버가 500kbits/s의 최대 속도를 갖는 ADSL(Asymmetric Digital Subscriber Line) 형태의 네트워크에 의하여 연결되 는 것을 고려하자. 따라서, 상기 클라이언트와 상기 서버 사이의 연결이 초기화될 때, 상기 클라이언트에서 디스플레이할 수 있도록 전체 화면을 로드(load)하기 위하여 필요한 전체 베이스(base)가 전송되며, 최소 200초가 요구된다. 본 발명은 초기화에 있어서 이와 같은 전송에 대한 요구를 제거하고, 따라서 특히 상기 클라이언트에게 유용하다. 왜냐하면, 이는 상기 화면에 대하여 적어도 대략적인 표현을 거의 즉시 디스플레이할 수 있다는 것을 의미하고, 따라서 적어도 200s의 오래 기다리는 시간을 제거하며, 이것은 종래의 기술에 의하여 부과되는 것으로서 3분 이상이 되는 것이다.
바람직하게는, 상기 클라이언트 단말기 각각은 소정의 시간 간격에서 및/또는 상기 각각의 디스플레이 정보가 수정될 때 상기 서버에 상기 디스플레이 정보의 아이템의 적어도 일부를 전달하는 단계를 구현한다.
소정의 시간 간격에서 디스플레이 정보를 전달하는 단계로 구성되는 선택은, 정보가 그 마지막 전송 이후에 수정되었다면, 전송의 수를 최소화한다는데 특징이 있다.
본 발명의 바람직한 일 실시예에 따르면, 상기 소정의 시간 간격은 상기 클라이언트 단말기에 의하여 고정된다.
특히, 이들은 상기 클라이언트에 의하여, 예를 들어 상기 클라이언트가 상기 화면이 리프레시(refresh)되어 디스플레이되는 것을 원하는 경우에 주파수의 기능으로서, 강제될 수 있다.
본 발명의 두번째 바람직한 실시예에 따르면, 상기 소정의 시간 간격은 상기 통신 네트워크의 적어도 하나의 특징에 의존한다.
특히, 이러한 시간 간격들은 네트워크 부하, 또는 예를 들어 그 처리량, 또는 그 대기시간에 의존할 수 있다.
바람직하게는, 상기 클라이언트 단말기에 의하여 이루어지는 상기 전달 단계의 끝에서, 상기 방법은 대응하는 상기 문맥 내에서 상기 디스플레이 정보를 갱신하는 단계를 구현한다.
바람직하게는, 상기 갱신 단계의 끝에서, 상기 서버는 다음의 단계들을 구현한다:
- 상기 갱신된 디스플레이 정보의 적어도 일부의 함수로서, 상기 클라이언트 단말기에 필요한 적어도 하나의 식별자 오브젝트 O, 및 대응하는 재생성 레벨 L0을 결정하는 결정 단계;
- 상기 식별자 오브젝트(들)에 대응하는 <O, L0> 쌍이 존재하는 경우에 이를 식별할 수 있도록 상기 클라이언트 단말기와, 상기 클라이언트 단말기에 필요한 재생성 레벨 L0과 연관되고, 상기 리스트내에 기억되지 않은 상기 캐시 메모리를 대표하는 상기 리스트를 분석하는 단계;
- 상기 식별자 오브젝트(들)이 존재하는 경우에는 어느 것이라도, 상기 리스트에 기억되지 않고 상기 <O, L0>쌍에 대응하는 상기 클라이언트 단말기가 요구하는 재생성 레벨 L0과 함께, 상기 클라이언트 단말기로 전송하는 단계;
- 상기 클라이언트 단말기로 전송된 오브젝트(들)에 대응하는 <O, L0>쌍이 존재하는 경우에 이를 부가하며, 상기 클라이언트 단말기와 연관된 상기 캐시 메모리를 대표하는 상기 리스트를 갱신하는 단계.
상기 클라이언트에 대하여 필요한 하나 또는 여러개의 오브젝트들을 결정하기 위한 단계는 상기 클라이언트 문맥내에 저장된 정보의 함수로서 상기 서버에 의하여 수행되는 계산의 결과가 될 수 있다. 또한 이러한 형태의 계산은, 예를 들어 상기 클라이언트 연결이 이루어지기 이전에, 상기 서버와 연관된 독립적 계산 엔티티에 의하여 행하여질 수 있다; 이어서 상기 결정 단계는 상기 클라이언트와 연관된 디스플레이 정보의 함수로서 요구되는 오브젝트(들)을 식별할 수 있도록 이러한 계산의 결과를 보여주는 상기 서버로 구성된다. 따라서, 종래의 방법에 따른 기술과 비교하여, 본 발명은 상기 클라이언트로부터 상기 서버로, 또는 이와 연관된 계산 엔티티로, 상기 클라이언트에게 필요한 오브젝트의 계산을 전달하는 수단을 제공한다.
바람직하게는, 상기 서버는 또한 다음을 사용한다:
- 적어도 하나의 식별자 오브젝트 O와 적어도 하나의 소정 확률 기준에 따라서, 상기 클라이언트 단말기에게 필료할 수 있는 재생성 레벨 L0을 결정하는 단계;
- 상기 적어도 하나의 식별자 오브젝트 O와 재생성 레벨 L0이 상기 예기되는 클라이언트 단말기로 전송되는 단계.
예를 들어, 상기 서버는 상기 관찰자가 화면 내에서 오브젝트를 향하여 이동 하는 확률을 그 이전 변위에 대한 함수로서 계산하며, 만약 이러한 확률이 소정의 임계값보다 큰 경우에는, 상기 서버는 만약 실제로 동일한 방향으로 계속 이동하는 경우에는 상기 클라이언트가 가까운 미래에 필요하게될 오브젝트를 전송하는 주도권을 갖는다.
바람직하게는, 상기 서버로부터 전송된 적어도 하나의 오브젝트를 수신시, 상기 클라이언트 단말기는 다음의 단계들을 수행한다:
- 만약 상기 클라이언트 단말기와 연관된 상기 캐시 메모리의 충전율이 소정의 임계값보다 작은 경우에는 상기 캐시 메모리내의 상기 수신되 오브젝트를 저장하는 단계;
- 그렇지 않은 경우에는, 상기 수신된 오브젝트에 대한 적합성 표준을 평가하는 단계:
만약 상기 캐시 메모리내에 저장된 상기 오브젝트들 중 적어도 하나가 상기 수신된 오브젝트의 상기 적합성 표준보다 작은 값의 적합성 표준을 갖는 경우에는, 상기 클라이언트 단말기는 상기 캐시 메모리로부터 상기 덜 적합한 오브젝트를 제거하기 위한 하위 단계 및 상기 캐시 메모리내의 상기 수신된 오브젝트의 저장을 위한 하위 단계를 구현하고;
그렇지 않은 경우에는 상기 클라이언트 다말기는 상기 수신된 오브젝트를 거부하기 위한 하위 단계를 구현한다.
예를 들어 이러한 적합성 표준은 상기 오브젝트로부터 상기 관찰자까지의 거리에 의존할 수 있다.
본 발명의 바람직한 일 특징에 따르면, 상기 제거 하위 단계 및/또는 상기 거부 하위 단계 이후에, 상기 클라이언트 단말기는 상기 서버로 상기 클라이언트 단말기와 연관된 상기 캐시 메모리를 갱신하기 위한 적어도 하나의 정보 아이템을 전송하여, 상기 서버가 상기 삭제 하위 단계 동안에 삭제된 상기 오브젝트에 대응하는 적어도 하나의 <O, L0>쌍, 및/또는 상기 전송 단계 동안에 상기 서버에 의하여 전송되나 상기 캐시 메모리내에는 기억되지 않는 오브젝트를, 상기 캐시 메모리를 대표하는 상기 리스트로부터 삭제한다.
바람직하게는, 상기 오브젝트들 중 적어도 일부는 적어도 하나의 인덱스를 포함하고, 상기 연관된 인덱스로부터 시작하는 상기 오브젝트의 일부를 선별적으로 전송한다.
특히, 이러한 오브젝트들은 예를 들어 다음의 형태들 중 하나가 될 수 있다:
- 2D 이미지;
- 메시;
- 구조;
- 소리;
- 기하학적 모델;
- 3D 화면;
- 비디오 데이터;
- 페이지 지정된 데이터.
상기 리스트는 단지 예시적인 목적으로 열거한 것이며, 본 발명의 범위를 제한하기 위한 것이 아니라는 것은 명백하다.
본 발명은 또한 적어도 하나의 통신 네트워크를 통하여, 서버와 적어도 하나의 클라이언트 단말기 사이에, 오브젝트라고 불리우는 데이터를 전송하기 시스템에 있어서, 적어도 하나의 캐시 메모리가, 상기 네트워크 내부에서 적어도 하나의 상기 클라이언트 단말기와 연관되고, 상기 서버에 의하여 전송되는 적어도 일부의 상기 오브젝트를 저장하도록 디자인된 것에 관한 것이다.
본 발명에 따르면, 이러한 형태의 시스템은 상기 클라이언트와 상기 서버 사이에서 상기 캐시 메모리의 컨텐츠에 대한 정보 교환을 제한하기 위하여, 상기 클라이언트 단말기의 입력측에서, 상기 클라이언트 단말기들 중 하나와 연관된 상기 캐시 메모리내에 존재하는 적어도 하나의 오브젝트 리스트를 관리하기 위한 수단을 포함하는 것을 특징으로 한다.
본 발명은 또한 적어도 하나의 통신 네트워크를 통하여 적어도 하나의 클라이언트 단말기에 연결되는, 오브젝트라고 불리우는 데이터를 위한 데이터 서버에 있어서, 적어도 하나의 캐시 메모리가 상기 네트워크 내부에서 상기 클라이언트 단말기들 중 적어도 하나와 연관되며, 상기 서버에 의하여 전송되는 상기 오브젝트 중 적어도 일부를 저장하기 위하여 제공되는 것에 관한 것이다. 이와 같은 형태의 서버는 상기 캐시 메모리의 컨텐츠에 관련된 정보에 대하여, 상기 연관된 클라이언트 단말기와 교환하는 정보를 제한하기 위하여, 상기 적어도 하나의 클라이언트 단말기와 연관된 상기 캐시 메모리내에 존재하는 적어도 하나의 오브젝트 리스트를 관리하는 수단을 포함하는 것을 특징으로 한다.
본 발명은 또한 상기 서버가 상기 단말기와 연관된 상기 캐시 메모리의 상기 대표 리스트를 갱신할 수 있도록 하기 위하여, 상기 서버에 적어도 하나의 갱신 정보 아이템을 전송하는 것을 특징으로 하는 상술한 바와 같은 데이터 서버에 대한 클라이언트 단말기에 관한 것이다.
본 발명의 다른 특징 및 장점들은 다음의 바람직한 실시예에 대한 설명과, 첨부된 도면에 의하여 더욱 명확하게 될 것이며, 이러한 실시예는 단지 예시적인 것이며 본 발명의 범위를 제한하는 것이 아니다.
도 1은 본 발명의 구현을 위하여 적용된 클라이언트-서버 아키텍쳐의 블록도를 나타낸다;
도 2는 도 1의 아키텍쳐를 나타내며, 서버에서, 오브젝트 리스트 관리 블록을 부가함으로써 본 발명을 더욱 자세하게 보여준다;
도 3은 본 발명에 따라 사용되는 클라이언트-서버 대화의 일 예를 나타낸다;
도 4a 내지 4c는 기하학적 웨이브렛(geometric wavelets)에 의하여 코딩된(coded) 3D 모델의 문맥내의 본 발명의 일 실시예를 나타낸다;
도 5는 비순차적인 세부 레벨(non-progressive detail level)을 사용한 오브젝트에 대한 본 발명의 제2 실시예를 나타낸다;
도 6은 디스플레이 단계에서 본 발명에 따라 상기 서버에 의하여 사용되는 다양한 단계들에 대한 블록도를 나타낸다;
도 7은 초기화 단계에서 본 발명에 따라 사용되는 다양한 단계들을 나타낸다;
도 8은 상기 클라이언트 단말기의 수신과정 동안에 본 발명에 다라 사용되는 다양한 단계들에 대한 블록도를 나타낸다.
본 발명의 일반적인 원칙은 상기 클라이언트 단말기가 오브젝트 요청들을 어드레스(addresses)하는 서버와 상기 클라이언트 단말기 그 자신 사이의 정보 교환을 감소시키기 위하여, 클라이언트 단말기의 입력측(upstream)에서, 상기 단말기와 연관된 캐시 메모리 내부에 존재하는 오브젝트 리스트를 관리하는 것에 기초한다.
이하에서는 상기 클라이언트에 의하여 실시간으로 화면을 디스플레이하기 위하여, 통신 네트워크를 통한 순차적인 데이터 전송에 대한 본 발명의 특유한 응용을 설명한다.
도 1을 참조하여, 본 발명의 문맥 내에서 사용될 수 있는 네트워크 아키텍쳐의 일 실시예를 설명할 것이다.
이러한 형태의 네트워크 아키텍쳐는 클라이언트-서버 아키텍쳐이다. 캐시(1)은 클라이언트(2)와 연관된다; 상기 캐시(1)는 통신 네트워크(4)를 통하여 서버(3)로부터 전송되는 데이터를 저장할 수 있다.
상기 캐시(1)에 저장된 데이터는 "현재" 데이터(즉, 상기 클라이언트 단말기(2)에 의하여 사용되는)가 되거나, 또는 "미래" 데이터(즉, 차후의 사용을 위하여 계획된)가 되거나, 또는 "과거" 데이터(즉 이전에 사용되었으나, 현재 최소한 일시적으로 사용되지 않는)가 될 수 있다.
상기 캐시(1)는 상기 클라이언트 단말기(2)에 통합될 수 있거나, 또는 상기 네트워크 내의 다른 지점에 위치하면서 상기 클라이언트 단말기(2)와 단지 연관될 수 있다; 예를 들어, 상기 캐시(1)는 상기 서버(3)와 상기 클라이언트(2) 사이의 매개 서버(도 1에 도시되지 않음), 특히 프록시 형태의 서버에 통합될 수 있다. 본 발명의 다른 일 실시예에서는, 상기 캐시(1)는 여러개의 클라이언트(2)에 의하여 공유될 수 있다. 단순화를 위하여, 이하에서는 상기 캐시(1)가 상기 클라이언트 단말기(2) 내부에 통합되는 경우만을 설명한다.
상기 클라이언트 단말기(2)는 표시되는 화면내에서의 클라이언트의 위치와, 그 관찰 방향, 및 오브젝트 선택 임계값, 화면각 등과 같이 디스플레이되거나 재생성되는 오브젝트를 위한 선택 변수와 같은, 그 가시성의 함수로서, 그 스크린상에 디스플레이되는 오브젝트를 선택하는데 필수적인 정보 세트를 관리한다.
상기 서버(3)은 상기 클라이언트(2)가 디스플레이하기를 원할 수 있는 오브젝트 세트가 그룹화되어 있는 데이터베이스(5)를 관리한다. 이러한 오브젝트는 상기 서버(3)와 상기 클라이언트(2) 모두에 의하여 인식될 수 있는, 단일 식별자에 의하여, 상기 데이터베이스(5) 내에서 참조되는 것이 바람직하다. 예를 들어, 이러한 오브젝트는 순차적 전송(progressive transmission), 소리 또는 다른 형태의 원 자료(raw data)와 함께 3D 메시(3D meshes)가 되는 것이 바람직하다. 또한 상기 데이터베이스(5)는 상기 클라이언트 단말기(2)에 의하여 화면을 재생성하기 위해 필요한 다양한 특성의 여러 오브젝트를 포함할 수 있다; 예를 들어, 만약 상기 클라이언트(2)가 클래식 음악 콘서트를 디스플레이하고자 하는 경우에, 상기 데이터베이스(5)는 상기 화면을 그래픽으로 재생성하기 위한 3D 오브젝트들과, 음악 도구에 의하여 생성되는 소리들을 재생성하기 위한 3D 소리들을 포함할 수 있다.
도 2에 나타난 바와 같이, 본 발명의 바람직한 일 실시예에 따르면, 상기 서버(3)는 또한 상기 클라이언트(2)의 캐시(1)를 참조하는 리스트(6)를 관리한다. 본 발명의 하나의 변형예에 따르면, 상기 리스트(6)는 서버(3)에서 관리되지 않고, 예를 들어 도 2에 나타난 것과 같은 프록시 서버내에서와 같이, 상기 클라이언트(2)와 상기 서버(3) 사이에 있는 상기 클라이언트 단말기(2)의 입력측에서 관리된다. 단순화를 위하여, 이하에서는 상기 리스트(6)가 상기 서버(3)에 의하여 관리되는 경우의 특정 실시예에 관하여 설명할 것이나, 본 발명이 속하는 분야에서 통상의 지식을 가지는 자라면 상기 리스트(6)가 상기 서버(3)의 외부, 상기 클라이언트 단말기(2)의 업스트림(upstream)에서 관리되는 경우의 실시예를 용이하게 추론할 수 있다.
상기 리스트(6)은 <O, L0> 쌍의 세트로 구성되며, 여기서 O는 오브젝트 식별자이고, L0는 상기 클라이언트 단말기(2)로 전달되는 원하는 오브젝트 재생성 레벨에 대응한다. L0는 이하의 도 4 및 5에 대한 설명에서 나타나는 바와 같이, 오브젝 트 O의 형태에 따라 변하는 여러 특징적인 형태가 될 수 있다.
상기 서버(3)는 또한 클라이언트 문맥 내에서(도 2에 도시되지 않음), 상기 리스트(6)와 연관하여, 상기 클라이언트 단말기 및/또는 상기 클라이언트(2)에 대한 정보 세트를 관리할 수 있다. 예를 들어, 이러한 정보는 디스플레이되는 화면과 연관된 베이스(base)내에서의 클라이언트의 위치와, 상기 클라이언트 관찰의 관찰방향, 및 디스플레이될 오브젝트에 대한 선택 변수(특히 선택 임계값과 상기 화면내의 오브젝트에 대한 화면각)로 구성된다.
본 발명의 문맥내에서, 도 2의 아키텍쳐는 상기 클라이언트 단말기(2)로부터 상기 서버(3)로 디스플레이되는 데이터의 선택을 위한 일부 계산을 전달하는데 사용될 수 있으며, 이는 바람직하게 상기 클라이언트(2)와 상기 서버(3) 사이의 교환을 감소시킨다. 본 발명의 이와 같은 특징은 이하에서 도 3을 참조하여 더욱 상세하게 설명할 것이다.
도 2의 아키텍쳐의 문맥 및 도 7을 참조하여, 상기 서버(3)와 상기 클라이언트(2) 사이 대화의 초기 단계 동안에 포함되는 다양한 단계들을 설명할 것이다. 따라서, 상기 클라이언트(2)가 상기 서버(3)에 연결될 때, 일부 데이터는 상기 서버(3)를 초기화하기 위하여 전송된다.
참조번호 71의 단계 동안에, 상기 클라이어트 단말기(2)는 예를 들어, 디스플레이되는 화면내에서의 클라이언트 위치와, 그 방향, 화면각 또는 오브젝트 선택 임계값과 같은 초기 디스플레이 정보를 상기 서버(3)로 전송한다(특히, 상기 클라이언트(2)가 획득하고자 하는 세부 레벨의 함수로서). 상기 선택 임계값의 형태는 이하에서 설명되는 바와 같이, 원하는 오브젝트 형태의 함수로서 가변적이다.
저장 단계(72)에서는, 상기 서버(3)는 상기 클라이언트 단말기(2)와 연관된 문맥내에서의 초기 수신 디스플레이 정보를 저장한다.
이어서 상기 서버(3)는 매핑(mapping)이라 불리우는 동작에 의하여, 상기 클라이언트 단말기(2)로 재생성될 수 있도록 상기 화면의 대략적인 버전(coarse version)을 전송할 수 있다. 이러한 형태의 매핑은 상기 데이터베이스(5)의 기본 버전에 대응하며, 상기 클라이언트(2)가 연결의 시작단계에서, 그 단말기 상에 디스플레이되는 화면에 대하여 적어도 대략적인 화면을 디스플레이할 수 있도록 한다.
상기 클라이언트(2)가 이러한 맵(map)을 수신할 때, 상기 클라이언트(2)는 특히 상기 캐시(1) 내에서 상기 서버(3)로부터 수신되는 데이터의 저장을 위하여 필요한 다양한 서브-캐시(sub-caches)를 생성할 수 있다.
본 발명에 따르면, 상기 동일한 서브 캐시 내에서, 상기 서버(3)로부터 수신되는 동일한 형태의 모든 오브젝트들을 저장하도록 결정된다. 디스플레이될 화면내에서의 모든 오브젝트들이 동일한 특성을 갖는 경우에는, 캐시(1)내에서 서브 캐시를 생성할 필요가 없다. 상기 클라이언트(2)가 그 단말기에 지형 구조(terrain relief)를 디스플레이하는 특정한 예의 경우에, 상기 지형의 기하학에 관련된 데이터를 저장하기 위한 캐시(1)내의 제1 서브 캐시, 및 상기 지형의 문맥을 저장하기 위하여 디자인된 제2 서브 캐시를 생성하는 것이 바람직할 것이다.
이와 같은 형태의 초기화 단계 이후에, 상기 클라이언트(2)와 상기 서버(3) 는, 상기 클라이언트(2)가 원하는 화면을 디스플레이할 수 있도록, 상기 베이스(5)로부터 데이터를 송수신할 수 있다.
이제 도 3 및 6을 참조하여, 클라이언트 단말기(2)에 의하여 재생성되는 화면이 디스플레이되는 동안의 클라이언트-서버 대화에 대하여 설명할 것이다.
이와 같은 디스플레이 단계의 일반적인 원칙은 상기 서버(2)로 정보를 전송하는 상기 클라이언트(2)에 기초하며, 상기 서버(3)는 클라이언트(2)와 연관된 문맥내에 저장하고, 이어서 상기 화면을 계속하여 상기 클라이언트(2)로 디스플레이하기 위하여 필요한 데이터 또는 오브젝트를 전송하기 위하여 사용한다.
이러한 정보는 다양한 특성을 갖고, 특히 다른 주파수들에서 상기 클라이언트(2)에 의하여 수정될 수 있다. 따라서 재생성될 화면내에서의 상기 클라이언트의 위치에 대한 정보, 및 그 관찰 방향은 상기 화면이 디스플레이되고 있는한 수정되며, 이는 상기 클라이언트(2), 또는 더욱 상세하게는 상기 클라이언트와 연관된 가상 관찰자가 상기 화면내에서 이동하고 그 주위를 바라보기 때문이다.
상기 클라이언트(2)로부터 상기 서버(3)로의 이러한 정보의 전송은 도 3에서의 실선으로 나타난 화살표(a)로서 상징된다. 상기 클라이언트(2)에 의하여 정의되는 주파수(예를 들어 5초 마다)에서 행하지거나, 또는 상기 네트워크(4) 및 클라이언트 단말기(2)의 용량의 함수로서 결정될 수 있다(예를 들어, 디스플레이 정보가 전송되는 주파수는 고속 네트워크에 대하여 2초로 고정될 수 있고, 저속 네트워크에 대해서는 6초로 고정될 수 있다). 이러한 정보(a)의 전송은 또한 상기 클라이언트(2)와 상기 서버(3) 사이 교환의 수를 제한하기 위하여, 이벤트 관련 표준에 의 존하는 것이 바람직하다: 따라서, 상기 정보가 마지막으로 상기 서버(3)에 전송(a)된 이후에 수정되지 않는 경우에는, 위치 및 관찰 방향 정보의 전송(a)이 발생하지 않을 것이다.
예를 들어, 만약 상기 클라이언트(2)가 상기 위치 및 관찰 방향 정보가 상기 서버(3)로 마지막으로 전송(a)된 시간 이후에, 상기 수정된 정보는 5초가 지난 이후에 대시 전송될 것이다(만약 상기 전송 주파수가 5초로 고정된 경우).
본 발명에 따르면, 상기 클라이언트(2)는 전송(a) 시에 상기 서버(3)로부터 응답을 기다리지 않고, 따라서 이러한 전송은 비연결 모드에서 발생할 수 있다(예르 들어 UDP(UserDatagram Protocol) 형태의 경우).
도 6에 나타난 바와 같이, 상기 클라이언트(2)에 의하여 전송(a)된 방향 및 위치 정보가 수신될 때(61), 상기 서버(3)는 상기 클라이언트(2)와 연관된 문맥을 갱신(62)하며, 상기 문맥내의 새로 수신된 위치 및 방향 정보를 기억한다.
전송될 오브젝트들에 대한 선택 변수, 또는 캐시(1) 갱신 정보와 같은 다른 정보는 이벤트 관련 기준, 즉 이러한 정보의 수정에 따라서 전송되는 것이 바람직하다. 상기 클라이언트(2)로부터 상기 서버(3)로의 이와 같은 형태의 전송은 도 3에서 점선으로 나타난 화살(b)로서 상징된다. 수신시에, 상기 서버(3)는 이러한 정보를 리스트(6)(캐시 갱신 정보를 위한) 또는 더욱 일반적으로 상기 클라이언트(2)와 연관된 문맥 내에 저장한다.
따라서, 다음의 경우가 발생할 때마다, 상기 클라이언트(2)의 캐시(1)에 대한 갱신 정보가 상기 캐시(1)(또는 캐시(1)의 서브 캐시들 중 하나)내에 존재하는 오브젝트에 대응하는 <O, L0>쌍의 리스트 형태로서 상기 서버(3)에 전송된다:
- 상기 서버(3)에 의하여 전송된 새로운 오브젝트들을 저장하기 위하여 상기 클라이언트에 의하여 상기 캐시(1)로부터 하나 또는 다수의 오브젝트들이 삭제되는 경우; 또는
- 상기 서버(3)에 의하여 전송된 하나 또는 다수의 오브젝트들이 상기 클라이언트 단말기(2)에 의하여 거부될 때.
이와 같은 특징들은 다음의 도 8과 관련된 설명에서 더욱 상세하게 설명될 것이며, 여기서 상기 서버(3)에 의하여 전송되는 오브젝트들의 수신에 뒤따라서 상기 클라이언트 단말기(2)에 의하여 이루어지는 메쏘딩(mothoding)을 나타낸다.
O 는 상기 화면내에서 오브젝트 식별자를 나타내며, L0는 상기 오브젝트 O의 재생성 세부 레벨에 대한 정보이다. 상기 L0구조는 명백히 오브젝트 형태 O와 상기 연관된 세부 레벨을 코딩하기 위하여 사용되는 방법에 따라 달라진다. 따라서, 도 4 및 5와 관련하여 이하에서 나타나는 바와 같이, L0는 상기 세부 레벨을 대표하는 값(예를 들어 만약 본 발명이 HLOD"Hierarchical Level Of Detail"형태의 기술을 사용하는 경우), 또는 상기 오브젝트 O에 대한 기하학적 세분(refinements)들을 코딩하는 대표값의 세트가 될 수 있다.
유사하게, 오브젝트 선택 변수(오브젝트 임계값, 화면각, 또는 오브젝트의 선택을 수정하기 위한 다른 정보와 같은)는 그 값이 수정될 때에 전송될 것이다. 상기 클라이언트(2)가, 상기 화면에 대한 더욱 상세한 재생을 할 수 있도록, 예를 들어 이러한 임계값을 감소시키기 위하여, 상기 디스플레이 단계 동안에, 상기 초기화 단계에서 정의된 선택 임계값을 수정하도록 결정 가능한 것으 기대할 수 있다.
이러한 형태의 선택 임계값은 많은 다양한 방법으로 정의될 수 있음을 기억하라, 그리고 특히 이것은 도(degrees), 투사 픽셀(projected pixels), 크기(size) 등으로 평가될 수 있다. 따라서 상기 서버(3)는 오직 상기 클라이언트 단말기(2)의 스크린 상에 디스플레이된 이후에, 1 또는 그 이상의 각에서 상기 가상 관찰자에 의하여 관찰될 오브젝트들을 전송한다. 웨이브렛(wavelets)에 의하여 코딩된 메시(mesh)와 연관된 오브젝트의 경웅에 있어서, 상기 선택 임계값은 예를 들어 오직 2보다 크거나 같은 메시의 변형을 야기하는 웨이브렛 계수를 선택하도록 고정될 수 있다. 만약 원하는 오브젝트가 소리인 경우에는, 상기 선택 임계값은 이러한 소리의 주파수 또는 그 지속기간에 따라 달라질 수 있다. 상기 선택 임계값 및 다른 모든 선택 변수들은 상기 서버(3)가 상기 클라이언트(2)에 전송될 적절한 오브젝트를 선택할 수 있도록 하는 다른 방법으로서 정의될 수 있다.
상기 클라이언트(2)와 연관된 문맥내에 포함된 정보에 의존하여(위치정보, 관찰방향정보, 선택 변수, 상기 캐시(1)의 컨텐츠에 관한 정보), 상기 서버(3)는 상기 클라이언트에 가시적으로 적절한 오브젝트 또는 데이터를 전송한다. 이러한 전송은 도 3에 나타난 바와 같이 연속적인 회색 화살(c)에 의하여 상징된다. 가시적으로 적절한 오브젝트들에 대한 결정은 상기 서버(3) 또는 상기 네트워크(4)의 다른 엔티티(entity)에 의하여 수행되는 계산의 결과로부터 얻을 수 있다. 또한 상기 서버(3)와 상기 클라이언트(4) 사이의 연결이 형성되기 이전에 계산될수도 있으며, 상기 네트워크 내부, 즉 상기 서버(3)에 기억될 수 있다.
따라서, 도 6에 제시된 특정 실시예에서, 상기 서버(3)는 적절한 재생성 레벨에서, 상기 클라이언트(2)의 문맥에 포함된 상기 디스플레이 정보의 일부 또는 모두에 대한 함수로서(예를 들어 상기 클라이언트(2)의 위치 및 관찰방향 그리고 선택 변수의 함수로서), 상기 클라이언트 단말기(2)에게 필요한 오브젝트(들) O 을 결정한다(63).
이어서 상기 서버(3)는 적절한 세분 레벨(refinement level) L0 에서, 상기 클라이언트(2)에게 필요한 오브젝트(들)이 이미 상기 클라이언트(2)의 캐시(1) 내에 저장되었는지 아닌지 여부를 결정하기 위하여, 가장 최근에 수신되고 갱신된 데이터에 대항 함수로서 갱신되어진, 상기 클라이언트 단말기(2)의 캐시(1)와 연관된 리스트(6)를 분석한다(64).
그렇지 않은 경우에는, 상기 서버(3)는 이러한 오브젝트(들)을 상기 클라이언트 단말기(2)로 전송한다. 본 발명에 따르면, 만약 상기 서버가 가까운 미래에 필요하게 될 것이 기대되는 경우에는, 상기 서버(3)가 상기 클라이언트(2)에게 아직 요구되지 않는 오브젝트들을 전송(c) 가능하도록 하는 예기 방법(anticipation method)이 또한 구현된 수 있다. 예를 들어, 만약 상기 서버(3)가 상기 클라이언트(2)가 동일한 방향으로 여러번 이동하였다고 결정한 경우에는, 상기 서버는 아직 상기 클라이언트(2)에게는 적절하지 않으나, 만약 상기 클라이언트(2)가 동일한 방향으로 계속 움직이게 되면 곧 상기 클라이언트의 가시영역으로 들어오게 될 오브젝트를 상기 클라이언트(2)에게 전송한다(c).
이러한 전송(c)과 동시에, 상기 서버(3)는, 상기 클라이언트에 전송되는 모든 데이터는 상기 캐시(1)에 저장되는 것을 고려하여, <O, L0> 쌍의 형태로 상기 클라이언트(2)에게 데이터를 전송(c)함으로써, 상기 클라이언트(2)에 연관된 리스트(6)를 수정한다. 이러한 갱신 단계는 도 6의 참조번호 66단계에 의하여 설명되고 있다. 상기 리스트(6)에 대한 이와 같은 형태의 수정은 중복 전송(transmission redundancies)을 바람직하게 최소화한다. 상기 서버(3)에 의하여 상기 클라이언트(2)로 전송(c)되는 일부 데이터가 상기 캐시(1)내에 저장되지 않는 경우가 발생할 수 있으며, 예를 들어 상기 네트워크에 관련된 전송 에러가 발생하여 상기 캐시(1)와 상기 리스트(6)의 상태 사이에 일관성을 상실하게 된 경우가 그러하다. 바람직하게는, 본 발명은 이러한 문제를 극복하는 방법을 포함한다. 상기 캐시(1)와 상기 리스트(6)의 상태 사이의 일관성은 이후에 도 8과 관련하여 더욱 상세하게 설명되는 것처럼 유지된다.
이제 도 4A 내지 4C를 참조하여, 기하학적 웨이브렛에 의하여 코딩되는 3차원 모델의 클라이언트(3)에 의하여 디스플레이되는 예에 대하여 설명할 것이다. "웨이브렛(wavelet)" 코딩 방법은 베이스 메시(base mesh)에 부가되는 세부사항의 연속으로서의 메시를 대표하기 위하여 사용된다는 점에 유의한다. 이러한 기술에 대한 일반적인 이론은 특히 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, 1997년 1월)에 설명되어 있다.
위에서 설명한 바와 같이, 상기 클라이언트-서버 대화 초기 단계 이후에, 상기 서버(3)는 상기 베이스(5)의 매핑(mapping)이라고 불리우는 대략적인 버전을 상기 클라이언트 단말기(2)에게 전송한다. 3D 모델의 세트(도 4A 내지 4C에 제시된)로 구성되는 베이스(5)의 경우에 있어서, 이러한 매핑은, 예를 들어 상기 클라이언트 단말기(2)에게 상기 베이스(5)의 다른 오브젝트에 대한 위치 및 크기(예를 들어 이러한 오브젝트들을 둘러싸는 박스들(boxes)(41A 및 42A)의 위치 및 크기 형태와 같이)에 대하여 알려주는 값들에 대한 세트에 대응한다.
이러한 오브젝트들의 가시성(visibiltiy)에 의존하여(즉, 이들이 상기 관찰자의 가시 영역에서, 부분적으로 또는 전체적으로, 상기 관찰자로부터 이들과의 거리 등을 제시하는지 여부에 대한 함수로서), 상기 서버(3)는 따라서 이러한 오브젝트들의 베이스 메시(41B, 42B)를 전송한다. 그리고 상기 클라이언트(2)는 상기 서버(3)로부터 발생하는 데이터를 저장하는데 필요한 다양한 서브 캐시들을 구성하고, 대응하는 <O, L0>쌍의 초기 리스트를 생성하기 위하여 이러한 베이스 메시(41B. 42B)를 사용한다.
도 4A 내지 4C의 예에 있어서, 상기 베이스 메시(41B, 42B)는 각각 n개의 페이스(face)를 포함하게 된다. 따라서 상기 클라이언트(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값에 대한 명확한 지식이라는 것에 주목한다. 따라서, 만약 도 3의 단계(b) 동안에 상기 클라이언트(2)가 상기 메시(41B)의 페이스 번호 8에 대하여 30개의 계수를 갖고 있음을 상기 서버(3)에게 알려주는 경우에는, 상기 서버(3)는 제31번째 계수부터 시작하여 메시(41B)의 제8번 페이스와 연관되고 상기 클라이언트(2)에 적절한 계수의 전송을 시작할 것이다. 적절한 계수의 선택은 위치 정보, 관찰 방향 정보 및 선택 변수와 같은 상기 클라이언트 문맥내에 기억되어 있는 디스플레이 정보를 고려한다는 점을 유의한다.
각각의 메시에 대하여 계수들이 분류되는 순서는 상기 클라이언트 단말기(2)에 도착하는 순서에 따르는 것이 바람직하다.
상기 클라이언트 단말기(2)는 상기 메이스 메시(41B, 41C) 각각의 가시적인 페이스에 대하여 상기 서버에 의하여 전송되는 계수들로부터 시작하여, 상기 화면내의 오부젝트에 대한 세부적인 표현(41C, 42C)을 재구성할 수 있다.
이제 비전진적인 세부 레벨을 사용하는 오브젝트에 대하여, 도 5를 참조하여 본 발명의 제2 실시예를 제시할 것이다. 오브젝트 또는 오브젝트의 위치가 사용자의 화면각의 함수로서 선택적으로 세분될 수 있는 경우와 같이 웨이브렛 코딩 기술을 사용하는 이전 실시예와는 달리, 이제 네개의 연속적인 세부 레벨 참조번호 51 내지 54 에 의하여 대표되는 오브젝트의 경우를 제시할 것이다.
도 4A 내지 4C의 예에서 처럼, 상기 서버(3)는 상기 클라이언트(2)에게 상기 데이터베이스(5)의 매핑(mapping)을 전송함으로써 개시하고, 상기 클라이언트(2)는 어떤 데이터가 디스플레이되어야 하는지 알게 될 것이다. 그리고 상기 서버(3)는, 가시적이라고 간주되는 베이스내의 각각의 오브젝트에 대하여, 이러한 오브젝트의 가장 낮은 세부 레벨(54)(즉 상기 오브젝트의 대략적인 버전)을 상기 클라이언트(2)에제 전송한다. 그리고 디스플레이를 하는 동안에, 상기 서버(3)는 상기 화면내에서의 상기 클라이언트(2)의 위치에 따라서, 너 높은 세부 레벨(53 내지 51)을 전송할 것이다. 따라서, 만약 상기 클라이언트(2)가 도 5의 상기 오브젝트 방향으로 점차적으로 이동하는 경우에, 상기 서버(3)는 상기 관찰자로부터 상기 오브젝트 사이의 거리의 함수로서, 점차적으로 세부 레벨 53, 이어서 52, 이어서 51을 전송할 것이다.
상기 오브젝트 O와 연관된 세분 레벨 L0의 코딩은 사용되어질 응용에 의하여 부과된 제한, 특히 오브젝트들이 상기 관련된 세부 레벨의 순서에 따라서 전송되어야 하는 것이 강제적인지 여부에 의존할 것이다.
따라서, 만약 상기 서버(3)가 그 세분 레벨의 순서로서 상기 클라이언트(2) 에게 오브젝트를 전송하는 경우에, 상기 오브젝트 O에 대하여 상기 캐시(1)내에 존재하는 가장 높은 레벨 값과 동일하도록 L0 세트를 설정하도록 결정될 것이다. 만약 상기 캐시(1)가 오브젝트 O에 대하여 세분 레벨 참조 번호 54(세분 레벨 0) 및 53(세분 레벨 1)을 포함하는 경우에, L0는 "1"과 동일하게 될 것이다. 그리고 상기 리스트(6)는 <O, "1">쌍을 포함할 것이고, 상기 서버(3)는 상기 캐시(1)가 세분 레벨 0 및 상기 오브젝트 O에 대하여 1을 포함하도록 유발될 것이다. 이어서, 필요한 경우에는, 상기 클라이언트(2)에 오직 즉시 가장 높은 세부 레벨, 즉 세분 레벨 "2"에 대응하는 레벨 참조번호 52를 전송할 것이다.
만약 상기 서버(3)로부터 상기 클라이언트(2)로의 전송이 상기 세분 레벨의 순서에 의하여 이루어져야 한다는 것이 강제적인 사항이 아닌 경우에는, L0는 상기 클라이언트의 캐시(1)내의, 상기 오브젝트 O를 위하여 기억된 모든 세분 레벨들을 대표할 것이다. 예를 들어, L0에서의 위치가 상기 클라이언트(2)의 캐시(1)내에 기억된 세부 레벨에 대응하는 비트가 1값과 동일하도록, L0를 여러개의 비트로 코딩하도록 선택될 수 있다. 도 5의 예에서, 만약 상기 클라이언트(2)의 캐시(1)가 각각 대표 참조 번호 54 및 52에 대응하는 세분 레벨 "0" 및 "2"를 포함하는 경우에는, L0는 0101과 같게 될 것이다. 그리고 상기 서버(3)는 상기 화면내에서 사용자의 위치(특히 고려된 오브젝트로부터의 그와의 거리, 및 그 관찰 방향)에 의존하여, 각각 대표 참조번호 53 및 51에 대응하는, 세부 레벨 1 및 3을 전송 가능하다는 것을 알게 될 것이다.
유사하게, 8개의 연속적인 세부 레벨이 연관되어 있은 오브젝트를 고려할 때, 그리고 만약 상기 클라이언트(2)의 캐시(1)가 이러한 오브젝트에 대한 세부 레벨 1,2,4 및 7을 포함하는 경우에, 상기 L0 값은 "01001011"이 될 것이다. 그리고 상기 서버(3)은 상기 관련된 문맥에 저장된 디스플레이 정ㅂ에 기초하여, 상기 클라이언트(2)로 레벨 3,5,6을 전송할 수 있다는 것을 알게 될 것이다.
이러한 형태의 L0 코딩은 페이스들을 포함하는 3D 오브젝트에 제한되지 않지만, 예를 들어 대중 해상도 구조와 같은 비전진적인 세부 레벨로 구성되는 어떠한 형태의 데이터에라도 적용될 수 있다는 점에 주목한다.
이제 소리 또는 비디오 형태의 원자료(raw data)의 경우, 또는 페이지 지정된 데이터(재고 관리, 개인 관리, 등)의 경우에 대한 본 발명의 제3 실시예를 설명할 것이다.
예를 들어, 원래 소리 형태의 데이터의 경우에 있어서, 상기 서버(3)가 매핑을 전송할 필요는 없을 것이다. 또한 예를 들어 상기 클라이언트(2)에게 30초내에 바이올린 소리가 연주 또는 재생되어야 함을 알려주면서, 정해진 시간 내에 데이터의 세트를 전송하는 상기 서버(3)에 대응할 수 있다. 이러한 형태의 소리 오브젝트에 대하여, 상기 재생 정보 L0는 예를 들어 전송되는 데이터의 비율에 대응할 것이다. 이와 같이 상기 L0값은 상기 서버가 예를 들어 2분 30초 동안 지속되는 소리의 처음 15초가 상기 클라이언트(2)의 캐시(1) 내에 저장된다는 것을 알 수 있도록 한 다.
페이지 지정된 데이터의 경우에 있어서, 초기화 과정 동안에 상기 서버(3)에 의하여 전송되는 매핑은 예를 들어 상기 데이터베이스(5)내의 각각의 데이터에 대하여 존재하는 전체 페이지 수에 대응할 수 있다. 이러한 경우에 있어서, 상기 재생 정보 L0는 <N, N0, ..., Nn>의 형태로서 가변 데이터가 될 수 있으며, 여기서 N은 이러한 오브젝트에 대하여 알려진 페이지의 수(즉 이러한 오브젝트에 대하여 클라이언트 캐시에 저장된 페이지의 수)를 나타내고, Ni는 제i 번째 페이지의 이름을 지시한다.
이제 도 8과 함께, 도 3의 참조번호(c)의 전송과정 동안에 상기 서버(3)에 의하여 전송되는 하나 또는 여러개의 오브젝트 OR을 수신할 때 상기 클라이언트 단말기(2)에 의하여 구현되는 다양한 단계들을 설명할 것이다. 단순화를 위하여, 상기 서버(3)가 단일 오브젝트 OR을 상기 클라이언트(2)로 전송하는 경우를 설명할 것이다. 상기 클라이언트(2) 및/또는 상기 캐시(1)에 의하여 여러 오브젝트 OR이 수신되는 경우에 사용되는 기술이 위와 같은 경우로부터 용이하게 도출될 수 있을 것이다.
단계 82 동안에, 상기 클라이언트 단말기는 자신과 연관된 캐시(1)의 충전율을 검사한다. 만약 상기 캐시(1)가 상기 단말기(2)와 통합되지 않은 경우에는, 이러한 검사는 예를 들어 상기 캐시(1)가 통합되는 프록시 서버와 같은, 상기 캐시(1)의 관리를 책임지는 엔티티에 의하여 구현된다.
만약 상기 캐시(1)의 충전율이 소정의 충전 임계값 보다 작고, 따라서 상기 캐시(1)내에 하나 또는 여러개의 새로운 오브젝트들을 저장이 가능함을 나타내는 경우에는, 상기 수신된 오브젝트 OR는 상기 클라이언트(2)의 캐시(1)내에 기억된다(83).
그렇지 않은 경우에는, 상기 캐시(1)에서 서버(3)로부터 수신된 오브젝트 OR를 그 존재하는 상태로서 저장하는 것이 가능하다. 이어서 상기 관찰자에 대하여 수신된 오브젝트 OR 보다 시각적으로 부적절한, 상기 캐시(1) 내에 오브젝트 OS가 존재하는지 여부를 결정하게 될 것이다(84). 이러한 형태의 오브젝트 OS 는 예를 들어 최근의 변이에 기인하거나, 또는 상기 클라이언트(2)의 관찰 방향의 변화에 기인하는, 상기 클라이언트(2)의 기시 영역 밖에 존재하는 오브젝트가 될 수 있다.
만약 이러한 형태의 덜 적합한 오브젝트 OS가 존재하는 경우에는, 이것은, 상기 서버(3)로부터 수신되는 새로운 OR가 그 위치에서 상기 캐시(1)내에 저장될 수 있도록, 상기 캐시(1)로부터 삭제된다(86).
이어서, 상기 서버(3)에게 이러한 오브젝트 OS가 상기 캐시(1)로부터 삭제되고 상기 오브젝트 OR가 대응하여 저장되는 것을 알리기 위하여, 상기 클라이언트 단말기(2)는 상기 캐시(1)의 상태를 갱신하기 위한 정보를 전송한다(87).
반면에, 만약 상기 캐시(1) 내에 저장된 모든 오브젝트들이 상기 서버(3)로 부터 수신된 오브젝트 OR 보다 시각적으로 더 적절한 경우에는, 상기 캐시(1)의 관리를 책임지는 엔티티(예를 들어 클라이언트 단말기(2))는 이러한 오브젝트 OR를 거부할 것이다.
이어서 상기 클라이언트 단말기(2)는, 상기 서버(3)에게 상기 캐시(1)내에 상기 오브젝트 OR을 저장하는 것이 불가능하였음을 알려주기 위하여, 상기 캐시(1)의 상태에 관한 갱신 정보를 전송한다(87).
또한 상기 서버(3)는 상기 캐시(1)의 상태 및 그 일관된 컨텐츠를 대표하는 리스트(6)를 유지하기 위하여 이러한 갱신 정보를 사용한다. 이러한 갱신 정보의 수신에 이어서, 상기 서버(3)는 특히 상기 클라이언트(2)로 전송되었고 따라서 상기 리스트(6)에 부가되었으며, 실제로 상기 클라이언트(2) 및/또는 상기 캐시(1)에 의하여 오류 없이 수신된 모든 오브젝트들을 검사할 수 있다. 특히, 이는 상기 네트워크(4)의 오류와 관련되었을 수 있는 전송 문제를 추적할 수 있도록 한다.
따라서, 상기 서버(3)는 상기 클라이언트(2) 및 상기 리스트(6)로부터 수신된 갱신 정보를 비교하여, 이들이 규칙에 맞는지 여부 및 상기 수신된 갱신 정보의 함수로서 리스트를 갱신하는데 적용할 수 있는지 여부를 검사한다.
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그 러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (21)

  1. 적어도 하나의 통신 네트워크(4)를 통하여, 서버(3)와 적어도 하나의 클라이언트 단말기(2) 사이에, 오브젝트라고 불리우는 데이터를 전송하기 위한 방법에 있어서, 적어도 하나의 캐시 메모리(1)가, 상기 네트워크 내부에서 적어도 하나의 상기 클라이언트 단말기와 연관되고, 상기 서버에 의하여 전송되는 적어도 일부의 상기 오브젝트를 저장하도록 디자인되며,
    상기 클라이언트 단말기(2)와 상기 서버(3) 사이에서 상기 캐시 메모리(1)의 컨텐츠에 대한 정보 교환을 제한하기 위하여, 상기 클라이언트 단말기(2)들 중 하나와 연관된 상기 캐시 메모리(1)내에 존재하는 적어도 하나의 오브젝트 리스트(6)가, 상기 클라이언트 단말기들의 업스트림에서, 상기 서버(3) 또는 상기 네트워크의 매개소자에 의하여 관리되는 것을 특징으로 하는 오브젝트 전송방법.
  2. 제1항에 있어서, 상기 오브젝트들 중 적어도 하나에 대하여, 상기 오브젝트의 재생성에 관한 정보와 함께, 상기 각각의 오브젝트들에 대한 식별자가 상기 리스트(6) 내부에 저장되는 것을 특징으로 하는 오브젝트 전송방법.
  3. 제2항에 있어서, 상기 오브젝트들 중 적어도 하나에 대한 상기 재생성 정보가 상기 오브젝트의 재생성 레벨과 관련되는 것을 특징으로 하는 오브젝트 전송방법.
  4. 제2항에 있어서, 상기 리스트(6)는 상기 캐시 메모리내에 저장된 상기 각각의 오브젝트들에 대한 <0, L0>쌍을 포함하고, 상기 오브젝트의 O 식별자 및 상기 오브젝트의 상기 재생성 정보 L0를 갖는 것을 특징으로 하는 오브젝트 전송방법.
  5. 제1항에 있어서, 디스플레이 정보라고 불리우는, 상기 클라이언트 단말기(2) 및 상기 클라이언트 단말기의 사용자에 관한 적어도 하나의 정보 아이템이, 문맥을 형성할 수 있도록, 상기 각각의 클라이언트 단말기에 대한 상기 리스트(6)와 연관되는 것을 특징으로 하는 오브젝트 전송방법.
  6. 제5항에 있어서, 상기 디스플레이 정보는
    - 상기 사용자의 위치 정보;
    - 상기 사용자의 관찰 방향;
    - 상기 오브젝트의 선택 변수를 포함하는 그룹에 속하는 것을 특징으로 하는 오브젝트 전송방법.
  7. 제5항에 있어서,
    초기 디스플레이 정보가 상기 서버(3)로 전송되는 상기 각각의 클라이언트 단말기(2)에 대한 제1 전송단계(71), 및 상기 서버(3)가 상기 형성된 문맥내에서 상기 초기 디스플레이 정보를 저장하는 저장단계(72)를 갖는 예비 초기화 단계를 포함하는 것을 특징으로 하는 오브젝트 전송방법.
  8. 제7항에 있어서, 상기 예비 초기화 단계는 또한 상기 서버(3)가 상기 클라이언트 단말기(2)에 의하여 재생성되는 화면의 초기 버전을 상기 클라이언트 단말기로 전송하는 제2 전송 단계(73)를 포함하는 것을 특징으로 하는 오브젝트 전송방법.
  9. 제5항에 있어서, 상기 각각의 클라이언트 단말기는 기 정해진 시간 구간 및 상기 디스플레이 정보가 수정될 때 상기 서버로 상기 디스플레이 정보 아이템의 적어도 일부를 전달하는 단계를 구현하는 것을 특징으로 하는 오브젝트 전송방법.
  10. 제9항에 있어서, 상기 기 정해진 시간 구간은 상기 클라이언트 단말기에 의하여 고정되는 것을 특징으로 하는 오브젝트 전송방법.
  11. 제10항에 있어서, 상기 기 정해진 시간 간격은 상기 통신 네트워크의 적어도 하나의 특성에 의존하는 것을 특징으로 하는 오브젝트 전송방법.
  12. 제9항에 있어서, 상기 클라이언트 단말기에 의하여 행하여지는 상기 전달단계의 끝에서, 상기 방법은 상기 형성된 문맥내에서 상기 디스플레이 정보를 갱신하는 단계(62)를 구현하는 것을 특징으로 하는 오브젝트 전송방법.
  13. 제12항에 있어서, 이러한 갱신 단계의 끝에서, 상기 서버는,
    - 상기 갱신된 디스플레이 정보의 적어도 일부에 따라, 상기 클라이언트 단말기에 필요한 적어도 하나의 식별자 오브젝트 O, 및 대응하는 재생성 레벨 L0을 결정하는 결정 단계(63);
    - 상기 식별자 오브젝트(들)에 대응하는 <O, L0> 쌍이 존재하는 경우에 이를 식별할 수 있도록 상기 클라이언트 단말기와, 상기 클라이언트 단말기에 필요한 재생성 레벨 L0과 연관되고, 상기 리스트내에 기억되지 않은 상기 캐시 메모리를 대표하는 상기 리스트를 분석하는 단계(64);
    - 상기 식별자 오브젝트(들)이 존재하는 경우에는 어느 것이라도, 상기 리스트에 기억되지 않고 상기 <O, L0>쌍에 대응하는 상기 클라이언트 단말기가 요구하는 재생성 레벨 L0과 함께, 상기 클라이언트 단말기로 전송하는 단계(65);
    - 상기 클라이언트 단말기로 전송된 오브젝트(들)에 대응하는 <O, L0>쌍이 존재하는 경우에 이를 부가하며, 상기 클라이언트 단말기와 연관된 상기 캐시 메모리를 대표하는 상기 리스트를 갱신하는 단계(66)를 구현하는 것을 특징으로 하는 오브젝트 전송방법.
  14. 제13항에 있어서, 상기 서버는 또한,
    - 적어도 하나의 식별자 오브젝트 O와 적어도 하나의 기 정해진 확률 기준에 따라서, 상기 클라이언트 단말기에게 필요할 수 있는 재생성 레벨 L0을 결정하는 단계;
    - 상기 적어도 하나의 식별자 오브젝트 O와 재생성 레벨 L0이 상기 클라이언트 단말기로 전송되는 단계를 구현하는 것을 특징으로 하는 오브젝트 전송방법.
  15. 제13항 또는 제14항에 있어서, 상기 서버로부터 전송된 적어도 하나의 오브젝트를 수신(81)시, 상기 클라이언트 단말기는:
    - 만약 상기 클라이언트 단말기와 연관된 상기 캐시 메모리의 충전율이 기 정해진 임계값보다 작은 경우에는 상기 캐시 메모리내의 상기 수신된 오브젝트를 저장하는 단계(83);
    - 그렇지 않은 경우에는, 상기 수신된 오브젝트에 대한 적합성 표준을 평가하는 단계(84):
    - 만약 상기 캐시 메모리내에 저장된 상기 오브젝트들 중 적어도 하나가 상기 수신된 오브젝트의 상기 적합성 표준보다 작은 값의 적합성 표준을 갖는 경우에는, 상기 클라이언트 단말기는 상기 캐시 메모리로부터 상기 수신된 오브젝트들 중 적어도 하나보다 작은 값의 적합성 표준을 갖는 오브젝트를 제거하기 위한 하위 단계(86) 및 상기 캐시 메모리내의 상기 수신된 오브젝트의 저장을 위한 하위 단계를 구현하고;
    - 그렇지 않은 경우에는 상기 클라이언트 단말기는 상기 수신된 오브젝트를 거부하기 위한 하위 단계(85)를 구현하는 것을 특징으로 하는 오브젝트 전송방법.
  16. 제15항에 있어서, 상기 제거하기 위한 하위 단계 및 상기 거부하기 위한 하위 단계 이후에, 상기 클라이언트 단말기는 상기 서버로 상기 클라이언트 단말기와 연관된 상기 캐시 메모리를 갱신하기 위한 적어도 하나의 정보 아이템을 전송(87)하여, 상기 서버가 상기 제거하기 위한 하위 단계 동안에 삭제된 상기 오브젝트에 대응하는 적어도 하나의 <O, L0>쌍, 및 상기 전송하는 단계 동안에 상기 서버에 의하여 전송되나 상기 캐시 메모리내에는 기억되지 않는 오브젝트를, 상기 캐시 메모리를 대표하는 상기 리스트로부터 삭제하는 것을 특징으로 하는 오브젝트 전송방법.
  17. 제1항에 있어서, 상기 오브젝트들 중 적어도 일부는 적어도 하나의 인덱스를 포함하고, 상기 연관된 인덱스로부터 시작하는 상기 오브젝트의 일부를 선별적으로 전송하는 것이 가능하게 하는 것을 특징으로 하는 오브젝트 전송방법.
  18. 적어도 하나의 통신 네트워크를 통하여, 서버(3)와 적어도 하나의 클라이언트 단말기(2) 사이에, 오브젝트라고 불리우는 데이터를 전송하기 시스템에 있어서, 적어도 하나의 캐시 메모리(1)가, 상기 네트워크 내부에서 적어도 하나의 상기 클라이언트 단말기와 연관되고, 상기 서버에 의하여 전송되는 적어도 일부의 상기 오브젝트를 저장하도록 디자인되며,
    상기 클라이언트와 상기 서버 사이에서 상기 캐시 메모리의 컨텐츠에 대한 정보 교환을 제한하기 위하여, 상기 클라이언트 단말기의 업스트림에서, 상기 클라이언트 단말기들 중 하나와 연관된 상기 캐시 메모리에 존재하는 적어도 하나의 각각의 오브젝트의 리스트(6)를 관리하기 위한 수단을 포함하는 것을 특징으로 하는 오브젝트 전송 시스템.
  19. 적어도 하나의 통신 네트워크를 통하여 적어도 하나의 클라이언트 단말기에 연결되는, 오브젝트라고 불리우는 데이터를 위한 데이터 서버에 있어서, 적어도 하나의 캐시 메모리가 상기 네트워크 내부에서 상기 클라이언트 단말기들 중 적어도 하나와 연관되며, 상기 서버에 의하여 전송되는 상기 오브젝트 중 적어도 일부를 저장하기 위하여 디자인되며,
    상기 캐시 메모리의 컨텐츠에 관련된 정보에 대하여, 상기 연관된 클라이언트 단말기와 교환하는 정보를 제한하기 위하여, 상기 적어도 하나의 클라이언트 단말기와 연관된 상기 캐시 메모리내에 존재하는 적어도 하나의 각각의 오브젝트 리스트를 관리하는 수단을 포함하는 것을 특징으로 하는 데이터 서버.
  20. 제19항에 따른 데이터 서버에 대한 클라이언트 단말기로서, 상기 서버가 상기 단말기와 연관된 상기 캐시 메모리를 대표하는 상기 리스트를 갱신할 수 있도록 하기 위하여, 상기 서버에 적어도 하나의 갱신 정보 아이템을 전송하는 것을 특징으로 하는 클라이언트 단말기.
  21. 삭제
KR1020047009912A 2001-12-20 2002-12-05 캐쉬 관리를 이용한 서버와 클라이언트 단말기 사이의오브젝트 전송 방법 및 대응하는 전송 시스템, 서버 및단말기 KR100952190B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR01/16632 2001-12-20
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 (2)

Publication Number Publication Date
KR20040068338A KR20040068338A (ko) 2004-07-30
KR100952190B1 true KR100952190B1 (ko) 2010-04-09

Family

ID=8870818

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047009912A KR100952190B1 (ko) 2001-12-20 2002-12-05 캐쉬 관리를 이용한 서버와 클라이언트 단말기 사이의오브젝트 전송 방법 및 대응하는 전송 시스템, 서버 및단말기

Country Status (13)

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

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6671757B1 (en) 2000-01-26 2003-12-30 Fusionone, Inc. Data transfer and synchronization system
US8620286B2 (en) 2004-02-27 2013-12-31 Synchronoss Technologies, Inc. Method and system for promoting and transferring licensed content and applications
US8156074B1 (en) 2000-01-26 2012-04-10 Synchronoss Technologies, Inc. Data transfer and synchronization system
US8645471B2 (en) 2003-07-21 2014-02-04 Synchronoss Technologies, Inc. Device message management system
US20050102385A1 (en) * 2003-10-22 2005-05-12 Nokia Corporation System and associated terminal, method and computer program product for controlling storage of content
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
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
JP2008500750A (ja) 2004-05-12 2008-01-10 フュージョンワン インコーポレイテッド 高度な連絡先識別システム
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 한국전자통신연구원 낮은 프로세스 점유율을 가지는 객체기반 스토리지 장치및 그 제어 방법
JP4745839B2 (ja) * 2005-01-28 2011-08-10 富士通株式会社 データ転送システム、送信プログラム、受信プログラム及びデータ送信方法
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.
CN113287154A (zh) * 2018-10-14 2021-08-20 本特利系统有限公司 基础设施模型几何形状到图块格式的转换
CN113287153A (zh) * 2018-10-14 2021-08-20 本特利系统有限公司 Hlod树的动态前端驱动生成
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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970007758B1 (ko) * 1988-04-25 1997-05-16 휴렛트-팩카드 캄파니 2개의 오브젝트들 사이에서 데이타를 전송하기 위한 스냅숏을 포함하는 오브젝트 관리 시스템
US6098064A (en) * 1998-05-22 2000-08-01 Xerox Corporation Prefetching and caching documents according to probability ranked need S list
KR20000068081A (ko) * 1997-06-13 2000-11-25 요트.게.아. 롤페즈 복수의 상호 관련 오브젝트의 순회 전송방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6026474A (en) * 1996-11-22 2000-02-15 Mangosoft Corporation Shared client-side web caching using globally addressable memory
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
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
US20020029285A1 (en) * 2000-05-26 2002-03-07 Henry Collins Adapting graphical data, processing activity to changing network conditions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970007758B1 (ko) * 1988-04-25 1997-05-16 휴렛트-팩카드 캄파니 2개의 오브젝트들 사이에서 데이타를 전송하기 위한 스냅숏을 포함하는 오브젝트 관리 시스템
KR20000068081A (ko) * 1997-06-13 2000-11-25 요트.게.아. 롤페즈 복수의 상호 관련 오브젝트의 순회 전송방법
US6098064A (en) * 1998-05-22 2000-08-01 Xerox Corporation Prefetching and caching documents according to probability ranked need S list

Also Published As

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

Similar Documents

Publication Publication Date Title
KR100952190B1 (ko) 캐쉬 관리를 이용한 서버와 클라이언트 단말기 사이의오브젝트 전송 방법 및 대응하는 전송 시스템, 서버 및단말기
CN104469395B (zh) 图像传输方法和装置
US6370565B1 (en) Method of sharing computation load within a distributed virtual environment system
US6307567B1 (en) Model-based view extrapolation for interactive virtual reality systems
Royan et al. Network-based visualization of 3d landscapes and city models
JP2004527046A (ja) 限定された帯域幅の通信チャネルに対して最適化された動的視錘台を用いたネットワーク画像送信システムおよび方法
De Floriani et al. Dynamic view-dependent multiresolution on a client–server architecture
US20020158874A1 (en) Process and data structure for providing required resolution of data transmitted through a communications link of given bandwidth
Yang et al. A progressive view-dependent technique for interactive 3-D mesh transmission
Gao et al. Distributed data management for large volume visualization
Maamar et al. Streaming 3D meshes over thin mobile devices
US20020147827A1 (en) Method, system and computer program product for streaming of data
Han et al. Progressive vector data transmission
Ding et al. Remote visualization by browsing image based databases with logistical networking
WO2022149189A1 (ja) 配信制御装置、配信制御システム、配信制御方法、及びプログラム
JP2004139200A (ja) ファイル管理プログラム及びファイル管理装置
JP3791912B2 (ja) 仮想ウォークスルーに関するデータを構成し送達するためのシステムおよび方法
Zu et al. Real-time scheduling of hierarchical reward-based tasks
Gotz et al. A framework for scalable delivery of digitized spaces
CN116320551B (zh) 一种基于多个多球面图像的多视点视频自适应传输方法
CN115955580B (zh) 基于可伸缩编码的全景视频边缘缓存方法及系统
JP3880335B2 (ja) 3次元cgモデル表示方法、3次元cgモデル表示システム、3次元cgモデル表示サーバ
Liu et al. A quantitative analysis of Local Data Management for 3D content streaming
Royan et al. Peer-to-Peer Visualization of Very Large 3D Landscape and City Models Using MPEG-4
JP2002304639A (ja) 3次元cgモデル配信システム,3次元cgモデル配信方法,3次元cgモデル配信サーバ,そのプログラムおよびそのプログラム記憶媒体,3次元cgモデル利用者クライアント,そのプログラムおよびそのプログラム記憶媒体,並びに3次元cgモデルインデクス生成方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment
LAPS Lapse due to unpaid annual fee