KR20000011278A - 네트워크에서멀티바이트문자를전송하기위한방법,장치및제품 - Google Patents

네트워크에서멀티바이트문자를전송하기위한방법,장치및제품 Download PDF

Info

Publication number
KR20000011278A
KR20000011278A KR1019990020456A KR19990020456A KR20000011278A KR 20000011278 A KR20000011278 A KR 20000011278A KR 1019990020456 A KR1019990020456 A KR 1019990020456A KR 19990020456 A KR19990020456 A KR 19990020456A KR 20000011278 A KR20000011278 A KR 20000011278A
Authority
KR
South Korea
Prior art keywords
character
length
multibyte
network
string
Prior art date
Application number
KR1019990020456A
Other languages
English (en)
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 KR20000011278A publication Critical patent/KR20000011278A/ko

Links

Classifications

    • 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]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

본 발명에 따라서, 네트워크에서 멀티바이트 문자를 전송하기 위한 방법 및 시스템은 프로세서에 의해 수행되는 단계로 고정 길이 문자 세트를 받는 단계와, 각각의 고정 길이 문자를 멀티바이트 문자로 변환시키는 단계와, 상기 길이 및 상기 멀티바이트 문자를 전송하는 단계로 구성한다.

Description

네트워크에서 멀티바이트 문자를 전송하기 위한 방법,장치 및 제품{Method, apparatus,and product for transmitting multibyte characters in a network}
본 발명에 따른 방법은 컴퓨터 시스템에 관한 것으로서, 더욱 상세하게는 네트워크에서 멀티바이트 문자를 전송하기 위한 방법에 관한 것이다.
인터넷은 사실상 지구의 모든 구석에서 가입자 사이의 전자통신을 용이하게 하는 네트워크들의 복합 네트워크이다. 웹(Web:World Wide Web)은 사용자가 저장된 정보를 위치시키는 것을 가능하게 하도록 체계화된 상기 인터넷의 서브 네트워크(sub-network)이다.
일반적으로, 상기 웹으로 두대의 컴퓨터, 하나는 "클라이언트(client)" 그리고 다른 하나인 "서버(server)"는 HTTP(hypertext transfer protocol)을 이용하여 인터넷 연결을 통한 통신이 가능하게 된다.
상기 클라이언트는 상기 사용자가 상기 서버로부터 "웹 페이지(Web pages)" 형식으로 정보를 얻게 하는 "웹 브라우저(Web browser)" 또는 전문 소프트웨어 프로그램을 실행시킨다. 개발자는 이러한 웹 페이지를 만들기 위한 HTML(hypertext mark-up language)로 언급된 소프트웨어 언어를 이용한다.
대다수의 존재하고 있는 응용 프로그램은 사용자가 상기 인터넷 상의 정보를 이용하게 한다. 예를 들어, HotJava ViewsTM(이하, 핫자바 뷰라 한다)는 사용자에게 선마이크로시스템즈 회사(Sun Microsystems,Inc.)로부터 JavaTM(이하, 자바라 한다) 프로그래밍 언어로 모두 쓰여진 이메일(e-mail), 캘린더링(calendaring), 이름 디렉토리 접근(name directory access) 및 인터넷 브라우징 용량(Internet browsing capabilities)을 제공하는 응용 프로그램 세트이다.
NameViewTM(이하, 네임 뷰라 한다)은 사용자가 핫자바 뷰내의 응용에 의해 제공되고 또는 존재하는 디렉토리 데이터베이스로부터 다운로드(download)된 이름 디렉토리을 조사하는 것을 가능하게 하는 응용프로그램이다.
상기 자바 프로그래밍 언어는 예를 들어, 1996년에 어디슨 웨슬리(Addison-Wesley) 출판사에서 제임스 고슬링(James Gosling), 빌 조이(Bill Joy) 및 가이 스틸(Guy Steele)에 의해 편찬된 "The Java Language Specification" 라는 책에서 설명된 객체 지향 프로그래밍 언어(object-oriented programming language)이다.
선(Sun), 선 마이크로시스템즈(Sun Microsystems), 더 선 로그(the Sun Logo), 네임 뷰, 핫자바 뷰 및 자바는 미국 및 다른 나라에서 선 마이크로시스템즈 회사의 상표 또는 등록 상표이다.
네임 뷰 사용자는 상기 인터넷에 연결된 지역 서버(local server) 또는 다른 웹 서버 상의 정보의 디렉토리 데이터베이스를 찾을 수 있다. 네임 뷰와 같은 응용을 이용하여 웹 서버에 접근하고 정보를 얻기 위해서 사용자는 "요구(request)"라 불리는 입력 형식으로 정보를 넣는다.
CGI(Common Gateway Interface) 스크립트(script)는 사용자로부터 정보를 받고 인터넷을 가로질러 전송하기 위한 HTTP 포맷속으로 요구된 정보를 넣는 응용이다.
CGI는 클라이언트와 같은 상기 서버 외부로 서버와 응용 사이의 정보를 교환하기 위한 표준 프로토콜(standard protocol)이다. 상기 클라이언트가 상기 CGI 스크립트와 HTTP 요구를 통과할 때, 상기 받는(receiving) 웹 서버는 상기 CGI 스크립트를 실행하고, 상기 요구에 의해 특성화된 상기 정보를 상기 클라이언트로 다시 보낸다.
어떤 경우에 있어서, 상기 HTTP 요구는 멀티미디어 이메일 메시지를 위한 표준 프로토콜인 "MIME"과 같은 프로토콜을 이용하여 최초로 캡슐화된다. 상기 MIME프로토콜은 전송을 위해 화일에서 상기 요구를 캡슐화하고, 헤더(header)에 상기 화일의 인코드(encode)된 형식을 부가한다.
상기 헤더는 사용된 상기 인코딩 방법과 같은 어떤 정보를 특성화하고 상기 서버가 CGI 스크립트를 동작하도록 요구한다.
상기 인터넷의 세계화는 어떠한 지역에서도 매우 다양한 언어를 이용하여 동작시킬 수 있는 응용 프로그램용을 위한 필요성을 야기시켜 왔다. 미국에서의 사용자들은 일본 친구의 이메일 어드레스를 찾기 위해 네임 뷰와 같은 응용을 이용하기를 원할지도 모른다.
이러한 정보를 포함하는 상기 디렉토리 데이터베이스는 일본 언어 및 일본 문자의 디지탈 표시를 이용하여 저장된다. 많은 다른 문자를 가진 언어는 유니코드(Unicode) 문자 인코딩을 이용하여 인코드 된다.
유니코드는 유니코드 협회(Unicode Consortium)에 의해 설립된 16 비트 문자 부호화 시스템이다. 유니코드에서, 각 문자는 2바이트의 디지탈 정보에 의해 표시된다.
그러나, ASCII(American Standard Code for Information Interchange) 포맷에서, 각 문자는 7비트의 디지탈 코드에 의해 표시된다. 전형적으로 제한된 문자 세트를 가지는 영어 및 다른 언어는 1바이트 또는 8비트의 데이터에 의해 표시된 각 문자를 가지는 ASCII 인코딩 포맷을 이용한다.
비록 늘어나는 수많은 소프트웨어 및 하드웨어가 많은 다른 언어를 가지는 용도를 위해 제작될지라도, 많은 존재하는 컴퓨터 시스템 및 응용 프로그램은 아직도 8비트만을 지원한다. 그 결과로, 문자를 8비트 포맷으로 번역시키는 변환 포맷(transformation formats)이 개발되어 왔다.
UTF-8은 여러나라 말로 쓰인 텍스트를 지원하도록 개발된 변수 폭(variable-width) 또는 "멀티바이트(multibyte)" 인코딩 포맷의 예이다. UTF-8에서, 표준 ASCII 문자는 "0'으로 시작하는 1바이트만을 이용하여 표시된다. 그러나, 비 ASCII 문자는 2 또는 심지어 3바이트를 요구한다.
UTF-8 멀티바이트 문자의 최초 바이트는 상기 문자에서의 바이트의 전체수를 카리킨다. 예를 들면, 2바이트 문자의 최초 바이트는 고위 비트(high-order bits) "110"을 가지고 있고, 3바이트 문자의 최초 바이트는 "1110"으로 시작한다.
멀티바이트 문자의 모든 다른 바이트는 "10"으로 시작한다. UTF-8과 같은 멀티바이트 문자 인코딩 시스템은 저장과 전송을 위해 보다 적은 비트를 요구하지만, 몇몇 응용에 대해 어려움을 제공한다.
한가지 이유는 웹 서버가 상기 HTTP 요구를 처리할 때, 데이타 문자열(data string)의 길이를 사용한다는 것이다. HTTP를 공식화하는 응용은 전형적으로 상기 길이를 결정하는 표준 함수를 수행한다.
그러나, 표준 함수는 전형적으로 상기 문자열이 ASCII 인코드된 정보만을 포함하고, 상기 데이터 문자열 길이는 표준 ASCII 문자를 이용하여 인코드된 문자열에 적용되는 상기 문자열 길이와 같다라고 가정한다.
또한, 변수 길이 UTF-8 인코드된 문자열로 전송된 데이타 문자열에서의 바이트 수는 종종 상기 메시지 길이와 다르다. 그러므로, 표준 함수는 웹 서버에서 처리할 때 에러를 유발시키는 부정확한 길이로 돌아간다.
그러므로, UTF-8과 같은 변수 길이 인코딩 체계를 이용할 때조차 정확한 데이타 문자열 길이를 서버와 통신하는 네트워크에서 멀티바이트 문자를 전송하는 방법의 필요성이 존재한다.
본 발명에 따른 방법 및 시스템은 입력 문자열의 각각의 고정 길이 문자를 멀티바이트 문자로 변환시킨다. 또한, 상기 방법 및 시스템은 멀티바이트 문자에 대응하는 길이를 결정하고, 멀티바이트 문자를 가지는 상기 길이를 전송한다.
상기에 구체화되고 광범위하게 설명된 본 발명에 따르면, 클라이언트 및 서버 사이의 네트워크에서 데이터를 전송하기 위한 장치는 고정 길이 문자 세트를 받도록 형성하는 성분과, 각각의 고정 길이 문자를 멀티바이트 문자로 변환시키도록 형성하는 성분과, 멀티바이트 문자에 대응하는 길이를 결정하도록 형성하는 성분과, 상기 길이 및 상기 멀티바이트 문자를 전송(transmit)하도록 형성하는 성분으로 이루어진다.
상기에 구체화되고 광범위하게 설명된 본 발명의 또다른 구현예에 따르면, 컴퓨터 프로그램 제품은 클라이언트와 서버 사이의 네트워크에서 데이터를 전송하기 위한 컴퓨터블 리더블 코드(computable readable code)를 가지는 컴퓨터 용도 매체(computer usable medium)로 구성하고, 상기 컴퓨터 프로그램 제품은 프로세서에 의해 수행되는 단계로 고정 길이 세트를 받는 단계와, 각각의 고정 길이 문자를 멀티바이트 문자로 변환시키는 단계와, 상기 멀티바이트 문자에 대응하는 길이를 결정하는 단계와, 상기 길이 및 상기 멀티바이트 문자를 전송하는 단계로 구성한다.
상기에 구체화되고 광범위하게 설명된 본 발명에 따르면, 네트워크에서 데이터를 전송하기 위한 시스템은 고정 길이 문자 세트를 받는 수신기(receiver)와, 각각의 고정 길이 문자를 멀티바이트 문자로 변환시키기 위한 1차 프로세서(first processor)와, 상기 멀티바이트 문자에 대응하는 길이를 결정하기 위한 2차 프로세서(second processor)와, 상기 길이 및 상기 멀티바이트 문자를 전송하기 위한 전송기(transmitter)로 구성한다.
도 1은 본 발명에 따른 컴퓨터 아키텍쳐를 설명하는 블럭 다이어그램이다.
도 2는 본 발명에 따른 방법 블럭도이다.
도 3은 본 발명에 따른 프로세서에 의해 수행된 단계의 순서도이다.
〈도면의 주요 부분에 대한 부호의 설명〉
10 : 분산시스템 100 : 클라이언트
102 : 버스 104 : 프로세서
106 : 램(RAM) 108 : 롬(ROM)
110 : 저장장치 112 : 디스플레이
114 : 입력장치 116 : 커서제어
118 : 인터페이스 120 : 네트워크 링크
122 : 지역 네트워크 124 : 호스트 컴퓨터
126 : ISP 128 : 인터넷
130 : 서버 220 : 웹브라우져
225 : 소켓 285 : 서버 소프트웨어
A. 개략
본 발명에 따른 시스템 및 방법은 네트워크에서 멀티바이트 문자로서 고정 길이 문자 세트의 전송을 가능하게 한다. 고정 길이 문자 세트는 멀티바이트 문자열로 처음에 변환된다.
각각의 멀티바이트 문자는 많은 변수 바이트에 의해 표시된다. 변환 프로세스 동안, 상기 멀티바이트 문자열의 길이는 상기 멀티바이트 문자열에서 바이트의 수로부터 결정된다.
이 길이는 상기 멀티바이트 문자열을 포함하는 메시지의 메시지 헤더의 일부로서 네트워크를 거쳐 전송된다.
본 발명은 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 결합을 이용하여 실행될 수 있다. 특히, 본 발명은 자바 및 C++과 같은 객체 지향 프로그래밍 언어와 비 객체 지향 프로그래밍 언어로 실행될 수 있다.
이하, 첨부 도면에 설명된 본 발명에 따른 시스템의 실시예를 상세히 설명한다.
상기 설명은 전형적인 구현예를 포함하고 다른 구현예도 가능하고, 발명의 의도와 범위로부터 분리하지 않고 설명된 실행으로 바뀔 수도 있다. 가능하다면, 같은 부분에 관해서는 도면 전반에 동일 도면부호를 사용한다.
B. 컴퓨터 아키텍쳐
본 발명에 따른 방법과 시스템은 예를 들어, 다중 동질성 또는 이질성 기계(multiple homogeneous or heterogeneous machines)로 이루어진 분산 시스템(distributed systems)에서 동작한다.
전형적인 분산 시스템(10)은 도 1에 보여준다. 클라이언트(100)는 정보를 통신하기 위한 버스(bus)(102) 또는 다른 통신 메커니즘과 정보를 처리하고, 응용 프로그램을 실행하기 위해 버스(102)로 연결된 프로세서(104)를 포함하는 전형적인 컴퓨터이다.
또한, 상기 클라이언트(100)는 프로세서(104)에 의하여 실행될 수 있도록 정보(information)와 명령(instructions)을 저장하기 위해 버스(102)로 연결된 RAM(random access memory)(106) 또는 다른 동적 저장 장치(dynamic storage devices)와 같은 메인 메모리를 포함한다.
또한, 상기 RAM(106)은 프로세서(104)에 의해 실행되도록 명령의 실행 동안 임시 변수 또는 다른 중간 정보를 저장하기 위해 사용될 수도 있다. 게다가, 클라이언트(100)는 프로세서(104)를 위한 정적 정보(static informatione)와 명령을 저장하기 위한 버스(102)에 연결된 ROM(read only memory)(108) 또는 다른 정적 저장 장치(static storage)를 포함한다.
자기 디스크(magnetic disk) 또는 광 디스크(optical disk)와 같은 저장 장치(110)는 정보와 명령을 저장하기 위해 버스(102)에 제공되고 연결된다.
상기 클라이언트(100)는 컴퓨터 사용자들에게 정보를 표시하기 위해 CRT(cathode ray tube)와 같은 버스(102)를 경유하여 디스플레이(112)로 연결된다.
영숫자(alphanumeric)와 다른 키를 포함하는 입력 장치(114)는 프로세서 (104)와 정보 및 명령을 통신하기 위해 버스(102)로 연결된다. 사용자 입력 장치의 또다른 타입은 방향 정보 및 명령 선택을 프로세서(104)와 통신하고 디스플레이 (112) 상에 커서 이동을 제어하기 위해 마우스, 테공(trackball) 또는 커서 방향 키와 같은 커서 제어(116)이다.
전형적으로 상기 입력 장치는 상기 장치가 플레이트(plate)에서 위치를 지정하게 하는 두개 축 즉, 첫째 축(예를 들어, X)과 둘째 축(예를 들어, Y)에서 2의 자유도(degree of freedom)를 가진다. 본 발명에 따른 방법과 시스템은 네트워크에서 멀티바이트 문자를 전송하기 위해 클라이언트(100)를 사용한다.
일실시예에 따라서, 클라이언트(100)의 프로세서(104)는 메인 메모리(106)에 포함된 하나 이상의 연속의 하나 이상의 명령을 실행한다. 그러한 명령은 저장 장치(110)과 같은 또 다른 컴퓨터 리더블 매체로부터 메인 메모리(106)으로 읽혀질 수 있다.
메인 메모리(106)에 포함된 일련의 명령의 실행은 프로세서(104)가 상기에 설명된 프로세스 단계를 수행하는 것을 야기시킨다. 또 다른 실시예에서, 하드 와이어드 회로(hard-wired circuitry)는 본 발명을 실행하기 위해 소프트웨어 명령을 대신하여 또는 결합하여 사용될 수 있다. 따라서, 본 발명의 실행은 하드웨어 회로와 소프트웨어의 어떤 특별한 결합으로 제한되지는 않는다.
상기에 사용된대로 "컴퓨터 리더블 매체" 라는 용어는 실행을 위한 프로세서 (104)에 명령을 제공하는 데 참여하는 어떠한 미디어로 언급된다. 그러한 매체는 비 휘발성 미디어(non-volatile media), 휘발성 미디어(volatile media) 및 전송 미디어(transmission media)로 제한되지 않는 것을 포함하여 많은 형식을 취할 수 있다.
예를 들어, 비휘발성 미디어는 저장 장치(110)와 같은 광 또는 자기 디스크를 포함한다. 휘발성 미디어는 메인 메모리 106과 같은 동적 메모리를 포함한다.
전송 미디어는 버스(102)를 구성하는 와이어(wire)를 포함하여 동축 케이블(coaxial cables), 구리선(copper wire) 및 광 파이버(optical fiber)를 포함한다. 또한 전송 미디어는 라디오 파(radio-wave)및 적외선 데이터 통신 동안 발생된 것과 같은 음향(acoustic) 또는 광파(light wave)의 형식을 취할 수 있다.
예를 들어, 컴퓨터 리더블 매체의 일반적인 형식은 플로피 디스크, 플렉서블(flexible) 디스크, 하드 디스크, 자기 테이프 또는 어떠한 다른 자기 매체, CD-ROM, 어떠한 다른 광 매체, 펀치 카드(punch cards), 종이 테이프(papertape), 홀(hole)의 형태를 가진 어떠한 다른 매체, RAM, PROM 및 EPROM, FLASH-EPROM, 어떠한 다른 메모리 칩 또는 카트리지(cartridge), 반송파(carrier wave), 또는 컴퓨터가 읽을 수 있는 어떠한 다른 매체를 포함한다.
컴퓨터 리더블 매체의 다양한 형식은 실행을 위해 프로세서(104)로 하나 이상의 연속의 하나 이상 명령을 운반하는 것에 관련된다. 예를 들어, 상기 명령은 처음에 리모트 컴퓨터의 자기 디스크로 운반된다. 상기 리모트 컴퓨터는 상기 명령을 동적 메모리에 적재시키고, 모뎀을 이용하여 전화선을 경유하여 상기 명령을 보낸다.
클라이언트(100)에 국소적인 모뎀은 전화선의 상기 데이터를 받고, 상기 데이터를 적외 신호로 변환시키기 위해 적외 전송기(infra-red transmitter)를 사용한다. 버스(102)에 연결된 적외 검출기는 상기 적외 신호로 운반된 상기 데이터를 받고, 버스(102)에 상기 데이터를 놓는다.
버스(102)는 상기 데이터를 프로세서(104)가 명령을 검색하고 실행하는 메인 메모리(106)로 운반한다. 메인 메모리(106)에 의해 받은 상기 명령은 프로세서(104)에 의해 실행 전이나 또는 후에 저장 장치(110)에 선택적으로 저장된다.
또한, 클라이언트(100)는 버스(102)에 연결된 통신 인터페이스(118)을 포함한다. 통신 인터페이스(118)는 지역 네트워크(122)에 연결된 네트워크 링크(120)에 연결하여 양방향 데이터 통신을 제공한다.
예를 들어, 통신 인터페이스(118)는 전화선의 대응 타입으로 데이터 통신 연결을 제공하기 위한 ISDN(integrated services digital network) 카드 또는 모뎀이다. 또 다른 예로서, 통신 인터페이스(118)는 호환 LAN(local area network)으로 데이터 통신 연결을 제공하기 위한 LAN이다. 또한, 무선 링크도 실행될 수 있다.
어떤 그러한 실행에서, 통신 인터페이스(118)는 다양한 타입의 정보를 표시하는 디지탈 데이터 스트림(stream)을 운반하는 전기, 전자기(electromagnetic) 또는 광 신호를 보내고 받는다.
네트워크 링크(120)는 전형적으로 하나 이상의 네트워크를 통하여 데이터 통신을 다른 데이터 장치로 제공한다. 예를 들어, 네트워크 링크(120)는 ISP(Internet Service Provider)에 의해 동작된 호스트 컴퓨터(124) 및/또는 데이터 장비로 지역 네트워크(122)를 통하여 연결된다.
다음에 ISP(126)은 상기 인터넷(128)을 통하여 데이터 통신 서비스를 제공한다. 지역 네트워크(122) 및 상기 인터넷(128) 모두는 디지탈 데이터 스트림을 운반하는 전기, 전자기 또는 광 신호를 사용한다.
네트워크 링크(120) 상에 상기 다양한 네트워크 및 신호를 통하여 그리고 통신 인터페이스(118)을 통하여, 상기 신호와 클라이언트(100)로 및 클라이언트(100)으로부터 상기 디지탈 데이터를 운반하는 상기 신호는 상기 정보를 전송하는 반송파의 전형적인 형식이다.
클라이언트(100)는 상기 네트워크, 네트워크 링크(120) 및 통신 인터페이스 (118)을 통한 프로그램 코드를 포함하여 메시지를 보내고 데이터를 받을 수 있다.
상기 인터넷 실시예에서, 서버(130)은 인터넷(128), ISP(126), 지역 네트워크(122) 및 통신 인터페이스(118)를 통하여 응용 프로그램을 위해 요구된 코드를 전송할 수 있다.
일실시예에 의하면, 하나의 그러한 다운로드된 응용은 멀티바이트 문자의 문자열의 길이를 결정하고, 상기 설명된 대로 네트워크에서 그것들을 전송한다. 상기 받은(received) 코드는 받아진 대로 프로세서(104)에 의해 실행되고, 나중의 실행을 위해 저장 장치(110) 또는 다른 비 휘발성 저장 장치에 저장된다.
이런식으로, 클라이언트 100은 반송파의 형태로 응용 코드를 얻을 수 있다.
도 1에 도시된 바와 같이, 클라이언트(100)가 하나의 서버(130)에 연결될 수 있을지라도, 본 기술에 숙련된 사람들은 클라이언트(100)이 인터넷(128) 상에 다중 서버로의 연결을 만든다는 것을 인지할 것이다.
도 2는 본 발명에 따른 응용 프로그램의 동작을 설명한다. 공백 데이터 영역을 가지는 형식인 웹 브라우저(220)는 예를 들어, 상기 사용자에게 정보를 전형적으로 표시해 주는 소프트웨어 프로그램이다. 웹 브라우저(220)는 상기 사용자로부터 입력된 정보를 받고, 상기 입력된 정보를 네트워크를 경유하여 서버로의 통신을 위해 데이터 문자열로 변환시킨다.
HTTP는 네트워크의 통신에 적합한 데이터 포맷의 한 예이다. HTTP 요구를 보내기 위해, 웹 브라우저(220)는 소켓(225)으로 상기 데이터 문자열을 통과시키고, 상기 소켓은 웹 브라우저(220)와 네트워크 링크(120)의 전송 프로토콜 사이의 통신 인터페이스로서 동작하는 응용 프로그램이다.
상기 네트워크 전송 프로토콜은 예를 들면, TCP/IP일 수 있다. 소켓(225)은 네트워크 링크(120)를 가로질러 서버(130)로 상기 HTTP 요구를 전송한다. 서버 소프트웨어(285)는 상기 HTTP 요구를 받고 상기 요구된 정보를 검색한다.
C. 소프트웨어 과정
도 3은 네트워크에서 멀티바이트 문자를 전송하기 위해 웹 브라우저(220)로 통합된 단계 순서도를 포함한다. 상기 과정은 도 2에 도시된 바와 같이, 웹 브라우저(220)로 시작한다. 그 시작을 위해 웹 브라우저(220)는 입력 형식을 표시한다(단계 305).
상기 사용자는 상기 네트워크를 가로질러 전송되는 입력 장치(114)를 사용하여 정보를 입력한다(단계 310). 상기 설명된 네임뷰 응용의 예를 이용하여, 예를 들면, 일본에서의 사용자는 어떤 사람의 이름 즉, 그들이 서버(130)에 거주하는 디렉토리 데이터베이스(280)에서 발견하고자 하는 프로파일을 입력한다.
상기 사용자는 표준 일본 문자를 이용하여 상기 이름을 넣는다. 상기 입력 형식의 내용은 상기 사용자에 의해 제공된 상기 정보를 제외하고 미리 포맷된다. 상기 사용자는 상기 입력 형식이 예를 들어, 스크린 상에 표시된 버튼의 "clicking"에 의해 완성된다는 것을 가리킬 때, 웹 브라우저(220)는 상기 사용자에 의해 넣어진 상기 정보를 포획하고, 표준 인코딩 포맷을 이용하여 디지탈 형식에서 상기 입력된 정보를 인코드한다.
상기 사용자의 지역 및 언어에 따라서, 상기 입력된 정보는 유니코드와 같은 16 비트 문자 부호와 시스템으로 인코드될 수 있다(단계 320). 그 결과가 디지탈 포맷에서 상기 입력된 정보를 표시하는 데이터 문자열이다. UTF-8 포맷에서 HTTP 요구를 만들기 위해 웹 브라우저(220)는 현재의 포맷으로부터 UTF-8까지 상기 데이터 문자열을 변환시키고, 상기 네트워크를 가로질러 상기 UTF-8 데이터 문자열 및 HTTP 요구 헤더를 전송할 것이다.
HTTP 요구 헤더는 전형적으로 서버(130)가 상기 HTTP 요구를 이해하기 위해 상기 동반하는 데이터 문자열을 바이트로 정확히 분석하도록 요구하는 정보를 포함한다. 유효 HTTP 헤더는 예를 들면, 상기 출력 스트림의 내용 타입, 상기 첨부된 서류가 더이상 유효하지 않을 때, 상기 브라우저에게 통지하는 유효 기간 및 동반하는 데이터 문자열의 바이트 길이를 포함한다.
상기 메시지 길이를 얻는 한가지 방법은 상기 데이터 문자열을 UTF-8 인코드된 문자로 변환시키는 응용을 실행시키는 것이다. UTF-8 문자로 변환시키기 위한 표준 프로그램은 상기 문자열이 변환되고 있을 때 상기 메시지 길이를 쫓아간다.
그러나, 실제 메시지 길이는 상기 전체 문자열이 변환될 때까지 유효하지 않다. 본 발명에 따른 실시예에서, 상기 UTF-8 변환은 상기 문자열을 상기 소켓으로 쓰기 전에서만 수행된다(단계 320). 상기 UTF-8 포맷 변환 과정은 상기 멀티바이트 데이터 문자열의 길이를 가리키는 변수로 돌아간다(단계 320).
웹 브라우저(220)는 상기 멀티바이트 데이터 문자열의 길이를 포함하는 HTTP 요구 헤더를 만든다(단계 325). 상기 데이터 문자열은 UTF-8 포맷으로 변환시키는 쓰기 방법(write method)을 이용하여 상기 HTTP 요구의 보디(body)로 쓰여진다(단계 330).
결과적으로, 상기 HTTP 요구 헤더 및 동반하는 다중 데이터 문자열은 서버 (130)로 전송된다(단계 340). 또한, 웹 브라우저(220)는 객체 지향 프로그램에서 상기 HTTP 요구 헤더 및 동반하는 다중 데이터 문자열을 캡슐화시키고, 상기 네트워크 연결을 가로질러 상기 프로그램을 보낸다.
본 발명에 따른 상기 방법을 실행하는 응용은 네트워크에서 멀티바이트 문자를 전송할 수 있다. 상기 응용은 길이를 얻기 위해 고정 길이 문자를 UTF-8 포맷으로 변환시킨다. 상기 메시지 길이는 상기 HTTP 요구 헤더에서 입력 변수로서 사용되고, 상기 멀티바이트 문자열을 가지는 상기 웹 서버로 전송된다.
발명의 실행에 대한 상기 서술은 도식 및 설명의 목적을 위해 제공되어 왔다. 그것은 낭비가 아니고 공지된 정확한 형식을 제한하지도 않는다. 변형 및 변화는 상기 교육으로 가능하고 또는 발명을 실행함으로서 얻어질 수 있다. 예를 들어, 상기 설명된 실행은 소프트웨어를 포함하지만, 본 발명은 하드웨어와 소프트웨어의 결합 또는 하드웨어만으로 실행될 수 있다. 발명의 영역은 청구항에 의해 정의된다.

