KR20030060899A - 전자 문서의 구성 가능한 변환 - Google Patents

전자 문서의 구성 가능한 변환 Download PDF

Info

Publication number
KR20030060899A
KR20030060899A KR10-2003-7004270A KR20037004270A KR20030060899A KR 20030060899 A KR20030060899 A KR 20030060899A KR 20037004270 A KR20037004270 A KR 20037004270A KR 20030060899 A KR20030060899 A KR 20030060899A
Authority
KR
South Korea
Prior art keywords
document
preference
request
user
web page
Prior art date
Application number
KR10-2003-7004270A
Other languages
English (en)
Other versions
KR100855997B1 (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
Priority claimed from US09/745,289 external-priority patent/US7613810B2/en
Priority claimed from US09/745,290 external-priority patent/US7210100B2/en
Application filed by 아이젤 테크놀로지스 인크. filed Critical 아이젤 테크놀로지스 인크.
Publication of KR20030060899A publication Critical patent/KR20030060899A/ko
Application granted granted Critical
Publication of KR100855997B1 publication Critical patent/KR100855997B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • 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
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • 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/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • H04W28/18Negotiating wireless communication parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

디지털 문서의 수정된 버전을 생성하도록 상기 디지털 문서의 원 버전의 텍스트 일부를 변경하는 단계 - 상기 수정된 문서의 텍스트는 원 문서의 텍스트보다 짧으며, 상기 변경은 장치와 연계된 프레퍼런스에 기초하여 행하여지는 것임 - 와, 통신 채널을 통하여 상기 채널에 연결된 장치로부터 상기 디지털 문서에 대한 요청을 수신하는 단계와, 상기 요청에 응답하여 상기 통신 채널을 통해 상기 수정된 버전을 전송하는 단계를 포함하는 방법.

Description

전자 문서의 구성 가능한 변환 {CONFIGURABLE TRANSFORMATION OF ELECTRONIC DOCUMENTS}
사람들은 흔히 대각선으로 10인치가 넘는 화면을 가진 데스크탑이나 랩탑 컴퓨터를 가지고, 적어도 28.8kbps의 통신 속도 이상으로 인터넷에 접속하여 웹 페이지, 텍스트 파일, 이메일 및 회사(사기업) 정보에 접근한다. 전자 문서는 통상적으로 이러한 장치에 전송되고 렌더링되도록 디자인되었다.
휴대 전화기, 핸드 헬드 디바이스(hand-held devices; PDA 등), 무선 호출기, 셋톱박스(set-top box) 및 계기반이 장착된 초소형 브라우저(microbrowser) 등의 인터넷이 가능한 장치는 흔히 작은 사이즈의 화면(예컨대 대각선으로 2 내지 3인치 정도), 무선 네트워크 상에서 상대적으로 느린 통신 속도 및 작은 메모리를 가지고 있다. 이러한 장치들 중 일부는 고정된 한계를 초과하는 사이즈의 문서에 대해서 어떤 부분도 표시할 수 없는 반면, 다른 장치들은 정해진 길이를 넘는 부분을 잘라버릴 수 있다. 이러한 장치를 사용하여 전자 문서(흔히 많은 단락의 텍스트와 복잡한 이미지, 그리고 풍부한 미디어 컨텐트를 포함함)에 접근하는 것은 매우 힘들거나 불가능할 수 있다.
자동 컨텐트 변환 시스템은 본래 대형 화면을 가진 장치에 전송하고 표시되도록 디자인한 전자 문서를, 휴대 전화 등의 소형 화면을 가진, 덜 강력한 장치에 전송하고 표시하기에 적합한 버전으로 바꾸어준다. 예컨대 웨이-잉 마(Wei-Ying Ma), 일자 베드너(Ilja Bedner), 그레이스 챙(Grace Chang), 앨런 쿠친스키(Allan Kuchinsky), 홍쟝 장(HongJiang Zhang) 공저 "이종 네트워크 환경에서의 적응 컨텐트 전달 구조(A Framework for Adaptive Content Delivery in Heterogeneous Network Environments)"(SPIE Multimedia Computing and Networking 2000 誌, 2000년 1월, 캘리포니아 산 호세)를 참조할 수 있다.
본 특허 출원은 2000년 10월 10일자 미국 가출원 제60/238,424호 및 2000년 9월 27일자 미국 가출원 제60/235,551호를 기초로 한 우선권 주장 출원이며, 본 명세서에서 일체로서 인용한다. 본 발명은 전자 문서의 분할, 변환 및 열람에 관한 것이다.
도 1은 문서 변환 및 제공 시스템.
도 2는 문서.
도 3은 흐름도.
도 4 및 도 5는 문서 계층도.
도 6은 문서 변환 과정.
도 7은 데이터베이스.
도 8은 문서 변환 시스템.
도 9는 프레퍼런스 표현 과정.
도 10 및 도 11은 프레퍼런스 양식.
도 12는 유/무선 통신 시스템.
도 13은 문서 변환 시스템.
도 14는 웹 페이지.
도 15 및 도 16은 웹 페이지의 일부를 소형 화면에 표시한 것.
도 17은 개별 용도를 위한 하위 문서의 분리를 나타냄.
일반적으로, 한 가지 측면에 있어서 본 발명은 원 문서의 텍스트보다 짧은 텍스트를 갖는, 수정된 버전의 디지털 문서를 생성하도록 원 버전 디지털 문서의 텍스트 일부를 변경(alteration)하는 단계와, 통신 채널을 통해 상기 채널에 연결된 장치로부터의 디지털 문서에 대한 요청을 수신하는 단계 및 상기 요청에 응답하여 상기 통신 채널을 통해 상기 수정된 버전을 전송하는 단계를 포함하는 방법을 특징으로 한다.
본 발명의 구현 예는, 다음 특징 중의 하나 또는 그 이상을 포함한다. 상기 변경은 원 문서에 포함된 이미지의 사이즈를, 예컨대 이미지 압축이나리샘플링(resampling), 또는 컬러에서 흑백으로의 변환에 의해서 축소하는 단계를 포함한다. 상기 텍스트 일부의 변경은 하나 이상의 변환을 선택적으로 상기 텍스트에 대하여 적용하는 단계를 포함한다. 상기 변경 단계의 일부로서 상기 텍스트에 적용될 변환은 상기 장치에 연계된 프레퍼런스(preferences)에 기초하여 선택된다. 상기 프레퍼런스는 상기 장치의 고유 식별자에 기초하여 상기 장치에 연계된다. 상기 프레퍼런스는 상기 문서 요청에 앞서 미리 저장되어 있다. 상기 프레퍼런스는 서버에 연계된 데이터베이스에 저장된다. 상기 프레퍼런스는 사용자에 의해 상기 장치의 인터페이스를 통하여 지시된다. 상기 프레퍼런스는 상기 사용자에 의해, 상기 문서 요청이 발생된 장치와는 다른 장치의 인터페이스를 통하여 지시된다. 상기 프레퍼런스는 서버로부터 제공되는 양식상에서 지시된다. 상기 프레퍼런스는 문서 요청을 송신하는 장치 각각에 대해 저장된다. 상기 프레퍼런스는 문서 요청을 송신하는 장치의 각 종류에 대해 저장된다. 상기 프레퍼런스는 쿠키 메커니즘을 사용하여 상기 장치에 저장된다. 상기 변경은 상기 장치의 종류에 따른다. 장치 종류의 식별 정보는 상기 장치로부터 수신된다. 상기 변경은 프록시 서버 또는 원 서버에서 수행된다. 상기 장치는 한번에 문서 전체를 표시하도록 구성되지 않은 장치를 포함한다. 상기 장치는 PDA, 핸드 헬드 디바이스 또는 휴대 전화를 포함한다. 상기 변경은 날짜 압축, 단어 축약 또는 원 문서에 포함된 이미지에 대한 이미지 서프레션(image suppression)을 포함한다. 디지털 문서는 웹 페이지를 포함한다. 본 방법은 디지털 문서를 하위 문서(subdocument)로 분할하는 단계 및 상기 요청에 응답하여 상기 분할(segment) 전체가 아닌 그보다 적은 수의 분할을 전송하는 단계를 포함한다.
일반적으로, 또 다른 측면에 있어서 본 발명은, 전체 웹 페이지를 표시하도록 구성되지 않은 클라이언트 장치에 의해 요청된 전체 웹 페이지 상에서 수행될 소정의 변경과 관련해서, 서로 다른 클라이언트 장치와 연계된 프레퍼런스를 정의하는 데이터베이스를 유지하는 단계를 포함한다. 이러한 변경에 의해 상기 문서들은 상기 클라이언트 장치 상의 표시에 있어 더욱 적합하게 될 수 있다.
일반적으로, 또 다른 측면에 있어서 본 발명은, 전체 웹 페이지를 표시하도록 구성되지 않은 클라이언트 장치에 의해 요청된 전체 문서상에서 수행될 소정의 변경과 관련해서, 프레퍼런스에 관한 클라이언트 장치의 정보를 획득하는 단계 및 데이터베이스에 상기 클라이언트 장치에 관한 프레퍼런스를 연계시키는 단계를 포함한다.
일반적으로, 또 다른 측면에 있어서 본 발명은, 전체 웹 페이지를 표시하도록 구성되지 않은 클라이언트 장치 형태에 대해 제공될 웹 페이지를 위한 컨텐트를 작성하는 단계 및 상기 클라이언트 장치 상의 표시에 적합하도록 상기 전체 웹 페이지에 행하여질 변환에 관한 정보를 저장하는 단계를 포함한다. 상기 저장된 정보는 상기 장치의 종류 각각에 대해, 상기 종류의 장치에 의해 요청된 전체 웹 페이지에 행하여질 변환을 연계시킨다.
다른 이점 및 특징은 이하 도면을 참조한 상세한 설명 및 청구의 범위로부터 더욱 자명해진다.
본 발명의 여러 구현 예에 있어서 전자 문서는, 소형 화면 및/또는 적은 메모리를 가진 사용자 장치에서의 열람을 위해, 낮은 대역폭의 통신 채널을 통해 제공되기에 앞서 분할되고 변환된다. 먼저 분할에 관한 특징을 살펴보고 그 후 변환에 관한 특징을 살펴보도록 하겠다.
분할
높은 레벨에서, 도 1에서 볼 수 있듯이, 인터넷이 가능한 장치(10)(예컨대, WAP이 가능한 휴대 전화)의 사용자가 전자 문서(12){예컨대 웹 페이지나 전자 메일, 텍스트 파일, 또는 상용(商用) 포맷이나 마크업(markup) 언어로 된 문서}를 요청하였을 때, URL로 표현되는 상기 사용자의 요청은 종국적으로 프록시 서버(14)에 도달한다. 이에 상기 프록시 서버는 상기 URL을 사용하여 원 서버(16)로부터 상기 문서를 요청하게 된다. 상기 원 서버는 상기 문서를 제공할 책임을 지는, 인터넷 상에 있는 컴퓨터이다. 상기 원 서버로부터 상기 문서를 받은 후, 상기 프록시 서버는 상기 문서를 하위 문서로 분할한다. 상기 프록시 서버는 이들 하위 문서(1) 중 첫 번째 것을 상기 클라이언트에 웹 페이지로서 전송한다. 상기 문서의 분할은 상기 프록시 서버에서 행할 필요는 없지만, 후술할 바와 마찬가지로 상기 네트워크의 다른 장소에서 행할 수 있다.
도 2에서 볼 수 있듯이, 상기 프록시 서버에 의해 상기 클라이언트에게 전달되는 각각의 하위 문서(20)는 앞뒤에 있는(있는 경우에) 일련의 하위 문서에 대한 하이퍼링크(22, 24)를 포함한다. 상기 하이퍼링크는 상기 사용자에게 표시된다. 만약 상기 사용자가 한 하위 문서에서 앞쪽을 가리키는(또는 뒤쪽을 가리키는) 하이퍼링크를 선택하면 이러한 요청은 상기 프록시 서버로 전송되며, 이에 상기 프록시 서버는 다음(또는 이전의) 하위 문서로 응답하게 된다.
도 3에서 보이는 바와 마찬가지로, 상기 분할 과정의 첫 단계는 상기 클라이언트 장치에서 허용 가능한 최대 문서 사이즈를 결정(30)하는 것이다. 만약 상기 클라이언트-서버 간 통신이 RFC2616{R. 필딩(Fielding) 외, RFC2616: 하이퍼텍스트전송 프로토콜 - HTTP/1.1. 1999년 6월. "http://www.w3.org/Protocols/rfc2616/ rfc2616.txt" 참조}에 설명된 것과 같은 HTTP 프로토콜 표준을 고수하는 경우, 상기 클라이언트는 상기 HTTP 요청에서 보낸 헤더 정보 내에서 클라이언트 자신에 관한 정보를 상기 프록시 서버로 통지한다. 상기 서버는 예컨대 USER-AGENT 필드의 값을 사용하여 상기 클라이언트 장치에 설치된 초소형 브라우저의 종류를 판단할 수 있고, 이 정보에 의해, 알려진 모든 장치에 대한 최대 문서 사이즈를 나타낸 표를 참조하여 해당 최대 문서 사이즈를 결정할 수 있다.
원 문서의 길이를 이하 N으로 표시하기로 한다. 바이트(byte) 단위로 나타낸 문서(마크업의 경우를 포함한다)의 크기로 길이를 측정할 수 있다. 상기 클라이언트에 의해 허용되는 문서의 최대 길이를 M으로 표시하기로 한다. 어떠한 클라이언트가 부과한 최대 길이 M과 관련된 분할 알고리즘은 적어도 N/M을 올림한 값에 해당하는 개수의 분할을 만들어야 함은 자명하다.
분할 과정의 다음 단계는 상기 입력 문서를 XML(32) - 문서 상의 계층적 트리 구조를 내포하는 태그를 갖춘 마크업 언어 - 로 변환하는 것이다. HTML을 포함한 많은 다른 원본 포맷으로부터 XML로의 변환은 현존하는 소프트웨어 패키지를 사용하여 행할 수 있다.
도 4에서 보이는 바와 마찬가지로 세 번째 단계는 XML 트리(40)를, 각각의 길이가 M보다 크지 않은 분할로 나누기(34)위한 프로시저를 적용하는 것이다. 트리의 리프(leaf)(42)들은 텍스트 블럭이나 이미지 등 원 문서의 구성 요소들을 나타낸다. 트리의 내부 노드(44)는 구조 및 마크업 정보 - 여기서 마커는 단락이나 표,하이퍼링크된 텍스트, 볼드체로 된 영역 등을 표시함 - 를 나타낸다. 분할 작업을 달성하는 한가지 방법은 응집 상향식 리프 클러스터링(agglomerative, bottom-up leaf clustering) 알고리즘을 사용하는 것이다. 상기 리프 클러스터링 방식은 각 리프를 그 자신의 분할에 위치(도 4에 나타난 것처럼)시키고 나서, 병합될 인접한 분할 쌍이 존재하지 않을 때까지 반복적으로 분할들을 병합하는 것으로 시작한다. 도 5는 두 번의 병합이 이뤄진 후의 상기 트리를 나타내며, 이에 의해 병합된 분할(50,52)이 생겼다.
각 병합 작업은 분할을 하나 덜 갖는, 새로운 변경된 트리를 생성시킨다. 각 단계는 모든 인접한 분할 쌍을 대상으로 하며, 병합 후보 대상에 대해 정의된 스코어링(scoring) 함수에 의거하여 최적인 쌍을 병합한다. 스코어링 함수의 예는 이하 설명하기로 한다. 상기 알고리즘이 종료되면, 최후의 분할들은 원 XML 트리의 파티션(partition)들을 나타내게 된다.
스코어링 함수
스코어링 함수의 한 예에서, 낮은 점수는 더욱 바람직한 병합을 나타낸다(이러한 맥락에서 병합의 점수를, 병합을 수행하는 데 드는 비용으로 생각할 수 있을 것이다). 이 예에서, 분할 x와 y의 병합에 대한 점수는 다음과 같은 양에 관련되어 있다.
1. 분할의 사이즈: 스코어링 함수는 큰 분할보다는 작은 분할을 병합하는 것을 선호한다. 분할 x의 바이트 수를 |x|로 나타내기로 한다. 그 외 모든 것이 같은 경우, |x|=100, |y|=150, |z|=25라 할 때 좋은 스코어링 함수는score(x,z)<score(y,z)<score(x,y)처럼 될 것이다. 실제적으로 이러한 기준의 효과는 결과로 나오게 될 파티션의 사이즈에 있어서 균형을 맞추게 하는 것이다.
2. 분할의 가족 인접도(familial proximity): 분할 x 및 y가 공통의 부모 z를 가진다고 할 때, 이외의 모든 것이 같은 경우, 이들은 오직 조부모(또는 더 먼 조상) 노드를 통해 관련되어 있을 때 보다 더욱 바람직한 병합을 구성하게 된다. 상기 두 분할이 오직 먼 조상을 통해서만 관련되어 있다는 것은, 이보다 덜 먼 조상을 통해 관련되어 있는 경우보다는, 상기 분할들이 함께 속해있다는 증거로는 설득력이 낮다.
3. 병합에 의해 요구되는 노드 복제본: 분할들을 적식의(well-formed) 문서로 변환시킬 때, 내부 노드를 복제해야할 것이다. 물론 원 문서를 하위 문서로 나눔에 있어서, 결과로 나오는 하위 문서에 중복을 최소화하기를 원할 것이다.
d(x,y)를 트리를 통해 분할 x로부터 분할 y로 이동시 경과해야 할 최소 수의 노드로 정의하고, r(x,y)를 분할 x 및 y의 병합에 의해 요구되는 노드 복제본의 양으로 정의하자. 이에 일반적인 후보 스코어링 함수는 다음과 같다.
score(x,y) = A(|x|+|y|) + B(dx,y) + C(rx,y)
여기서 A, B, C는 사용자가 정할 수 있는 함수(예컨대 실수 계수)이다.
예시:
알고리즘 1:
XML 문서의 응집 분할
입력:
D: XML 문서
M: 최대 허용 가능한 하위 문서의 길이
출력:
D': M 이하의 사이즈를 가진, N/M을 올림한 값 이상의 개수의 리프를 가진 XML 문서
1. D에 있는 각 리프를 이들의 분할에 할당한다.
2. D에 있는 모든 인접한 분할들의 쌍 x1, x2에 대하여 score(x1, x2)로 점수를 매긴다.
3. x, y를 score(x,y)가 가장 작은 분할 쌍인 것으로 한다.
4. x 및 y의 병합이 M보다 큰 사이즈의 분할을 만들면 끝낸다.
5. 분할 x와 y를 병합한다.
6. 1단계로 간다.
다른 방법이 분할 병합의 후보에 대한 스코어링에 있어 사용될 수 있을 것이다.
상기 설명한 알고리즘은 분할 방식을 결정할 때 있어서 문서의 실제 어휘 컨텐트를 무시하였다. 다른 예에 있어서는, 각 분할에 포함된 단어의 성질을 고려하며, 정보의 흐름을 방해하는 단절 부분이 나타나지 않는 위치를 선호하는 기준을 사용한다. 이를 수행하기 위해서, 시스템은 병합의 고려 대상인 두 분할 내에 포함된 단어들을, 이들이 같은 주제에 관계되어 있는지 여부를 결정하기 위해 검사하여야 한다. 텍스트 분할과 같은 주제들은, 예컨대 M. 허스트(M. Hearst) 저 "텍스트 타일링(TextTiling): 텍스트의 다단락 부주제 절로의 분할(Segmenting text into multi-paragraph subtopic passages), 컴퓨터 언어학(Computer Linguistics) 23(1), 33-65, 1997"에서 설명된 것과 같은 자동 컴퓨터 프로그램에 의해 다루어졌다.
도 3을 다시 보자면, 다음 단계는 최후 트리의 분할들을 각각의 적식의 XML 문서(36)로 변환시키는 것이다. 이렇게 하는 것은 노드의 복제를 필요로 한다. 예컨대 도 5에 있어서, 리프 B 및 F를 병합하는 것은 형제 노드 F 및 G를 분리시키는 효과를 가져온다. 이는 오른쪽에 있는 트리의 처음과 두 번째의 분할을 적식의 문서로 변환시킬 때, 각 문서는 노드 C의 인스턴스(instance)를 포함해야 한다는 것을 의미한다. 달리 말하자면, 결과로 나온 일단의 하위 문서 내에 노드 C가 복제된다. 만약 노드 F 및 G가 공통의 부모가 아닌, 공통의 조부모에 의해 관련돼 있었더라면 상기 복제는 더 심하게 불리했을 것이다. 이러한 경우에는 부모 및 조부모 노드 모두가 양 분할에 복제되어야 할 것이기 때문이다.
원본 문서에 대한 분할을 계산한 후에, 상기 프록시 서버는 추후에 있을 상기 사용자와의 상호 작용을 촉진시키기 위해 각 하위 문서를 캐쉬 또는 데이터베이스(38)에 저장한다. 사용자가 첫 하위 문서에서 해당 열에 있는 다음 하위문서로 접근하기 위해 하이퍼링크를 따라가게 되면, 이러한 요청이 상기 프록시 서버에 전달되고, 이에 상기 프록시 서버는 캐쉬에 저장된 적합한 하위 문서로 응답(39)하게 된다.
상기 프록시 서버가 많은 다른 클라이언트로부터의 요청을 처리할 책임을 가지는 경우에는, 상기 프록시 서버는 클라이언트가 어느 문서를 읽고 지나가고 있는지 및 그 문서를 구성하는 하위 문서는 어느 것인지를 추적하기 위해 각 클라이언트에 대한 상태(41)를 유지시킨다. 앞에서와 마찬가지로, 상기 프록시 서버는 상기 클라이언트 장치의 고유의 식별자(예컨대 IP 어드레스나 휴대 전화기의 전화번호)를 판단하기 위해 HTTP 헤더 정보를 이용할 수 있으며, 또한 상기 상태를 각 사용자에게 연계시켜 놓은 내부 데이터베이스에 있어서 이러한 코드를 하나의 키값으로 사용할 수도 있다. 상기한 바와 같은 데이터베이스의 일부를 발췌한 예는 다음과 같다.
사용자 상태
12345 [하위 문서 1][하위 문서 2][하위 문서 3]...[하위 문서 8]
45537 [하위 문서 1][하위 문서 2]
98132 [하위 문서 1][하위 문서 2][하위 문서 3]...[하위 문서 6]
많은 클라이언트 장치들은 XML로 쓰여진 문서를 처리할 수 없으며, 오직 텍스트나 HTML, WML, 또는 HDML과 같은 다른 마크업 언어로 쓰여진 문서만을 처리할 수 있다. XML 하위 문서를 다른 포맷(43)으로 변환하는 것은, 임의의 이용 가능한 변환기에 의해 상기 프록시 서버 상에서 이루어질 수 있다.
상기 응집 분할 알고리즘(위에서 알고리즘 1)은 상기 사용자가 처음으로 상기 문서를 요청하는 때에 원본 문서 당 한번만 수행된다. 상기 원본 문서를 구성하는 하위 문서들을 사용자가 읽고 지나갈 때, 상기 프록시 서버에 대한 계산 부담은 최소로 된다. 필요한 일은 미리 저장된 적합한 하위 문서를 전달하는 것뿐이기 때문이다.
일단 문서를 하위 문서로 분할하고 나면, 상기 하위 문서를 단지 원 문서에 나타난 순서대로 제공하는 것 이외에도 다른 여러 가지 방식으로 이용하는 것이 가능하다.
예컨대, 도 17에서 볼 수 있듯이, 원 HTML 문서(100)는 양식(102)을 포함할 수 있다. 상기 사용자와 상기 페이지의 상호작용이 잘 이루어지도록 하기 위해서는, 상기 양식을 상기 페이지의 나머지 부분으로부터 분리하고 이를 하위 문서 중 하나에 있는 링크로 치환하는 것이 유용하다. 그리고 나면 상기 사용자는 상기 양식을 보기 위해서, 상기 링크를 사용자의 로컬 장치에서 호출할 수 있게 된다. 만약 사용자가 상기 양식을 보거나 사용하고자 하지 않는다면, 상기 양식을 전혀 불러 올 필요 없이 앞서 논한 다른 하위 문서를 검색하며 진행하는 것이 가능하다.
이러한 목적을 위해, 상기 문서는 상기 문서의 주 본문 부분을 나타내는 하위 문서(104, 106, 108) 및 상기 양식(102) 부분을 나타내는 하위 문서(110, 112)로 분할될 수 있다. 하위 문서(106) 중 하나는 상기 양식에 대한 링크(116)를 나타내는 아이콘(114)을 포함한다. 다른 링크(118, 120, 122)들은 전술한 하위 문서 사이를 검색할 수 있도록 해준다.
변환
해당 데이터를 나타내는 정보가 쓸모 없게 되지 않게 하면서 전달 및 표시되어야 할 데이터의 양을 줄이는 방식으로, 상기 사용자 장치에 제공되는 상기 하위 문서의 컨텐트가 자동 변환된다. 사용자는 원하는 변환 결과에 관한 프레퍼런스를 표시함으로써 상기 전자 문서의 자동 변환을 커스터마이즈(customize)할 수 있다.이들 사용자의 프레퍼런스는 추후의 사용을 위해 요청 문서가 커스터마이즈한 대로 자동 변환된 것에 저장된다.
예컨대 사용자가 사이즈가 한정된 화면상에서 문서를 볼 때, 원 문서에 있는 단어들을 축약시키고 싶어 할 수 있다. 다른 사용자는 이러한 단어의 축약이 신경에 거슬릴 수도 있으며, 축약이 쓰이지 않은 경우에 생성되는 더 긴 문서를 기꺼이 받아들일 수도 있다. 이러한 프레퍼런스는 표시되고 저장된 후 나중에 실제 문서의 변환을 제어할 때 사용될 수 있다.
우선 상기 문서의 변환에 있어서의 단계에 대해 먼저 살펴본 후, 사용자 프레퍼런스의 요청 과정을 살펴보기로 한다.
문서의 변환
도 1 및 도 6과 위에서 설명한 바와 같이, 장치(10)의 사용자(6)가 문서(12)를 요청(11)(예컨대 상기 장치 상에서 실행중인 브라우저에 URL을 입력하거나, 브라우저에 미리 저장된 북마크를 선택하거나, 또는 미리 브라우저에 로드된 하이퍼텍스트 문서로부터 링크를 선택하는 것에 의함)할 때, 상기 프록시 서버는 요청(18)을 수신하고 상기 원 서버에서 상기 문서를 가져온다(20).
상기 원 서버로부터 상기 문서를 수신한 후, 상기 프록시 컴퓨터는 상기 요청을 한 사용자의 장치(10)에 대한 변환 과정에 쓰일 적합한 파라미터(parameter)를 결정하기 위해 클라이언트 프레퍼런스에 관한 데이터베이스(26)를 참조(24)한다. 그리고 나서 상기 프록시 컴퓨터는 상기 변환을 상기 문서(28)에 적용하여 상기 클라이언트 장치(30)에 전송 및 렌더링(32)하기에 적합하게 만든다.
상기 클라이언트 장치가 상기 프록시 서버로 통지하는 클라이언트 자신에 관한 정보는 다음과 같은 두 가지 관련 정보를 포함할 수 있다.
1. 장치의 고유 식별자 : 예컨대 Phone.com에서 배포한 초소형 브라우저를 탑재한 무선 인터넷 장치에 대하여, HTTP 헤더 변수 X-UP-SUBNO가 이 장치를 위한 고유한 식별자를 가지도록 한다.
2. 장치의 종류: 예컨대 HTTP 헤더 변수 USER-AGENT가 상기 장치에 설치된 브라우저 소프트웨어의 종류를 나타내는 문자열이 되도록 한다.
문서 변환이 일어날 때, 상기 프록시 컴퓨터는 이미 상기 고유 ID를 획득하여, 이를 상기 사용자에 연계된 일단의 프레퍼런스를 상기 데이터베이스에서 찾는 키값으로 사용할 수 있다.
도 7은 가공의 데이터베이스(24)에 있어서 몇 열의 예를 보여준다. 각 열(40)은 각 장치의 전화 번호로 장치를 식별한다. 상기의 열은 상기 식별된 장치와 사용자 프레퍼런스(도 7의 경우에는 네 가지 다른 프레퍼런스)을 연계시킨다. 이러한 경우 상기 전화 번호(예컨대 휴대 전화의 번호)는 상기 데이터 베이스의 레코드를 위한 키값으로 쓰이는 고유의 ID이다.
상기 사용자를 위한 적합한 프레퍼런스값을 결정하기 위해 상기 데이터베이스를 참조한 후, 상기 프록시 컴퓨터는 이러한 값들을 변환 과정의 유도에 사용할 수 있다. 따라서 도 1 및 도 4에서 볼 수 있듯이, 상기 변환 과정에 대한 입력은 원 문서(예컨대 HTML로 된 것) 및 사용자 프레퍼런스값(도 7의 데이터베이스 중 하나의 열)이 된다. 도 8에서 볼 수 있듯이 문서 변환은, 원 문서를 소형 화면을 가진 장치에 렌더링하기에 적합한 형태로 바꾸는 경우에 있어서, 날짜 압축(52), 단어 축약(54) 및 이미지 서프레션(55) 등의 일련의 작업을 포함한다. 모든 단계에 있어서, 대상(target) 장치에 대한 프레퍼런스는 변환 작업을 구성하기 위해 사용된다. 예컨대 클라이언트 특유의 프레퍼런스에 의해, 단어 축약을 하지 않거나 또는 지정된 사이즈를 초과하는 이미지에 대해서만 이미지 서프레션(55)을 적용하도록 지시할 수 있게 된다.
이미지 서프레션 이외에도, 사이즈를 감소하기 위한 다른 종류의 변환을 이미지에 대해 적용시킬 수 있다. 예컨대 이미지는 압축되거나, 다운샘플(downsample)되거나 또는 칼라에서 흑백으로 변환될 수 있다.
사용자 구성 가능(user-configurable) 파라미터의 예는 다음과 같은 것들을 포함한다:
축약
문서를 표시하기 위해 필요한 공간을 감소시키기 위해, 단어는 축약될 수 있다. 단어를 압축하는 데에는 긴 단어의 끝을 절단하거나, 흔한 접미사를 축약하거나(예컨대 "national"을 "nat'l"로), 모음을 제거하거나, 또는 사운덱스(Soundex) 알고리즘{마거렛 K. 오델(Margaret K. Odell), 로버트 C. 러셀(Robert C. Russell)의 미국 특허 제1,261,167호(1918) 및 제1,435,663호(1922)}과 같은 더욱 복잡한 프로시저를 사용하는 등 많은 방법이 있다. 대응하는 사용자 구성 가능 파라미터는, 상기 사용자가 축약을 활성화 또는 비활성화 시키기 원하는지를 나타내는 부울(Boolean)값일 수 있다. 축약을 활성화시키면 결과로 나오는 문서의 길이는 줄어들 수 있으나, 문서의 의미를 흐리게 할 수 있다.
이미지 서프레션
많은 소형 화면 이동형 장치는 비트맵 이미지를 렌더링할 수 없다. 가능하다 하더라도, 큰 이미지를 렌더링하는 것은 긴 전송 시간을 필요로 할 수 있다. 비트맵 이미지는 낮은 해상도의 화면에 렌더링될 경우 화질의 저하를 낳기 쉽다. 이 경우 대응하는 사용자 구성 가능 파라미터는 예컨대 부울값(렌더링하거나 하지 않음) 또는 원본 이미지의 최대로 용인 가능한 사이즈를 화소 수로 나타낸 값일 수 있다.
개체 압축
변환 시스템은, 어떤 부류의 문자열을 찾아내어 짧은 형태로 다시 쓰기 위해 자연 언어 분석기를 사용할 수도 있다. 예컨대 분석기는 날짜 표시를 찾아내어 짧은 형태로 다시 쓰게 할 수 있다. 즉 "December 12, 1984"는 "12/12/84", "February 4"는 "2/4", "The seventh of August"는 "8/7"로 바뀌게 된다.
대응하는 사용자 구성 파라미터 값은 부울값(압축하거나 하지 않음) 또는 세 가지 값(압축하지 않거나, 월/일/년 형식으로 압축하거나, 일/월/년 형식으로 압축) 중 하나의 값이 될 수 있다.
이와 유사하게, 변환 시스템은 수량 표시를 분석하여 압축할 수 있다. 예컨대 "seventeen"은 "17", "ten gigabytes"는 "10GB"로 바뀐다.
이외에도 여러 다양한 종류의 문서를 위한 여러 다른 다양한 변환이 고안될 수 있을 것이다.
장치별 프레퍼런스의 지정 및 저장
이제부터 다시 장치 사용자로부터 프레퍼런스를 얻어내어 이를 특정 클라이언트 장치와 연계시키는 방법에 관한 두 가지 예를 논하고자 한다.
소형 화면 장치로부터의 프레퍼런스 입력
인터넷 접속을 위해 사용하는 소형 화면 장치를 사용하여 상기 프록시 컴퓨터에 방문함으로써, 사용자는 프레퍼런스를 입력하고 유지시킬 수 있다. 도 9에서 볼 수 있듯이, 상기 프록시 컴퓨터는 소형 화면 장치의 사용자가 검색하여 원하는 프레퍼런스에 따라 기입하게 될 하이퍼텍스트 양식(60)을 저장할 수 있다. 클라이언트 장치로부터 HTTP 요청(62)을 받으면, 상기 프록시 컴퓨터는 자동적으로(HTTP 프로토콜을 사용하여) 상기 클라이언트 장치에 대한 고유 식별자를 획득하게 된다. 그리고 나서 상기 프록시 컴퓨터는 일련의 프레퍼런스를 포함한 양식(64)을 상기 사용자에게 전송한다. 만약 상기 사용자 장치가 이미 상기 데이터베이스 내에 관련 항목을 가지고 있으면 각 파라미터의 현재 값이, 그렇지 않으면 디폴트 값이 상기 양식에 표시된다. 이러한 양식상에서 상기 사용자는 파라미터가 적절한지 살피면서 바꿀 수 있고, 이후 이 양식을 상기 프록시 컴퓨터에 다시 제출(66) 할 수 있다. 이에 상기 프록시 컴퓨터는 상기 데이터베이스에 있는, 상기 클라이언트 장치에 연계된 레코드에 이러한 업데이트된 값을 저장하게 된다.
일반 컴퓨터로부터의 프레퍼런스 입력
이에 대한 대안으로서, 상기 사용자는 데스크탑이나 랩탑 컴퓨터에 있는 통상의 웹 브라우저를 사용하여 같은 URL에 방문할 수 있다. 상기 프록시 컴퓨터는 HTTP 헤더 정보를 가지고서는 상기 프레퍼런스를 어느 장치에 대하여 연계시킬지자동으로 결정하지 못할 것이다. 상기 사용자는 사용자가 프레퍼런스를 설정하고자 하는 장치의 고유 식별자(예컨대 전화 번호)를 명확히 지정하여야 한다.
도 10은 통상의 HTML 기반의 데스크탑 웹 브라우저에서 볼 수 있는 상기 양식의 한 예를 타나낸다. 도 11은 이에 대응하는 페이지의 첫 화면이 휴대 전화의 4줄 짜리 화면상에 나타난 것을 보여준다(사용자가 나머지 옵션을 보기 위해서는 아래로 스크롤해야 함).
종류별 프레퍼런스의 지정 및 저장
앞서 논의한 바에 있어서, 상기 사용자는 소형 화면 장치를 사용하여 원격지에 저장된 문서에 접근하며, 프록시 컴퓨터(상기 변환을 수행함)는 상기 사용자의 장치와 전체 인터넷 사이에서 중재하는 역할을 한다.
구성 가능한 변환이 유용한 또 다른 경우는 개인 또는 단체가, 이들이 생성한 문서가 소형 화면 장치에 표시되는 것에 대해 규제를 행사하고자 하는 경우이다. 이를 위해서, 상기 데이터의 저장 및 전송을 책임지는 원 서버에 자동 컨텐트 변환 소프트웨어(웹 서버 소프트웨어를 위한 모듈이나 플러그인을 사용함)를 탑재시킬 수 있다. 이에 상기 원 서버 호스트는 원하는 대로 상기 변환 소프트웨어를 구성하고 제어할 수 있게 된다.
상기 원 서버는 컨텐트 제작자에게, 임의의 사용자가 특정 종류의 클라이언트 장치에서 이 서버로부터의 문서를 검색하는 경우, 이러한 문서에 대해 적용될 변환을 구성하는 능력을 부여할 수 있다. 달리 말해서, 최종 사용자에게 상기 변환을 커스터마이즈할 능력을 부여하는 것이 아니라, 대신 이러한 능력을 상기 컨텐트를 작성한 개인이나 단체에게 부여할 수 있다는 것이다. 이러한 방안은 상기 컨텐트 제공자가, 소형 화면 장치에 자신의 컨텐트가 표시되는 것에 대해 엄격한 규제를 원할 경우에 적절하다.
사용자의 개인 장치 각각에 대한 프레퍼런스를 데이터베이스로 저장하기보다는, 상기 원 서버는 장치의 종류별로, 변환을 위한 일단의 파라미터 값만을 저장하게 된다. 사용자로부터 원 서버에 유입되는 정보는 다음과 같다.
1. 사용자가 원 서버에 대해 문서를 요청한다.
2. 원 서버는 상기 요청 및 요청이 발생한 클라이언트 장치의 종류에 관한 정보를 수신한다.
3. 원 서버는 상기 요청된 문서를 처리함에 있어서 상기 장치에 적합한 변환 파라미터를 참조한다.
4. 원 서버가 변환된 문서를 상기 클라이언트 장치로 전달한다.
단계 3에서 사용된 데이터베이스 내의 항목에 관한 예는 다음과 같다.
장치 종류 단어 축약? 이미지? 최대 문서 사이즈 날짜 표시 축약?
삼성 SCH-8500 아니오 2000 바이트
모토롤라 스타택 아니오 16000 바이트
핌 VII 아니오 아니오 1492 바이트 아니오
412-309-8882 1223 바이트 아니오
이전 절에서는 최종 사용자에게 하나의 장치에 연계될 프레퍼런스를 지정하고 저장하도록 하는 방법에 대해 설명하였다. 본 절에서는 컨텐트 작성자에게, 원 서버로부터 전달되는 문서의 변환을 구성하도록 하는 방법에 대해 설명하였다. 이러한 두 방안은 호환될 수 없는 것은 아니다. 최종 사용자가 원 서버 Y로부터 문서 X를 요청하는 경우를 가정해 보자. 또한 상기 최종 사용자가 변환에 대한 일단의프레퍼런스를 등록했으며, 상기 원 서버로부터 전달되는 문서에 대한 개별적인 일단의 프레퍼런스가 상기 원 서버에 존재한다고 가정하자. 우선 상기 문서는 상기 원 서버에 있는 상기 프레퍼런스에 따라 변환될 것이고, 그 후 상기 최종 사용자의 프레퍼런스에 따라서 변환될 것이다. 이러한 방안에 있어서, 상기 최종 사용자의 프레퍼런스는 종종 무시될 수 있다. 예컨대 만약 상기 최종 사용자가 단어의 축약을 원치 않지만, 상기 원 서버의 프레퍼런스에서는 단어를 축약시키는 것으로 지정되어 있다면, 상기 최종 사용자는 그의 프레퍼런스에도 불구하고 축약된 단어를 포함하는 문서를 받아보게 될 것이다.
클라이언트 장치에 관한 프레퍼런스의 저장
장치들에 대한 프레퍼런스를 연계시키는 데 있어 또 다른 방법은 HTTP의 "쿠키(cookie)" 상태 메커니즘{D. 크리스톨(Kristol), L. 몬툴리(Montulli). RFC 2109: HTTP 상태 관리 메커니즘(HTTP State Management Mechanism), 1997. "http://www.w3.org/Protocols/rfc2109/rfc2109.txt" 참조}을 사용하는 것이다. 이러한 경우에, 상기 프레퍼런스 정보는 상기 사용자 장치로부터 원격지에 있는 데이터베이스에 저장되는 것이 아니라, 그 장치 자체에 저장된다. 이러한 환경에 있어서 장치별 프레퍼런스 정보의 흐름은 다음과 같다:
1. 소형 화면 장치의 사용자가 프레퍼런스 양식 문서에 대한 요청을 상기 프록시 컴퓨터에 제출한다. 상기 양식 문서는 상기 프록시 컴퓨터로부터 상기 장치로 전송된다.
2. 상기 사용자는 사용자의 프레퍼런스를 적어 넣고, 채워진 양식을 다시 상기 프록시 서버에 제출한다.
3. 상기 프록시 컴퓨터는 확인 문서로 응답하고, 또한 사용자의 프레퍼런스를 포함하는 쿠키를 상기 클라이언트 장치로, HTTP 헤더 정보 내에서 전송한다. 예컨대 상기 쿠키는 다음과 같을 수 있다.
Set-Cookie: PREFS=" abbrevs:yes images:no dates:yes ..."; path=/; expires=04-Sep-01 23:12:40 GMT
4. 상기 클라이언트 장치는 이 쿠키를 지속(persistent) 상태로 저장한다.
5. 상기 클라이언트 장치의 사용자가 그 후에 상기 프록시 컴퓨터에 문서를 요청하는 경우, 상기 장치는 또한 저장된 프레퍼런스를 포함하는 다음과 같은 쿠키를 상기 프록시 컴퓨터에게 전송한다.
Cookie: PREFS=" abbrevs:yes images:no dates:yes ...";
6. 이러한 클라이언트에 관한 프레퍼런스를 받게 되면, 상기 프록시 컴퓨터는 이러한 프레퍼런스를 상기 요청 문서의 변환에 적용하게 된다. 만약 상기 클라이언트 장치가 쿠키의 기간 만료 또는 삭제로 인해 쿠키를 전송하지 않았다면, 상기 프록시 컴퓨터는 디폴트 변환을 적용한다.
응용
도 12에서 볼 수 있듯이, 무선 장치(50)와 "유선" 인터넷(53)간의 통신은 통상적으로 게이트웨이(52)를 통하여 이루어지며, 이는 상기 유·무선 영역을 중재하게 된다. 예컨대 WAP이 가능한 장치의 사용자에 의한 문서 요청은 상기 무선 게이트웨이로 전송되고, 이는 다시 상기 요청 문서를 책임지는(DNS 프로토콜에 따름)원 서버(54)(인터넷 상에 있음)에 상기 요청을 전송(轉送)한다. 만약 상기 요청 문서가 상기 클라이언트 장치를 위해 특정하게 디자인되었고 상기 장치가 받아들일 수 있는 마크업 언어(간혹 HTML일 수 있으나, WML, HDML 또는 그 밖의 상용 언어와 같은 다른 마크업 언어인 경우가 많음)로 쓰여졌다면, 컨텐트 변환이 필요하지 않게 된다. 서로 다른 무선 데이터 장치는 서로 다른 성능을 가지고 있기 때문에, 컨텐트 제작자는 각각의 대상 마크업 언어에 대해서뿐만 아니라 모든 가능한 대상 장치에 대해서도 각각 별개의 버전을 제작해야 한다. 상기 컨텐트 제공자는 또한 어떻게 클라이언트 장치의 종류를 알아낼 것이며, 어떻게 이러한 클라이언트에 대한 최적의 포맷(format)을 가진 문서를 제작할 것인지 이해해야 할 필요가 있다. 도 13에서 볼 수 있듯이, 자동 컨텐트 변환 시스템(70)은 자동적으로 문서(72)를 압축하고 특정 대상 장치에 표시하기에 최적인 포맷으로 다시 포맷을 지정할 수 있다. 이는 컨텐트 제작자로 하여금 다양한 대상 장치를 위해 컨텐트를 다시 조정하기보다는 컨텐트의 제작 자체에 집중할 수 있도록 해준다.
상기 컨텐트 변환 시스템은 전통적이지 않은 클라이언트 장치로부터의 요청을 가로채어, 상기 요청 문서를 대상 장치(78)에 표시하기 위해 커스터마이즈하며, 변환된 문서(74)를 상기 클라이언트에 전송한다. 상기 컨텐트 변환 시스템은 사용자 프레퍼런스(76) 및 장치 사양(64)을 사용하여 상기 문서 변환 과정을 유도한다. 만약 상기한 요청 페이지(72)가 요청이 발생한 상기 클라이언트 장치를 위해 특정하게 디자인된 것이라면, 컨텐트 변환이 필요하지 않게 된다. 그러나 무선 장치를 위해 문서를 디자인하는 것은 쉬운 일이 아니다. 상기 문서는 상기 장치가 받아들일 수 있는 마크업 언어(간혹 HTML일 수 있으나, WML, HDML 또는 그 밖의 상용 언어와 같은 다른 마크업 언어인 경우가 많음)로 쓰여져야 한다. 수 백 가지의 다른 무선 데이터 장치는 각각 다른 성능(64)을 가지고 있기 때문에, 컨텐트 제작자는 각각의 대상 마크업 언어에 대해서뿐만 아니라 모든 가능한 대상 장치에 대해서도 각각 별개의 버전을 제작해야 한다는 예상에 직면하게 된다. 상기 컨텐트 제공자는 또한 어떻게 클라이언트 장치의 종류를 알아낼 것이며, 어떻게 이러한 클라이언트에 대한 최적의 포맷(format)을 가진 문서를 제작할 것인지 이해해야 할 필요가 있다.
자동적으로 문서(72)를 압축하고 특정 대상 장치에 표시하기에 최적인 포맷으로 다시 포맷을 지정하는 시스템(70)을 사용함으로써, 컨텐트 제작자는 다양한 대상 장치를 위해 컨텐트를 다시 조정하기보다는 그의 핵심 능력인 컨텐트 제작 자체에 집중할 수 있게 된다. 일단 설치되면, 컨텐트 변환 시스템은 통상적이지 않은 클라이언트 장치로부터의 요청을 가로채어, 상기 요청 문서를 상기 대상 장치에 표시하기 위해 커스터마이즈하며, 변환된 문서를 상기 클라이언트에 전송한다. 컨텐트 변환 시스템은, 큰 문서 전체를 처리할 수 없는 장치에 큰 문서를 전달하기 위해 자동 문서 분할 방법을 사용할 수 있다.
핵심 컨텐트 변환 구성요소(81)는 전술한 분할 과정을 포함할 수 있다. XML 캐쉬 객체(84)는, 상기 분할 과정을 위해 사용자별 하위 문서가 저장된 곳에 존재한다.
컨텐트 변환은 서버 측 기술이며, 클라이언트와 원 서버간 채널 내의 다양한위치(상기 무선 게이트웨이로부터 원 컨텐트를 보유한 원 서버까지의 아무 위치)에 무리 없이 배치시킬 수 있다. 컨텐트 변환을 적용 가능한 몇몇 위치는 다음의 표에 나타나 있다.
환경 설명 이점
웹 서버 내 아파치(Apache) 및 경쟁 웹 서버 소프트웨어에 대한 플러그인 모듈로서, 핸드 헬드 디바이스로의 커스터마이즈된 실시간 변환을 가능하게 함 설치 후에는, 웹 서버가 무선 클라이언트로부터의 요청을 자동으로 탐지할 수 있으며, 상기 요청 장치에 대해 최적화된 컨텐츠를 생성할 수 있음
역 프록시 서버 내 단일 사이트 또는 집중된 위치에 있는 일단의 사이트로부터의 모든 컨텐츠를 변환함 위와 마찬가지이지만, 또한 프록시 캐쉬를 이용하여 변환 과정을 집중시키고 서버 부하를 경감시킴
프록시 서버 내 단체(예컨대 회사)에 의해 공유되는 자원 프록시 사용자로 하여금 자신의 무선 장치를 가지고 전체 인터넷에 접속할 수 있게 함
무선 게이트웨이 요청된 URL을 가져와서, 클라이언트 장치에 문서를 전달하기에 앞서 상기 변환 과정을 통해 문서를 넘겨줌으로써, 상기 게이트웨이는 무선 클라이언트로부터의 HTTP 요청을 처리한다. 이러한 무선 서비스의 가입자 전원에게 이들의 장치에 커스터마이즈된 전체 인터넷 접속을 가능하게 함
독립 소프트웨어 웹 개발 과정의 일부로 통합됨. 웹 개발자들은 상기 소프트웨어를, 원한다면 결과물을 직접 다듬을 수 있는, 신속한 프로토타이핑(prototyping) 도구로 사용할 수 있다. 회사들이 직접 컨텐트를 생성하는 데 드는 비용의 일부만 가지고 맞춤 무선 컨텐트를 생성할 수 있도록 함
도 14는 5개의 하위 문서로 나뉜 입력 문서(완전한 사이즈의 웹 페이지)의 예를 나타낸다. 도 15는 네 번째 하위 문서(72)의 아래 부분을 나타내며, 이는 원 페이지의 "Bronx-Whitestone Bridge" 단락의 중간 부분에 대응된다. "이전(prev)"(74) 및 "다음(next)(76)"으로 표시된 하이퍼링크(아이콘)를 호출함으로써 사용자는 각각 세 번째 및 다섯 번째 하위 문서로 이동할 수 있다. 도 16은 상기 네 번째 하위 문서가 끝난 데에서 시작하는 다섯 번째 하위 문서(78)의 첫 부분을 나타낸다. 상기 사용자는 상기 하위 문서를 필요한 대로 스크롤하여 살펴 볼 수 있다. 어떤 구현 예에서는 보이는 바처럼 아이콘(74, 76)은 사용자가 하위 문서의 맨 처음 또는 맨 끝으로 스크롤했을 때에만 표시된다. 또 다른 예에 있어서는, 상기 아이콘들은 항상 표시되어 있을 수도 있다.
도 15 및 도 16에서는, 원 문서의 숫자 및 단어가 축약되었고("one"이 "1"로, "and"가 "&"로), 요일 표시가 짧아졌다.
각 하위 문서의 표시에는 또한 원 문서의 표제(79)의 표시가 포함된다. 이러한 표제는 원 문서로부터 하위 문서가 생성될 때에 상기 하위 문서에 포함된다. 상기 표시에는 또한 하위 문서의 총 개수(87) 및 원 문서를 구성하는 일련의 하위 문서 중 현재 하위 문서의 위치(89)에 대한 표시가 포함된다.
이외의 다른 실시예는 이하의 청구 범위의 범주 내에 속한다.
예컨대, 사용자 인터페이스에 있어서, 대상 장치에 렌더링되는 각 하위 문서의 아래 부분은 원 문서를 구성하는 일단의 하위 문서 상기 하위 문서가 어디에 위치하는지를 나타내는 그래픽 상태 막대를 포함할 수도 있다. 예컨대, ooxooo는 "7개의 하위 문서 중 세 번째임"을 의미할 수 있다. 게다가, 이러한 상태 막대에 있어서 "o" 각각은 해당 하위 문서에 대한 하이퍼링크일 수도 있으며, 이에 의해 사용자는 다른 하위 문서에 임의로 접근할 수 있게 된다. 이는 순서대로 하위 문서마다 진행해야하는 것보다는 더욱 효율적일 수 있다.

Claims (29)

  1. 디지털 문서의 수정된 버전을 생성하도록 상기 디지털 문서의 원 버전의 텍스트 일부를 변경하는 단계 - 상기 수정된 문서의 텍스트는 원 문서의 텍스트보다 짧으며, 상기 변경은 장치와 연계된 프레퍼런스에 기초하여 행하여지는 것임 - 와,
    통신 채널을 통하여 상기 장치로부터 상기 디지털 문서에 대한 요청을 수신하는 단계와,
    상기 요청에 응답하여 상기 통신 채널을 통해 상기 수정된 버전을 전송하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 텍스트 일부의 변경은 상기 텍스트에 1 이상의 변환을 선택적으로 적용하는 단계를 포함하는 것인 방법.
  3. 제1항에 있어서, 상기 변경 단계의 일부로서, 상기 장치에 연계된 프레퍼런스에 기초하여 상기 텍스트에 적용될 변환을 선택하는 단계를 더 포함하는 방법.
  4. 제3항에 있어서, 상기 프레퍼런스는 상기 장치의 고유 식별자에 기초하여 상기 장치에 연계되는 것인 방법.
  5. 제3항에 있어서, 상기 프레퍼런스는 상기 문서 요청에 앞서 미리 저장된 것인 방법.
  6. 제3항에 있어서, 상기 프레퍼런스는 서버에 연계된 데이터베이스에 저장되는 것인 방법.
  7. 제3항에 있어서, 상기 프레퍼런스는 상기 장치의 인터페이스를 통하여 사용자에 의해 지시되는 것인 방법.
  8. 제3항에 있어서, 상기 프레퍼런스는 상기 문서 요청이 발생한 장치와는 다른 장치의 인터페이스를 통하여 상기 사용자에 의해 지시되는 것인 방법.
  9. 제3항에 있어서, 상기 프레퍼런스는 서버로부터 제공되는 양식상에서 지시되는 것인 방법.
  10. 제3항에 있어서, 상기 프레퍼런스는 문서 요청을 송신하는 장치 각각에 대해 저장되는 것인 방법.
  11. 제3항에 있어서, 상기 프레퍼런스는 문서 요청을 송신하는 장치의 각 종류에 대해 저장되는 것인 방법.
  12. 제3항에 있어서, 상기 프레퍼런스는 상기 장치에 저장되는 것인 방법.
  13. 제3항에 있어서, 상기 프레퍼런스는 쿠키 메커니즘을 사용하여 상기 장치에 저장되는 것인 방법.
  14. 제1항에 있어서, 상기 변경 단계는 상기 장치의 종류에 따르는 것인 방법.
  15. 제14항에 있어서, 상기 장치 종류의 식별 정보를 상기 장치로부터 수신하는 단계를 더 포함하는 방법.
  16. 제1항에 있어서, 상기 변경 단계는 프록시 서버에서 수행되는 것인 방법.
  17. 제1항에 있어서, 상기 변경 단계는 원 서버에서 수행되는 것인 방법.
  18. 제1항에 있어서, 상기 장치는 한번에 문서 전체를 표시하도록 구성되지 않은 장치를 포함하는 것인 방법.
  19. 제18항에 있어서, 상기 장치는 PDA, 핸드 헬드 디바이스 또는 전화를 포함하는 것인 방법.
  20. 제1항에 있어서, 상기 변경 단계는 날짜 압축을 포함하는 것인 방법.
  21. 제1항에 있어서, 상기 변경 단계는 단어 축약을 포함하는 것인 방법.
  22. 제1항에 있어서, 상기 변경 단계는 상기 원 문서에 포함된 이미지의 사이즈를 축소시키는 단계를 포함하는 것인 방법.
  23. 제22항에 있어서, 상기 축소는 이미지 압축, 리샘플링, 또는 컬러에서 흑백으로의 변환을 포함하는 것인 방법.
  24. 제1항에 있어서, 상기 디지털 문서는 웹 페이지를 포함하는 것인 방법.
  25. 제1항에 있어서, 상기 디지털 문서를 하위 문서로 분할하는 단계 및 상기 요청에 응답하여 상기 분할 전체가 아닌 그보다 적은 수의 분할을 전송하는 단계를 더 포함하는 것인 방법.
  26. 전체 웹 페이지를 표시하도록 구성되지 않은 클라이언트 장치에 의해 요청된 전체 웹 페이지 상에서 수행될 소정의 변경과 관련해서, 서로 다른 클라이언트 장치에 연계된 프레퍼런스를 정의하는 데이터베이스를 유지하는 단계 - 상기 변경은상기 문서를 상기 클라이언트 장치 상의 표시에 있어 더욱 적합하게 만드는 것임 -
    를 포함하는 방법.
  27. 전체 웹 페이지를 표시하도록 구성되지 않은 클라이언트 장치에 의해 요청된 전체 문서 상에서 수행될 소정의 변경과 관련해서, 프레퍼런스에 관한 클라이언트 장치의 정보를 획득하는 단계와,
    데이터베이스에 상기 클라이언트 장치와 상기 프레퍼런스를 연계시키는 단계
    를 포함하는 방법.
  28. 전체 웹 페이지를 표시하도록 구성되지 않은 클라이언트 장치류에 제공될 웹 페이지를 위한 컨텐트를 작성하는 단계와,
    상기 클라이언트 장치 상의 표시에 적합하도록 상기 전체 웹 페이지에 대해 행하여질 변환에 관한 정보를 저장하는 단계 - 상기 저장된 정보는 장치의 종류 각각에 대해, 상기 종류의 장치에 의해 요청된 전체 웹 페이지에 대해 행하여질 변환을 연계시킴 -
    를 포함하는 방법.
  29. 제1항에 있어서, 상기 디지털 문서는 전자 메일을 포함하는 것인 방법.
KR1020037004270A 2000-09-27 2001-09-27 전자 문서의 구성 가능한 변환 방법 KR100855997B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US23555100P 2000-09-27 2000-09-27
US60/235,551 2000-09-27
US23842400P 2000-10-10 2000-10-10
US60/238,424 2000-10-10
US09/745,289 US7613810B2 (en) 2000-09-27 2000-12-20 Segmenting electronic documents for use on a device of limited capability
US09/745,290 2000-12-20
US09/745,289 2000-12-20
US09/745,290 US7210100B2 (en) 2000-09-27 2000-12-20 Configurable transformation of electronic documents
PCT/US2001/030476 WO2002027516A1 (en) 2000-09-27 2001-09-27 Configurable transformation of electronic documents

Publications (2)

Publication Number Publication Date
KR20030060899A true KR20030060899A (ko) 2003-07-16
KR100855997B1 KR100855997B1 (ko) 2008-09-03

Family

ID=27499799

Family Applications (3)

Application Number Title Priority Date Filing Date
KR10-2003-7004386A KR20030045086A (ko) 2000-09-27 2001-09-27 성능제한 장치용 전자문서의 세그먼트화
KR1020037004270A KR100855997B1 (ko) 2000-09-27 2001-09-27 전자 문서의 구성 가능한 변환 방법
KR1020087016061A KR100903528B1 (ko) 2000-09-27 2001-09-27 성능이 제한된 장치를 위한 전자문서의 세그먼트화

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR10-2003-7004386A KR20030045086A (ko) 2000-09-27 2001-09-27 성능제한 장치용 전자문서의 세그먼트화

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020087016061A KR100903528B1 (ko) 2000-09-27 2001-09-27 성능이 제한된 장치를 위한 전자문서의 세그먼트화

Country Status (6)

Country Link
EP (2) EP1320806A4 (ko)
JP (2) JP2004510251A (ko)
KR (3) KR20030045086A (ko)
AU (2) AU2001294881A1 (ko)
CA (2) CA2423695A1 (ko)
WO (2) WO2002027520A1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100817582B1 (ko) * 2006-11-29 2008-03-31 에스케이 텔레콤주식회사 모바일 웹 서비스 방법과 이를 위한 프록시 서버 및 모바일단말기
KR100873415B1 (ko) * 2008-07-15 2008-12-11 팬터로그인터액티브 주식회사 이동 통신 단말기에서 풀 브라우징 서비스를 제공하기 위한인터넷 접속 장치 및 그 방법
KR100905413B1 (ko) * 2007-11-06 2009-07-02 주식회사 케이티프리텔 이동 단말의 풀 브라우저에서 웹 페이지의 화면 표시영역을 조정하는 방법 및 장치
KR100994607B1 (ko) * 2008-09-24 2010-11-15 주식회사 엘지유플러스 마크업 페이지 중계 서버 및 그 제어방법
KR101012206B1 (ko) * 2008-05-27 2011-02-08 주식회사 엘지유플러스 웹뷰어의 이미지 전송량 관리 시스템 및 그 방법
KR20200069797A (ko) * 2018-12-07 2020-06-17 유병섭 한글워드파일의 웹 변환 시스템

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0107772D0 (en) * 2001-03-28 2001-05-16 Hewlett Packard Co Improvements relating to data delivery
GB2408610A (en) 2002-08-23 2005-06-01 Lg Electronics Inc Electronic document request/supply method based on xml
KR100636909B1 (ko) 2002-11-14 2006-10-19 엘지전자 주식회사 확장성 표기 언어 기반의 전자문서 버전 매김 및 버전을이용한 갱신 문서 제공 방법
KR100531842B1 (ko) * 2002-11-20 2005-12-02 엘지전자 주식회사 메시지 교정 방법 및 시스템
EP1752880A4 (en) * 2004-04-30 2008-10-22 Access Co Ltd DYNAMIC IMAGE ENHANCEMENT / REDUCTION PROCEDURE FOR THE BROWSEN, ENDING DEVICE AND PROGRAM DISPLAY
US7603426B2 (en) 2004-06-18 2009-10-13 Microsoft Corporation Flexible context management for enumeration sessions using context exchange
KR20060082353A (ko) * 2005-01-12 2006-07-18 와이더댄 주식회사 실행가능 웹 컨텐트 제공 및 처리 시스템 및 방법
JP2007257365A (ja) * 2006-03-23 2007-10-04 Microsoft Corp データ送信管理装置、システム、方法およびプログラム
JP5090828B2 (ja) * 2007-09-04 2012-12-05 京セラドキュメントソリューションズ株式会社 情報処理装置
JP4739369B2 (ja) * 2008-05-15 2011-08-03 ソフトバンクモバイル株式会社 ウェブコンテンツ変換編集システム
US8010089B2 (en) * 2009-01-19 2011-08-30 Telefonaktiebolaget L M Ericsson (Publ) System and method of providing identity correlation for an over the top service in a telecommunications network
CN101996162A (zh) * 2009-08-26 2011-03-30 华为技术有限公司 电子书章节处理方法、装置及系统
US8862777B2 (en) 2011-04-01 2014-10-14 Verisign, Inc Systems, apparatus, and methods for mobile device detection

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324427A (ja) * 1992-05-27 1993-12-07 Hitachi Ltd 文書情報圧縮装置
US6128663A (en) 1997-02-11 2000-10-03 Invention Depot, Inc. Method and apparatus for customization of information content provided to a requestor over a network using demographic information yet the user remains anonymous to the server
US6154738A (en) * 1998-03-27 2000-11-28 Call; Charles Gainor Methods and apparatus for disseminating product information via the internet using universal product codes
US6857102B1 (en) * 1998-04-07 2005-02-15 Fuji Xerox Co., Ltd. Document re-authoring systems and methods for providing device-independent access to the world wide web
US6173316B1 (en) * 1998-04-08 2001-01-09 Geoworks Corporation Wireless communication device with markup language based man-machine interface
US6278449B1 (en) * 1998-09-03 2001-08-21 Sony Corporation Apparatus and method for designating information to be retrieved over a computer network
US6336124B1 (en) * 1998-10-01 2002-01-01 Bcl Computers, Inc. Conversion data representing a document to other formats for manipulation and display
US6226675B1 (en) * 1998-10-16 2001-05-01 Commerce One, Inc. Participant server which process documents for commerce in trading partner networks
FI19992746A (fi) * 1998-12-28 2000-06-28 Spyglass Inc Menetelmä ja järjestelmä elektronisen datasisällön muuntamiseksi langattomille laitteille
US6826597B1 (en) 1999-03-17 2004-11-30 Oracle International Corporation Providing clients with services that retrieve data from data sources that do not necessarily support the format required by the clients

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100817582B1 (ko) * 2006-11-29 2008-03-31 에스케이 텔레콤주식회사 모바일 웹 서비스 방법과 이를 위한 프록시 서버 및 모바일단말기
KR100905413B1 (ko) * 2007-11-06 2009-07-02 주식회사 케이티프리텔 이동 단말의 풀 브라우저에서 웹 페이지의 화면 표시영역을 조정하는 방법 및 장치
KR101012206B1 (ko) * 2008-05-27 2011-02-08 주식회사 엘지유플러스 웹뷰어의 이미지 전송량 관리 시스템 및 그 방법
KR100873415B1 (ko) * 2008-07-15 2008-12-11 팬터로그인터액티브 주식회사 이동 통신 단말기에서 풀 브라우징 서비스를 제공하기 위한인터넷 접속 장치 및 그 방법
KR100994607B1 (ko) * 2008-09-24 2010-11-15 주식회사 엘지유플러스 마크업 페이지 중계 서버 및 그 제어방법
KR20200069797A (ko) * 2018-12-07 2020-06-17 유병섭 한글워드파일의 웹 변환 시스템

Also Published As

Publication number Publication date
WO2002027516A1 (en) 2002-04-04
AU2001294884A1 (en) 2002-04-08
EP1320806A4 (en) 2007-08-15
WO2002027520A1 (en) 2002-04-04
EP1330723A1 (en) 2003-07-30
AU2001294881A1 (en) 2002-04-08
KR100903528B1 (ko) 2009-06-19
EP1320806A1 (en) 2003-06-25
KR20080067022A (ko) 2008-07-17
WO2002027516A9 (en) 2003-02-20
JP2004510251A (ja) 2004-04-02
KR100855997B1 (ko) 2008-09-03
CA2423695A1 (en) 2002-04-04
JP2004510253A (ja) 2004-04-02
CA2423611C (en) 2011-03-08
CA2423611A1 (en) 2002-04-04
EP1330723A4 (en) 2009-04-01
KR20030045086A (ko) 2003-06-09
WO2002027520A9 (en) 2002-06-06

Similar Documents

Publication Publication Date Title
US7210100B2 (en) Configurable transformation of electronic documents
US7613810B2 (en) Segmenting electronic documents for use on a device of limited capability
KR100855997B1 (ko) 전자 문서의 구성 가능한 변환 방법
EP1412867B1 (en) Device and method for converting an attachment in an e-mail for delivery to a device of limited rendering capability
US7574486B1 (en) Web page content translator
US6925595B1 (en) Method and system for content conversion of hypertext data using data mining
Holtman et al. Transparent content negotiation in HTTP
US6338096B1 (en) System uses kernals of micro web server for supporting HTML web browser in providing HTML data format and HTTP protocol from variety of data sources
US6961900B1 (en) Rendering data according to a present schema from an origin response message
US20020016801A1 (en) Adaptive profile-based mobile document integration
GB2344197A (en) Content conversion of electronic documents
US7143181B2 (en) System and method of sending chunks of data over wireless devices
JP2003512666A (ja) インテリジェント・ハーベスティング及びナビゲーション・システム、及び方法
EP1567948A2 (en) Transformation of web description documents
US20020188435A1 (en) Interface for submitting richly-formatted documents for remote processing
WO2005121982A1 (ja) 情報提供システム、方法、プログラム、情報通信端末、および情報表示切り替えプログラム
US20030149745A1 (en) Method and apparatus for accessing information from a network data source
US6993525B1 (en) Document-database access device
KR100517809B1 (ko) 사용자 선호 프로파일을 적용한 웹 컨텐트 전송 방법
KR100870052B1 (ko) 전자 장비 및 객체 설명의 특정 버전을 전달하는 방법, 및 전자 문서와 컴퓨터 프로그램 제품을 담고 있는 저장 매체
Holtman et al. RFC2295: transparent content negotiation in HTTP

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
LAPS Lapse due to unpaid annual fee