KR20010071516A - 이질적 클라이언트를 갖춘 클라이언트-서버 시스템을 위한방법 및 장치 - Google Patents

이질적 클라이언트를 갖춘 클라이언트-서버 시스템을 위한방법 및 장치 Download PDF

Info

Publication number
KR20010071516A
KR20010071516A KR1020007014410A KR20007014410A KR20010071516A KR 20010071516 A KR20010071516 A KR 20010071516A KR 1020007014410 A KR1020007014410 A KR 1020007014410A KR 20007014410 A KR20007014410 A KR 20007014410A KR 20010071516 A KR20010071516 A KR 20010071516A
Authority
KR
South Korea
Prior art keywords
application
client
characteristic
output
server
Prior art date
Application number
KR1020007014410A
Other languages
English (en)
Other versions
KR100679343B1 (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 KR20010071516A publication Critical patent/KR20010071516A/ko
Application granted granted Critical
Publication of KR100679343B1 publication Critical patent/KR100679343B1/ko

Links

Classifications

    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • 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/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/221Parsing markup language streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • 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/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2809Exchanging configuration information on appliance services in a home automation network indicating that an appliance service is present in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/2818Controlling appliance services of a home automation network by calling their functionalities from a device located outside both the home and the home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/283Processing of data at an internetworking point of a home automation network
    • H04L12/2836Protocol conversion between an external network and a home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/284Home automation networks characterised by the type of medium used
    • H04L2012/2841Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/2847Home automation networks characterised by the type of home appliance used
    • H04L2012/2849Audio/video appliances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/2847Home automation networks characterised by the type of home appliance used
    • H04L2012/285Generic home appliances, e.g. refrigerators
    • 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
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

본 발명은 전송 매체를 통해 클라이언트에 어플리케이션을 전달하는 방법 및 장치에 관한 것이다. 어플리케이션은 대화식 어플리케이션일 수 있다. 장치는 기기별 특정 변환기 및 적응형 전송 변환기를 포함한다. 기기별 특정 변환기는 서버 내의 대화식 어플리케이션에 대한 클라이언트의 요청에 따라 기기별 특정 출력을 생성하기 위하여 클라이언트의 적어도 하나의 특성과 어플리케이션의 적어도 하나의 특성에 기초하여 어플리케이션을 수정할 수 있도록 구성된다. 어플리케이션의 적어도 하나의 특성 및 전송 매체의 적어도 하나의 특성에 기초하여, 적응형 전송 변환기는 기기별 특정 출력을 수정하여 개작된 출력을 생성할 수 있도록 구성된다. 출력은 매체를 통해 클라이언트에 전달된다. 클라이언트는 디코더 및 사용자 인터페이스를 포함한다. 디코더는 개작된 출력을 해독하여 사용자 인터페이스를 통해 제삼자에 의해 사용되는 대화식 어플리케이션의 수정판을 생성한다. 또 다른 실시예에 따르면, 어플리케이션은 일방식 어플리케이션일 수도 있다.

Description

이질적 클라이언트를 갖춘 클라이언트-서버 시스템을 위한 방법 및 장치{METHOD AND APPARATUS FOR A CLIENT-SEVER SYSTEM WITH HETEROGENEOUS CLIENTS}
서버 컴퓨터는 다수의 다양한 유형의 매체를 통해 다수의 다양한 유형의 클라이언트에 어플리케이션을 전달한다. 예를 들어, 서버는 케이블을 통해 프린터에 페이지를 전달할 수 있고, 무선을 통해 무선 호출기에 짧은 메시지를 전달할 수 있고, 극초단파를 통해 무선 전화기에 오디오 메시지를 전달할 수 있고, 적외선을 통해 인터넷의 사용이 가능한 컴퓨터 또는 팜톱 컴퓨터에 웹 페이지를 전달할 수 있고, 상호 꼬인 쌍으로 된 통신선을 통해 가정의 전자 레인지 또는 중앙 공조 시스템의 스위치에 온-오프 명령을 전달할 수 있다.
이들 각각의 클라이언트 또는 기기는 각기 다른 성능을 갖는다. 이들 중 일부는 팜톱 컴퓨터와 같이 상대적으로 강력한 마이크로프로세서 및 메모리 용량을 가질 수 있다. 나머지는 텔레비전과 같이 최소의 계산 능력 및 메모리 능력을 갖는 초소형 클라이언트일 수 있다. 전송 매체는 매우 다를 수 있다. 예를 들어, 일부는 광섬유와 같이 큰 대역폭을 가지지만, 나머지는 상호 꼬인 쌍으로 된 통신선과 같이 작은 대역폭을 가진다. 또한, 어플리케이션은 완전히 다를 수 있다. 예를 들어, 영화는 큰 대역폭과 적은 대기 시간을 필요로 하며 에러 비율에 대한 허용도가 높다. 그러나 스위치에 대한 온-오프 명령은 대역폭 요건이 낮다 하더라도 절대적으로 정확하여야 한다.
일반적으로 특정 매체를 통해 특정 클라이언트로 각각의 타입의 어플리케이션을 전달하는 특정의 방법이 존재한다. 예를 들어, 페이지를 프린트하기를 원하는 경우, 그 페이지를 프린트하기 위하여 특정 프린터 드라이버를 작동하게 된다. 만일 인터넷의 사용이 가능한 컴퓨터에 웹 페이지를 전송하기를 원하는 경우, 웹 페이지는 사전 설정된 비율로 압축되고, 특정 네트워크 프로토콜에 후속하여 전송된다. 그러한 각기 다른 과제를 달성하기 위하여 각기 다른 소프트웨어 프로그램이 서버에 의해 호출된다.
인터넷의 사용이 가능한 컴퓨터 또는 텔레비전이 웹 페이지와 같이 대화가 가능한 어플리케이션인 대화식 어플리케이션을 요청하는 경우, 서버는 동일한 프리세트된 네트워크 프로토콜에 후속하여 대화식 어플리케이션을 전달한다. 다시 말해서, 프로토콜이 프리세트된 후에 전송 매체가 변경되는 경우, 서버는 변경과 관련하여 동적으로 프로토콜을 수정하는 지능을 가지지 못한다. 서버의 부분에 대한 지능적인 적응성은 존재하지 않는다. 서버는 사용자가 인터넷이 가능한 컴퓨터 상에서 웹 페이지로부터 1 피트 떨어져 앉아 있는지 아니면 텔레비전 상에서 웹 페이지로부터 1 피트 떨어져 앉아 있는지를 알지도 못하고 그에 대해 관심도 가지지 않는다.
서버는 적응성을 결여할 뿐만 아니라 특정 클라이언트로부터의 요청에 응답하지도 못한다. 예를 들어, 어플리케이션은 매일 오후 1시에 제록스의 주가를 말하는 것과 같이 프로파일에 기초하여 사용자에 의해 결정되는 어플리케이션인 일방식 어플리케이션이다. 서버는 주가를 알려주기를 요청하는 무선 호출기 및 일기 예보를 요청하는 표준 전화기 모두에 대해 자동적으로 응답하지 못한다. 현재 일반적으로 행해지는 방법은 이들 과제 각각을 처리하기 위하여 별도의 서버를 전용적으로 사용하는 방법이다.
위에서 언급한 정황을 통해 알 수 있는 바와 같이, 각기 다른 어플리케이션이 전송 매체 및 클라이언트로부터 이용 가능한 자원에 기초하여 자동적으로 수정될 수 있도록, 그러한 각기 다른 어플리케이션과 클라이언트 성능과 전송 매체를 자동적으로 처리할 수 있는 장치 및 방법을 제공할 필요성이 있다.
본 출원은 1997년 11월 14일자로 출원되어 현재 공동 계류 중인 미국 특허 출원 제 08/970,735 호의 일부 계속 출원이다. 이 출원은 본 명세서에서 참고 자료로서 인용된다.
본 발명은 일반적으로 클라이언트-서버 기술에 관한 것으로, 특히 클라이언트에 전달된 어플리케이션이 이용 가능한 자원에 기초하여 자동적으로 수정되는 클라이언트-서버 시스템에 관한 것이다.
도 1은 본 발명에 응용될 수 있는 어플리케이션의 예를 보인 도면이다.
도 2는 전송 매체를 통해 연결된 본 발명의 서버 쪽 및 클라이언트 쪽의 일례를 보인 도면이다.
도 3은 본 발명의 일 실시예를 실현하는 단계를 보인 도면이다.
도 4는 본 발명에 따른 기기별 특정 변환기의 예를 보인 도면이다.
도 5는 본 발명의 적응형 전송 변환기의 일 실시예를 보인 도면이다.
도 6은 본 발명의 전송 매체의 특성의 예를 보인 도면이다.
도 7은 본 발명에 있어서 클라이언트의 계산 능력 및 입력 데이터 타입에 기초하여 압축 알고리즘을 선택하는 방법의 예를 보인 도면이다.
도 8a 및 도 8b는 본 발명에 있어서 각기 다른 조건에서 적응형 패킷타이저에 의해 선택되는 네트워크 프로토콜의 예를 보인 도면이다.
도 9a 및 도 9b는 웹 브라우징 어플리케이션에 사용되는 본 발명의 결정 트리의 일례를 보인 도면이다.
도 1 내지 도 9에 걸쳐서 동일한 요소에는 동일한 도면 부호를 부여하였다. 도 1 내지 도 9를 참조하여 이하에서 본 발명의 실시예를 상세히 설명하기로 한다. 그러나, 예시된 실시예는 본 발명을 설명하기 위한 일례에 지나지 않으며 이에 의해 본 발명에 제한되지는 않는다.
본 발명은 어플리케이션, 어플리케이션을 요청하는 클라이언트의 성능 및 어플리케이션을 전달하는 전송 매체 중 하나 또는 그 이상에 따라 자동적으로 어플리케이션을 수정하는 방법 및 장치를 제공한다. 클라이언트는 매일의 새로운 약속을보여주는 팜톱 컴퓨터일 수도 있고, 오후 6시에 자동적으로 켜져서 닭고기를 요리하는 전자 레인지일 수도 있고, 좋아하는 제임스 본드 주연의 영화를 보여주는 텔레비전일 수도 있다. 이들 각각의 클라이언트는 각기 다른 전송 매체에 접속된 각기 다른 성능을 가지며, 각각의 어플리케이션은 자기만의 특성을 갖는다. 본 발명에 따라, 서버 컴퓨터는 자원의 이득을 최대화하기 위하여 이용 가능한 자원을 고려하여 특정 어플리케이션을 자동적으로 수정한다.
일 실시예에 있어서, 어플리케이션은 사용자와 대화를 할 수 있는 웹 페이지 따위의 대화식 어플리케이션일 수 있다. 이 실시예에는 서버 내 서버 장치가 포함된다. 서버 장치는 기기별 특정 변환기 및 적응형 전송 변환기를 포함한다. 기기별 특정 변환기는, 서버 내의 대화식 어플리케이션에 대한 클라이언트의 요청에 따라, 기기별 특정 출력을 생성할 수 있도록 클라이언트 및 어플리케이션에 기초하여 어플리케이션을 수정할 수 있도록 구성된다. 이 출력은 클라이언트 및 어플리케이션 자체에 따라 자동적으로 수정된다. 기기별 특정 변환기에 커플링 되는 능동형 전송 변환기는 기기별 특정 출력을 수정할 수 있도록 구성된다. 수정은 다시 어플리케이션 및 대응하는 전송 매체에 기초한다. 수정 이후에, 개작된 출력이 생성되고, 이는 매체를 통해 클라이언트에 전달된다. 그러면, 클라이언트는 개작된 출력을 해독하여 클라이언트에 맞게 개작된 대화식 어플리케이션의 수정판을 생성한다.
또 다른 실시예에 있어서, 어플리케이션은 일방식 어플리케이션일 수 있다. 일방식 어플리케이션은 사용자의 프로파일과 같이 사용자에 의해 사전 결정된 어플리케이션이다. 프로파일에서 보여지는 바와 같이 선호하는 점에 기초하여, 특정 어플리케이션이 사용자에게 전달될 수 있다. 예를 들어, 주말에 사용자는 오전 9시에 일어나는 것을 선호하고, 비틀즈 음악을 듣는 것을 좋아한다. 그래서 매주 토요일 및 일요일 9시에 서버는 비틀즈 음악을 선택하고, 그것을 압축한 다음 15분간 사용자의 침대 옆에 놓인 스피커로 전달한다. 이 실시예에서는 대응하는 기기별 특정 변환기 및 능동형 전송 변환기를 갖춘 서버 장치가 또한 포함된다.
또 다른 실시예에서는 클라이언트 내 클라이언트 장치가 포함된다. 클라이언트 장치는 개작된 출력으로부터 어플리케이션의 수정판을 생성하기 위한 디코더를 포함한다. 개작된 출력은 위에서 설명한 기기별 특정 변환기 및 능동형 전송 변환기 중 어느 하나에 의하여 생성된다.
본 발명에 따라, 어플리케이션은 이용 가능한 자원에 기초하여 다양한 클라이언트로 자동적으로 매핑 된다. 일 실시예에 있어서, 자원에는 대역폭과, 허용 가능한 에러 비율과, 전송 매체의 대기 시간과, 클라이언트의 처리 능력 및 메모리 용량이 포함된다.
본 발명에 따르면, 각기 다른 유형의 클라이언트가 고속 인터넷 접속기 등의 동일한 전송 매체를 통해 접속될 수 있다. 서버는 어플리케이션을 수신하는 클라이언트에 기초하여 그리고 어플리케이션에 기초하여 어플리케이션을 수정할 수 있다. 또한, 본 발명에 따르면, 각기 다른 유형의 클라이언트는 유선 및 무선 매체, 디지털 및 아날로그 매체 등의 각기 다른 매체를 통해 접속될 수 있으며, 그에 따라 서버는 어플리케이션을 개작할 수 있다.
클라이언트는 서버가 이미 클라이언트에 맞도록 어플리케이션을 개작하거나수정하였기 때문에 최소의 계산 능력 및 메모리 용량을 갖는 초소형 장치로 구성될 수 있다. 다시 말해서, 클라이언트는 매우 저렴한 장치일 수 있다.
더욱이, 어플리케이션은 특정 클라이언트에 맞도록 서버에 의해 수정될 수 있기 때문에, 동일한 콘텐츠가 각기 다른 클라이언트에 대해 사용될 수 있다. 예를 들어, 본 발명은 인터넷을 사용할 수 있는 컴퓨터 및 텔레비전에 맞는 동일한 인터넷 콘텐츠를 사용할 수 있다. 이들 콘텐츠는 실시간으로 각기 다른 클라이언트에 전달될 수 있다.
본 발명에 따르면, 각기 다른 어플리케이션을 새로운 유형의 클라이언트로 개작하기 위한 개발 시간이 현저히 줄어들 수 있다. 변경은 본 발명에 기초하는 소프트웨어 수정을 통해 달성될 수 있다. 이에 의해 새로운 유형의 클라이언트를 신속히 시장에 내놓을 수 있게 된다.
본 명세서에서 사용되는 언어는 대체로 읽기 쉽고 설명을 하기 쉽다는 이유로 선택된 것일 뿐, 본 발명의 요지를 서술하거나 제한하기 위하여 선택된 것은 아니다. 또한, 본 명세서에서 설명되는 특징 및 장점 등은 모든 것을 포함하는 것은 아니며, 본 발명의 다른 양상 및 장점 등을 본 발명의 원리를 예로서 보여주는 상세한 설명에 근거하여 쉽게 파악할 수 있으리라 생각된다.
본 발명은 서버-클라이언트 환경에 응용될 수 있다. 서버는 대응하는 전송 매체를 통하여 하나 또는 그 이상의 클라이언트에 접속될 수 있다. 서버는 개인용 컴퓨터 또는 다른 형태의 컴퓨터로 구성될 수 있다. 서버는 일반적으로 계산 능력 및 메모리에 있어서 클라이언트를 능가한다. 클라이언트는 각기 다른 다양한 형태의 컴퓨터 엔진일 수 있다. 예를 들어 클라이언트는 인터넷의 사용이 가능한 컴퓨터, 텔레비전, 팜톱 컴퓨터, 전자 레인지, 전화기 또는 무선 호출기일 수도 있다. 따라서, 서버에 의해 전달되는 정보를 해독하는 디코더를 구비하는 한, 클라이언트의 능력은 매우 복잡할 수도 있다. 일 실시예에 있어서, 클라이언트는 해독된 정보를 사용자에게 보내기 위한 사용자 인터페이스 장치를 또한 구비한다.
일 실시예에 있어서, 클라이언트는 어플리케이션을 요청한다. 이것은 사용자가 작동하는 셋톱 박스에 의해 행해질 수 있다. 사용자는 자신의 텔레비전을 통해 야후의 웹 페이지에 들어가기를 원할 수도 있다. 이러한 유형의 어플리케이션은 도 1에 도면부호 102로 표시된 대화식 어플리케이션으로 알려져 있다. 이러한 어플리케이션에 있어서, 사용자는 어플리케이션과 대화를 나눌 수 있다. 이것은 텔레비전으로 "스타 트렉" 에피소드를 단지 수동적으로 시청하는 것과는 다르다. 왜냐하면, 사용자는 에피소드 내의 어떠한 것도 변경할 수 없기 때문이다. 여하간, 요청은 서보로 전달되고, 서버는 웹 페이지에 접근하게 된다. 그러면 서버는 텔레비전에 맞도록 접근된 웹 페이지를 개작한다. 개작은 다수의 요인에 따라 달라진다. 예를 들어, 그 요인은 웹 페이지가 텍스트, 이미지, 비디오 또는 그러한 것들이 조합된 것을 포함하는지의 여부에 관한 웹 페이지 자체일 수도 있고, 웹 페이지를 클라이언트에 전달하는 전송 매체, 클라이언트의 능력 등의 이용 가능한 자원일 수도 있다. 일 실시예에 있어서, 웹 페이지는 MPEG1 규격 및 RTP 네트워크 프로토콜에 기초하여 수정되며, 인터넷 접속을 통해 서버로부터 텔레비전의 셋톱 박스로 전송된다. 이 경우, 클라이언트는 전송된 신호를 수신하고 그를 해독하는 텔레비전 및 셋톱 박스이다. 해독된 신호는 일반적으로 원래의 어플리케이션의 수정판이다. 다시 말해서, 해독된 어플리케이션은 서버 내의 어플리케이션과 정확하게 동일하지 않다. 셋톱 박스는 텔레비전 상에서 웹 페이지를 보여줌으로써, 사용자는 그것과 대화를 나눌 수 있다.
또 다른 실시예에 있어서, 사용자는 초기에 서버에 그가 선호하는 것을 입력한다. 이것은 각각의 시합이 종료하였을 때의 LA 레이커스 농구팀의 스코어일 수 있다. 이것은 그의 무선 호출기의 화면에 뜨게 된다. 그러한 정보는 도 1에 도면부호 104로 표시한 일방식 어플리케이션으로 알려져 있다. 이것은 사용자에 의해 프리세트 된다. 스코어의 이용이 가능한 경우, 서버는 그것을 무선을 통해 사용자의 무선 호출기로 전송할 수 있다. 어플리케이션은 어플리케이션 자체 및 이용 가능한 자원의 적어도 하나의 특성에 기초하여 개작될 수 있다.
도 2는 전송 매체를 통해 접속된 본 발명의 서버 쪽 및 클라이언트 쪽의 일 실시예를 보여주고 있다. 도 3은 본 발명의 일 실시예를 실현하는 일련의 단계(175)를 보여주고 있다.
일 실시예에 있어서, 서버 쪽에는 기기별 특정 변환기(150) 및 적응형 전송 변환기(152)가 포함된다. 일반적으로, 기기별 특정 변환기(150)는 클라이언트의 능력에 기초하여 어플리케이션을 수정하고 (단계 177), 적응형 전송 변환기(152)는 전송 매체(154)에 기초하여 어플리케이션을 추가적으로 수정한다 (단계 181). 수정은 어플리케이션 자체에 따라 또한 달라질 수 있다. 예를 들어, 오디오 신호는 기록된 텍스트의 일부와 비교하여 다른 방식으로 수정된다. 일 실시예에 있어서, 클라이언트 쪽에는 디코더(156)와 사용자 인터페이스(158)가 포함된다. 디코더(156)는 디코더(156)의 능력에 맞게 사전에 구성된 것일 수도 있는 전달된 신호를 해석하거나 해독한다 (단계 185). 그런 다음, 사용자 인터페이스(158)는 수정된 어플리케이션(187)을 사용자에게 제공한다.
일 실시예에 있어서, 기기별 특정 변환기(150)는 클라이언트와 관련된 어플리케이션의 적어도 하나의 특성에 기초하여 어플리케이션을 수정한다. 예를 들어, 다음의 네 가지 유형의 어플리케이션이 제공될 수 있다.
(가) 대응하는 포맷으로 된 텍스트와 이미지를 포함하는 문서 또는 Doc
(나) 스트리밍 멀티미디어 및 플러그인을 포함하는 인터넷
(다) 전자 우편
(라) 사용자가 정보를 입력하기 위한 각기 다른 포맷을 갖는 다양한 유형의 폼을 포함하는 폼
이들 각각의 어플리케이션은 각자의 특성을 가지며, 클라이언트에 따라 각기 다르게 수정될 수 있다.
도 4는 본 발명에 따른 기기별 특정 변환기(150)의 예를 보인 것이다. 본 명세서에서, 클라이언트에 의해 부가되는 어플리케이션과 관련된 용어는 어플리케이션 및 클라이언트에 사용되는 기기별 특정 변환기(150)를 나타낸다. 예를 들어, DocTV는 텔레비전 시청을 위한 문서를 수정하는 기기별 특정 변환기를 나타낸다. 이 변환기는 TV가 텔레비전에 따라 이미지의 포맷을 변경할 수 있는 포맷 하위 변환기 등의 다수의 하위 변환기를 포함할 수 있다. 이것은 사용자가 6 피트 떨어져서 텍스트를 볼 수 있도록 텍스트의 크기를 변경하는 것일 수도 있다. 그래서, 하나 또는 그 이상의 하위 변환기가 텔레비전 시청을 위하여 어플리케이션을 개작할 수 있다. 텔레비전은 일반적으로 6 피트 떨어져서 보게 되는 반면에, 컴퓨터 모니터는 1 피트 이내의 거리에서 보게 되는 점에 주목할 필요가 있다. 필요에 따라, 그 밖의 다른 하위 변환기는 클라이언트에 기초하여 텍스트 특성을 변경하는 텍스트 하위 변환기, 클라이언트의 디스플레이 특성에 기초하여 이미지 특성을 변경하는 이미지 하위 변환기 및 클라이언트에 대한 어플리케이션의 이용 가능성을 향상시키는 사용자 인터페이스 하위 변환기일 수 있다. 따라서, 기기별 특정 변환기(150)는 어플리케이션을 수정하기 위하여 하나 또는 그 이상의 하위 변환기를 동적으로 추가할 수 있다.
도 4는 그러한 하위 변환기의 예를 보인 것이다. 예를 들어, 디스플레이를 가진 전화기를 이용하여 웹을 브라우징하고 있는 경우, 기기별 특정 변환기(150)는 SPhone 표시 스크린 내에서 S를 갖는 DocSPhone(200) 또는 InternetSPhone(202)일 수 있다. DocSPhone은 전화기를 이용하여 메시지를 수동적으로 수신하는 경우에 사용되는 반면에, InternetSPhone은 웹 페이지와 대화하는 것처럼 전화기를 이용하여 메시지와 대화하는 경우에 사용된다. 또 다른 예로서, 전화기를 이용하여 전자 우편을 검색하는 경우, 기기별 특정 변환기(150)는 EmailSPhone(204) 또는 DocSPhone일 수 있다. EmailSPhone(204)은 전화기가 전자 우편용 소프트웨어 관리 시스템을 가질 수 있다는 점에서 더욱 더 지능적이다. 또 다른 예로서, 전화기가 전자 상거래 또는 E-Commerce에 사용되는 경우, 기기별 특정 변환기(150)는 FormSPhone(206)일 수 있다. 이에 의해 사용자는 웹 상에서 책을 주문하는 것처럼 폼을 편집할 수있게 된다.
그러한 기기별 특정 변환기(150)를 생성하는 방법에는 여러 가지가 있다. 그 중 한가지 방법은 1997년 11월 14일자로 출원되어 현재 공동 계류 중인 미국 특허 출원 제 08/970,735 호에 개시된 방법 및 장치에 기초하여 그러한 변환기를 동적으로 생성하는 것이다. 또 다른 방법은 직접 매핑을 통해 이루어지는 것이다. 예를 들어, HTML로 된 페이지는 비트맵으로 직접 변경되거나 매핑 될 수 있다.
일 실시예에 있어서, 기기별 특정 변환기(150)로부터의 출력은 기기별 특정 출력(179)이다. 이것은 적응형 전송 변환기(152)에 의해 더욱 더 수정된다.
적응형 전송 변환기(152)는, 어플리케이션 및 전송 매체(154)의 특성에 기초하여, 기기별 특정 출력(179)을 수정하여 개작된 출력(183)을 생성한다. 일 실시예에 있어서, 기기별 특정 출력(179)에 대해 작동하는 압축 알고리즘 및 네트워크 프로토콜은 요구되는 어플리케이션의 신뢰성 또는 에러 비율과 전송 매체(154)의 속도 또는 대역폭 등의 어플리케이션의 적어도 하나의 특성에 따라 달라진다. 개작된 출력(183)을 생성하기 위하여 기기별 특정 출력(179)이 수정된 후에, 서버는 전송 매체를 통해 클라이언트에 개작된 출력(183)을 전송한다.
도 5는 본 발명의 적응형 전송 변환기(152)의 일 실시예를 보인 것이다. 이 실시예에서는 다중 모드 압축기(250)와 적응형 패킷타이저(252)가 포함된다. 압축기는 기기별 특정 출력(179)을 압축하기 위한 적절한 압축 알고리즘을 선택하는 반면, 적응형 패킷타이저(252)는 개작된 출력(183)을 생성하기 위한 네트워크 프로토콜을 선택한다.
도 6은 본 발명의 전송 매체의 특성의 예를 보인 것이다. 각기 다른 특성이 대역폭, 에러 비율 및 대기 시간 내에 포함될 수 있다. 대기 시간은 클라이언트가 얼마나 어플리케이션을 기다려야 하는지를 나타낸다. 높은 에러 비율을 갖는 매체는 그러한 전송 매체를 통과하는 데이터가 더욱 많은 에러를 가지기 쉽다는 것을 의미한다. 그러한 결함을 보상하기 위하여, 어플리케이션은 정확한 신호가 수신되었음을 확인할 수 있도록 재차 전송될 수도 있다. 예를 들어, 전파 송신 매체를 통해 전달되는 아날로그 신호(300), 예컨대 무선 아날로그 신호는, 신호 간섭이 매우 클 수 있기 때문에 에러 비율은 높다(302). 정확성이 확보될 수 있도록 신호가 여러 번 전송되어야만 할 수도 있기 때문에, 신호의 대기 시간은 증가한다(304). 사용되는 어플리케이션 및 전송 매체(154)에 따라, 적응형 전송 변환기(152)는 예를 들어 적절한 압축 알고리즘 및 네트워크 프로토콜을 선택함으로써 그러한 변형을 자동적으로 고려한다.
일 실시예에 있어서, 다중 모드 압축기(250)는 어플리케이션, 전송 매체(154) 및 클라이언트에 기초하여 압축 알고리즘을 자동적으로 선택한다. 서버에서 클라이언트로 전송되는 데이터의 폼이 높으면 높을수록, 요구되는 대역폭은 낮지만, 클라이언트는 더 많은 계산 능력을 가져야만 한다. 예를 들어, ASCII 텍스트(높은 폼 데이터) 및 비트맵(낮은 폼 데이터)에 있어서, ASCII 텍스트는 전송될 대역폭으로 적은 대역폭을 취하지만 클라이언트는 ASCII 텍스트를 이해하기 위한 해독 능력을 필요로 한다. 한편, 문서가 비트맵으로 전송되는 경우, 클라이언트는 수신되는 것은 무엇이든지 디스플레이 하지만, 전송되는 데이터의 양은 현저히 증가한다. 클라이언트가 압축된 ASCII 텍스트를 해독할 수 있는 능력이 있는 경우 그리고 전송 매체(154)의 대역폭이 작은 경우에는 전송하기 전에 ASCII 텍스트를 압축하는 것이 좋다. 이를 통해 자원을 더욱 효과적으로 사용할 수 있게 된다.
일 실시예에 있어서, 압축 알고리즘을 선택하는데 사용되는 파라미터에는 다음과 같은 것이 있다.
(가) 텍스트, 그래픽, 미가공 이미지, 오디오 또는 비디오 등의 입력 데이터 타입. 어플리케이션은 각기 다른 다수의 입력 데이터 타입을 가질 수 있으며, 동일한 페이지에 텍스트와 이미지가 공존할 수도 있다.
(나) 비율 왜곡 요건 또는 대역폭 대 품질간의 절충
(다) 전송 매체(154). 이것은 대역폭, 에러 비율 및 대기 시간에 영향을 미친다.
(라) 처리 능력 및 이용 가능한 메모리 따위의 서버 및 클라이언트의 성능
다수의 압축 알고리즘이 본 발명에 응용될 수 있다. 이러한 알고리즘으로 Lempel-Ziv (LZ), Run Length Encoding (RLE), JPEG, Hierarchical Vector Quantization (HVQ), ADPCM, MPEG1, MPEG2, H.263 및 Hierarchical Vector Quantization with Conditional Replenishment (HVQCR) 등이 있다.
도 7은 디코더(156)가 개작된 출력(183)의 압축을 풀 필요가 있기 때문에 클라이언트의 계산 능력 및 입력 데이터 타입에 기초하여 압축 알고리즘을 선택하는 방법을 보여주고 있다. 그것이 서버일 수도 있고 압축을 수행하는 다중 모드 압축기(250)일 수도 있기 때문에, 서버의 계산 능력 또한 고려되어야 한다. 그러나, 일반적으로 클라이언트는 서버만큼은 강력하지 못하다. 클라이언트가 충분한 압축 해제 능력을 가진 경우, 서버는 충분한 압축 능력을 가져야 한다.
일 실시예에 있어서, 적응형 전송 변환기(152)는 압축 알고리즘을 선택할 뿐만 아니라, 네트워크 프로토콜도 또한 선택한다. 이것은 능동형 패킷타이저에 의해 수행될 수 있다. 본 발명을 나타내기 위하여, 세 가지 프로토콜이 고려될 수 있는데, 이들은 TCP, UDP 및 RTP이다.
도 8a 및 도 8b는 각기 다른 조건에서 능동형 패킷타이저(252)에 의해 선택된 네트워크 프로토콜의 예를 보인 것으로, 도 8a는 에러 비율이 낮은 경우이고, 도 8b는 에러 비율이 높은 경우이다. 일 실시예에 있어서, 재선택은 능동적인 방식으로 이루어지는데, 선택은 어플리케이션의 데이터 타입 및 전송 매체(154)에 따라 달라진다. 예를 들어, 어플리케이션이 텍스트의 일부이고 정확하여야 한다면, 에러 비율은 낮아야만 한다. 전송 매체가 원래부터 많은 대기 시간을 가지는 경우, 도 8a에 도시한 바와 같이 UDP가 선택된다. 한편, 어플리케이션이 비디오 스트림인 경우, 에러 비율이 높을 수 있지만, 프레임간에 감지할 수 있는 갭이 존재하는 경우 시청자와 흥미는 반감하기 때문에 대기 시간은 적어야 한다. 도 8b에 기초하여, RTP가 선택된다.
일 실시예에 있어서, 클라이언트는 초소형으로 구성된다. 서버는 이미 클라이언트용 어플리케이션을 개작 또는 수정하였기 때문에, 클라이언트는 오직 최소의 계산 능력과 메모리 용량만을 필요로 한다. 이러한 유형의 클라이언트의 비용은 크게 절감할 수 있다. 초소형 클라이언트의 일례는 스트리밍 오디오 및 비디오, 자바애플릿과, ActiveX 컨트롤 등의 강력한 어플리케이션을 처리할 수 있는 TV 셋톱 박스이다. 이러한 셋톱 박스는 단지 16 MHz 80386 마이크로프로세서의 계산 능력과 1Mbyte의 메모리만을 필요로 하며, 100 Kbytes 메모리 이내의 소프트웨어가 내장된다.
도 9a 및 도 9b는 웹 브라우징 어플리케이션(400)에 사용되는 본 발명의 결정 트리의 일례를 보인 것이다. 도 9a에 도시한 바와 같이, 기기 또는 클라이언트가 텔레비전(402)인 경우, 기기별 특정 변환기(150)는 DocTV 및 InternetTV의 하위 변환기를 선택하게 된다. 기기별 특정 변환기(150)의 출력은 도 9b에 도시한 바와 같이 추가적으로 수정된다. 예를 들어, 어플리케이션의 일부는 텍스트의 일부이고, 따라서 데이터 타입(404)은 텍스트(406)이다. 또한, 전송 매체(154) 또는 접속(408)은 유선 랜(410)이며, 그 대역폭은 초당 10 메가, 즉 10 Mbps이다. 기기의 계산 능력(412)이 10 MIPS 미만이라고 가정하면, 결정 트리에 후속하여 능동형 전송 변환기(152)는 압축 알고리즘으로 RLE를 선택하고, 네트워크 프로토콜로 UDP를 선택한다. 수정 후에, 출력은 유선 랜을 통해 기기 (이 경우에는 텔레비전 402)로 전송된다.
본 발명의 또 다른 실시예에서는 새로운 타입의 네트워크 프로토콜이 포함된다. 이것은 VAP로 알려진 어플리케이션 레이어 프로토콜이다. 이것은 TCP, UDP 또는 RTP 등의 네트워크 프로토콜의 위에 놓인다. VAP는 두 가지 패킷 타입, 즉 렌더링 된 데이터 객체(RDO) 및 클라이언트 데이터 객체(CDO)를 포함한다. RDO는 CDO 요청에 응답하여 서버에서 클라이언트로 전송된다.
RDO 특성은 다음과 같다.
(가) 각각의 RDO 패킷은 각각의 RDO에 기초하여 출력의 일부를 개별적으로 해독하고 재생할 수 있다는 점에서 독립형이다. 이러한 특징은 대기 시간이 길고 에러 비율이 높은 상황에 특히 적합하다. 이것은 패킷을 흐트러진 상태로 전달되는 것을 또한 허용한다.
(나) 각각의 RDO 패킷은 스크린의 유효 영역 및 대응하는 동작에 대한 완전한 정보를 포함한다.
(다) RDO 패킷은 사용된 압축 알고리즘에 대한 정보를 포함한다.
(라) VAP는 클라이언트에서의 출력의 증분적인 재구성을 허용한다. 이것은 신속히 일부 데이터를 제공함으로써 사용자의 경험을 향상시키는 스마트-로딩을 실현하는데 응용될 수 있다. RDO 패킷은 투명성 정보를 포함하여 재구성의 층에 관한 정보를 포함한다.
CDO 특성은 다음과 같다.
(가) 각각의 CDO 패킷은 기기 ID를 포함한다. 이것은 클라이언트를 확인하며, VAP에 의해 지정된다. 이것은 그에 대응하여 서버가 응답할 수 있도록 클라이언트의 성능을 결정하기 위한 것이다.
(나) 각각의 CDO 패킷은 동작 및 그에 대응하는 데이터를 포함한다.
이상과 같이본 발명의 실시예가 첨부도면과 관련하여 상세히 설명되었으나, 예시된 실시예는 본 발명을 설명하기 위한 일례에 지나지 않으며, 이에 의해 본 발명이 제한되지는 않는다. 본 발명은 이하에 기재되는 청구의 범위에서 한정된 본발명의 정신 및 범주를 벗어나지 않는 한 여러 가지로 변형 및 변경이 가능하다.

Claims (13)

  1. 전송 매체를 통해 대화식 어플리케이션을 클라이언트에 전달하기 위한 서버 내 서버 장치로서,
    대화식 어플리케이션에 대한 클라이언트 요청에 따라 대화식 어플리케이션에 대한 클라이언트 요청에 따라 기기별 특정 출력을 생성하기 위하여 클라이언트의 적어도 하나의 특성 및 어플리케이션의 적어도 하나의 특성에 기초하여 어플리케이션을 수정할 수 있도록 구성된 기기별 특정 변환기와,
    기기별 특정 변환기에 커플링 되고, 전송 매체를 통해 개작된 출력을 해독하여 대화식 어플리케이션의 수정판을 생성하는 클라이언트로 전달되는 개작된 출력을 생성하기 위하여 어플리케이션의 적어도 하나의 특성과 전송 매체의 적어도 하나의 특성에 기초하여 기기별 특정 출력을 수정할 수 있도록 구성되는 능동형 전송 변환기로 이루어진 것을 특징으로 하는 서버 장치.
  2. 제 1 항에 있어서, 능동형 전송 변환기는 기기별 특정 출력을 압축하는 압축기와, 기기별 특정 출력을 위한 네트워크 프로토콜을 설정하는 패킷타이저를 포함하는 것을 특징으로 하는 서버 장치.
  3. 제 2 항에 있어서, 압축기에 의해 적용되는 압축은 클라이언트의 성능에 따라 달라지는 것을 특징으로 하는 서버 장치.
  4. 제 2 항에 있어서, 압축기에 의해 적용되는 압축은 전송 매체의 대역폭에 따라 달라지는 것을 특징으로 하는 서버 장치.
  5. 제 2 항에 있어서, 압축기에 의해 적용되는 압축은 전송 매체의 에러 비율에 따라 달라지는 것을 특징으로 하는 서버 장치.
  6. 제 2 항에 있어서, 설정되는 프로토콜은 어플리케이션에 따른 소정의 에러 비율 및 대기 시간에 따라 달라지는 것을 특징으로 하는 서버 장치.
  7. 전송 매체를 통해 일방식 어플리케이션을 클라이언트에 전달하기 위한 서버 내 서버 장치로서,
    기기별 특정 출력을 생성하기 위하여 클라이언트의 적어도 하나의 특성 및 어플리케이션의 적어도 하나의 특성에 기초하여 일방식 어플리케이션을 수정할 수 있도록 구성된 기기별 특정 변환기와,
    기기별 특정 변환기에 커플링 되고, 전송 매체를 통해 개작된 출력을 해독하여 일방식 어플리케이션의 수정판을 생성하는 클라이언트로 전달되는 개작된 출력을 생성하기 위하여 어플리케이션의 적어도 하나의 특성과 전송 매체의 적어도 하나의 특성에 기초하여 기기별 특정 출력을 수정할 수 있도록 구성되는 능동형 전송 변환기로 이루어진 것을 특징으로 하는 서버 장치.
  8. 전송 매체를 통해 서버로부터 수신된 일방식 어플리케이션의 수정판을 생성하기 위한 클라이언트 내 클라이언트 장치로서,
    서버가 기기별 특성 출력을 생성할 수 있도록 클라이언트의 적어도 하나의 특성과 어플리케이션의 적어도 하나의 특성에 기초하여 어플리케이션을 수정하고, 매체를 통해 클라이언트에 전달되는 개작된 출력을 생성할 수 있도록 어플리케이션의 적어도 하나의 특성과 전송 매체의 적어도 하나의 특성에 기초하여 기기별 특성 출력을 수정할 수 있도록
    서버 내 서버 장치에 의해 생성되는 개작된 출력으로부터 일방식 어플리케이션의 수정판을 생성하는 디코더를 포함하는 것을 특징으로 하는 클라이언트 장치.
  9. 전송 매체를 통해 서버로부터 수신된 대화식 어플리케이션의 수정판을 생성하기 위한 클라이언트 내 클라이언트 장치로서,
    서버 장치가 대화식 어플리케이션에 대한 클라이언트 요청에 따라 기기별 특성 출력을 생성할 수 있도록 클라이언트의 적어도 하나의 특성과 어플리케이션의 적어도 하나의 특성에 기초하여 어플리케이션을 수정하고,
    매체를 통해 클라이언트에 전달되는 개작된 출력을 생성할 수 있도록 어플리케이션의 적어도 하나의 특성과 전송 매체의 적어도 하나의 특성에 기초하여 기기별 특성 출력을 수정할 수 있도록
    서버 내 서버 장치에 의해 생성되는 개작된 출력으로부터 대화식 어플리케이션의 수정판을 생성하는 디코더를 포함하는 것을 특징으로 하는 클라이언트 장치.
  10. 전송 매체를 통해 클라이언트에 전달되는 대화식 어플리케이션을 서버에 의해 수정하는 방법으로서,
    대화식 어플리케이션에 대한 클라이언트 요청에 따라 기기별 특성 출력을 생성하기 위하여 클라이언트의 적어도 하나의 특성 및 어플리케이션의 적어도 하나의 특성에 기초하여 어플리케이션을 수정하고,
    매체를 통해 개작된 출력을 해독하여 대화식 어플리케이션의 수정판을 생성하는 클라이언트에 전달되는 개작된 출력을 생성하기 위하여 어플리케이션의 적어도 하나의 특성 및 전송 매체의 적어도 하나의 특성에 기초하여 기기별 특정 출력을 수정하는 단계로 이루어진 것을 특징으로 하는 방법.
  11. 전송 매체를 통해 클라이언트에 전달되는 일방식 어플리케이션을 서버에 의해 수정하는 방법으로서,
    기기별 특성 출력을 생성하기 위하여 클라이언트의 적어도 하나의 특성 및 어플리케이션의 적어도 하나의 특성에 기초하여 일방적 어플리케이션을 수정하고,
    매체를 통해 개작된 출력을 해독하여 일방식 어플리케이션의 수정판을 생성하는 클라이언트에 전달되는 개작된 출력을 생성하기 위하여 어플리케이션의 적어도 하나의 특성 및 전송 매체의 적어도 하나의 특성에 기초하여 기기별 특정 출력을 수정하는 단계로 이루어진 것을 특징으로 하는 방법.
  12. 전송 매체를 통해 서버로부터 수신된 일방식 어플리케이션의 수정판을 클라이언트에 의해 생성하는 방법으로서,
    일방식 어플리케이션의 수정판을 생성하기 위하여 개작된 출력을 해독하는 단계를 포함하며, 개작된 출력은
    기기별 특정 출력을 생성하기 위하여 클라이언트의 적어도 하나의 특성 및 어플리케이션의 적어도 하나의 특성에 기초하여 어플리케이션을 수정하고,
    매체를 통해 클라이언트에 전달되는 개작된 출력을 생성하기 위하여 어플리케이션의 적어도 하나의 특성 및 전송 매체의 적어도 하나의 특성에 기초하여 기기별 특정 출력을 수정함으로써 생성되는 것을 특징으로 하는 방법.
  13. 전송 매체를 통해 서버로부터 수신된 대화식 어플리케이션의 수정판을 클라이언트에 의해 생성하는 방법으로서,
    대화식 어플리케이션의 수정판을 생성하기 위하여 개작된 출력을 해독하는 단계를 포함하며, 개작된 출력은
    대화식 어플리케이션에 대한 클라이언트 요청에 따라 기기별 특정 출력을 생성하기 위하여 클라이언트의 적어도 하나의 특성 및 어플리케이션의 적어도 하나의 특성에 기초하여 어플리케이션을 수정하고,
    매체를 통해 클라이언트에 전달되는 개작된 출력을 생성하기 위하여 어플리케이션의 적어도 하나의 특성 및 전송 매체의 적어도 하나의 특성에 기초하여 기기별 특정 출력을 수정함으로써 생성되는 것을 특징으로 하는 방법.
KR1020007014410A 1998-06-17 1999-06-11 이질적 클라이언트를 갖춘 클라이언트-서버 시스템을 위한방법 및 장치 KR100679343B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/098,670 1998-06-17
US09/098,670 US6216157B1 (en) 1997-11-14 1998-06-17 Method and apparatus for a client-server system with heterogeneous clients

Publications (2)

Publication Number Publication Date
KR20010071516A true KR20010071516A (ko) 2001-07-28
KR100679343B1 KR100679343B1 (ko) 2007-02-07

Family

ID=22270400

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007014410A KR100679343B1 (ko) 1998-06-17 1999-06-11 이질적 클라이언트를 갖춘 클라이언트-서버 시스템을 위한방법 및 장치

Country Status (8)

Country Link
US (1) US6216157B1 (ko)
EP (1) EP1086553A1 (ko)
JP (2) JP2002518766A (ko)
KR (1) KR100679343B1 (ko)
CN (1) CN1129276C (ko)
AU (1) AU4556099A (ko)
BR (1) BR9911281A (ko)
WO (1) WO1999066673A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100926845B1 (ko) * 2002-02-01 2009-11-13 파나소닉 주식회사 동화상 복호화 방법, 동화상 복호화 장치 및 데이터 기억 매체
KR101369744B1 (ko) * 2007-03-07 2014-03-06 삼성전자주식회사 멀티미디어 시스템의 멀티미디어 송수신 방법 및 장치

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US6938073B1 (en) * 1997-11-14 2005-08-30 Yahoo! Inc. Method and apparatus for re-formatting web pages
US6624761B2 (en) 1998-12-11 2003-09-23 Realtime Data, Llc Content independent data compression method and system
US6931446B1 (en) * 1998-12-14 2005-08-16 International Business Machines Corporation Methods, systems and computer program products for policy based network control of characteristics of user sessions
US6658167B1 (en) * 1999-01-31 2003-12-02 Hewlett-Packard Development Company, L.P. On the fly server for modifying data characteristics for client-server network applications
US7966078B2 (en) 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
US6601104B1 (en) 1999-03-11 2003-07-29 Realtime Data Llc System and methods for accelerated data storage and retrieval
JP2000270007A (ja) * 1999-03-12 2000-09-29 Sony Corp ネットワークシステム、ネットワークサーバ及び端末装置
US6484212B1 (en) 1999-04-20 2002-11-19 At&T Corp. Proxy apparatus and method for streaming media information
US8200837B1 (en) * 1999-04-26 2012-06-12 Hewlett-Packard Development Company, L.P. Method and system for maintaining a content server at safe load conditions
US7084994B1 (en) * 1999-07-20 2006-08-01 Canon Kabushiki Kaisha Home printing from internet sources
KR100631192B1 (ko) * 1999-08-19 2006-10-04 삼성전자주식회사 전자렌지 및 그 제어방법
US6687745B1 (en) 1999-09-14 2004-02-03 Droplet, Inc System and method for delivering a graphical user interface of remote applications over a thin bandwidth connection
US6973475B2 (en) * 1999-09-18 2005-12-06 Wildtangent Dynamic scalable multi-media content streaming
US6654784B1 (en) * 2000-01-14 2003-11-25 Nexaweb Technologies, Inc Computing architecture
US6748457B2 (en) 2000-02-03 2004-06-08 Realtime Data, Llc Data storewidth accelerator
US7349955B1 (en) * 2000-02-11 2008-03-25 Goamerica, Inc. Method of and system for transferring data over a wireless communications network
CN100409234C (zh) * 2000-03-23 2008-08-06 三菱电机株式会社 图像检索配送系统和图像检索配送方法
AU2001251155A1 (en) * 2000-03-31 2001-10-15 Softcoin, Inc. Facilitating transactions between merchant, associate, and user
AU2001249541A1 (en) * 2000-03-31 2001-10-15 Palm Inc. Information service and method
US7606883B1 (en) * 2000-05-11 2009-10-20 Thomson Licensing Method and system for controlling and auditing content/service systems
US6716101B1 (en) 2000-06-28 2004-04-06 Bellsouth Intellectual Property Corporation System and method for monitoring the location of individuals via the world wide web using a wireless communications network
US20020042831A1 (en) * 2000-08-16 2002-04-11 Jeffrey Capone System and method for building applications that adapt for multiple device and protocol standards
US7200633B2 (en) 2000-08-25 2007-04-03 Ntt Docomo, Inc. Information delivery system and information delivery method
US8037492B2 (en) * 2000-09-12 2011-10-11 Thomson Licensing Method and system for video enhancement transport alteration
WO2002028018A2 (en) * 2000-09-26 2002-04-04 The Musicbooth, Llc. Method and apparatus for identifying user characteristics and device characteristics using a communication network
GB0023570D0 (en) * 2000-09-26 2000-11-08 Volantis Systems Ltd Web server
US9143546B2 (en) 2000-10-03 2015-09-22 Realtime Data Llc System and method for data feed acceleration and encryption
US8692695B2 (en) 2000-10-03 2014-04-08 Realtime Data, Llc Methods for encoding and decoding data
JP2002197005A (ja) * 2000-12-26 2002-07-12 Ntt Docomo Inc サービス代行制御方法
US7386046B2 (en) 2001-02-13 2008-06-10 Realtime Data Llc Bandwidth sensitive data compression and decompression
US7177906B2 (en) * 2001-05-31 2007-02-13 Palmsource, Inc. Software application launching method and apparatus
US7526572B2 (en) * 2001-07-12 2009-04-28 Research In Motion Limited System and method for providing remote data access for a mobile communication device
EP1410645B1 (en) * 2001-07-12 2007-10-10 Research In Motion Limited System and method for providing remote data access for a mobile communication device
US6714934B1 (en) 2001-07-31 2004-03-30 Logika Corporation Method and system for creating vertical search engines
US7243163B1 (en) * 2001-08-07 2007-07-10 Good Technology, Inc. System and method for full wireless synchronization of a data processing apparatus with a messaging system
US7962622B2 (en) * 2001-08-07 2011-06-14 Motorola Mobility, Inc. System and method for providing provisioning and upgrade services for a wireless device
US7743119B2 (en) 2001-08-07 2010-06-22 Motorola, Inc. System and method for mapping identification codes
US7596565B2 (en) * 2001-08-07 2009-09-29 Good Technology System and method for maintaining wireless file folders at a wireless device
EP1313010A1 (de) * 2001-11-19 2003-05-21 Siemens Aktiengesellschaft Verfahren zum Übermitteln eines Programms, zugehöriges Programm und zugehörige Vorrichtung
US20030200353A1 (en) * 2002-04-19 2003-10-23 Vikas Dogra Browser-implemented upload/download of a driver
US7447799B2 (en) * 2002-04-24 2008-11-04 Good Technology, Inc. System and method for automatically updating a wireless device
US7363363B2 (en) * 2002-05-17 2008-04-22 Xds, Inc. System and method for provisioning universal stateless digital and computing services
US9813514B2 (en) 2002-06-12 2017-11-07 Good Technology Holdings Limited Information repository system including a wireless device and related method
US7437720B2 (en) * 2002-06-27 2008-10-14 Siebel Systems, Inc. Efficient high-interactivity user interface for client-server applications
US8516034B1 (en) * 2002-07-08 2013-08-20 Good Technology Software, Inc System and method for modifying application behavior based on network bandwidth
US7246356B1 (en) 2003-01-29 2007-07-17 Adobe Systems Incorporated Method and system for facilitating comunications between an interactive multimedia client and an interactive multimedia communication server
US7617278B1 (en) 2003-01-29 2009-11-10 Adobe Systems Incorporated Client controllable server-side playlists
DE10304903A1 (de) * 2003-02-06 2004-10-28 Siemens Ag Vorrichtung zur Automatisierung und/oder Steuerung von Werkzeug- oder Produktionsmaschinen
US7272658B1 (en) 2003-02-13 2007-09-18 Adobe Systems Incorporated Real-time priority-based media communication
US20040181580A1 (en) * 2003-03-11 2004-09-16 Etienne Baranshamaje Method, computer useable medium, and system for portable email messaging
KR20040080663A (ko) * 2003-03-12 2004-09-20 삼성전자주식회사 유비퀴터스 서비스 기능을 가지는 사설 네트워크 시스템및 그의 동작방법
US7287256B1 (en) 2003-03-28 2007-10-23 Adobe Systems Incorporated Shared persistent objects
KR20070041438A (ko) * 2004-04-12 2007-04-18 엑스디에스, 인코포레이티드 방화벽 보호 서버와 방화벽 보호 클라이언트 사이에 보안인터넷 연결을 자동으로 개시하고 동적으로 설정하는시스템 및 방법
TWI238355B (en) * 2004-05-06 2005-08-21 Lite On It Corp Firmware updating method
US8126907B2 (en) 2004-08-03 2012-02-28 Nextengine, Inc. Commercial shape search engine
CN100367708C (zh) * 2005-02-04 2008-02-06 联想(北京)有限公司 一种服务器向网络计算机发布应用软件的方法
US20060200311A1 (en) * 2005-03-03 2006-09-07 Arutunian Ethan B Enhanced imagery, such as for lead generation for service providers who provide services associated with real estate
US20060200382A1 (en) * 2005-03-03 2006-09-07 Arutunian Ethan B Notifications using enhanced map-based imagery
US20060197781A1 (en) * 2005-03-03 2006-09-07 Arutunian Ethan B System and method utilizing enhanced imagery and associated overlays
US20060200383A1 (en) * 2005-03-03 2006-09-07 Arutunian Ethan B Enhanced maps, such as for lead generation
US20060200308A1 (en) * 2005-03-03 2006-09-07 Arutunian Ethan B Server-based interactive enhanced map imagery engine
US7945615B1 (en) 2005-10-31 2011-05-17 Adobe Systems Incorporated Distributed shared persistent objects
US8161159B1 (en) 2005-10-31 2012-04-17 Adobe Systems Incorporated Network configuration with smart edge servers
US7877517B2 (en) * 2005-11-09 2011-01-25 International Business Machines Corporation Determining whether to compress data transmitted over a network
KR20070052645A (ko) * 2005-11-17 2007-05-22 삼성전자주식회사 사용자 인터페이스를 관리하는 장치 및 방법
TWI348306B (en) * 2005-12-26 2011-09-01 Ibm A method and a pervasive device of automatically downloading a midlet triggered by push messages
US7849144B2 (en) 2006-01-13 2010-12-07 Cisco Technology, Inc. Server-initiated language translation of an instant message based on identifying language attributes of sending and receiving users
CN100407206C (zh) * 2006-02-20 2008-07-30 华为技术有限公司 不同版本的配置数据间进行转换的方法和系统
US7620392B1 (en) 2006-02-27 2009-11-17 Good Technology, Inc. Method and system for distributing and updating software in wireless devices
US8051287B2 (en) * 2008-10-15 2011-11-01 Adobe Systems Incorporated Imparting real-time priority-based network communications in an encrypted communication session
JP5308127B2 (ja) * 2008-11-17 2013-10-09 株式会社豊田中央研究所 給電システム
EP2399380B1 (en) * 2009-02-20 2017-05-10 Citrix Systems, Inc. Systems and methods for intermediaries to compress data communicated via a remote display protocol
US20110004615A1 (en) * 2009-07-06 2011-01-06 Verizon Patent And Licensing System for and method of distributing device information in an internet protocol multimedia subsystem (ims)
US8166191B1 (en) 2009-08-17 2012-04-24 Adobe Systems Incorporated Hint based media content streaming
US8412841B1 (en) 2009-08-17 2013-04-02 Adobe Systems Incorporated Media content streaming using stream message fragments
US8463765B2 (en) 2011-04-29 2013-06-11 Zachary C. LESAVICH Method and system for creating vertical search engines with cloud computing networks
JP5331192B2 (ja) * 2011-11-07 2013-10-30 株式会社スクウェア・エニックス・ホールディングス 描画サーバ、センタサーバ、符号化装置、制御方法、符号化方法、プログラム、及び記録媒体

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1990015394A1 (en) 1989-06-02 1990-12-13 Aisi Research Corporation Appliance interface for exchanging data
DE69130878T2 (de) * 1990-07-19 1999-06-10 Sony Corp Steueranordnung für ein Aufzeichnungs- und Wiedergabegerät
JPH06261094A (ja) * 1993-01-07 1994-09-16 Toshiba Corp データ通信システムおよびデータ通信方法
DE69330867T2 (de) * 1993-01-07 2002-04-11 Koninkl Philips Electronics Nv Konsumenteneinrichtung mit erklärendem Text sowie extrasprachlicher Signalisation bei deren Betätigung und reversibles Wechseln zwischen diesen beiden
IL105990A (en) * 1993-06-11 1997-04-15 Uri Segev And Benjamin Machnes Infra-red communication system
JP3432009B2 (ja) * 1993-08-31 2003-07-28 キヤノン株式会社 通信方法及び装置
US5689641A (en) 1993-10-01 1997-11-18 Vicor, Inc. Multimedia collaboration system arrangement for routing compressed AV signal through a participant site without decompressing the AV signal
EP0669748A2 (en) * 1994-02-28 1995-08-30 US WEST Technologies, Inc. Service delivery using broadband
JPH08123714A (ja) * 1994-10-21 1996-05-17 Hitachi Ltd ファイル形式を集中変換するシステム
CA2139081C (en) 1994-12-23 1999-02-02 Alastair Gordon Unified messaging system and method
JP3172425B2 (ja) * 1995-02-09 2001-06-04 三菱電機株式会社 マルチメディア情報送信システム、マルチメディア情報受信システム、マルチメディア情報送信方法、並びにマルチメディア情報受信方法
US5838683A (en) * 1995-03-13 1998-11-17 Selsius Systems Inc. Distributed interactive multimedia system architecture
JPH0962590A (ja) * 1995-08-24 1997-03-07 Nippon Telegr & Teleph Corp <Ntt> マルチメディアデータ配送方法および装置
US5694163A (en) 1995-09-28 1997-12-02 Intel Corporation Method and apparatus for viewing of on-line information service chat data incorporated in a broadcast television program
US5933603A (en) 1995-10-27 1999-08-03 Emc Corporation Video file server maintaining sliding windows of a video data set in random access memories of stream server computers for immediate video-on-demand service beginning at any specified location
US5579308A (en) * 1995-11-22 1996-11-26 Samsung Electronics, Ltd. Crossbar/hub arrangement for multimedia network
EP0862826B1 (en) * 1995-11-22 2002-04-03 Samsung Electronics Co., Ltd. Home multimedia network architecture
JPH09153979A (ja) * 1995-11-30 1997-06-10 Matsushita Electric Ind Co Ltd ファクシミリ装置
JPH09284567A (ja) * 1996-04-12 1997-10-31 Sony Corp データ送信装置及びデータ伝送方法
JP3861318B2 (ja) * 1996-05-14 2006-12-20 株式会社日立製作所 情報提供方法
US6034689A (en) 1996-06-03 2000-03-07 Webtv Networks, Inc. Web browser allowing navigation between hypertext objects using remote control
US5892758A (en) * 1996-07-11 1999-04-06 Qualcomm Incorporated Concentrated subscriber wireless remote telemetry system
US5944795A (en) * 1996-07-12 1999-08-31 At&T Corp. Client-server architecture using internet and guaranteed quality of service networks for accessing distributed media sources
US5956737A (en) * 1996-09-09 1999-09-21 Design Intelligence, Inc. Design engine for fitting content to a medium
TW347498B (en) * 1996-09-30 1998-12-11 Casio Computer Co Ltd Information supply system
US5986662A (en) * 1996-10-16 1999-11-16 Vital Images, Inc. Advanced diagnostic viewer employing automated protocol selection for volume-rendered imaging
US5907322A (en) 1996-10-16 1999-05-25 Catch Tv Acquisition Corp. Television event marking system
JP3683051B2 (ja) * 1996-10-18 2005-08-17 三菱電機株式会社 データ送信方式
US5848415A (en) * 1996-12-18 1998-12-08 Unisys Corporation Selective multiple protocol transport and dynamic format conversion in a multi-user network
US5911776A (en) * 1996-12-18 1999-06-15 Unisys Corporation Automatic format conversion system and publishing methodology for multi-user network
US5864870A (en) * 1996-12-18 1999-01-26 Unisys Corp. Method for storing/retrieving files of various formats in an object database using a virtual multimedia file system
US5794039A (en) * 1996-12-18 1998-08-11 Unisys Corp. Method for abstracting messages of various protocols into objects for storage in a database
US5909183A (en) * 1996-12-26 1999-06-01 Motorola, Inc. Interactive appliance remote controller, system and method
US5909215A (en) 1997-02-10 1999-06-01 International Business Machines Corporation Method and apparatus to intercept and process error messages in a data processing system
US5787254A (en) 1997-03-14 1998-07-28 International Business Machines Corporation Web browser method and system for display and management of server latency
US5943496A (en) 1997-05-17 1999-08-24 Intertop Corporation Methods for developing and instantiating object classes using a java virtual machine extension
US6002871A (en) * 1997-10-27 1999-12-14 Unisys Corporation Multi-user application program testing tool
US5983263A (en) * 1998-01-02 1999-11-09 Intel Corporation Method and apparatus for transmitting images during a multimedia teleconference
US5933141A (en) 1998-01-05 1999-08-03 Gateway 2000, Inc. Mutatably transparent displays

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100926845B1 (ko) * 2002-02-01 2009-11-13 파나소닉 주식회사 동화상 복호화 방법, 동화상 복호화 장치 및 데이터 기억 매체
KR100944552B1 (ko) * 2002-02-01 2010-02-25 파나소닉 주식회사 동화상 부호화 방법, 동화상 부호화 장치 및 데이터 기억매체
KR101369744B1 (ko) * 2007-03-07 2014-03-06 삼성전자주식회사 멀티미디어 시스템의 멀티미디어 송수신 방법 및 장치

Also Published As

Publication number Publication date
WO1999066673A1 (en) 1999-12-23
JP2002518766A (ja) 2002-06-25
CN1129276C (zh) 2003-11-26
KR100679343B1 (ko) 2007-02-07
CN1312995A (zh) 2001-09-12
AU4556099A (en) 2000-01-05
BR9911281A (pt) 2003-01-07
EP1086553A1 (en) 2001-03-28
US6216157B1 (en) 2001-04-10
JP2010166618A (ja) 2010-07-29

Similar Documents

Publication Publication Date Title
KR100679343B1 (ko) 이질적 클라이언트를 갖춘 클라이언트-서버 시스템을 위한방법 및 장치
KR100721596B1 (ko) 웹 페이지들을 리포맷시키기 위한 방법 및 장치
US6961754B2 (en) Interactive access, manipulation, sharing and exchange of multimedia data
US9954862B2 (en) System and method for using resources of a computer system in conjunction with a thin media client
US6981045B1 (en) System for redirecting requests for data to servers having sufficient processing power to transcast streams of data in a desired format
US9628545B2 (en) System and method for using a webpad to control a data stream
US7627886B2 (en) Systems and methods for displaying video streams
US20080201751A1 (en) Wireless Media Transmission Systems and Methods
US20050123042A1 (en) Moving picture streaming file, method and system for moving picture streaming service of mobile communication terminal
US20060026302A1 (en) Server architecture supporting adaptive delivery to a variety of media players
WO2000067149A9 (en) Method and apparatus for re-formatting web pages
US20070079010A1 (en) Media exchange protocol and devices using the same
JP2002342218A (ja) コンテンツ提供方法及びシステム
JP2004102339A (ja) コンテンツ視聴システムおよびその方法
EP1671495A2 (en) Method and apparatus for converting the modality of multimedia contents to support the quality of service according to media resource
JP2004038941A (ja) ユニバーサル・マルチメディア・フレームワークの端末装置、サーバ、及びゲートウエイのコンテンツ適合方法
KR100279562B1 (ko) 웹을 이용한 데이빅 시스템 및 그 데이빅 서버액세스 방법
KR100207406B1 (ko) 셋탑 유닛 시스템에서의 스케줄러 데이타 이용방법
KR20070120703A (ko) 사용자 단말기에 따른 최적의 멀티미디어 서비스 제공 방법및 이를 구현하는 시스템
Rong et al. Application level session hand-off management in a ubiquitous multimedia environment
Huseby Video on the World Wide Web: accessing video from WWW browsers
Montelius et al. Streaming Video in Wireless Networks: Service and Technique
Ahmad Mobile Video Transcoding Approaches and Challenges

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

Payment date: 20130104

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140103

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150105

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160119

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180103

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190116

Year of fee payment: 13

EXPY Expiration of term