Claims (8)

  1. 네트워크에서 데이터를 전송하기 위한 방법에 있어서, 프로세서에 의해 수행되는 단계로 고정 길이 문자 세트를 받는 단계와, 각각의 고정 길이 문자를 멀티바이트 문자로 변환시키는 단계와, 상기 멀티바이트 문자에 대응하는 길이를 결정하는 단계와, 상기 길이 및 상기 멀티바이트 문자를 전송하는 단계로 구성되는 것을 특징으로 하는 네트워크에서 멀티바이트 문자를 전송하기 위한 방법
  2. 제 1 항에 있어서, 상기 결정하는 단계는 상기 문자열을 UTF-8 인코딩 포맷으로 변환시킴으로서 멀티바이트 문자의 길이를 결정하는 단계를 포함하는 것을 특징으로 하는 네트워크에서 멀티바이트 문자를 전송하기 위한 방법
  3. 클라이언트와 서버 사이의 네트워크에서 데이터를 전송하기 위한 장치에 있어서, 고정 길이 문자 세트를 받도록 형성하는 성분과, 각각의 고정 길이 문자를 멀티바이트 문자로 변환시키도록 형성하는 성분과, 상기 멀티바이트 문자에 대응하는 길이를 결정하도록 형성하는 성분과, 상기 길이 및 상기 멀티바이트 문자를 전송하도록 형성하는 성분으로 구성되는 것을 특징으로 하는 클라이언트와 서버 사이의 네트워크에서 멀티바이트 문자를 전송하기 위한 장치.
  4. 제 3 항에 있어서, 상기 결정하도록 형성하는 성분은 상기 문자열을 UTF-8 인코딩 포맷으로 변환시킴으로서 멀티바이트 문자의 문자열 길이를 결정하도록 형성하는 성분을 포함하는 것을 특징으로 하는 클라이언트와 서버 사이의 네트워크에서 멀티바이트 문자를 전송하기 위한 장치.
  5. 클라이언트와 서버 사이의 네트워크에서 데이터를 전송하기 위해 컴퓨터블 리더블 코드를 가지는 컴퓨터 용도 매체를 구성하는 컴퓨터 프로그램 제품에 있어서, 프로세서에 의해 수행되는 단계로 고정 길이 문자 세트를 받는 단계와, 각각의 고정 길이 문자를 멀티바이트 문자로 변환시키는 단계와, 상기 멀티바이트 문자에 대응하는 길이를 결정하는 단계와, 상기 길이 및 상기 멀티바이트 문자를 전송하는 단계로 구성되는 것을 특징으로 하는 네트워크에서 멀티바이트 문자를 전송하기 위한 제품.
  6. 제 5 항에 있어서, 결정하도록 형성하는 성분은 상기 문자열을 UTF-8 인코딩 포맷으로 변환시킴으로서 멀티바이트 문자의 상기 문자열 길이를 결정하도록 형성하는 성분을 포함하는 것을 특징으로 하는 네트워크에서 멀티바이트 문자를 전송하기 위한 제품
  7. 네트워크에서 데이터를 전송하기 위한 시스템에 있어서, 고정 길이 문자 세트를 받기 위한 수신기와, 각각의 고정 길이 문자를 멀티바이트 문자로 변환시키기 위한 1차 프로세서와, 상기 멀티바이트 문자에 대응하는 길이를 결정하기 위한 2차 프로세서와, 상기 길이 및 상기 멀티바이트 문자를 전송하기 위한 송신기로 구성되는 것을 특징으로 하는 네트워크에서 데이터를 전송하기 위한 시스템
  8. 제 7 항에 있어서, 상기 2차 프로세서는 상기 문자열을 UTF-8 인코딩 포맷으로 변환시킴으로서 멀티바이트 문자의 상기 문자열의 길이를 결정하기 위한 프로세서를 포함하는 것을 특징으로 하는 네트워크에서 데이터를 전송하기 위한 시스템.
KR1019990020456A 1998-06-04 1999-06-03 네트워크에서멀티바이트문자를전송하기위한방법,장치및제품 KR20000011278A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US9/090,414 1998-06-04
US09/090,414 US6370581B2 (en) 1998-06-04 1998-06-04 Method, apparatus, and product for transmitting multibyte characters in a network

Publications (1)

Publication Number Publication Date
KR20000011278A true KR20000011278A (ko) 2000-02-25

Family

ID=22222671

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990020456A KR20000011278A (ko) 1998-06-04 1999-06-03 네트워크에서멀티바이트문자를전송하기위한방법,장치및제품

Country Status (5)

Country Link
US (2) US6370581B2 (ko)
EP (1) EP0963046A1 (ko)
JP (1) JP2000047964A (ko)
KR (1) KR20000011278A (ko)
SG (1) SG81284A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100611906B1 (ko) * 2004-05-11 2006-08-11 주식회사 팬택 가변폭 폰트 문자를 고정폭 폰트 문자로 변환하는 기능을가지는 무선통신단말기 및 그 방법

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6704790B1 (en) * 1998-09-16 2004-03-09 Microsoft Corporation Server-side stream switching
US7107325B1 (en) * 1999-11-15 2006-09-12 Insweb Corporation System and method for optimizing and processing electronic pages in multiple languages
US7207046B1 (en) * 2000-08-23 2007-04-17 Agilent Technologies, Inc. Method and system for providing string-over-socket scripting language access to distributed object model interfaces
US6892206B2 (en) * 2000-08-31 2005-05-10 Yahoo! Inc. Reduction of meta data in a network
WO2002031702A1 (en) * 2000-10-09 2002-04-18 Enic Corporation Registering and using multilingual domain names
US8370525B2 (en) * 2001-03-30 2013-02-05 Intel Corporation Transmitting new data format under existing infrastructure
US20030083958A1 (en) * 2001-06-08 2003-05-01 Jinshan Song System and method for retrieving information from an electronic catalog
WO2002101511A2 (en) * 2001-06-13 2002-12-19 Rivar Technologies, Inc. System and method for integrated web-based software code environment
EP1634423B1 (en) * 2003-06-06 2013-01-02 Computer Associates Think, Inc. System and method for compressing url request parameters
US8603160B2 (en) * 2003-12-23 2013-12-10 Sadra Medical, Inc. Method of using a retrievable heart valve anchor with a sheath
ITVI20040010A1 (it) * 2004-01-21 2004-04-21 Berti Macchine Agricole Srl Macchina trinciatrice perfezionata
US20060218133A1 (en) * 2005-03-24 2006-09-28 Atkin Steven E Constructing dynamic multilingual pages in a Web portal
US7698269B2 (en) * 2005-11-29 2010-04-13 Yahoo! Inc. URL shortening and authentication with reverse hash lookup
US7259697B2 (en) * 2005-12-14 2007-08-21 International Business Machines Corporation Method and system for performing character-based streaming of mixed-byte encoded data
NZ549548A (en) * 2006-08-31 2009-04-30 Arc Innovations Ltd Managing supply of a utility to a customer premises
US20090013091A1 (en) * 2007-07-03 2009-01-08 Microsoft Corporation Customer based message routing
US8228215B1 (en) * 2010-06-29 2012-07-24 Google Inc. Identifying misrepresented characters in strings of text
CN103577113B (zh) * 2012-07-24 2016-08-03 联想(北京)有限公司 一种存储单元访问方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4574362A (en) * 1982-04-12 1986-03-04 Tektronix, Inc. Block mode digital signal conditioning method and apparatus
US5337233A (en) * 1992-04-13 1994-08-09 Sun Microsystems, Inc. Method and apparatus for mapping multiple-byte characters to unique strings of ASCII characters for use in text retrieval
US5701451A (en) 1995-06-07 1997-12-23 International Business Machines Corporation Method for fulfilling requests of a web browser
US5682158A (en) * 1995-09-13 1997-10-28 Apple Computer, Inc. Code converter with truncation processing
US5832507A (en) 1996-04-01 1998-11-03 Sun Microsystems, Inc. Method and apparatus for converting ASCII path names to parsed path name structures
CA2205641A1 (en) * 1997-05-16 1998-11-16 Ibm Canada Limited-Ibm Canada Limitee System and method of transforming information between ucs and ebcdic representations employing ebcdic-friendly transformation formats
US6049869A (en) * 1997-10-03 2000-04-11 Microsoft Corporation Method and system for detecting and identifying a text or data encoding system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100611906B1 (ko) * 2004-05-11 2006-08-11 주식회사 팬택 가변폭 폰트 문자를 고정폭 폰트 문자로 변환하는 기능을가지는 무선통신단말기 및 그 방법

Also Published As

Publication number Publication date
US7185101B2 (en) 2007-02-27
JP2000047964A (ja) 2000-02-18
US20010044852A1 (en) 2001-11-22
SG81284A1 (en) 2001-06-19
US6370581B2 (en) 2002-04-09
EP0963046A1 (en) 1999-12-08
US20020120764A1 (en) 2002-08-29

Similar Documents

Publication Publication Date Title
KR20000011278A (ko) 네트워크에서멀티바이트문자를전송하기위한방법,장치및제품
US8375094B2 (en) Creating a message readable by a plurality of heterogeneous recipients
US7257122B1 (en) Data service in a mobile communications network
US6519626B1 (en) System and method for converting a file system path into a uniform resource locator
US5813007A (en) Automatic updates of bookmarks in a client computer
US6944817B1 (en) Method and apparatus for local generation of Web pages
CN101341724B (zh) 用于传送消息的系统和方法
US20030100320A1 (en) Efficient hyperlinks for transmitted hyperlinked information
JP2004501442A (ja) ダイナミックフォントサブセッティングのための方法及びシステム
US6766296B1 (en) Data conversion system
KR20030076718A (ko) 인터넷 프로토콜을 지원하는 이동 단말 장치에 저장된파일들에 접근하기 위한 방법 및 장치
CN101631261B (zh) 信令跟踪方法、信令跟踪后台装置及跟踪系统
CN111049813B (zh) 报文组装方法、解析方法、装置及存储介质
US6782427B1 (en) Serving data from a resource limited system
JP3602480B2 (ja) フォント提供システム、フォント切替システム、文字検索システム、フォント管理サーバ、そのクライアント、フォント提供方法、フォント切替方法、文字コード変換方法、文字検索方法、及びそのプログラム
CN111782882A (zh) 一种tcp报文转换方法、装置、系统及计算机存储介质
CN110839022A (zh) 一种基于xml语言的车载控制软件通信协议解析方法
CN105793842B (zh) 序列化消息之间的转换方法和装置
KR20020041331A (ko) 컨텐츠 제공 시스템
CN102314406A (zh) 用于计算机通信中的懒惰数据序列化的方法和系统
CN113824756A (zh) 文件处理方法、装置、存储介质及电子设备
CN115242631B (zh) 一种报文处理方法、装置、电子设备及存储介质
US20060135129A1 (en) System and method for transmitting MIDlet data using SMS
JP2011186639A (ja) コンテンツ関係管理システム、コンテンツ関係管理装置、コンテンツ関係管理方法およびプログラム
TW591918B (en) Interpreter apparatus over an IP network

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid