KR102373135B1 - 메시지 운용 방법 및 이를 지원하는 전자 장치 - Google Patents
메시지 운용 방법 및 이를 지원하는 전자 장치 Download PDFInfo
- Publication number
- KR102373135B1 KR102373135B1 KR1020210072853A KR20210072853A KR102373135B1 KR 102373135 B1 KR102373135 B1 KR 102373135B1 KR 1020210072853 A KR1020210072853 A KR 1020210072853A KR 20210072853 A KR20210072853 A KR 20210072853A KR 102373135 B1 KR102373135 B1 KR 102373135B1
- Authority
- KR
- South Korea
- Prior art keywords
- message
- page
- data
- electronic device
- undefined
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 발명은 메시지 운용에 관한 것으로, 다양한 실시 예는 멀티 페이지 중 특정 페이지에 포함된 데이터 중 미정의된 데이터가 포함되는지 확인하는 동작, 상기 미정의된 데이터가 포함된 경우 상기 특정 페이지의 다음 페이지에 포함된 데이터 중 적어도 일부 데이터와 상기 미정의된 데이터를 통합하는 동작을 포함하는 메시지 운용 방법 및 이를 지원하는 장치를 개시할 수 있다. 여기서 본 발명이 상술한 구성에 한정되는 것은 아니며, 발명의 상세한 설명에 기재된 다양한 실시 예들로서 이해되어야 할 것이다.
Description
다양한 실시 예들은 메시지 운용에 관한 것이다.
최근 디지털 기술의 발달과 함께 이동통신 장치, PDA(Personal Digital Assistant), 전자수첩, 스마트 폰, 태블릿 PC(Personal Computer) 등과 같이 이동하면서 통신 및 개인정보 처리가 가능한 전자 장치가 다양하게 출시되고 있다. 이러한 전자 장치는 문자 메시지를 송수신할 수 있는 기능이 제공되고 있다.
한편, 종래 전자 장치는 문자 메시지의 내용 데이터가 일정량 이상인 경우 멀티페이지 형태로 자동 변환하여 전송한다. 그런데 멀티페이지로 전송되는 문자 메시지의 경우 정상적으로 입력한 문자 정보라 하더라도 인코딩 과정에서 또는 수신된 문자 메시지의 디코딩 과정에서 에러가 발생하는 문제가 있었다.
이에 따라, 다양한 실시 예들에서는 멀티페이지로 전송되는 문자 메시지의 내용 데이터가 정상적으로 인코딩되거나 또는 디코딩되도록 처리할 수 있는 메시지 운용 방법 및 이를 지원하는 전자 장치를 제공함에 있다.
상기와 같은 과제를 해결하기 위한 다양한 실시 예 중 한 실시 예의 전자 장치는 복수의 페이지로 구성된 메시지를 수신하는 통신 인터페이스, 상기 복수의 페이지 중 특정 페이지에 포함된 데이터 중 미정의된 데이터가 존재하는지 확인하고, 상기 미정의된 데이터가 존재하는 경우 상기 특정 페이지의 다음 페이지에 포함된 데이터 중 적어도 일부 데이터와 상기 미정의된 데이터를 결합하는 제어 모듈을 포함할 수 있다.
한 실시 예에 따른 전자 장치는 작성된 멀티페이지 중 특정 페이지에 포함된 데이터 중 미정의된 데이터가 포함되는지 확인하고, 상기 미정의된 데이터가 포함된 경우 상기 특정 페이지의 다음 페이지에 포함된 데이터 중 적어도 일부 데이터와 상기 미정의된 데이터를 통합하는 제어 모듈, 상기 통합된 데이터를 포함하는 멀티페이지 메시지를 전송하는 통신 인터페이스를 포함할 수 있다.
한 실시 예에 따른 전자 장치는 멀티 페이지 타입의 메시지를 수신하는 통신 인터페이스, 상기 멀티 페이지들에 포함된 내용 데이터를 추출하고, 상기 추출된 내용 데이터들을 연속 변환하여 메시지 출력을 수행하는 제어 모듈을 포함할 수 있다.
한 실시 예에 따른 메시지 운용 방법은 멀티 페이지 중 특정 페이지에 포함된 데이터 중 미정의된 데이터가 포함되는지 확인하는 동작, 상기 미정의된 데이터가 포함된 경우 상기 특정 페이지의 다음 페이지에 포함된 데이터 중 적어도 일부 데이터와 상기 미정의된 데이터를 통합하는 동작을 포함할 수 있다.
전술한 바와 같은 내용들은 당해 분야 통상의 지식을 가진 자가 후술되는 다양한 실시 예의 구체적인 설명으로부터 보다 잘 이해할 수 있도록 하기 위하여 다양한 실시 예들의 특징들 및 기술적인 장점들을 다소 넓게 약술한 것이다. 이러한 특징들 및 장점들 이외에도 청구범위의 주제를 형성하는 다양한 실시 예들의 추가적인 특징들 및 장점들이 후술되는 구체적인 설명으로부터 잘 이해될 것이다.
상술한 바와 같이 다양한 실시 예에 따른 메시지 운용 방법 및 이를 지원하는 전자 장치에 따르면, 다양한 실시 예는 사용자가 입력한 일정량 이상의 내용 데이터를 포함하는 문자 메시지를 멀티페이지로 변환하는 과정에서 에러가 발생하지 않도록 처리할 수 있다.
도 1은 한 실시 예에 따른 메시지 운용 환경을 도시한다.
도 2는 한 실시 예에 따른 미정의 영역의 데이터들 결합을 기반으로 하는 메시지 운용 방법을 도시한다.
도 3은 한 실시 예에 따른 미정의 데이터 영역의 결합을 기반으로 하는 멀티 페이지 처리를 도시한다.
도 4는 한 실시 예에 따른 메시지 내용 통합 추출을 기반으로 하는 메시지 운용 방법을 도시한다.
도 5는 한 실시 예에 따른 메시지 내용 통합 추출을 기반으로 하는 멀티 페이지 처리를 도시한다.
도 6은 한 실시 예에 따른 메시지 변환 선행을 기반으로 하는 메시지 운용 방법을 도시한다.
도 7은 한 실시 예에 따른 메시지 변환 처리 선행을 기반으로 하는 멀티 페이지 처리를 도시한다.
도 8은 한 실시 예에 따른 멀티 페이지 확인을 기반으로 하는 메시지 운용 방법을 도시한다.
도 9는 한 실시 예에 따른 메시지 송신과 관련한 메시지 운용 방법을 도시한다.
도 10은 한 실시 예에 따른 메시지 송신과 관련한 메시지 처리를 도시한다.
도 11은 한 실시 예에 따른 전자 장치의 메시지 수신 화면 인터페이스를 도시한다.
도 12는 다양한 실시 예에 따른 전자 장치의 블록도이다.
도 2는 한 실시 예에 따른 미정의 영역의 데이터들 결합을 기반으로 하는 메시지 운용 방법을 도시한다.
도 3은 한 실시 예에 따른 미정의 데이터 영역의 결합을 기반으로 하는 멀티 페이지 처리를 도시한다.
도 4는 한 실시 예에 따른 메시지 내용 통합 추출을 기반으로 하는 메시지 운용 방법을 도시한다.
도 5는 한 실시 예에 따른 메시지 내용 통합 추출을 기반으로 하는 멀티 페이지 처리를 도시한다.
도 6은 한 실시 예에 따른 메시지 변환 선행을 기반으로 하는 메시지 운용 방법을 도시한다.
도 7은 한 실시 예에 따른 메시지 변환 처리 선행을 기반으로 하는 멀티 페이지 처리를 도시한다.
도 8은 한 실시 예에 따른 멀티 페이지 확인을 기반으로 하는 메시지 운용 방법을 도시한다.
도 9는 한 실시 예에 따른 메시지 송신과 관련한 메시지 운용 방법을 도시한다.
도 10은 한 실시 예에 따른 메시지 송신과 관련한 메시지 처리를 도시한다.
도 11은 한 실시 예에 따른 전자 장치의 메시지 수신 화면 인터페이스를 도시한다.
도 12는 다양한 실시 예에 따른 전자 장치의 블록도이다.
이하, 첨부된 도면을 참조하여 본 발명(present disclosure)을 설명한다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경 및/또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용되었다.
도 1은 한 실시 예에 따른 메시지 운용 환경을 도시한다.
도 1을 참조하면, 메시지 운용 환경 10은 전자 장치 100, 네트웍 300, 타 전자 장치 101 및 서버 장치 200을 포함할 수 있다.
상기 메시지 운용 환경 10은 전자 장치 100이 복수의 페이지(예: 멀티페이지, 이하 “멀티 페이지” 또는 “복수의 페이지”)로 구성된 메시지를 타 전자 장치 101에 전송하도록 지원할 수 있다. 또한 상기 메시지 운용 환경 10은 타 전자 장치 101이 복수의 페이지로 구성된 메시지를 전자 장치 100에 전송하도록 지원할 수 있다. 한 실시 에에 따르면, 이 과정에서 전자 장치 100은 메시지 내용에서 미정의된 데이터들(예: 메시지 운용에 적용되는 정해진 코드 정보로 정의되지 않은 데이터들)에 대한 처리를 수행하여 타 전자 장치 101에 전송할 수 있다. 예컨대, 전자 장치 100은 복수의 페이지에 포함된 내용에서 미정의된 데이터들을 수집한 후 하나의 페이지에 포함되도록 처리한 후 전송할 수 있다. 한 실시 예에 따르면, 전자 장치 100은 타 전자 장치 101로부터 복수의 페이지로 구성된 메시지를 수신하면, 메시지 내용에서 미정의된 데이터들을 확인할 수 있다. 전자 장치 100은 메시지 내용에 미정의된 데이터들이 존재하면, 미정의된 데이터들을 결합(또는 통합)하여 메시지 운용에 적용되는 정해진 코드 정보를 기반으로 변환(예: decoding) 처리할 수 있다.
네트웍 300은 전자 장치 100과 서버 장치 200 간의 통신 채널, 서버 장치 200과 타 전자 장치 101 간의 통신 채널을 형성할 수 있다. 네트웍 300은 예컨대, 이동통신 기반의 통신 채널, 와이파이 기반의 통신 채널 등 기지국이나 AP(Access Point) 등을 이용한 데이터 전송을 지원할 수 있다. 한 실시 예에 따르면, 네트웍 300은 전자 장치 100로부터 복수의 페이지를 포함하는 메시지를 서버 장치 200에 전송할 수 있다. 네트웍 300은 전자 장치 100이 전달한 복수의 페이지를 서버 장치 200이 타 전자 장치 101에 전송하도록 지원할 수 있다. 한 실시 예에 따르면, 네트웍 300은 타 전자 장치 101로부터 복수의 페이지를 포함하는 메시지를 서버 장치 200에 전송할 수 있다. 네트웍 300은 타 전자 장치 101이 전달한 복수의 페이지를 서버 장치 200이 타 전자 장치 101에 전송하도록 지원할 수 있다. 다양한 실시 예에 따르면, 상술한 메시지 운용 환경 10에서 메시지 전송을 네트웍 300을 통한 전송을 예시하였으나, 다양한 실시 예들은 이에 한정되는 것은 아니다. 예컨대, 전자 장치 100 및 타 전자 장치 101은 근거리 통신 채널 또는 직접 통신 채널을 형성하고, 네트웍 300을 거치지 않고 직접 메시지를 전송할 수도 있다.
서버 장치 200은 네트웍 300과 통신 채널을 형성할 수 있다. 서버 장치 200은 전자 장치 100 또는 타 전자 장치 101로부터 메시지를 수신할 수 있다. 서버 장치 200은 수신된 메시지의 주소 정보를 확인하고, 주소 정보에 따라 타 전자 장치 101 또는 전자 장치 100에 수신된 메시지를 전송할 수 있다. 서버 장치 200은 메시지 전송 제어와 관련하여 메시지 서비스 센터의 구성을 포함할 수 있다. 메시지 서비스 센터의 단문 문자 메시지, 멀티미디어 문자 메시지 등 다양한 메시지 전송을 제어할 수 있다. 한 실시 예에 따르면, 서버 장치 200은 멀티 페이지 메시지를 전자 장치 100과 타 전자 장치 101 간에 전송할 수 있다. 다양한 실시 예에 따르면, 다양한 실시 예들에서 설명한 멀티 페이지의 미정의 데이터 처리 기능은 서버 장치 200에서 처리될 수도 있다. 예컨대, 서버 장치 200은 전자 장치 100이 타 전자 장치 101에 전송하는 멀티 페이지 메시지 내용 중에 미정의된 데이터가 포함된 경우 인접된 다른 미정의된 데이터와 결합하여 메시지 처리를 수행할 수 있다. 그리고 서버 장치 200은 미정의된 데이터가 제거된 멀티 페이지 메시지의 전송을 제어할 수 있다.
타 전자 장치 101은 전자 장치 100과 네트웍 300을 기반으로 통신 채널을 형성할 수 있다. 또는 타 전자 장치 101은 전자 장치 100과 근거리 통신 채널 또는 직접 통신 채널을 형성하고, 이를 기반으로 메시지 전송을 수행할 수 있다. 이러한 타 전자 장치 101은 전자 장치 100과 동일한 장치(예: 스마트폰, 스마트워치 등 메시지 전송이 가능한 장치)일 수 있다.
전자 장치 100은 네트웍 300과 서버 장치 200을 통하여 메시지를 타 전자 장치 101에 전송할 수 있다. 전자 장치 100은 서버 장치 200로부터 타 전자 장치 101이 전송한 메시지를 수신할 수 있다. 또는 전자 장치 100은 직접 통신 채널 또는 근거리 통신 채널을 이용하여 메시지를 타 전자 장치 101에 전송할 수 있다. 한 실시 예에 따르면, 전자 장치 100은 전송할 메시지가 복수의 페이지를 포함하는 경우, 페이지 내용(예: 헤더와 바디로 구조에서 내용이 기입되는 메시지 바디)에 미정의된 데이터가 존재하는지 확인할 수 있다. 전자 장치 100은 미정의된 데이터에 대한 처리(예: 미정의된 데이터들을 하나의 페이지에 배치) 및 변환(예: encoding)를 수행한 후 수정된 메시지를 서버 장치 200을 거쳐 또는 직접적으로 타 전자 장치 101에 전송할 수 있다. 한 실시 예에 따르면, 전자 장치 100은 수신한 메시지가 복수의 페이지를 포함하는 경우, 페이지 내용(예: 헤더와 바디로 구조에서 내용이 기입되는 메시지 바디)에 미정의된 데이터가 존재하는지 확인할 수 있다. 전자 장치 100은 미정의된 데이터에 대한 변환(예: decoding)을 수행하여 출력하거나 저장하도록 제어할 수 있다.
상술한 전자 장치 100은 도시된 바와 같이 통신 인터페이스 110, 입력 모듈 120, 오디오 모듈 130, 표시 모듈 140, 저장 모듈 150 및 제어 모듈 160을 포함할 수 있다. 추가적으로 또는 대체적으로 전자 장치 100의 상술한 모듈들은 타 전자 장치 101에 포함될 수도 있다.
통신 인터페이스 110은 전자 장치 100의 통신 기능을 지원할 수 있다. 전자 장치 100이 복수의 통신 방식을 지원하는 경우 복수개의 통신 모듈을 포함할 수 있다. 예컨대, 통신 인터페이스 110은 타 전자 장치 101과 네트웍 300을 통한 통신 채널을 형성할 수 있다. 통신 인터페이스 110은 전자 장치 100이 기지국 기반의 통신 방식을 지원하는 경우 3G/4G(LTE) 네트웍을 이용하는 통신 모듈, AP(Access Point) 기반의 통신 방식을 지원하는 와이파이 통신 모듈 등을 포함할 수 있다. 또한 통신 인터페이스 110은 타 전자 장치 101과 직접 통신 채널 형성과 관련하여 근거리 통신 모듈 또는 직접 통신 모듈을 포함할 수 있다. 근거리 통신 모듈 또는 직접 통신 모듈은 와이파이 다이렉트 통신 모듈, 블루투스 통신 모듈, 지그비 통신 모듈 등 다양한 통신 모듈 중 적어도 하나를 포함할 수 있다.
한 실시 예에 따르면, 통신 인터페이스 110은 멀티 페이지(또는 복수의 페이지) 메시지를 네트웍 300을 통하여 타 전자 장치 101에 전송할 수 있다. 또는 통신 인터페이스 110은 멀티 페이지 메시지를 타 전자 장치 101에 직접적으로 전송할 수 있다. 통신 인터페이스 110은 멀티 페이지 메시지를 타 전자 장치 101로부터 수신할 수 있다. 이때, 통신 인터페이스 110은 네트웍 300에 연결된 서버 장치 200로부터 메시지를 수신할 수 있다. 예컨대, 타 전자 장치 101은 네트웍 300에 연결된 서버 장치 200에 멀티 페이지 메시지를 전송하고, 서버 장치 200은 통신 인터페이스 110을 통해 전자 장치 100에 멀티 페이지 메시지를 전송할 수 있다.
입력 모듈 120은 전자 장치 100의 입력 신호 생성을 수행할 수 있다. 입력 모듈 120은 물리 키 버튼(예: 홈 키, 사이드 키, 전원 키 등), 죠그 키, 키패드 등을 포함할 수 있다. 입력 모듈 120은 표시 모듈 140에 출력되는 가상 키 패드를 입력 장치로 포함할 수 있다. 입력 모듈 120은 전자 장치 100에 포함된 특정 장치 요소 예컨대 표시 모듈 140, 통신 인터페이스 110 등을 활성화하기 위한 입력 신호를 생성할 수 있다. 한 실시 예에 따르면, 입력 모듈 120은 전자 장치 100의 전원 켜기 또는 끄기와 관련한 입력 신호, 메시지 작성창 활성화와 관련한 입력 신호, 메시지 작성과 관련한 입력 신호, 메시지 전송과 관련한 입력 신호 등의 생성을 사용자 입력에 대응하여 수행할 수 있다. 입력 모듈 120은 타 전자 장치 101로부터 메시지 수신 시 수신된 메시지 확인과 관련한 입력 신호, 수신된 메시지의 저장 또는 삭제 등의 제어와 관련한 입력 신호를 사용자 입력에 대응하여 생성할 수 있다.
오디오 모듈 130은 오디오 처리와 관련한 모듈을 포함할 수 있다. 이와 관련하여 오디오 모듈 130은 스피커 및 마이크 중 적어도 하나를 단수 개 또는 복수 개 포함할 수 있다. 오디오 모듈 130은 예컨대, 메시지 수신 알림을 안내하는 오디오 데이터, 수신 메시지 선택 및 확인과 관련한 효과음, 메시지 삭제 또는 저장 관련 효과음을 출력할 수 있다. 한 실시 예에 따르면, 오디오 모듈 130은 메시지 작성 시 페이지가 복수개의 페이지로 넘어가는 경우 이에 대한 알람음 또는 안내음을 출력할 수 있다.
표시 모듈 140은 전자 장치 100 운용과 관련한 다양한 화면을 출력할 수 있다. 예컨대, 표시 모듈 140은 락 스크린, 대기 화면 등을 출력할 수 있다. 표시 모듈 140은 특정 기능 수행 화면 예컨대 음원 재생 앱 실행 화면, 메시지 수신 알림 화면, 메시지 내용 확인 화면, 메뉴 화면, 적어도 하나의 기능 아이템 배치 화면 등을 출력할 수 있다. 한 실시 예에 따르면, 표시 모듈 140은 메시지 작성 화면을 출력할 수 있다. 메시지 작성 화면은 작성된 메시지가 출력되는 영역, 메시지 작성과 관련하여 문자 입력을 지원하는 가상 키패드 영역, 메시지를 수신할 타 전자 장치 101 정보를 입력하는 정보 입력 영역을 포함할 수 있다. 한 실시 예에 따르면 표시 모듈 140은 단일 페이지의 메시지 작성 화면을 제공할 수 있다. 예컨대, 표시 모듈 140은 메시지 서비스를 제공하는 서비스 사업자가 정한 규정 또는 전자 장치 100 자체 규정에 대응하여 일정 글자수 예컨대 140byte 문자 입력을 지원하는 메시지 작성 화면을 출력할 수 있다. 표시 모듈 140은 문자 메시지 작성과 관련하여 가상 키 입력패드를 출력할 수 있다. 표시 모듈 140은 문자 메시지를 출력하는 과정에서 140byte 이상의 데이터 입력이 수행되면 자동 멀티 페이지 변환을 표시할 수 있다.
한 실시 예에 따르면 표시 모듈 140은 타 전자 장치 101로부터 메시지를 수신하면 이를 출력할 수 있다. 이때, 표시 모듈 140은 제어 모듈 160 제어에 대응하여 미정의된 데이터 처리가 수행된 메시지 화면을 출력할 수 있다.
저장 모듈 150은 전자 장치 100 운용과 관련한 다양한 정보를 저장할 수 있다. 예컨대, 저장 모듈 150은 전자 장치 100에서 실행되는 특정 앱(어플리케이션), 앱 실행에 따른 데이터 등을 저장할 수 있다. 한 실시 예에 따르면, 저장 모듈 150은 적어도 하나의 메시지를 저장할 수 있다. 또한 저장 모듈 150은 적어도 하나의 멀티 페이지 메시지를 저장할 수 있다. 저장 모듈 150은 저장된 메시지에 대한 검색 요청이 발생하면 이에 대한 메시지 리스트를 표시 모듈 140에 제공할 수 있다. 한 실시 예에 따르면, 저장 모듈 150은 제어 모듈 160에 의해 미정의된 데이터들이 처리된 멀티 페이지 메시지를 저장할 수 있다. 멀티 페이지 메시지는 타 전자 장치 101이 전송한 메시지 및 전자 장치 100에서 작성된 메시지 중 적어도 하나를 포함할 수 있다.
버스 170은 전자 장치 100의 각 모듈들(예: 통신 인터페이스 110, 입력 모듈 120, 오디오 모듈 130, 표시 모듈 140, 저장 모듈 150 및 제어 모듈 160 간의 데이터 송수신을 지원할 수 있다. 예컨대, 버스 170은 입력 모듈 120에서 입력된 입력 신호를 제어 모듈 160에 전달할 수 있다. 버스 170은 통신 인터페이스 110이 수신한 멀티 페이지 메시지를 제어 모듈 160, 표시 모듈 140 및 저장 모듈 150 중 적어도 하나에 전달할 수 있다. 버스 170은 제어 모듈 160 제어에 따라 미정의 데이터들이 처리된 멀티 페이지 메시지를 저장 모듈 150에 전달할 수 있다.
제어 모듈 160은 전자 장치 100의 운용과 관련한 데이터의 처리와 전송, 제어 신호의 처리와 전송을 수행할 수 있다. 다양한 실시 예에 따르면, 제어 모듈 160은 미정의 데이터들을 포함하는 멀티 페이지 메시지가 통신 인터페이스 110을 통해 수신되면, 저장 모듈 150에 임시 또는 반영구적으로 저장할 수 있다. 제어 모듈 160은 멀티 페이지 메시지가 표시 모듈 140에 출력 요청되는 경우 미정의 데이터들에 대한 처리를 수행할 수 있다. 제어 모듈 160은 멀티 페이지 메시지 저장 요청에 따라 미정의 데이터들이 처리된 멀티 페이지 메시지 저장을 수행할 수 있다. 다양한 실시 예에 따르면, 제어 모듈 160은 미정의된 데이터들을 포함하는 멀티 페이지 메시지가 통신 인터페이스 110을 통해 수신되면 미정의 데이터들에 대한 처리를 수행할 수 있다. 제어 모듈 160은 미정의 데이터들에 대한 처리가 수행된 멀티 페이지 메시지를 저장 모듈 150에 임시 또는 반영구적으로 저장할 수 있다. 제어 모듈 160은 표시 모듈 140에 멀티 페이지 메시지 출력이 요청되면, 미정의 데이터들이 처리된 멀티 페이지 메시지를 저장 모듈 150에서 읽어서 표시 모듈 140에 출력하도록 제어할 수 있다.
상술한 제어 모듈 160은 메시지 처리와 관련하여 메시지 매니저 180을 포함할 수 있다. 메시지 매니저 180은 메모리 181 및 멀티 페이지 처리 모듈 183을 포함할 수 있다. 한 실시 예에 따르면, 메시지 매니저 180은 메시지가 수신되면 메시지의 헤더 영역을 확인하여 복수의 페이지를 포함하는 멀티 페이지 메시지인지 확인할 수 있다. 메시지 매니저 180은 멀티 페이지 메시지가 수신되면 멀티 페이지 처리 모듈 183에 해당 메시지를 전달할 수 있다.
메시지 매니저 180은 수신된 메시지를 메모리 181에 임시 저장할 수 있다. 예컨대, 메모리 181은 멀티 페이지 메시지에 포함된 멀티 비트 또는 멀티 바이트 유니코드 컨텐츠 중 적어도 일부를 저장할 수 있다. 메모리 181은 멀티 바이트 유니코드 컨텐츠와 관련된 정보를 저장할 수 있다.
메시지 매니저 180은 메시지 작성 환경에서 사용자 입력을 메시지(예: 문자 메시지 등)의 형태로 구성할 수 있다. 메시지 매니저 180은 사용자 입력에 의한 데이터 양을 기준으로 단일 페이지 메시지를 생성할 것인지, 또는 멀티 페이지 메시지로 생성할 것인지를 판단할 수 있다. 예컨대, 메시지 매니저 180은 메시지 규격을 확인하여 사용자 입력에 따른 데이터 양이 한 페이지에 기입될 메시지 내용의 양을 넘어서는 경우 자동으로 멀티 페이지 메시지로 생성하도록 제어할 수 있다. 메시지 매니저 180은 멀티 페이지 처리 모듈 183으로부터 전달받은 정보에 따라 메시지를 생성하거나 복원할 수 있다. 이러한 메시지 매니저 180은 제어 모듈 160의 프레임 워크 레이어에 배치되는 텔레포니(Telephony) 모듈일 수 있다.
한 실시 예에 따르면, 제어 모듈 160은 모뎀 레이어, RIL 레이어, 프레임워크 레이어, 어플리케이션 레이어 구조를 기반으로 메시지 처리를 수행할 수 있다. 모뎀 레이어는 모뎀이 배치되어 신호를 송수신하는 레이어일 수 있다. RIL 레이어는 물리 계층인 모뎀 레이어에 데이터를 전송하거나, 모뎀 레이어로부터 수신된 메시지(예: 멀티 페이지 메시지)를 프레임워크 레이어에 전달하는 역할을 수행할 수 있다. 프레임워크 레이어는 앞서 설명한 텔레포니 모듈이 배치될 수 있으며, 텔레포니 모듈은 다양한 실시 예에서 설명하는 메시지 매니저 180을 포함할 수 있다. 텔레포니 모듈은 멀티 바이트 유니코드 컨텐츠 관리부(예: 멀티 페이지 처리 모듈 183)를 포함할 수 있다. 어플리케이션 레이어에는 메시지 어플리케이션(예: 메시지 작성앱, 수신 메시지 검색 앱, 메시지 수신 처리 앱 중 적어도 하나)이 배치될 수 있다. 메시지 매니저 180은 멀티 페이지 메시지를 수신하면 수신 알림을 메시지 어플리케이션에 전달할 수 있다. 메시지 매니저 180은 멀티 페이지 메시지에 미정의된 데이터가 포함된 경우, 이를 처리하고, 처리된 멀티 페이지 메시지를 메시지 어플리케이션에 전달할 수 있다. 상술한 동작은 멀티 페이지 처리 모듈 183에 의해 처리되고 메시지 어플리케이션에 전달될 수 있다. 다양한 실시 예에 따르면, 멀티 페이지 처리 모듈 183은 메시지 어플리케이션에 포함되도록 설계될 수도 있다. 또한 다양한 실시 예에 따르면 멀티 페이지 처리 모듈 183은 RIL 레이어에 배치되어 멀티 페이지 메시지 수신 시 미정의 데이터 검색 및 처리를 수행할 수도 있다.
메시지 송신 측면에서, 멀티 페이지 처리 모듈 183은 메시지 어플리케이션이 전달하는 데이터를 기반으로 타 전자 장치 101에 전송할 메시지를 생성할 수 있다. 이 과정에서 멀티 페이지 처리 모듈 183은 메시지 규격(예: 80byte 또는 140byte 등)과, 데이터의 코드 타입, 입력되는 데이터의 양 등을 확인하여 단일 페이지 또는 멀티 페이지 발생 여부를 모니터링할 수 있다. 멀티 페이지 처리 모듈 183은 멀티 페이지 적용이 요구되면, 확인된 데이터 코드 타입 및 입력되는 데이터 순서 등을 고려하여 페이지 경계 영역에 정의된 데이터가 배치됨에 따라 미정의 데이터가 발생하는지 확인할 수 있다. 멀티 페이지 처리 모듈 183은 미정의 데이터가 발생하는 것으로 판단되면, 다른 데이터 코드 타입으로의 전환을 가이드하거나, 데이터 삽입에 대한 경고 메시지 출력을 제어할 수 있다.
한 실시 예에 따르면, 메시지 매니저 180은 수신된 메시지가 멀티 페이지 메시지이고 설정된 특정 코드 타입(예: 유니코드 UTF-16 등)인지 여부에 따라 미정의 데이터 처리를 수행할 수 있다. 한 실시 예에 따르면, 메시지 매니저 180은 수신된 메시지가 멀티 페이지 메시지이면 메시지 바디 영역의 데이터들을 추출하고, 추출된 메시비 바디 영역의 데이터들을 통합 또는 결합하여 미정의 데이터 존재 여부에 관계없이 메시지 처리를 수행할 수 있다. 여기서 메시지 바디 영역은 수신된 메시지 또는 송신할 메시지에서 사용자가 입력한 사용자 데이터가 기입되는 영역일 수 이다. 메시지 바디 영역의 전단부에는 메시지 바디 영역을 설명하는 정보들이 배치되는 메시지 헤더 영역이 배치될 수 있다.
한 실시 예에 따르면, 메시지 매니저 180은 수신된 메시지에 대한 메시지 처리(예: 특정 코드 방식으로 메시지 바디 영역의 데이터들을 변환(decoding)하여 스트링(String)을 생성하는 처리)를 수행하는 과정에서 미정의 데이터가 존재하면, 검출된 미정의 데이터와 다른 미정의 데이터를 결합하여 메시지 처리를 수행할 수 있다. 한 실시 예에 따르면, 메시지 매니저 180은 수신된 메시지가 멀티 페이지 메시지이면 미정의 데이터 존재 여부를 확인하고, 그에 따른 미정의 데이터들의 처리를 수행하도록 제어할 수 있다.
한 실시 예에 따르면, 메시지 매니저 180은 메시지가 수신되면 메시지의 문자를 구성하는 정보(예: 코드 정보) 또는 데이터 정의 또는 변환 방식이 하나의 문자나 이모티콘 등에 복수의 바이트를 할당하는 코드 방식(예: 데이터 변환 방식이 유니코드 UTF-16, 32 등의 멀티 바이트 유니코드 컨텐츠)인지를 확인할 수 있다. 메시지 매니저 180은 메시지의 데이터 정의 방식이 복수의 바이트 할당 코드 방식이면, 메시지가 멀티 페이지인지 확인할 수 있다. 메시지 매니저 180은 코드 방식에서 정의된 데이터 크기에 따라 페이지의 일정 위치 예컨대 메시지 바디 영역의 시작이나 마지막 일정 개수의 바이트(예: 유니코드 UTF-32인 경우 Surrogate 영역 크기에 해당하는 두 바이트)가 미정의 데이터인지 확인할 수 있다.
멀티 페이지 처리 모듈 183은 멀티 페이지 메시지의 메시지 바디 영역(예: Userdata의 Bytes 데이터 영역)에서 멀티 바이트 유니코드 컨텐츠를 검출할 수 있다. 멀티 페이지 처리 모듈 183은 멀티 바이트 유니코드 컨텐츠 크기 등을 고려하여 멀티 바이트 유니코드 컨텐츠를 여러 조각으로 나누거나 복원할 수 있다. 멀티 페이지 처리 모듈 183은 멀티 바이트 유니코드 컨텐츠 또는 분할된 멀티 바이트 유니코드 컨텐츠의 각 부분이 메시지 바디 영역(Userdata 영역) 내의 어디에 존재하는지를 관리할 수 있다. 멀티 페이지 처리 모듈 183은 멀티 바이트 유니코드 컨텐츠와 관련된 제반 정보들을 관리할 수 있다.
다양한 실시 예에 따르면, 한 실시 예에 따른 전자 장치 복수의 페이지로 구성된 메시지를 수신하는 통신 인터페이스, 상기 복수의 페이지 중 특정 페이지에 포함된 데이터 중 미정의된 데이터가 존재하는지 확인하고, 상기 미정의된 데이터가 존재하는 경우 상기 특정 페이지의 다음 페이지에 포함된 데이터 중 적어도 일부 데이터와 상기 미정의된 데이터를 결합하는 제어 모듈을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 제어 모듈은 상기 특정 페이지의 후반부 일정 영역에 기입된 데이터가 미정의된 데이터인지 확인하거나, 상기 특정 페이지의 상반부 일정 영역에 기입된 데이터가 미정의된 데이터인지 확인할 수 있다.
다양한 실시 예에 따르면, 상기 제어 모듈은 상기 페이지에 적용된 데이터 변환 정보를 이용하여 데이터 변환 크기를 확인하고, 확인된 상기 데이터 변환 크기 정보에 따라 상기 페이지의 일정 영역에 상기 미정의된 데이터가 존재하는지 확인할 수 있다.
다양한 실시 예에 따르면, 상기 제어 모듈은 상기 일정 영역은 상기 데이터 변환 크기 정보를 이용하여 한 문자를 구성하는 가장 큰 데이터 크기를 확인하고 상기 데이터 크기에 따라 상기 일정 크기 영역을 지정할 수 있다.
다양한 실시 예에 따르면, 상기 제어 모듈은 상기 통합된 데이터를 포함하는 상기 멀티페이지의 내용 데이터를 변환하고 상기 디코딩된 내용 데이터에 해당하는 문자열을 출력하도록 제어할 수 있다.
다양한 실시 예에 따르면, 상기 제어 모듈은 상기 미정의된 데이터를 저장하는 메모리, 상기 다음 페이지의 일정 데이터와 상기 저장된 상기 미정의된 데이터를 결합하는 멀티페이지 처리 모듈을 포함할 수 있다.
다양한 실시 예에 따르면, 한 실시 예에 따른 전자 장치는 작성된 멀티페이지 중 특정 페이지에 포함된 데이터 중 미정의된 데이터가 포함되는지 확인하고, 상기 미정의된 데이터가 포함된 경우 상기 특정 페이지의 다음 페이지에 포함된 데이터 중 적어도 일부 데이터와 상기 미정의된 데이터를 통합하는 제어 모듈, 상기 통합된 데이터를 포함하는 멀티페이지 메시지를 전송하는 통신 인터페이스를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 제어 모듈은 상기 데이터 중 미정의된 데이터가 포함된 경우 상기 미정의된 데이터를 다음 페이지로 이동배치하고 상기 미정의된 데이터 이동에 따라 상기 특정 페이지의 일부 영역을 블랭크 처리하거나 상기 미정의된 데이터가 기입된 영역에 특정 정보를 기입할 수 있따.
다양한 실시 예에 따르면, 상기 제어 모듈은 상기 미정의된 데이터를 결합함에 따라 변경된 특정 페이지의 메시지 바디 크기 값을 해당 페이지의 메시지 헤더에 기입할 수 있다.
다양한 실시 예에 따르면, 한 실시 예에 따른 전자 장치는 멀티 페이지 타입의 메시지를 수신하는 통신 인터페이스, 상기 멀티 페이지들에 포함된 내용 데이터를 추출하고, 상기 추출된 내용 데이터들을 연속 변환하여 메시지 출력을 수행하는 제어 모듈을 포함할 수 있다.
도 2는 한 실시 예에 따른 미정의 영역의 데이터들 결합을 기반으로 하는 메시지 운용 방법을 도시한다.
도 2를 참조하면, 한 실시 예에 따른 메시지운용 방법은 전자 장치 100의 제어 모듈 160이 동작 201에서 전자 장치 100의 기능 운용 또는 대기를 수행할 수 있다. 예컨대, 제어 모듈 160은 슬립 모드 상태(예: 표시 모듈 140이 턴-오프된 상태)를 유지하거나, 락 스크린 상태, 대기 화면 상태 등을 수행할 수 있다. 또는 제어 모듈 160은 스케줄 정보에 따라 또는 입력 이벤트에 따라 특정 기능 예컨대 음원 재생 기능, 파일 재생 기능, 파일 편집 기능, 웹 접속 기능 수행을 지원할 수 있다. 제어 모듈 160은 메시지 수신이 가능하도록 통신 인터페이스 110을 대기 상태로 유지시킬 수 있다.
제어 모듈 160은 동작 203에서 메시지 수신과 관련한 이벤트 발생이 있는지 확인할 수 있다. 예컨대, 제어 모듈 160은 멀티미디어 메시지 또는 단문 문자 메시지(SMS) 수신이 발생하는지 확인할 수 있다.
제어 모듈 160은 동작 203에서 메시지 수신과 관련한 이벤트 발생이 없으면 동작 205로 분기하여 발생된 이벤트 종류에 따른 기능 수행을 제어할 수 있다. 또는 제어 모듈 160은 별도의 이벤트 발생이 없으면 이전 기능 운용 상태를 유지하도록 제어하거나 슬립 모드(예: 표시 모듈 140을 턴-오프 상태로 천이시키는 모드) 진입 또는 이전 상태 유지를 제어할 수 있다.
제어 모듈 160은 동작 203에서 메시지 수신이 발생하면, 동작 207에서 설정된 코드 타입의 데이터(예: 하나의 문자 표현에 복수의 바이트를 할당하는 코드 방식으로 작성된 데이터, UTF-16 등)를 포함하는지 확인할 수 있다. 또한 제어 모듈 160은 동작 207에서 수신된 메시지가 멀티 페이지인지 확인할 수 있다. 이와 관련하여, 제어 모듈 160은 수신된 메시지의 헤더 영역을 확인하여 멀티 페이지 여부를 확인할 수 있다. 이 과정에서 제어 모듈 160은 메시지의 멀티 페이지 여부를 우선 확인하고 설정된 코드 타입 데이터를 포함하는지 확인할 수 있다. 또는 제어 모듈 160은 메시지에 설정된 코드 타입 데이터를 포함하는지 확인한 후 멀티 페이지 여부를 확인할 수도 있다.
동작 207에서 설정된 코드 타입 데이터(예: UTF-16 방식의 데이터)가 존재하고 수신된 메시지가 멀티 페이지인 경우 제어 모듈 160은 동작 209에서 페이지 일정 위치의 데이터가 설정된 범위 값에 포함되는지 여부를 확인할 수 있다. 예컨대, 제어 모듈 160은 멀티 페이지의 경계 영역에 입력된 데이터들 중에서 사전 정의된 규격에서 지정한 서러게이트(Surrogate) 영역을 탐색하여 하나의 문자를 표현하는 데이터가 하나의 페이지에 온전하게 기입되었는지 확인할 수 있다. 또는 제어 모듈 160은 페이지의 일정 위치(예: 페이지의 마지막 두 바이트 영역)에 기입된 데이터가 다음 표 1에서 정의한 값 내에 포함되는지 확인할 수 있다. 표 1은 유니코드 서러게이트 영역 값들을 나타낸다.
D800 | DBFF | 400 | 1024 | High Surrogate Area | 상위 서러게이트 영역 |
DC00 | DFFF | 400 | 1024 | Low Surrogate Area | 하위 서러게이트 영역 |
동작 209에서 일정 위치의 데이터가 설정된 범위 값에 포함되는 경우 제어 모듈 160은 동작 211에서 이전 페이지의 후반부 일정 위치 데이터와 다음 페이지의 전반부 일정 위치 데이터를 결합하여 메시지 변환 처리를 수행할 수 있다. 이 과정에서 제어 모듈 160은 이전 페이지의 후반부 일정 위치 데이터(예: 미정의 데이터)를 메모리 181에 저장하고, 해당 페이지에 분리된 문자열이 있음을 표시(예: 메시지 처리와 관련한 특정 플래그나 레지스터의 값을 변환)할 수 있다. 제어 모듈 160은 다음 페이지의 메시지 처리를 수행하는 과정에서 이전 페이지가 미정의 데이터(예: 분리된 문자열 등)를 포함하는지 확인할 수 있다. 제어 모듈 160은 미정의 데이터를 포함하는 경우, 현재 페이지의 상반부 일정 위치 데이터와 메모리 181에 저장된 미정의 데이터를 결합하여 하나의 문자 처리를 수행할 수 있다. 제어 모듈 160은 멀티 페이지 메시지를 복원하는 과정에서 미정의 데이터를 처리하여 생성한 문자를 이전 페이지의 데이터와 다음 페이지의 데이터 사이에 배치하여 메시지 복원을 수행할 수 있다.
동작 207에서 설정된 코드 타입의 데이터가 없거나 멀티 페이지가 아니면, 제어 모듈 160은 동작 213에서 설정에 따른 메시지 변환 처리를 수행할 수 있다. 예컨대, 제어 모듈 160은 멀티 페이지 메시지가 아닌 경우 단일 페이지 메시지 처리 방식에 따라 메시지 처리를 수행할 수 있다. 또한, 동작 209에서 제어 모듈 160은 일정 위치의 데이터가 설정된 범위 값에 포함되지 않은 경우 또는 정의된 데이터에 해당하는 경우 동작 213에서 설정에 따른 메시지 변환 처리를 수행할 수 있다.
제어 모듈 160은 동작 215에서 전자 장치 100 종료와 관련한 이벤트 발생이 있는지 확인할 수 있다. 종료 관련 이벤트가 발생하면, 제어 모듈 160은 전자 장치 100의 종료(예: 전원 턴-오프 등)를 수행할 수 있다. 제어 모듈 160은 동작 215에서 종료 관련 이벤트 발생이 없으면 동작 203 이전으로 분기하여 이하 과정을 재수행할 수 있다.
다양한 실시 예에 따르면, 한 실시 예에 따른 메시지 운용 방법은 멀티 페이지 중 특정 페이지에 포함된 데이터 중 미정의된 데이터가 포함되는지 확인하는 동작, 상기 미정의된 데이터가 포함된 경우 상기 특정 페이지의 다음 페이지에 포함된 데이터 중 적어도 일부 데이터와 상기 미정의된 데이터를 통합하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 확인하는 동작은 상기 특정 페이지의 후반부 일정 영역에 기입된 데이터가 미정의된 데이터인지 확인하는 동작, 상기 특정 페이지의 상반부 일정 영역에 기입된 데이터가 미정의된 데이터인지 확인하는 동작 중 적어도 하나의 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 확인하는 과정은 상기 페이지에 포함된 적어도 하나의 문자 코드 정보에서 정의한 한 문자의 데이터 크기 정보를 확인하는 과정, 상기 데이터 크기 정보를 기준으로 상기 페이지의 후반부 일정 크기 영역에서 상기 미정의된 데이터 포함 여부를 확인하는 과정을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 확인하는 과정은 상기 페이지에 포함된 적어도 하나의 문자 코드 정보 중 한 문자에 대한 가장 큰 데이터 문자 코드 정보를 확인하는 과정, 상기 페이지의 일정 크기 영역을 상기 가장 큰 데이터 값 내에서 결정하는 과정을 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 방법은 상기 멀티페이지 타입의 문자 메시지를 수신하는 과정, 상기 통합된 데이터를 포함하는 상기 멀티페이지의 내용 데이터를 디코딩하고 상기 디코딩된 내용 데이터에 해당하는 문자열을 출력하는 과정 중 적어도 하나의 과정을 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 방법은 상기 미정의된 데이터를 임시 저장하는 과정, 상기 다음 페이지의 일정 데이터와 상기 임시 저장된 상기 미정의된 데이터를 통합하는 과정을 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 통합하는 과정은 상기 데이터 중 미정의된 데이터가 포함된 경우 상기 미정의된 데이터를 다음 페이지로 이동시키는 과정을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 방법은 상기 미정의된 데이터 이동에 따라 상기 특정 페이지의 일부 영역을 블랭크 처리하는 과정, 상기 미정의된 데이터가 기입된 영역에 특정 정보를 기입하는 과정 중 어느 하나의 과정을 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 방법은 상기 통합된 데이터를 인코딩하는 과정을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 방법은 상기 미정의된 메시지 통합에 따라 변경된 메시지 바디의 크기 값을 메시지 헤더에 기입하는 과정을 더 포함할 수 있다.
도 3은 한 실시 예에 따른 미정의 데이터 영역의 결합을 기반으로 하는 멀티 페이지 처리를 도시한다.
도 3을 참조하면, 전자 장치 100은 페이지 310 및 페이지 320을 포함하는 멀티 페이지 메시지를 수신할 수 있다. 페이지 310은 메시지 헤더 영역 311 및 메시지 바디 영역 310을 포함할 수 있다. 메시지 바디 영역 310은 정의된 코드 데이터가 배치된 정의 영역 312 및 미정의된 코드 데이터가 배치된 미정의 영역 313을 포함할 수 있다. 페이지 320은 메시지 헤더 영역 321 및 메시지 바디 영역 320을 포함할 수 있다. 메시지 바디 영역 320은 미정의된 코드 데이터가 배치된 미정의 영역 322 및 정의된 코드 데이터가 배치된 미정의 영역 322를 포함할 수 있다.
메시지 헤더 영역(UDH : User data Header)은 메시지 바디 영역(Userdata) 앞에 배치되며, 한 페이지로 발신되는 메시지(예: SMS)는 포함하지 않을 수 있다. 메시지 헤더 영역(UDH)는 두 페이지 이상의 멀티 페이지 메시지에 배치되며 reference number, sequence number(현재 페이지), message count (총 개수) 등을 포함할 수 있다. 전자 장치 100은 reference number를 이용하여 멀티 페이지들을 하나의 메시지로 처리할 수 있는 그룹임을 인식할 수 있으며, sequence number에 기입된 순서에 따라 메시지 바디 영역의 데이터들을 조립할 수 있다.
다양한 실시 예에 따르면, 3GPP(3rd Generation Partnership Project)와 3GPP2 통신 네트웍에서의 메시지 헤더 영역의 위치가 다를 수 있지만 전자 장치 100은 TPDU(Transport Protocol Data Unit)내에 현재 페이지가 어떤 encoding type으로 encoding이 되었는지 확인할 수 있다. 3GPP2에서의 인코딩 타입은 메시지 바디 영역(Userdata)내에 존재하고, 3GPP에서의 인코딩 타입은 Data Coding Scheme 영역에 존재할 수 있다.
전자 장치 100의 제어 모듈 160은 페이지 310에 포함된 미정의 영역 313의 데이터를 추출하여 메모리 181에 저장하고, 페이지 320에 포함된 미정의 영역 322의 데이터와 결합하여 문자 처리를 수행할 수 있다. 그리고 전자 장치 100의 제어 모듈 160은 처리된 문자를 정의 영역 312의 데이터와 정의 영역 323 데이터 처리 과정에서 삽입하여 메시지 복원을 수행할 수 있다.
도 4는 한 실시 예에 따른 메시지 내용 통합 추출을 기반으로 하는 메시지 운용 방법을 도시한다.
도 4를 참조하면, 한 실시 예에 따른 메시지 운용 방법은 전자 장치 100의 제어 모듈 160이 동작 401에서 전자 장치 100의 기능 운용 또는 대기를 수행할 수 있다. 이 과정에서 제어 모듈 160은 통신 인터페이스 110을 활성화하여 메시지 수신 대기 상태를 유지하도록 제어할 수 있다.
제어 모듈 160은 동작 403에서 메시지 수신과 관련한 이벤트 발생이 있는지 확인할 수 있다. 제어 모듈 160은 동작 403에서 메시지 수신과 관련한 이벤트 발생이 없으면 동작 405로 분기하여 발생된 이벤트 종류에 따른 기능 수행을 제어할 수 있다. 또는 제어 모듈 160은 별도의 이벤트 발생이 없으면 이전 기능 운용 상태를 유지하도록 제어하거나 슬립 모드(예: 표시 모듈 140을 턴-오프 상태로 천이시키는 모드) 진입을 제어할 수 있다.
제어 모듈 160은 동작 403에서 메시지 수신이 발생하면, 제어 모듈 160은 동작 407에서 수신된 메시지가 멀티 페이지(또는 복수개의 페이지) 메시지인지 확인할 수 있다. 제어 모듈 160은 동작 407에서 수신된 메시지가 멀티 페이지가 아닌 경우 동작 415에서 설정에 따른 메시지 변환 처리를 수행할 수 있다.
제어 모듈 160은 동작 407에서 수신된 메시지가 멀티 페이지 메시지이면 동작 409에서 각 페이지의 내용을 파싱(parsing)할 수 있다. 예컨대, 제어 모듈 160은 각 페이지의 메시지 바디 영역에 배치된 데이터들을 추출할 수 있다. 제어 모듈 160은 동작 411에서 파싱된 내용을 통합할 수 있다. 예컨대, 제어 모듈 160은 각 페이지의 메시지 바디 영역에서 추출한 데이터들을 메모리 181에 순차적으로 배치할 수 있다. 통합 과정에서 제어 모듈 160은 미정의 영역의 데이터들을 결합할 수도 있다.
제어 모듈 160은 동작 413에서 통합 내용에 대한 메시지 변환 처리를 수행할 수 있다. 제어 모듈 160은 메모리 181에 순차 배치된 데이터들을 해당 순서에 대응하여 스트링으로 변환할 수 있다.
제어 모듈 160은 동작 417에서 종료와 관련한 이벤트 발생이 있는지 확인할 수 있다. 제어 모듈 160은 동작 417에서 종료와 관련한 이벤트가 발생하면, 메시지 변환 처리와 관련한 기능 종료 및 전자 장치 100 종료를 제어할 수 있다. 제어 모듈 160은 동작 417에서 종료와 관련한 이벤트 발생이 없으면, 동작 403 이전으로 분기하여 이하 과정을 재수행할 수 있다.
도 5는 한 실시 예에 따른 메시지 내용 통합 추출을 기반으로 하는 멀티 페이지 처리를 도시한다.
도 5를 참조하면, 전자 장치 100은 페이지 501, 페이지 502 및 페이지 503을 포함하는 메시지를 수신할 수 있다. 페이지 501은 메시지 헤더 영역 511 및 메시지 바디 영역 510을 포함할 수 있다. 메시지 바디 영역 510은 정의된 코드 데이터가 배치된 정의 영역 512 및 해당 페이지의 후반부 일정 위치(예: 후반부 2바이트)에 미정의된 코드 데이터들이 배치된 미정의 영역 513을 포함할 수 있다.
페이지 502는 메시지 헤더 영역 521 및 메시지 바디 영역 520을 포함할 수 있다. 메시지 바디 영역 520은 페이지의 상반부 일정 위치(예: 페이지의 시작부 2바이트)에 미정의된 코드 데이터들이 배치된 미정의 영역 522 및 정의된 코드 데이터들이 배치된 정의 영역 523, 페이지의 후반부에 미정의된 코드 데이터들이 배치된 미정의 영역 524를 포함할 수 있다.
페이지 503은 메시지 헤더 영역 531 및 메시지 바디 영역 530을 포함할 수 있다. 메시지 바디 영역 530은 페이지의 상반부 일정 위치에 미정의된 코드 데이터들이 배치된 미정의 영역 532 및 정의된 코드 데이터가 배치된 정의 영역 533을 포함할 수 있다.
전자 장치 100의 제어 모듈 160은 수신된 페이지 501에서 정의된 영역 512의 데이터, 미정의 영역 513의 데이터을 추출할 수 있다. 제어 모듈 160은 추출한 정의된 영역 512의 데이터 및 미정의 영역 513의 데이터를 메모리 181에 저장할 수 있다. 제어 모듈 160은 수신된 페이지 502에서 미정의된 영역 522의 데이터, 정의된 영역 523의 데이터, 미정의 영역 524의 데이터을 추출할 수 있다. 제어 모듈 160은 추출된 미정의된 영역 522의 데이터, 정의된 영역 523의 데이터, 미정의 영역 524의 데이터를 메모리 181에 저장할 수 있다. 이 과정에서 제어 모듈 160은 이전 메모리 181에 저장된 512의 데이터 및 미정의 영역 513의 데이터에 제52 페이지의 데이터들을 연속하여 배치되도록 제어할 수 있다.
제어 모듈 160은 수신된 페이지 503에서 미정의된 영역 532의 데이터, 정의된 영역 533의 데이터를 추출할 수 있다. 제어 모듈 160은 추출된 미정의된 영역 532의 데이터와 정의된 영역 533의 데이터를 페이지 502의 데이터들 기입된 메모리 181에 연속되도록 배치할 수 있다.
제어 모듈 160은 도시된 바와 같이 추출된 데이터들을 통합(또는 결합)할 수 있다. 예컨대, 제어 모듈 160은 정의된 영역 512의 데이터, 미정의 영역 513의 데이터, 미정의된 영역 522의 데이터, 정의된 영역 523의 데이터, 미정의 영역 524의 데이터, 미정의된 영역 532의 데이터, 정의된 영역 533의 데이터 순으로 메모리 181에 배열할 수 있다. 제어 모듈 160은 통합된 데이터들에 대하여 메시지 변환을 수행할 수 있다. 예컨대, 제어 모듈 160은 정의된 영역 512의 데이터에 대한 메시지 변환 후, 미정의된 영역 513의 데이터와 미정의된 영역 522의 데이터를 결합하여 메시지 변환을 수행할 수 있다. 제어 모듈 160은 정의된 영역 523의 데이터에 대한 메시지 변환 후, 미정의된 영역 524의 데이터와 미정의된 영역 532의 데이터를 결합하여 메시지 변환을 수행할 수 있다.
제어 모듈 160은 변환된 메시지들을 표시 모듈 140에 출력하거나 저장 모듈 150에 저장하도록 제어할 수 있다.
도 6은 한 실시 예에 따른 메시지 변환 선행을 기반으로 하는 메시지 운용 방법을 도시한다.
도 6을 참조하면, 한 실시 예에 따른 메시지 운용 방법은 전자 장치 100의 제어 모듈 160이 동작 601에서 전자 장치 100의 기능 운용 또는 대기를 수행할 수 있다. 이 과정에서 제어 모듈 160은 메시지 수신이 가능한 상태가 되도록 통신 인터페이스 110을 제어할 수 있다.
제어 모듈 160은 동작 603에서 메시지 수신과 관련한 이벤트 발생이 있는지 확인할 수 있다. 제어 모듈 160은 동작 603에서 메시지 수신과 관련한 이벤트 발생이 없으면 동작 605로 분기하여 발생된 이벤트 종류에 따른 기능 수행을 제어할 수 있다. 또는 제어 모듈 160은 별도의 이벤트 발생이 없으면 이전 기능 운용 상태를 유지하도록 제어하거나 슬립 모드(예: 표시 모듈 140을 턴-오프 상태로 천이시키는 모드) 진입을 제어할 수 있다.
동작 603에서 메시지 수신이 발생하면, 제어 모듈 160은 동작 607에서 메시지 변환 처리를 수행하면서 미정의 데이터가 존재하는지 확인할 수 있다. 제어 모듈 160은 동작 607에서 메시지 변환 처리 중 미정의 데이터가 검출되면, 동작 609에서 이후 일정 데이터와 미정의 데이터를 결합한 후 처리할 수 있다. 이 과정에서 제어 모듈 160은 미정의 데이터를 메모리 181에 임시 저장한 후, 다음 페이지의 데이터 읽기를 수행할 수 있다. 제어 모듈 160은 다음 페이지의 상반부 일정 위치에 미정의 데이터가 존재하면 메모리 181에 저장된 이전 페이지의 미정의 데이터와 결합할 수 있다. 제어 모듈 160은 결합된 미정의 데이터들에 대하여 스트링 변환을 수행할 수 있다.
제어 모듈 160은 미정의 데이터 결합 처리 후 동작 607 이전으로 분기하여 이하 과정을 재수행할 수 있다. 다양한 실시 예에 따르면, 제어 모듈 160은 수신된 메시지의 마지막 부분에 미정의 데이터가 포함되고 이후 데이터가 존재하지 않으면, 해당 미정의 데이터에 대한 에러 처리(예: 미정의 데이터에 대응하는 정해진 특정 문자 할당)를 수행한 후 동작 611로 분기할 수 있다.
제어 모듈 160은 동작 607에서 미정의 데이터가 존재하지 않으면 메시지 변환 처리를 완료한 후, 동작 611에서 변환된 메시지 저장 및 출력 중 적어도 하나를 수행할 수 있다.
동작 613에서 제어 모듈 160은 종료와 관련한 이벤트 발생이 있는지 확인할 수 있다. 제어 모듈 160은 동작 613에서 종료와 관련한 이벤트가 발생하면, 메시지 변환 처리와 관련한 기능 종료 및 전자 장치 100 종료를 제어할 수 있다. 제어 모듈 160은 동작 613에서 종료와 관련한 이벤트 발생이 없으면, 동작 603 이전으로 분기하여 이하 과정을 재수행할 수 있다.
도 7은 한 실시 예에 따른 메시지 변환 처리 선행을 기반으로 하는 멀티 페이지 처리를 도시한다.
도 7을 참조하면, 전자 장치 100은 페이지 701 및 페이지 702를 포함하는 메시지를 수신할 수 있다. 페이지 701은 메시지 헤더 영역 711 및 메시지 바디 영역 710을 포함할 수 있다. 메시지 바디 영역 710은 정의된 코드 데이터가 배치된 정의 영역 712 및 미정의된 코드 데이터가 배치된 미정의 영역 713을 포함할 수 있다. 페이지 702는 메시지 헤더 영역 721 및 메시지 바디 영역 720을 포함할 수 있다. 메시지 바디 영역 720은 미정의된 코드 데이터가 배치된 미정의 영역 722 및 정의된 코드 데이터가 배치된 정의 영역 723을 포함할 수 있다.
전자 장치 100의 제어 모듈 160은 페이지 701의 메시지 헤더 영역 711을 확인하여 해당 페이지가 멀티 페이지 메시지의 일부 페이지임을 확인할 수 있다. 전자 장치 100의 제어 모듈 160은 메시지 바디 영역 710에 대한 메시지 변환 처리를 수행할 수 있다. 예컨대, 제어 모듈 160은 메시지 바디 영역 710의 상반부 데이터 영역에서부터 일정 비트 또는 바이트 단위(메시지 헤더 영역에 기입된 encoding 타입에서 정의한 데이터 크기 단위)로 데이터를 읽고, 읽어온 데이터에 대한 메시지 변환 처리(예: 스트링 생성)를 수행할 수 있다.
다양한 실시 예에 따르면, 제어 모듈 160은 수신된 메시지들에 적용된 코드 정보를 메시지 헤더 영역을 통하여 확인할 수 있다. 제어 모듈 160은 적용된 코드 정보에서 정의한 문자 기입 데이터 크기(예: UTF-16 코드 정보가 적용된 경우 4바이트 크기)를 기준으로 메시지 바디 영역 710의 각 데이터를 읽어서 그에 대응하는 메시지 변환 처리를 수행할 수 있다. 예컨대, 제어 모듈 160은 정의 영역 712의 데이터들에 대하여 4 바이트 데이터 크기 단위로 메시지 변환 처리를 수행할 수 있다.
정의 영역 712의 데이터들에 대한 메시지 변환 처리가 완료된 후 제어 모듈 160은 미정의 영역 713의 데이터를 메시지 변환 처리하는 과정에서 해당 데이터가 미정의된 데이터임을 알 수 있다. 제어 모듈 160은 미정의 영역 713의 데이터가 미정의된 데이터이면, 페이지 702의 전반부 일정 위치의 데이터 예컨대 미정의 영역 722의 데이터를 미정의 영역 713의 데이터를 결합하여 메시지 처리를 수행할 수 있다. 이후 제어 모듈 160은 정의 영역 723의 데이터에 대한 메시지 처리를 수행할 수 있다. 이 동작에서 제어 모듈 160은 미정의 영역 713의 데이터를 메모리 181에 저장하고, 다음 페이지의 미정의 영역 722의 데이터와 메모리 181에 저장된 데이터를 결합하여 문자 처리할 수 있다. 이후 제어 모듈 160은 정의 영역 723의 데이터에 대한 메시지 처리를 수행할 수 있다.
제어 모듈 160은 변환된 메시지들을 표시 모듈 140에 출력하거나 저장 모듈 150에 저장하도록 제어할 수 있다.
도 8은 한 실시 예에 따른 멀티 페이지 확인을 기반으로 하는 메시지 운용 방법을 도시한다.
도 8을 참조하면, 한 실시 예에 따른 메시지 운용 방법은 전자 장치 100의 제어 모듈 160이 동작 801에서 전자 장치 100의 기능 운용 또는 대기를 수행할 수 있다. 이 과정에서 제어 모듈 160은 통신 인터페이스 110의 전원 공급 및 캠핑 온 과정을 유지하도록 제어할 수 있다. 제어 모듈 160은 동작 803에서 메시지 수신과 관련한 이벤트 발생이 있는지 확인할 수 있다.
제어 모듈 160은 동작 803에서 메시지 수신과 관련한 이벤트 발생이 없으면 동작 805로 분기하여 발생된 이벤트 종류에 따른 기능 수행을 제어할 수 있다. 또는 제어 모듈 160은 별도의 이벤트 발생이 없으면 이전 기능 운용 상태를 유지하도록 제어하거나 슬립 모드(예: 표시 모듈 140을 턴-오프 상태로 천이시키는 모드) 진입을 제어할 수 있다.
동작 803에서 메시지 수신이 발생하면, 제어 모듈 160은 동작 807에서 수신된 메시지가 멀티 페이지인지 여부를 확인할 수 있다. 제어 모듈 160은 수신된 메시지의 헤더 영역을 확인하여, reference number가 복수개의 페이지를 지시하는지 확인할 수 있다. 또는 제어 모듈 160은 멀티 페이지 메시지에만 배치되는 UDH가 존재하는지 확인하여 멀티 페이지 메시지 수신 여부를 확인할 수 있다.
수신된 메시지가 멀티 페이지 메시지이면 제어 모듈 160은 동작 809에서 수신된 메시지 내용 중에 미정의 데이터가 존재하는지 확인할 수 있다. 예컨대, 제어 모듈 160은 메시지 바디 영역의 사전 정의된 일정 위치의 데이터가 미정의된 데이터인지 확인할 수 있다. 여기서 사전 정의된 일정 위치는 메시지 타입(예: 메시지 바디 영역의 크기, 메시지 내용에 포함된 각 문자나 아이콘, 이모티콘 등에 할당되는 데이터 크기(코드 정보) 등)에 따라 다를 수 있다. 메시지 내용에서 미정의 데이터가 존재하면 제어 모듈 160은 동작 811에서 미정의 데이터 처리 및 저장을 수행할 수 있다. 예컨대, 제어 모듈 160은 미정의 데이터들을 결합하여 하나의 문자 처리를 수행하고, 나머지 메시지 내용들에 삽입하여 메시지 복원을 수행할 수 있다. 제어 모듈 160은 수신된 멀티 페이지 메시지를 저장 모듈 150에 저장할 수 있다. 여기서 제어 모듈 160은 메시지 수신 알림을 처리할 수 있다.
제어 모듈 160은 동작 807에서 수신된 메시지가 멀티 페이지가 아니면 동작 813으로 분기하여 메시지 관련 기능을 수행하도록 제어할 수 있다. 예컨대, 제어 모듈 160은 단일 페이지의 메시지 헤더 영역에 기입된 메시지 변환 타입(예: 인코딩 타입)에 따라 일정 비트 또는 바이트 크기별로 데이터를 읽고, 읽어온 데이터에 매핑된 스트링을 출력할 수 있다.
제어 모듈 160은 동작 809에서 수신된 메시지에 미정의된 데이터가 존재하지 않으면 동작 813으로 분기하여 메시지 관련 기능을 수행하도록 제어할 수 있다. 제어 모듈 160은 멀티 페이지 중 첫번째 페이지의 메시지 헤더 영역을 확인하여 인코딩 정보를 확인하고, 이를 기반으로 스트링 변환을 제어할 수 있다.
제어 모듈 160은 동작 815에서 메시지 출력과 관련한 이벤트 발생이 있는지 확인할 수 있다. 동작 815에서 메시지 출력과 관련한 이벤트 발생이 있으면, 제어 모듈 160은 동작 817에서 메시지 출력을 수행할 수 있다. 동작 815에서 메시지 출력과 간련한 이벤트 발생이 없으면, 제어 모듈 160은 동작 817을 스킵할 수 있다.
제어 모듈 160은 동작 819에서 전자 장치 100의 종료와 관련한 이벤트 발생이 있는지 확인할 수 있다. 제어 모듈 160은 동작 819에서 종료와 관련한 이벤트가 발생하면, 메시지 변환 처리와 관련한 기능 종료 및 전자 장치 100 종료를 제어할 수 있다. 제어 모듈 160은 동작 819에서 종료와 관련한 이벤트 발생이 없으면, 동작 803 이전으로 분기하여 이하 과정을 재수행할 수 있다.
도 9는 한 실시 예에 따른 메시지 송신과 관련한 메시지 운용 방법을 도시한다.
도 9를 참조하면, 한 실시 예에 따른 메시지 운용 방법은 전자 장치 100의 제어 모듈 160이 동작 901에서 전자 장치 100의 기능 운용 또는 대기를 수행할 수 있다. 제어 모듈 160은 동작 903에서 메시지 송신과 관련한 이벤트 발생이 있는지 확인할 수 있다. 제어 모듈 160은 동작 903에서 메시지 송신과 관련한 이벤트 발생이 없으면 동작 905로 분기하여 발생된 이벤트 종류에 따른 기능 수행을 제어할 수 있다. 또는 제어 모듈 160은 별도의 이벤트 발생이 없으면 이전 기능 운용 상태를 유지하도록 제어하거나 슬립 모드(예: 표시 모듈 140을 턴-오프 상태로 천이시키는 모드) 진입을 제어할 수 있다.
제어 모듈 160은 동작 903에서 메시지 송신과 관련한 이벤트가 발생하면, 메시지 송신 관련 처리를 수행할 수 있다. 예컨대, 제어 모듈 160은 메시지 작성창 출력, 가상 입력 키패드 또는 물리 키패드 등을 기반으로 입력된 사용자 입력에 대응하는 문자 입력 및 표시 모듈 140에 출력하는 기능을 제어할 수 있다. 타 전자 장치 101의 전화 번호나 폰북 정보 입력 후 메시지 전송이 요청되면 제어 모듈 160은 동작 907에서 송신할 메시지가 멀티 페이지 메시지인지 여부를 확인할 수 있다.
송신할 메시지가 멀티 페이지이면 제어 모듈 160은 동작 909에서 페이지별 미정의 데이터가 존재하는지 확인할 수 있다. 동작 909에서 페이지별 미정의 데이터가 존재하는 경우 제어 모듈 160은 동작 911에서 페이지 처리를 수행할 수 있다. 한 실시 예에 따르면, 제어 모듈 160은 특정 페이지에 배치된 미정의 데이터를 추출하여 다음 페이지의 상반부 일정 영역에 배치할 수 있다. 제어 모듈 160은 동작 913에서 페이지 처리된 메시지를 타 전자 장치 101에 전송할 수 있다.
제어 모듈 160은 동작 915에서 전자 장치 100의 종료와 관련한 이벤트 발생이 있는지 확인할 수 있다. 제어 모듈 160은 동작 915에서 종료와 관련한 이벤트가 발생하면, 메시지 변환 처리와 관련한 기능 종료 및 전자 장치 100 종료를 제어할 수 있다. 제어 모듈 160은 동작 915에서 종료와 관련한 이벤트 발생이 없으면, 동작 903 이전으로 분기하여 이하 과정을 재수행할 수 있다.
다양한 실시 예에 따르면, 메시지 작성창에서 사용자 입력에 의해 데이터 크기가 정해진 일정 크기(예: 메시지 규격에서 정의된 일정 바이트 크기) 이상이 되어 멀티 페이지 작성이 되는 경우, 제어 모듈 160은 미정의 데이터 존재 여부를 확인할 수 있다. 예컨대, 제어 모듈 160은 특정 페이지의 후반부 일정 영역의 크기가 기입할 데이터의 크기와 동일한지 또는 이상인지 확인할 수 있다. 다양한 실시 에에 따르면, 제어 모듈 160은 특정 페이지의 후반부 일정 영역의 크기가 남은 상태에서 사용자 입력에 의해 기입할 데이터가 멀티 유니코드와 같이 일정 영역의 크기보다 큰 데이터인지 확인할 수 있다.
제어 모듈 160은 특정 페이지의 후반부 일정 영역의 크기가 기입할 데이터의 크기보다 작은 경우, 기입할 데이터(예: 멀티 유니코드 데이터)를 다음 페이지의 상반부터 기입할 수 있다. 제어 모듈 160은 데이터가 기입되지 않은 메시지 바디 영역을 버리거나(Discard) 특정 정보(예: 스페이스(Space) 데이터)를 기입할 수 있다. 데이터가 기입되지 않은 영역을 버리는 경우, 제어 모듈 160은 메시지 헤더 영역의 메시지 바디 영역에 대한 정의를 변경할 수 있다. 예컨대, 메시지 바디 영역의 전체 크기가 140byte이고, 138byte의 데이터가 메시지 바디 영역에 기입되면, 메시지 헤더 영역에는 메시지 바디 영역의 크기 정보로 138이 기입될 수 있다.
다양한 실시 예에 따르면, UTF-16 코딩 방식에 따른 멀티 페이지 메시지의 경우, 제어 모듈 160은 특정 페이지의 마지막 2바이트가 Unicode Surrogate 범위이면 2바이트에 Space를 채울 수 있다. 다양한 실시 예에 따르면, 제어 모듈 160은 특정 페이지의 마지막 2바이트가 Unicode Surrogate 범위이면 2바이트에 Carriage Return 혹은 Line Feed를 채울 수 있다. 다양한 실시 예에 따르면, 제어 모듈 160은 특정 페이지의 마지막 2바이트가 Unicode Surrogate 범위이면 UDH에 UTF-32 Character가 있음을 표시하고 타 전자 장치 101에서 메시지 변환(예: Decoding) 시에 해당 값을 읽어 UTF-32 Character를 검출 후 정상적으로 decoding하도록 지원할 수 있다.
제어 모듈 160은 사용자가 UTF-32 문자열 중 하나를 입력하면 표시 모듈 140 및 오디오 모듈 130 중 적어도 하나를 이용하여 경고 메시지를 출력하고, 다른 서비스 방식(예: SMS, MMS나 SNS, 채팅 채널 중 적어도 하나)을 이용할 것을 안내할 수 있다. 다양한 실시 예에 따르면, 멀티 페이지 작성 과정에서 멀티 페이지들의 경계 영역 예컨대 현재 페이지의 후반부 일정 영역과 다음 페이지 전반부 일정 영역에 특정 문자 코드 정보(예: UTF-32 등 하나의 정보를 표시하는 과정에서 멀티 바이트가 요구되는 데이터)에 따른 데이터가 기입되어야 하는 경우 제어 모듈 160은 표시 모듈 140 및 오디오 모듈 130 중 적어도 하나를 이용하여 경고 메시지를 출력하도록 제어할 수 있다. 예컨대, 표시 모듈 140은 다른 데이터(단일 바이트가 요구되는 데이터) 입력을 요청하는 메시지를 출력하거나, 멀티 바이트 입력에 따라 페이지가 늘어날 수 있음을 안내하는 메시지를 출력할 수 있다.
다양한 실시 예에 따르면, 제어 모듈 160은 사용자가 멀티 바이트 유니코드 타입의 데이터(예: Emoji) 사용 시 호환성을 위해 특정 코드 타입(예: 7BIT SMILEY)으로 변환할 것인지 확인요청할 수 있다. 제어 모듈 160은 해당 확인 요청에 대한 답변이 수신되면 미정의 데이터들에 대하여 전자 장치 100에 설치된 자체 코드 테이블(예: SMILEY TABLE)과 매칭시켜 메시지 처리를 수행할 수 있다.
도 10은 한 실시 예에 따른 메시지 송신과 관련한 메시지 처리를 도시한다.
도 10을 참조하면, 제어 모듈 160은 송신할 메시지가 페이지 1001 및 페이지 1002를 포함하는 멀티 페이지(또는 복수의 페이지)이면, 페이지에 미정의 데이터가 포함되어 있는지 확인할 수 있다.
여기서 페이지 1001은 메시지 헤더 영역 1011 및 메시지 바디 영역 1010을 포함할 수 있다. 제1002 페이지는 메시지 헤더 영역 1021 및 메시지 바디 영역 1020을 포함할 수 있다. 메시지 바디 영역 1010에는 1001 정의된 영역 1012 및 특정 정보(예: space, line-feed, carriage return 등)가 기입되거나 또는 제거되는 미정의 영역 1013이 포함될 수 있다. 제어 모듈 160은 송신할 메시지 바디 영역에 도시된 바와 같이 미정의된 영역 1013에 데이터가 존재하면, 미정의된 영역 1013의 데이터를 추출할 수 있다.
제어 모듈 160은 추출된 미정의된 영역 1013의 데이터를 페이지 1002의 일정 위치에 배치할 수 있다. 예컨대 제어 모듈 160은 추출된 미정의된 영역 1013의 데이터를 페이지 1002의 전반부에 위치하는 미정의된 영역 1023 앞에 배치할 수 있다. 이와 관련하여, 제어 모듈 160은 페이지 1002의 내용 중 미정의된 영역 1023의 데이터와 정의된 영역 1024의 데이터를 메시지 바디 영역 1020 내에서 일정 데이터 영역(미정의된 영역 1013의 크기)만큼 이동(shift)시킬 수 있다. 이에 따라, 제어 모듈 160은 미정의된 영역 1013의 데이터와 미정의된 영역 1023의 데이터를 연속하여 배치할 수 있다. 이러한 동작은 메시지 어플리케이션에서 사용자가 입력한 사용자 데이터를 기반으로 전송할 메시지를 생성하는 과정에서 수행될 수 있다. 예컨대, 제어 모듈 160은 메시지 어플리케이션으로부터 멀티 페이지를 생성해야 할 분량의 사용자 데이터를 수신하면, 해당 데이터의 일정 영역 예컨대 메시지 규격으로 구분되는 페이지의 경계 영역에 멀티 바이트 코드 타입의 데이터가 배치되는지 확인할 수 있다. 제어 모듈 160은 경계 영역에 멀티 바이트 코드 타입의 데이터가 배치되는 경우 상술한 동작을 수행하여 미정의된 데이터로 기입되지 않고 온전히 정의된 데이터로 기입되도록 제어할 수 있다. 여기서 제어 모듈 160은 페이지들의 경계 영역에 배치된 일부 데이터를 다음 페이지의 전반부에 배치하도록 제어할 수 있다.
상술한 과정에서 제어 모듈 160은 미정의된 영역 1013의 데이터 추가로 인하여 전체 메시지 내용이 메시지 바디 영역 1020의 정해진 크기를 넘는 경우, 새로운 1003 페이지를 생성하고, 일정 크기의 데이터를 1003 페이지에 기입하도록 제어할 수 있다. 제어 모듈 160은 미정의된 영역의 데이터들을 연속하여 배치하는 작업이 완료되면 해당 메시지를 타 전자 장치 101에 전송하도록 제어할 수 있다.
다양한 실시 예에 따르면, 제어 모듈 160은 메시지 작성과 관련하여 사용자 데이터가 입력되는 경우 실시간 처리를 수행할 수도 있다. 예컨대, 제어 모듈 160은 사용자 데이터가 입력되는 순서대로 메시지 바디 영역에 데이터를 기입하다가, 메시지 바디 영역의 후반부 일정 영역이 되면, 멀티 바이트 코드 타입의 데이터 중 일부 데이터(일부만 기재됨에 따라 미정의되는 데이터)만 해당 영역에 기입되는지 확인할 수 있다. 제어 모듈 160은 일부 데이터만 해당 영역에 기입되어야 하는 경우, 새로 페이지를 생성하고, 생성된 페이지에 하나의 문자나 아이콘, 이모지 등에 대응하는 데이터를 기입할 수 있다. 여기서 제어 모듈 160은 페이지 생성 이전에 코드 타입을 변경할 것인지에 대한 가이드 기능, 멀티 페이지 생성이 요구됨을 안내하는 경고 메시지 출력 등을 수행할 수 있다.
도 11은 한 실시 예에 따른 전자 장치의 메시지 수신 화면 인터페이스를 도시한다.
도 11에서, 1101 상태는 미정의된 영역의 데이터 처리를 수행하지 않음에 따라 에러가 발생한 메시지 상태를 나타낸 것이다. 예컨대, 미정의된 데이터 처리가 정상적으로 수행되지 않으면 1101의 메시지 에러 영역 1110이 표시 모듈 140에 출력될 수 있다. 예컨대, 메시지 에러 영역 1110은 복수의 미정의된 데이터들에 의해 복수의 메시지 에러들이 출력될 수 있다.
1103 상태는 미정의된 영역의 데이터 처리를 수행하여 에러가 발생하지 않는 상태를 나타낸 것이다. 도시된 바와 같이 메시지 에러가 없는 메시지 내용 1120이 출력될 수 있다. 미정의된 데이터들이 하나의 문자나 이모지, 이모티콘, 아이콘 등으로 처리됨에 따라 메시지 에러 영역 1110에 비하여 표시되는 문자가 하나가 적은 상태의 메시지 내용 1120이 표시 모듈 140에 출력될 수 있다.
도 12는 다양한 실시 예에 따른 전자 장치의 블록도이다.
도 12를 참조하면, 전자 장치 1200은 예를 들면, 도 1에 도시된 전자 장치 100의 전체 또는 일부를 구성할 수 있다.
도 12를 참조하면, 상기 전자 장치 1200은 하나 이상의 어플리케이션 프로세서(AP: application processor) 1210(예: 도 1의 제어 모듈 160), 통신 모듈 1220(예: 도 1의 통신 인터페이스 110), SIM(subscriber identification module) 카드 1224, 메모리 1230(예: 도 1의 저장 모듈 150), 센서 모듈 1240, 입력 장치 1250(예: 도 1의 입력 모듈 120), 디스플레이 1260(예: 도 1의 표시 모듈 140), 인터페이스 1270, 오디오 모듈 1280(예: 도 1의 오디오 모듈 130), 카메라 모듈 1291, 전력관리 모듈 1295, 배터리 1296, 인디케이터 1297 및 모터 1298을 포함할 수 있다.
상기 AP 1210은 운영체제 또는 응용 프로그램을 구동하여 상기 AP 1210에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 멀티미디어 데이터를 포함한 각종 데이터 처리 및 연산을 수행할 수 있다. 상기 AP 1210은, 예를 들면, SoC(system on chip) 로 구현될 수 있다. 한 실시예에 따르면, 상기 AP 1210은 GPU(graphic processing unit, 미도시)를 더 포함할 수 있다. 한 실시 예에 따르면, 상술한 데이터 타입 변환 처리와 연관된 다양한 모듈들이 AP 1210에 구현될 수 있다. AP 1210은 관련 모듈들의 제어를 수행하여, 멀티 페이지 메시지의 미정의 데이터들에 대한 처리를 제어할 수 있다.
한 실시 예에 따르면, 멀티 페이지 메시지의 미정의 데이터들에 대한 처리와 연관된 다양한 모듈들은 CP(Communication Processor) 및 AP 중 적어도 하나에 분리되어 배치될 수 있다. 이 동작에서 CP가 제어하는 모듈들은 CP와 동일 칩셋 내에서 직접 통신(direct communication)이 가능하도록 배치되거나, CP와 외부 인터페이스(external interface)를 통해 연결되도록 하드웨어가 구성될 수 있다.
한 실시 예에 따르면, 멀티 페이지 메시지의 미정의 데이터들에 대한 처리와 연관된 다양한 모듈들은 CP에 배치될 수 있다. 관련 모듈들의 제어는 CP가 수행할 수 있다. 이 경우 CP와 셀룰러 통신 모듈, WiFi 모듈이 통신 가능하도록 연결될 수 있다. 이와 관련하여, 각 구성들은 동일 칩셋 내에서 시스템 버스(system bus)로 연결되어 AP(Application processor)가 전원 절약 모드(power saving mode)인 경우에도 서로 통신 가능하도록 연결될 수 있다. 각 구성들은 서로 다른 칩셋으로 구성될 경우 외부 인터페이스(external interface)로 연결되어 AP(Application processor)를 통하지 않는 통신(communication)이 가능하도록 하드웨어가 구성될 수 있다.
상기 통신 모듈 1220은 상기 전자 장치 1200(예: 상기 전자 장치 100)과 네트웍을 통해 연결된 서버 장치 200 간의 통신에서 데이터 송수신을 수행할 수 있다. 한 실시예에 따르면, 상기 통신 모듈 1220은 셀룰러 모듈 1221, Wifi 모듈 1223, BT 모듈 1225, GPS 모듈 1227, NFC 모듈 1228 및 RF(radio frequency) 모듈 1229를 포함할 수 있다.
상기 셀룰러 모듈 1221은 통신망(예: LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro 또는 GSM 등)을 통해서 음성 통화, 영상 통화, 문자 서비스 또는 인터넷 서비스 등을 제공할 수 있다. 또한, 상기 셀룰러 모듈 1221은, 예를 들면, 가입자 식별 모듈(예: SIM 카드 1224)을 이용하여 통신 네트워크 내에서 전자 장치의 구별 및 인증을 수행할 수 있다. 한 실시예에 따르면, 상기 셀룰러 모듈 1221은 상기 AP 1210이 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 예를 들면, 상기 셀룰러 모듈 1221은 멀티 미디어 제어 기능의 적어도 일부를 수행할 수 있다.
한 실시예에 따르면, 상기 셀룰러 모듈 1221은 커뮤니케이션 프로세서(CP: communication processor)를 포함할 수 있다. 또한, 상기 셀룰러 모듈 1221은, 예를 들면, SoC로 구현될 수 있다. 도 12에서는 상기 셀룰러 모듈 1221(예: 커뮤니케이션 프로세서), 상기 메모리 1230 또는 상기 전력관리 모듈 1295 등의 구성요소들이 상기 AP 1210과 별개의 구성요소로 도시되어 있으나, 한 실시예에 따르면, 상기 AP 1210이 전술한 구성요소들의 적어도 일부(예: 셀룰러 모듈 1221)를 포함하도록 구현될 수 있다.
한 실시예에 따르면, 상기 AP 1210 또는 상기 셀룰러 모듈 1221(예: 커뮤니케이션 프로세서)은 각각에 연결된 비휘발성 메모리 또는 다른 구성요소 중 적어도 하나로부터 수신한 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리할 수 있다. 또한, 상기 AP 1210 또는 상기 셀룰러 모듈 1221은 다른 구성요소 중 적어도 하나로부터 수신하거나 다른 구성요소 중 적어도 하나에 의해 생성된 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
다양한 실시 예에 따르면, 셀룰러 모듈 1221은 도 1에서 설명한 통신 인터페이스 110에 포함될 수 있다. 셀룰러 모듈 1221은 전자 장치 100의 음성 명령어 처리를 수행하는 동작에서 서버 장치 200과 통신 채널을 형성할 수 있다. 또한 셀룰러 모듈 1221은 전자 장치의 멀티 페이지 메시지를 서버 장치 200 또는 타 전자 장치 101에 전송할 수 있다. 또한 셀룰러 모듈 1221은 타 전자 장치 101이 전송한 멀티 페이지 메시지를 수신할 수 있다.
상기 Wifi 모듈 1223, 상기 BT 모듈 1225, 상기 GPS 모듈 1227 또는 상기 NFC 모듈 1228 각각은, 예를 들면, 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다. Wifi 모듈 1223, 상기 BT 모듈 1225는 통신 인터페이스 110 및 서브 통신 모듈 230 중 적어도 하나에 포함될 수 있다. GPS 모듈 1227은 통신 인터페이스 110에 포함될 수 있다.
도 12에서는 셀룰러 모듈 1221, Wifi 모듈 1223, BT 모듈 1225, GPS 모듈 1227 또는 NFC 모듈 1228이 각각 별개의 블록으로 도시되었으나, 한 실시예에 따르면, 셀룰러 모듈 1221, Wifi 모듈 1223, BT 모듈 1225, GPS 모듈 1227 또는 NFC 모듈 1228 중 적어도 일부(예: 두 개 이상)는 하나의 integrated chip(IC) 또는 IC 패키지 내에 포함될 수 있다. 예를 들면, 셀룰러 모듈 1221, Wifi 모듈 1223, BT 모듈 1225, GPS 모듈 1227 또는 NFC 모듈 1228 각각에 대응하는 프로세서들 중 적어도 일부(예: 셀룰러 모듈 1221에 대응하는 커뮤니케이션 프로세서 및 Wifi 모듈 1223에 대응하는 Wifi 프로세서)는 하나의 SoC로 구현될 수 있다.
다양한 실시 예에 따르면, Wifi 모듈 1223은 도 1에서 설명한 통신 인터페이스 110 에 포함될 수 있다. Wifi 모듈 1223은 앞서 설명한 바와 같이 전자 장치 100과 타 전자 장치 101 간의 통신 채널을 형성할 수 있다. Wifi 모듈 1223은 멀티 페이지 메시지를 타 전자 장치 101에 전송하거나, 타 전자 장치 101로부터 멀티 페이지 메시지를 수신할 수 있다.
상기 RF 모듈 1229는 데이터의 송수신, 예를 들면, RF 신호의 송수신을 할 수 있다. 상기 RF 모듈 1229는, 도시되지는 않았으나, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter) 또는 LNA(low noise amplifier) 등을 포함할 수 있다. 또한, 상기 RF 모듈 1229는 무선 통신에서 자유 공간상의 전자파를 송수신하기 위한 부품, 예를 들면, 도체 또는 도선 등을 더 포함할 수 있다. 도 12에서는 셀룰러 모듈 1221, Wifi 모듈 1223, BT 모듈 1225, GPS 모듈 1227 및 NFC 모듈 1228이 하나의 RF 모듈 1229를 서로 공유하는 것으로 도시되어 있으나, 한 실시예에 따르면, 셀룰러 모듈 1221, Wifi 모듈 1223, BT 모듈 1225, GPS 모듈 1227 또는 NFC 모듈 1228 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호의 송수신을 수행할 수 있다.
상기 SIM 카드 1224는 가입자 식별 모듈을 포함하는 카드일 수 있으며, 전자 장치의 특정 위치에 형성된 슬롯에 삽입될 수 있다. 상기 SIM 카드 1224는 고유한 식별 정보(예: ICCID(integrated circuit card identifier)) 또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다. 한 실시 예에 따르면, SIM 카드 1224는 메모리 장치 200의 일부 구성일 수 있다. SIM 카드 1224가 슬롯에 삽입되면 AP 1210은 SIM 카드 1224의 초기화 동작을 수행할 수 있다.
상기 메모리 1230(예: 상기 저장 모듈 150)은 내장 메모리 1232 또는 외장 메모리 1234를 포함할 수 있다. 상기 내장 메모리 1232는, 예를 들면, 휘발성 메모리(예를 들면, DRAM(dynamic RAM), SRAM(static RAM), SDRAM(synchronous dynamic RAM) 등) 또는 비휘발성 메모리(non-volatile Memory, 예를 들면, OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, NAND flash memory, NOR flash memory 등) 중 적어도 하나를 포함할 수 있다. 한 실시예에 따르면, 상기 내장 메모리 1232는 Solid State Drive (SSD)일 수 있다.
상기 외장 메모리 1234는 flash drive, 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital) 또는 Memory Stick 등을 더 포함할 수 있다. 상기 외장 메모리 1234는 다양한 인터페이스를 통하여 상기 전자 장치 1200과 기능적으로 연결될 수 있다. 한 실시예에 따르면, 상기 전자 장치 1200은 하드 드라이브와 같은 저장 장치(또는 저장 매체)를 더 포함할 수 있다. 상기 메모리 1230은 멀티 페이지 메시지를 저장할 수 있다. 이때 저장된 멀티 페이지 메시지는 미정의 데이터들을 처리하기 이전 데이터들을 포함하는 메시지 및 미정의 데이터들이 처리된 메시지 중 적어도 하나일 수 있다.
상기 센서 모듈 1240은 물리량을 계측하거나 전자 장치 1200의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 상기 센서 모듈 1240은, 예를 들면, 제스처 센서 1240A, 자이로 센서 1240B, 기압 센서 1240C, 마그네틱 센서 1240D, 가속도 센서 1240E, 그립 센서 1240F, 근접 센서 1240G, color 센서 1240H(예: RGB(red, green, blue) 센서), 생체 센서 1240I, 온/습도 센서 1240J, 조도 센서 1240K 또는 UV(ultra violet) 센서 1240M 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 센서 모듈 1240은, 예를 들면, 후각 센서(E-nose sensor, 미도시), EMG 센서(electromyography sensor, 미도시), EEG 센서(electroencephalogram sensor, 미도시), ECG 센서(electrocardiogram sensor, 미도시), IR(infrared) 센서(미도시), 홍채 센서(미도시) 또는 지문 센서(미도시) 등을 포함할 수 있다. 상기 센서 모듈 1240은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다.
상기 입력 장치 1250은 터치 패널(touch panel) 1252, (디지털) 펜 센서(pen sensor) 1254, 키(key) 1256 또는 초음파(ultrasonic) 입력 장치 1258을 포함할 수 있다. 입력 장치 1250은 도 1에서 설명한 입력 모듈 120을 포함할 수 있다.
상기 터치 패널 1252는, 예를 들면, 정전식, 감압식, 적외선 방식 또는 초음파 방식 중 적어도 하나의 방식으로 터치 입력을 인식할 수 있다. 또한, 상기 터치 패널 1252는 제어 회로를 더 포함할 수도 있다. 정전식의 경우, 물리적 접촉 또는 근접 인식이 가능하다. 상기 터치 패널 1252는 택타일 레이어(tactile layer)를 더 포함할 수도 있다. 이 경우, 상기 터치 패널 1252는 사용자에게 촉각 반응을 제공할 수 있다.
상기 (디지털) 펜 센서 1254는, 예를 들면, 사용자의 터치 입력을 받는 것과 동일 또는 유사한 방법 또는 별도의 인식용 쉬트(sheet)를 이용하여 구현될 수 있다. 상기 키 1256은, 예를 들면, 물리적인 버튼, 광학식 키 또는 키패드를 포함할 수 있다. 키 1256 중 적어도 하나의 키 예컨대 홈 키 등은 음성 검색 기능 활성화와 관련한 키 이벤트 또는 음성 명령어 제공 기능 활성화와 관련한 키 이벤트를 생성할 수 있다. 상기 초음파(ultrasonic) 입력 장치 1258은 초음파 신호를 발생하는 입력 도구를 통해, 전자 장치 1200에서 마이크(예: 마이크 1288)로 음파를 감지하여 데이터를 확인할 수 있는 장치로서, 무선 인식이 가능하다. 한 실시예에 따르면, 상기 전자 장치 1200은 상기 통신 모듈 1220을 이용하여 이와 연결된 외부 장치(예: 컴퓨터 또는 서버 장치, 주변 장치 등)로부터 사용자 입력을 수신할 수도 있다.
상기 디스플레이 1260(예: 표시 모듈 140)은 패널 1262, 홀로그램 장치 1264 또는 프로젝터 1266을 포함할 수 있다. 상기 패널 1262는, 예를 들면, LCD(liquid-crystal display) 또는 AM-OLED(active-matrix organic light-emitting diode) 등일 수 있다. 상기 패널 1262는, 예를 들면, 유연하게(flexible), 투명하게(transparent) 또는 착용할 수 있게(wearable) 구현될 수 있다. 상기 패널 1262는 상기 터치 패널 1252와 하나의 모듈로 구성될 수도 있다. 상기 홀로그램 장치 1264는 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 상기 프로젝터 1266은 스크린에 빛을 투사하여 영상을 표시할 수 있다. 상기 스크린은, 예를 들면, 상기 전자 장치 1200의 내부 또는 외부에 위치할 수 있다. 한 실시예에 따르면, 상기 디스플레이 1260은 상기 패널 1262, 상기 홀로그램 장치 1264, 또는 프로젝터 1266을 제어하기 위한 제어 회로를 더 포함할 수 있다.
상기 인터페이스 1270은, 예를 들면, HDMI(high-definition multimedia interface) 1272, USB(universal serial bus) 1274, 광 인터페이스(optical interface) 1276 또는 D-sub(D-subminiature) 1278을 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 인터페이스 1270은, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD(secure Digital) 카드/MMC(multi-media card) 인터페이스 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
상기 오디오 모듈 1280(예: 도 1의 오디오 모듈 130)은 소리(sound)와 전기신호를 쌍방향으로 변환시킬 수 있다. 상기 오디오 모듈 1280은, 예를 들면, 스피커 1282, 리시버 1284, 이어폰 1286 또는 마이크 1288 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다.
상기 카메라 모듈 1291은 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈(미도시), ISP(image signal processor, 미도시) 또는 플래쉬(flash, 미도시)(예: LED 또는 xenon lamp)를 포함할 수 있다.
상기 전력 관리 모듈 1295는 상기 전자 장치 1200의 전력을 관리할 수 있다. 한 실시 예에 따르면, 전력 관리 모듈 1295는 전자 장치 100의 적어도 하나의 장치 요소의 전력 공급을 제어할 수 있다. 도시하지는 않았으나, 상기 전력 관리 모듈 1295는, 예를 들면, PMIC(power management integrated circuit), 충전 IC(charger integrated circuit) 또는 배터리 또는 연료 게이지(battery or fuel gauge)를 포함할 수 있다.
상기 PMIC는, 예를 들면, 집적회로 또는 SoC 반도체 내에 탑재될 수 있다. 충전 방식은 유선과 무선으로 구분될 수 있다. 상기 충전 IC는 배터리를 충전시킬 수 있으며, 충전기로부터의 과전압 또는 과전류 유입을 방지할 수 있다. 한 실시예에 따르면, 상기 충전 IC는 유선 충전 방식 또는 무선 충전 방식 중 적어도 하나를 위한 충전 IC를 포함할 수 있다. 무선 충전 방식으로는, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등이 있으며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로 또는 정류기 등의 회로가 추가될 수 있다.
상기 배터리 게이지는, 예를 들면, 상기 배터리 1296의 잔량, 충전 중 전압, 전류 또는 온도를 측정할 수 있다. 상기 배터리 1296은 전기를 저장 또는 생성할 수 있고, 그 저장 또는 생성된 전기를 이용하여 상기 전자 장치 1200에 전원을 공급할 수 있다. 상기 배터리 1296은, 예를 들면, 충전식 전지(rechargeable battery) 또는 태양 전지(solar battery)를 포함할 수 있다.
상기 인디케이터 1297은 상기 전자 장치 1200 혹은 그 일부(예: 상기 AP 1210)의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태, 메시지 수신 상태 등을 표시할 수 있다. 상기 모터 1298은 전기적 신호를 기계적 진동으로 변환할 수 있다. 도시되지는 않았으나, 상기 전자 장치 1200은 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 상기 모바일 TV지원을 위한 처리 장치는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting) 또는 미디어플로우(media flow) 등의 규격에 따른 미디어 데이터를 처리할 수 있다.
본 개시에 따른 전자 장치의 전술한 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 본 개시에 따른 전자 장치는 전술한 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 본 개시에 따른 전자 장치의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
본 개시에 사용된 용어 “모듈”은, 예를 들어, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. “모듈”은 예를 들어, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component) 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. “모듈”은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. “모듈”은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. “모듈”은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, 본 개시에 따른 “모듈”은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따르면, 본 개시에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그래밍 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어는, 하나 이상의 프로세서 (예: 상기 프로세서 210)에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 상기 메모리 120가 될 수 있다. 상기 프로그래밍 모듈의 적어도 일부는, 예를 들면, 상기 프로세서에 의해 구현(implement)(예: 실행)될 수 있다. 상기 프로그래밍 모듈 의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트 (sets of instructions) 또는 프로세스 등을 포함할 수 있다.
상기 컴퓨터로 판독 가능한 기록 매체에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 마그네틱 매체(Magnetic Media)와, CD-ROM(Compact Disc Read Only Memory), DVD(Digital Versatile Disc)와 같은 광기록 매체(Optical Media)와, 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media)와, 그리고 ROM(Read Only Memory), RAM(Random Access Memory), 플래시 메모리 등과 같은 프로그램 명령(예: 프로그래밍 모듈)을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 개시의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
본 개시에 따른 모듈 또는 프로그래밍 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 본 개시에 따른 모듈, 프로그래밍 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
다양한 실시 예들 가운데 사용될 수 있는“포함한다” 또는 “포함할 수 있다” 등의 표현은 발명된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다. 또한, 다양한 실시 예들에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다양한 실시 예들에서 “또는” 등의 표현은 함께 나열된 단어들의 어떠한, 그리고 모든 조합을 포함한다. 예를 들어, “A 또는 B”는, A를 포함할 수도, B를 포함할 수도, 또는 A와 B 모두를 포함할 수도 있다.
다양한 실시 예들 가운데 “제 1,”“제2,”“첫째,”또는“둘째,”등의 표현들이 다양한 실시 예들의 다양한 구성요소들을 수식할 수 있지만, 해당 구성요소들을 한정하지 않는다. 예를 들어, 상기 표현들은 해당 구성요소들의 순서 및/또는 중요도 등을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분 짓기 위해 사용될 수 있다. 예를 들어, 다양한 실시 예들의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연계되어”, “연결되어" 또는 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다.
다양한 실시 예들에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다양한 실시 예들을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 다양한 실시 예들이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 다양한 실시 예들에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
다양한 실시 예들에 따른 전자 장치는, 예를 들면, 스마트 폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 화상전화기, 전자북 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device)(예: 전자 안경과 같은 head-mounted-device(HMD), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 전자 문신, 또는 스마트 와치(smartwatch))중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에 따르면, 전자 장치는 스마트 가전 제품(smart home appliance)일 수 있다. 스마트 가전 제품은, 예를 들자면, 전자 장치는 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), TV 박스(예를 들면, 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(game consoles), 전자 사전, 전자 키, 캠코더(camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에 따르면, 전자 장치는 각종 의료기기(예: MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 초음파기 등), 내비게이션(navigation) 장치, GPS 수신기(global positioning system receiver), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치 및 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 모듈, 산업용 또는 가정용 로봇, 금융 기관의 ATM(automatic teller's machine) 또는 상점의 POS(point of sales) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에 따르면, 전자 장치는 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 입력장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예들에 따른 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 또한, 본 개세에 따른 전자 장치는 플렉서블 장치일 수 있다. 또한, 다양한 실시 예들에 따른 전자 장치는 전술한 기기들에 한정되지 않음은 당업자에게 자명하다.
그리고 본 명세서와 도면에 개시된 실시 예들은 본 개시의 기술 내용을 쉽게 설명하고 본 개시의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 개시의 범위를 한정하고자 하는 것은 아니다. 따라서 본 개시의 범위는 여기에 개시된 실시 예들 이외에도 본 개시의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.
10 : 메시지 운용 환경 100 : 전자 장치
110 : 버스 120 : 입력 모듈
130 : 통신 인터페이스 140 : 표시 모듈
150 : 저장 모듈 160 : 제어 모듈
180 : 메시지 매니저
110 : 버스 120 : 입력 모듈
130 : 통신 인터페이스 140 : 표시 모듈
150 : 저장 모듈 160 : 제어 모듈
180 : 메시지 매니저
Claims (28)
- 전자 장치에 있어서,
통신 인터페이스;
디스플레이;
적어도 하나의 프로세서; 및
인스트럭션들(instructions)을 저장하는 메모리를 포함하고,
상기 메모리는, 상기 적어도 하나의 프로세서에 의하여 실행되었을 때, 상기 전자 장치가 다음을 수행하도록 하는:
전송될 메시지의 데이터를 생성하기 위한 사용자 입력들을 수신하고,
상기 디스플레이가 상기 사용자 입력들에 대응하는 적어도 하나의 멀티-바이트 유니코드 컨텐츠를 포함하는 메시지를 표시하도록 제어하고,
상기 메시지의 전송을 위한 요청을 수신하고,
상기 요청에 기반하여 상기 메시지가 복수의 페이지들의 전송을 요구하는 멀티페이지 메시지에 대응하는지 확인하고,
상기 메시지가 상기 멀티페이지 메시지에 대응하는 것을 확인하는 것에 기반하여 상기 멀티-바이트 유니코드 컨텐츠의 제1 미 정의된 데이터 및 제2 미 정의된 데이터가 상기 메시지의 미리 정의된 위치에 제공되는지 여부를 확인하고,
상기 멀티-바이트 유니코드 컨텐츠의 상기 제1 미 정의된 데이터 및 상기 제2 미 정의된 데이터가 상기 메시지의 상기 미리 정의된 위치에 제공되는 경우, 상기 제1 미 정의된 데이터의 앞에 있는 상기 메시지의 상기 데이터의 제1 부분을 상기 멀티페이지 메시지의 제1 페이지에 포함되도록 배열하고, 상기 멀티-바이트 유니코드 컨텐츠부터 시작하는 상기 메시지의 상기 데이터의 제2 부분을 상기 멀티페이지 메시지의 제2 페이지에 포함되도록 배열하고, 및
상기 통신 인터페이스가 상기 제1 페이지 및 상기 제2 페이지를 포함하는 상기 멀티페이지 메시지를 전송하도록 제어하고,
상기 제1 미 정의된 데이터 및 상기 제2 미 정의된 데이터는 유니코드에 의해 정의되는 미 정의된 데이터를 독립적으로 구성하고, 상기 제1 미 정의된 데이터 및 상기 제2 미 정의된 데이터가 동일한 페이지에 같이 포함된 경우 유니코드에 의해 정의되는 정의된 데이터로 인식 가능한 전자 장치. - 청구항 1에 있어서,
상기 미리 정의된 위치는 상기 메시지의 페이지들 사이의 경계 영역에 대응하는 전자 장치. - 청구항 1에 있어서,
상기 제1 미 정의된 데이터 및 상기 제2 미 정의된 데이터를 포함하는 상기 적어도 하나의 멀티-바이트 유니코드 컨텐츠 중 하나는 이모티콘(emoticon)에 대응하는 전자 장치. - 청구항 1에 있어서,
상기 인스트럭션들은 상기 전자 장치가 상기 제2 페이지의 상기 제2 미 정의된 데이터를 포함하는 데이터의 적어도 일부를 상기 제1 미 정의된 데이터의 크기만큼 쉬프트(shift)하여 상기 메시지의 상기 미리 정의된 위치를 변화시키도록 하는 전자 장치. - 청구항 1에 있어서,
상기 인스트럭션들은 상기 전자 장치가 상기 제2 페이지의 메시지 바디(body) 영역의 크기가 주어진 크기보다 크다고 판단한 것에 기반하여 제3 페이지를 생성하여 상기 메시지의 상기 미리 정의된 위치를 변화시키도록 하는 전자 장치. - 청구항 1에 있어서,
상기 인스트럭션들은 상기 전자 장치가 상기 제2 페이지의 메시지 헤더(header)에 상기 제2 페이지의 메시지 바디 크기 값을 삽입하여 상기 메시지의 상기 미리 정의된 위치를 변화시키도록 하는 전자 장치. - 청구항 1에 있어서,
상기 인스트럭션들은 상기 전자 장치가 상기 제2 페이지의 마지막 2 바이트가 유니코드 서러게이트(surrogate) 범위인 것을 확인한 것에 기반하여 상기 2 바이트를 공간, 캐리지 리턴(carriage return), 또는 라인 피드(line-feed)로 채워 상기 메시지의 상기 미리 정의된 위치를 변화시키도록 하는 전자 장치. - 청구항 1에 있어서,
오디오 회로를 더 포함하고,
상기 인스트럭션들은 상기 전자 장치가 상기 요청이 수신되는 동안 상기 메시지가 상기 복수의 페이지들을 초과하는 것을 감지하는 것에 응답하여 알람음 또는 안내음을 출력하도록 하는 전자 장치. - 전자 장치의 메시지 운용 방법에 있어서,
사용자 입력들에 대응하는 복수의 멀티-바이트 유니코드 컨텐츠들을 포함하는 메시지를 표시하는 동작;
상기 메시지의 전송을 위한 요청을 수신하는 동작;
상기 요청에 기반하여 상기 메시지가 제1 페이지 및 제2 페이지를 포함하는 복수의 페이지들의 전송을 요구하는 멀티페이지 메시지에 대응하는지 확인하는 동작;
적어도 하나의 인식할 수 없는 이진 코드 캐릭터가 상기 제1 페이지의 종료 부분 및 상기 제2 페이지의 시작 부분에 제공되는 경우, 상기 제1 페이지의 상기 종료 부분에 포함된 상기 적어도 하나의 인식할 수 없는 이진 코드 캐릭터가 상기 제2 페이지의 상기 시작 부분으로 이동하도록 상기 멀티페이지 메시지를 수정하는 동작; 및
상기 제1 페이지 및 상기 제2 페이지를 포함하는 상기 수정된 멀티페이지 메시지를 전송하는 동작을 포함하는 방법. - 청구항 9에 있어서,
상기 멀티페이지 메시지는 상기 메시지를 복수의 데이터 전송 유닛들로 분할하고 상기 복수의 데이터 전송 유닛들을 별도로 전송하도록 요구하고,
상기 제1 페이지는 제1 데이터 전송 유닛과 대응하고 상기 제2 페이지는 제2 데이터 전송 유닛과 대응하는 방법. - 청구항 9에 있어서,
상기 제1 페이지의 상기 종료 부분에 제공된 상기 적어도 하나의 인식할 수 없는 이진 코드 캐릭터 및 상기 제2 페이지의 상기 시작 부분에 제공된 상기 적어도 하나의 인식할 수 없는 이진 코드 캐릭터를 포함하는 상기 멀티-바이트 유니코드 컨텐츠들 중 하나는 이모티콘에 대응하는 방법. - 청구항 9에 있어서,
상기 제2 페이지의 상기 시작 부분에 제공된 상기 적어도 하나의 인식할 수 없는 이진 코드 캐릭터를 포함하는 데이터의 적어도 일부를 상기 적어도 하나의 인식할 수 없는 이진 코드 캐릭터의 크기만큼 쉬프트하는 동작을 더 포함하는 방법. - 청구항 9에 있어서,
상기 제2 페이지의 메시지 바디 영역의 크기가 주어진 크기보다 크다고 판단한 것에 기반하여 제3 페이지를 생성하는 동작을 더 포함하는 방법. - 청구항 9에 있어서,
상기 제2 페이지의 메시지 헤더에 상기 제2 페이지의 메시지 바디 크기 값을 삽입하는 동작을 더 포함하는 방법. - 청구항 9에 있어서,
상기 요청이 수신되는 동안 상기 메시지가 상기 복수의 페이지들을 초과하는 것을 감지하는 것에 응답하여 알람음 또는 안내음을 출력하는 동작을 더 포함하는 방법. - 전자 장치에 있어서,
통신 인터페이스;
디스플레이;
인스트럭션들(instructions)을 저장하는 메모리; 및
상기 인스트럭션들을 실행하는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는,
사용자 입력들에 대응하는 복수의 멀티-바이트 유니코드 컨텐츠들을 포함하는 메시지를 표시하도록 상기 디스플레이를 제어하고,
상기 메시지를 전송하기 위한 요청을 수신하고,
상기 메시지가 제1 페이지 및 제2 페이지를 포함하는 복수의 페이지들의 전송을 요구하는 멀티페이지 메시지에 대응하는지 확인하고,
상기 멀티-바이트 유니코드 컨텐츠들 중 하나의 멀티-바이트 유니코드 컨텐츠를 구성하는 데이터가 상기 제1 페이지의 종료 부분 및 상기 제2 페이지의 시작 부분에 분할되어 있는 경우, 상기 제1 페이지의 상기 종료 부분에 포함된 상기 데이터의 부분을 상기 제2 페이지의 상기 시작 부분으로 이동시켜서 상기 멀티페이지 메시지를 수정하고, 및
상기 통신 인터페이스가 상기 제1 페이지 및 상기 제2 페이지를 포함하는 상기 수정된 멀티페이지 메시지를 전송하도록 제어하는 전자 장치. - 청구항 16에 있어서,
상기 멀티페이지 메시지는 상기 메시지를 복수의 데이터 전송 유닛들로 분할하고 상기 복수의 데이터 전송 유닛들을 별도로 전송하도록 요구하고,
상기 제1 페이지는 제1 데이터 전송 유닛과 대응하고 상기 제2 페이지는 제2 데이터 전송 유닛과 대응하는 전자 장치. - 청구항 16에 있어서,
상기 제1 페이지의 상기 종료 부분 및 상기 제2 페이지의 상기 시작 부분을 포함하는 상기 하나의 멀티-바이트 유니코드 컨텐츠는 이모티콘에 대응하는 전자 장치. - 청구항 16에 있어서, 상기 적어도 하나의 프로세서는,
상기 제2 페이지의 상기 시작 부분을 포함하는 데이터의 적어도 일부를 상기 제1 페이지의 상기 종료 부분의 크기만큼 쉬프트하여 상기 멀티페이지 메시지를 수정하도록 설정된 전자 장치. - ◈청구항 20은(는) 설정등록료 납부시 포기되었습니다.◈청구항 16에 있어서,
오디오 회로를 더 포함하고,
상기 적어도 하나의 프로세서는,
상기 요청이 수신되는 동안 상기 메시지가 상기 복수의 페이지들을 초과하는 것을 감지하는 것에 응답하여 알람음 또는 안내음을 출력하도록 설정된 전자 장치. - 전자 장치에 있어서,
통신 인터페이스;
디스플레이;
인스트럭션들(instructions)을 저장하는 메모리; 및
상기 인스트럭션들을 실행하는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는,
메시지를 수신하도록 상기 통신 인터페이스를 제어하고,
상기 메시지가 제1 페이지 및 제2 페이지를 포함하는 복수의 페이지들을 포함하는 멀티페이지 메시지에 대응하는지 결정하고,
상기 메시지가 상기 멀티페이지 메시지에 대응하고 상기 제1 페이지의 종료 부분에 멀티-바이트 유니코드 컨텐츠의 제1 부분이 제공되고 상기 멀티-바이트 유니코드 컨텐츠의 제2 부분이 상기 제2 페이지의 시작 부분에 제공되는 경우, 상기 제1 페이지의 상기 종료 부분에 포함된 상기 제1 부분이 상기 제2 페이지의 상기 시작 부분으로 이동하도록 상기 멀티페이지 메시지의 페이지 나눔 위치를 변화시켜 상기 멀티페이지 메시지를 수정하고, 및
상기 페이지 나눔 위치가 변화된 이후 상기 수정된 멀티페이지 메시지를 표시하도록 상기 디스플레이를 제어하도록 설정되고,
상기 제1 부분 및 상기 제2 부분은 유니코드에 의해 정의되는 미 정의된 데이터를 독립적으로 구성하고, 상기 페이지 나눔 위치가 변화된 이후 상기 수정된 멀티페이지 메시지 내에서 결합되어 포함된 경우 상기 제1 부분 및 상기 제2 부분은 유니코드에 의해 정의되는 정의된 데이터로 인식 가능한 전자 장치. - ◈청구항 22은(는) 설정등록료 납부시 포기되었습니다.◈청구항 21에 있어서,
상기 멀티페이지 메시지는 상기 메시지를 복수의 데이터 전송 유닛들로 분할하고 상기 복수의 데이터 전송 유닛들을 별도로 전송하도록 요구하고,
상기 제1 페이지는 제1 데이터 전송 유닛과 대응하고 상기 제2 페이지는 제2 데이터 전송 유닛과 대응하는 전자 장치. - ◈청구항 23은(는) 설정등록료 납부시 포기되었습니다.◈청구항 21에 있어서,
상기 제1 부분 및 상기 제2 부분을 포함하는 상기 멀티-바이트 유니코드 컨텐츠는 이모티콘에 대응하는 전자 장치. - ◈청구항 24은(는) 설정등록료 납부시 포기되었습니다.◈청구항 21에 있어서, 상기 적어도 하나의 프로세서는,
상기 제2 페이지의 상기 제2 부분을 포함하는 데이터의 적어도 일부를 상기 제1 부분의 크기만큼 쉬프트하여 상기 페이지 나눔 위치를 변화시키도록 설정된 전자 장치. - ◈청구항 25은(는) 설정등록료 납부시 포기되었습니다.◈청구항 21에 있어서, 상기 적어도 하나의 프로세서는,
상기 제2 페이지의 메시지 바디 영역의 크기가 주어진 크기보다 크다고 판단한 것에 기반하여 제3 페이지를 생성하여 상기 페이지 나눔 위치를 변화시키도록 설정된 전자 장치. - ◈청구항 26은(는) 설정등록료 납부시 포기되었습니다.◈청구항 21에 있어서, 상기 적어도 하나의 프로세서는,
상기 제2 페이지의 메시지 헤더에 상기 제2 페이지의 메시지 바디 크기 값을 삽입하여 상기 페이지 나눔 위치를 변화시키도록 설정된 전자 장치. - ◈청구항 27은(는) 설정등록료 납부시 포기되었습니다.◈청구항 21에 있어서,
상기 적어도 하나의 프로세서는,
상기 제2 페이지의 마지막 2 바이트가 유니코드 서러게이트 범위인 것을 확인한 것에 기반하여 상기 2 바이트를 공간, 캐리지 리턴, 또는 라인 피드로 채워 상기 페이지 나눔 위치를 변화시키도록 설정된 전자 장치. - ◈청구항 28은(는) 설정등록료 납부시 포기되었습니다.◈청구항 21에 있어서,
오디오 회로를 더 포함하고,
상기 적어도 하나의 프로세서는,
상기 메시지의 출력을 위한 요청이 수신되는 동안 상기 메시지가 상기 복수의 페이지들을 초과하는 것을 감지하는 것에 응답하여 알람음 또는 안내음을 출력하도록 설정된 전자 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210072853A KR102373135B1 (ko) | 2020-09-03 | 2021-06-04 | 메시지 운용 방법 및 이를 지원하는 전자 장치 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200112320A KR102263670B1 (ko) | 2019-10-30 | 2020-09-03 | 메시지 운용 방법 및 이를 지원하는 전자 장치 |
KR1020210072853A KR102373135B1 (ko) | 2020-09-03 | 2021-06-04 | 메시지 운용 방법 및 이를 지원하는 전자 장치 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200112320A Division KR102263670B1 (ko) | 2019-10-30 | 2020-09-03 | 메시지 운용 방법 및 이를 지원하는 전자 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210069618A KR20210069618A (ko) | 2021-06-11 |
KR102373135B1 true KR102373135B1 (ko) | 2022-03-14 |
Family
ID=72434396
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200112320A KR102263670B1 (ko) | 2019-10-30 | 2020-09-03 | 메시지 운용 방법 및 이를 지원하는 전자 장치 |
KR1020210072853A KR102373135B1 (ko) | 2020-09-03 | 2021-06-04 | 메시지 운용 방법 및 이를 지원하는 전자 장치 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200112320A KR102263670B1 (ko) | 2019-10-30 | 2020-09-03 | 메시지 운용 방법 및 이를 지원하는 전자 장치 |
Country Status (1)
Country | Link |
---|---|
KR (2) | KR102263670B1 (ko) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040237046A1 (en) | 2003-05-19 | 2004-11-25 | Microsoft Corporation | Unicode transitional code point database |
US20120231774A1 (en) | 2009-12-04 | 2012-09-13 | Dian Blades | Flexible font |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070050197A (ko) * | 2005-11-10 | 2007-05-15 | 삼성전자주식회사 | 이동통신단말기에서 멀티미디어 메시지를 작성하기 위한방법 |
KR101373187B1 (ko) * | 2007-11-12 | 2014-03-14 | 삼성전자 주식회사 | 이동통신 단말기 및 그의 멀티미디어 메시지 처리 방법 |
-
2020
- 2020-09-03 KR KR1020200112320A patent/KR102263670B1/ko active IP Right Grant
-
2021
- 2021-06-04 KR KR1020210072853A patent/KR102373135B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040237046A1 (en) | 2003-05-19 | 2004-11-25 | Microsoft Corporation | Unicode transitional code point database |
US20120231774A1 (en) | 2009-12-04 | 2012-09-13 | Dian Blades | Flexible font |
Also Published As
Publication number | Publication date |
---|---|
KR20200105798A (ko) | 2020-09-09 |
KR20210069618A (ko) | 2021-06-11 |
KR102263670B1 (ko) | 2021-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9805437B2 (en) | Method of providing preview image regarding display setting for device | |
US10366669B2 (en) | Electronic device and method for driving display thereof | |
US10025451B2 (en) | Method and electronic device for managing screen | |
US20170235435A1 (en) | Electronic device and method of application data display therefor | |
US10261683B2 (en) | Electronic apparatus and screen display method thereof | |
EP3160150A1 (en) | Electronic device and method for executing function using speech recognition thereof | |
US20150288629A1 (en) | Electronic device and method of providing information by electronic device | |
US9784797B2 (en) | Method for controlling and an electronic device thereof | |
US20150220247A1 (en) | Electronic device and method for providing information thereof | |
KR20150134906A (ko) | 화면 공유 방법 및 그 전자 장치 | |
KR102206053B1 (ko) | 입력 도구에 따라 입력 모드를 변경하는 전자 장치 및 방법 | |
KR20150138742A (ko) | 컨텐츠 처리 방법 및 그 전자 장치 | |
US9729815B2 (en) | Method and electronic device for controlling content integrity using numerical data | |
EP3084560B1 (en) | Electronic device and operating method thereof | |
KR102272339B1 (ko) | 컨텐트들을 표시하는 방법 및 이를 위한 전자 장치 | |
US10331334B2 (en) | Multiple transparent annotation layers for use within a graphical user interface | |
US9959598B2 (en) | Method of processing image and electronic device thereof | |
KR102063566B1 (ko) | 메시지 운용 방법 및 이를 지원하는 전자 장치 | |
US10430046B2 (en) | Electronic device and method for processing an input reflecting a user's intention | |
AU2015219606B2 (en) | Method of providing preview image regarding display setting for device | |
KR102373135B1 (ko) | 메시지 운용 방법 및 이를 지원하는 전자 장치 | |
KR102165150B1 (ko) | 메시지 운용 방법 및 이를 지원하는 전자 장치 | |
US20180004380A1 (en) | Screen display method and electronic device supporting the same | |
KR20150128302A (ko) | 전자 장치 및 그 연동 방법 | |
US20150242370A1 (en) | Method and apparatus for processing data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |