KR101240796B1 - 이동 디바이스로부터 메시지의 송신을 스케줄링하는 방법 및 장치 - Google Patents

이동 디바이스로부터 메시지의 송신을 스케줄링하는 방법 및 장치 Download PDF

Info

Publication number
KR101240796B1
KR101240796B1 KR1020117001119A KR20117001119A KR101240796B1 KR 101240796 B1 KR101240796 B1 KR 101240796B1 KR 1020117001119 A KR1020117001119 A KR 1020117001119A KR 20117001119 A KR20117001119 A KR 20117001119A KR 101240796 B1 KR101240796 B1 KR 101240796B1
Authority
KR
South Korea
Prior art keywords
message
mobile device
delete delete
memory
user
Prior art date
Application number
KR1020117001119A
Other languages
English (en)
Other versions
KR20110030597A (ko
Inventor
비카스 자게티야
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20110030597A publication Critical patent/KR20110030597A/ko
Application granted granted Critical
Publication of KR101240796B1 publication Critical patent/KR101240796B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/222Monitoring or handling of messages using geographical location information, e.g. messages transmitted or received in proximity of a certain spot or area
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72451User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to schedules, e.g. using calendar applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/58Message adaptation for wireless communication

Abstract

방법 및 디바이스가 날짜, 시간 및/또는 위치 송신 기준에 기초하여 메시지의 송신을 스케줄링할 수 있다. 텍스트 및 멀티미디어 메시지들은, 추후의 시간 및 날짜 또는 이동 디바이스가 특정 위치에 있는 경우의 자동 송신을 위해 드래프트 및 스케줄링될 수도 있다. 대안적으로, 방법 및 시스템은 메시지가 원격 서버로부터 자동으로 전송되게 할 수 있다.

Description

이동 디바이스로부터 메시지의 송신을 스케줄링하는 방법 및 장치{METHOD AND APPARATUS FOR SCHEDULING THE TRANSMISSION OF MESSAGES FROM A MOBILE DEVICE}
본 발명은 이동 디바이스로부터의 메시징에 관련되고, 더 상세하게는, 이동 디바이스 상에서 발생된 메시지의 송신을 스케줄링하는 것에 관련된다.
셀룰러 전화와 같은 무선 이동 통신 핸드셋 (이동 디바이스) 의 이용은 휴대성 및 접속성뿐만 아니라 그 디바이스들 상에서 실행되는 다수의 애플리케이션에 기인하여 계속하여 증가하고 있다. 이동 디바이스 상에서 가장 자주 이용되는 애플리케이션 중 하나는 텍스트 메시징이다. 오늘날 텍스트 메시징은 지구상에서 가장 널리 이용되는 이동 데이터 서비스이고, 전세계 모든 이동 디바이스 사용자의 72 % - 2006 년 말 27 억 전화 가입자 중 19 억 명 - 이 단문 메시지 서비스 (SMS) 의 능동 사용자이다. 핀란드, 스웨덴 및 노르웨이와 같은 국가에서는, 인구의 90 % 이상이 SMS 를 이용한다. 유럽의 평균은 약 85 % 이고, 북아메리카에서는 2006 년 말까지 SMS 의 능동 사용자가 급격하게 40 % 이상에 이르고 있다.
텍스트 메시징은 매우 대중적이어서, 이제, 광고 에이전시 및 광고주들은 텍스트 메시지 비즈니스로 뛰어들고 있다. 단체 텍스트 메시지 전송을 제공하는 서비스들은 또한 클럽, 모임 및 광고주들이 일 그룹의 옵트-인 (opt-in) 가입자에게 신속하게 도달하는 대중적 방식이 되고 있다.
텍스트 메시징은 음성 통신에 비해 몇몇 이점을 제공한다. 통신자 중 하나 또는 둘 모두가 청취하지 못하거나, 주위 잡음이 음성 통신을 불가능하게 하는 위치에서, 사용자는 텍스트 메시징을 통해 통신할 수도 있다. 텍스트 메시지 데이터 신호는 음성 데이터 신호만큼 많은 신호 전력을 요구하지 않기 때문에, 사용자는, 신호 강도가 최적이 아닌 상황에서 텍스트 메시징을 통해 통신할 수도 있다. 텍스트 메시지의 몇몇 수신인들은, 텍스트 메시지가 음성 통신에 비해 더 개인적인 형태의 통신임을 발견한다. 따라서, 수신인들은, 생일, 기념일 등과 같은 중요한 행사에 텍스트 메시지를 수신하는 것이 더 가치있는 것임을 종종 발견한다. 텍스트 메시지에 부가하여, 텍스트 메시징을 증진시켜 사용자로 하여금 그 메시지와 함께 다른 미디어 파일을 획득할 수 있게 하는 대안적 메시징 서비스들이 개발되고 있다. 예를 들어, 사용자는 비디오, 애니메이션 또는 오디오를 포함하는 메시지를 텍스트에 부가하여 전송할 수도 있다.
다양한 실시형태들은, 사용자가 수신인에게의 메시지 전달을 스케줄링하여 중요한 행사를 망각하지 않게 하는 방법 및 이동 디바이스를 제공한다. 사용자들은, 미리 드래프트된 메시지가 송신될 특정한 날짜 및 시간을 스케줄링할 수 있다. 대안적 실시형태들은, 사용자가 특정한 위치 (예를 들어, 의도된 수신인의 근처) 로 여행하는 경우, 그 사용자가 그 의도된 수신인(들)에게 경보할 수 있게 하는 방법 및 이동 디바이스를 제공한다. 미리 드래프트된 메시지가 의도된 수신인(들)에게 송신되어야 하는 시점을 결정하기 위해 기준표가 이용될 수도 있다. 기준표는, 사용자가 특정 위치 또는 몇몇 조합의 날짜, 시간 및 위치에 도착하는 경우, 이동 디바이스가 미리 드래프트된 메시지를 특정 날짜 및 시간에 전송할 수 있게 하는 데이터를 포함할 수도 있다.
본 명세서에 통합되어 본 명세서의 일부를 구성하는 첨부된 도면은 본 발명의 예시적인 실시형태를 도시하며, 전술한 일반적인 설명 및 후술할 상세한 설명과 함께 본 발명의 특징을 설명하도록 기능한다.
도 1 은 이동 디바이스 상에서 텍스트 메시지의 송신을 스케줄링하는 실시형태 방법의 프로세스 흐름도이다.
도 2 는 콘택트 애플리케이션으로부터 이동 디바이스 상의 텍스트 메시지의 송신을 스케줄링하는 대안적 실시형태의 프로세스 흐름도이다.
도 3 은 캘린더 애플리케이션으로부터 이동 디바이스 상의 텍스트 메시지의 송신을 스케줄링하는 대안적 실시형태의 프로세스 흐름도이다.
도 4 는 종래의 메시징 애플리케이션 및 다양한 실시형태들 모두에 이용되는 메시징 시스템을 도시한다.
도 5 는 텍스트 메시지 서버 상에서의 구현에 적합한 다른 실시형태 방법의 프로세스 흐름도이다.
도 6a 및 도 6b 는 다양한 실시형태들에 이용하기에 적합한 송신 파라미터 표 데이터 구조의 도면이다.
도 7 은 스케줄링된 날짜 및 시간에 저장된 텍스트 메시지를 송신하는 실시형태 방법의 프로세스 흐름도이다.
도 8 은 사용자가 텍스트 메시지를 반복하는 송신을 스케줄링할 수 있게 하는 실시형태 방법의 프로세스 흐름도이다.
도 9 는 텍스트 메시지가 송신되기 전에 텍스트 메시지를 확인할 기회를 사용자에게 제공하는 대안적 실시형태 방법의 프로세스 흐름도이다.
도 10 은 일 실시형태에 따른 이동 디바이스의 소프트웨어 구성을 도시하는 소프트웨어 아키텍쳐 도면이다.
도 11 은 사용자의 위치에 기초하여 텍스트 메시지의 송신을 스케줄링하기 위해 수행되는 단계들의 프로세스 흐름도이다.
도 12 는 이동 디바이스 상에서 구현될 수도 있는 CellID 모니터를 위한 방법의 프로세스 흐름도이다.
도 13a 및 도 13b 는 다양한 실시형태에 이용하기에 적합한 송신 파라미터 표 데이터 구조의 도면이다.
도 14 는 사용자의 위치에 기초하여 사전-드래프트된 메시지를 송신하는 방법의 프로세스 흐름도이다.
도 15 는 사용자의 위치에 기초하여 사전-드래프트된 메시지를 송신하는 대안적 방법의 프로세스 흐름도이다.
도 16 은 다양한 실시형태에 이용하기에 적합한 예시적인 핸드셋 디바이스의 회로 블록도이다.
도 17 은 다양한 실시형태에 이용하기에 적합한 예시적인 서버의 컴포넌트 블록도이다.
첨부한 도면을 참조하여 다양한 실시형태들을 상세히 설명한다. 가능한 경우에는 언제나, 동일한 참조 번호가 도면 전체에 걸쳐 동일하거나 유사한 부분을 지칭하도록 이용될 것이다. 참조는 특정 실시예 및 구현예에 대해 예시적인 목적으로 행해지며, 본 발명 또는 청구항의 범주를 제한하려는 의도가 아니다.
여기서 사용되는 바와 같이, 용어 이동 디바이스는 셀룰러 전화, 개인 휴대 정보 단말기 (PDA), 무선 전자 메일 수신기 (예를 들어, Blackberry? 및 Treo? 디바이스), 멀티미디어 인터넷 가능 셀룰러 전화 (예를 들어, iPhone?), 및 프로그래머블 프로세서, 메모리를 포함하고, SMS, 멀티미디어 메시징 서비스 (MMS), 인핸스드 메시징 서비스 (EMS) 등과 같은 메시징 서비스에 액세스하는 유사한 개인 전자 디바이스들 중 임의의 하나 또는 전부를 지칭할 수도 있다. 단순화를 위해, 일예로 SMS 의 텍스트 메시징 능력을 이용하여 다양한 실시형태들을 설명한다. 다양한 실시형태들은 MMS 및 EMS 와 같은 다른 메시징 서비스들에 동등하게 적용된다. SMS, MMS 및 EMS 는 사용자에게 텍스트 메시지를 준비하여 의도된 수신인에게 전송할 수 있는 능력을 제공한다. 그러나, MMS 및 EMS 는 사용자가 애니메이션, 비디오, 오디오 등과 같은 추가적인 미디어 형태들을 메시지 컨텐츠 내에 포함시킬 수 있게 한다. 메시지 컨텐츠가 준비되면, MMS 및 EMS 메시지는 다양한 실시형태들에 따라 송신을 위해 스케줄링될 수도 있다. 여기서는 텍스트 메시지를 참조하지만, 다양한 실시형태들에 영향을 주지 않으면서 추가적인 미디어 파일들을 첨부함으로써 MMS 또는 EMS 서비스에서 텍스트 메시지가 증진될 수도 있음을 당업자는 이해한다.
바람직한 실시형태에서, 이동 디바이스는, 셀룰러 전화 네트워크 (예를 들어, 셀폰) 를 통해 통신할 수 있는 셀룰러 핸드셋이다. 그러나, 셀룰러 전화 통신 능력은 모든 실시형태에서 필수적인 것은 아니다. 또한, 무선 데이터 통신은 셀룰러 전화 네트워크 대신에 무선 데이터 네트워크 (예를 들어, WiFi 네트워크) 에 접속하는 이동 디바이스에 의해 달성될 수도 있다.
여기서 사용되는 바와 같이, 용어 "서버" 는 클라이언트-서버 아키텍쳐에서 동작하도록 구성되는 다양한 상업적으로 이용가능한 컴퓨터 시스템 중 임의의 것을 지칭한다. 더 상세하게는, 용어 "서버" 는 네트워크 서버를 지칭하며, 더 상세하게는, 통상적으로 프로세서, 메모리 (예를 들어, 하드 디스크 메모리) 및 서버 프로세서를 인터넷과 같은 네트워크에 접속시키도록 구성된 네트워크 인터페이스 회로를 포함하는 특정한 인터넷 액세스가능 서버를 지칭한다.
최근에, 이동 디바이스의 이용은, 프로세싱 전력 및 이용가능한 애플리케이션 수에서의 증가에 따라 급격하게 증가하고 있다. 이동 디바이스는 일상 생활 및 작업장에서 필수적인 통신 및 프로세싱 툴이 되고 있다. 이동 디바이스의 이용에서의 이러한 증가와 함께, 텍스트 및 다른 형태의 메시징의 이용이 중요성 및 이용도에서 증가하고 있다. 오늘날, 텍스트 메시징은 지구상에서 가장 널리 이용되는 이동 데이터 서비스이다.
종래의 메시징 시스템에서, 메시지는 사용자가 "전송" 키를 누를 때에만 전송된다. 사용자는 추후의 날짜 및 시간에 송신하기 위해 메시지를 드래프트 및 저장할 수도 있지만, 사용자는 그 메시지 본문을 스토리지로부터 검색하기 위해 기억해야 하고, 그 메시지를 송신하기 위해 "전송" 키를 눌러야 한다. 사용자는 추후의 송신을 위해 텍스트 메시지를 작성할 수도 있지만, 의도된 날짜 및/또는 시간에 메시지를 전송하는 것을 망각할 수도 있다.
종래의 메시지는 사용자가 "전송" 키를 누른 직후 송신된다. 그 결과, 사용자가 "전송" 키를 누른 직후 (또는 어느 정도의 짧은 송신 지연 후) 메시지가 수신된다. 이것은, 수신인이 다른 시간 영역에 있는 경우 바람직하지 못할 수도 있다.
다양한 실시형태들은 메시지의 송신을 스케줄링하는 능력, 더 상세하게는, 디바이스 운영 시스템의 기능으로서, 사용자가 후속 송신을 위해 메시지를 작성할 수 있게 하는 능력을 이동 디바이스에 제공한다. 이 방식으로, 사용자는 메시지를 편리한 시간에 작성할 수도 있다. 메시지 송신의 스케줄링은 날짜, 시간, 사용자 위치 또는 이들의 몇몇 조합에 기초할 수도 있다. 예를 들어, 메시지는 의도된 수신인의 생일에 전송되도록 스케줄링될 수도 있다. 다른 예로, 사용자는, 즉석 회의에 초대하는 것과 같은 의도된 수신인의 위치 근처에서 메시지가 전송되도록 메시지의 송신을 스케줄링할 수도 있다. 또 다른 예로서, 사용자는, 사랑하는 사람들에게 자신의 안전한 도착을 자동으로 통지하는 것과 같이 목적지에 도착할 때의 송신을 위해 메시지를 스케줄링할 수도 있다. 이동 디바이스 운영 시스템의 일부로서 메시지 송신 스케줄링 능력을 제공함으로써, 이 실시형태들은 캘린더 및 위치 감지 (예를 들어, GPS 센서) 애플리케이션과 같은 이동 디바이스 상에서 실행되는 다른 애플리케이션이 메시지의 송신을 스케줄링 또는 트리거링할 수 있게 한다. 또한, 이동 디바이스 운영 시스템에 메시지 송신 스케줄링 능력을 포함시킴으로써, 사용자에게 공통 인터페이스/활동 과정을 제공하면서 애플리케이션 복잡성이 감소될 수 있다.
메시지의 송신을 스케줄링하는 실시형태 방법이 도 1 에 도시되어 있고, 도 1 은 이동 디바이스 상에서 구현될 수도 있는 기본 프로세스 단계들을 나타낸다. 사용자는 단계 101 에서 이동 디바이스 상에서 메시징 애플리케이션을 개시한 후, 단계 105 에서 텍스트 메시지 컨텐츠를 드래프트한다. 대안적으로, 사용자는 메시징 애플리케이션 내에서 이용가능한 사전-드래프트된 "녹음된 (canned)" 메시지 컨텐츠를 선택할 수도 있다. 통상적으로, "녹음된" 메시지는 단순할 수도 있고, "현재 통화할 수 없음" 또는 "추후 호출할 것" 과 같은 반복된 텍스트 메시지일 수도 있다. "녹음된 메시지" 는 또한 사용자에 의해 이전에 드래프트되고 추후의 송신을 위해 저장된 메시지를 포함할 수도 있다. 선택된 "녹음된 메시지" 는 메모리에 저장되고, 사용자에 의해 행해진 선택 동작들과 연관된 어드레스 포인터를 이용하여 메모리로부터 검색될 수도 있다. MMS 또는 EMS 와 같은 대안적 메시징 서비스에서, 메시지 컨텐츠의 드래프팅은 비디오, 오디오 또는 기타 미디어 파일들과 같은 다른 미디어 파일들을 메시지에 첨부하는 것을 포함할 수도 있다. 메시지 컨텐츠는 특수한 텍스트 포매팅 (예를 들어, 볼딕체 또는 이탤릭체), 애니메이션, 그림, 아이콘, 음향 효과, 특수 링 톤, 그래픽, 오디오 및 비디오 파일을 포함할 수도 있다. 단순화를 위해, 실시형태들은 단순한 텍스트를 포함하는 메시지 (즉, 텍스트 메시지) 로 개시되지만, MMS 또는 EMS 를 이용하여 메시지 컨텐츠에 추가적 파일들을 포함시켜 이 메시지들이 증강될 수도 있음을 당업자는 인식할 것이다.
메시지가 드래프트 또는 선택되면, 단계 106 에서, 그 메시지의 의도된 수신인 또는 수신인들이 사용자에 의해 식별된다. 다수의 메시징 애플리케이션에서는, 예를 들어, 메시지 텍스트의 입력 전에 그 메시지가 지향되는 전화 번호를 입력함으로써 적어도 하나의 수신인이 먼저 식별되어야 함을 유의한다. 따라서, 단계 105 및 106 의 순서는 임의적이고, 통상적으로 도면에 도시된 순서의 역순으로 수행될 것이다. 의도된 수신인(들)을 식별하기 위해, 사용자는 각각의 의도된 수신인의 어드레스 (즉, 전화 번호) 를 수동으로 입력할 수도 있고, 메시징 애플리케이션에 의해 액세스되는 콘택트 애플리케이션으로부터 어드레스 (즉, 전화 번호) 를 검색할 수도 있다.
종래의 메시징 애플리케이션에서는, 단계 116 에서 사용자가 "전송" 키를 눌러서, 그 드래프트된 메시지를 의도된 수신인(들)에게 송신할 것이다. 종래의 메시징 애플리케이션과는 대조적으로, 도 1 에 도시된 실시형태는, 단계 110 에서, 사용자가 그 메시지를 즉시 송신하기를 원하는지 여부를 문의하는 메뉴 디스플레이를 제공한다. 이 메뉴 디스플레이는 이동 디바이스의 사용자 인터페이스 디스플레이 스크린 상에 제공될 수도 있다. 사용자가 메뉴에 응답하여 긍정적 응답과 연관된 키를 누르면 (즉, 단계 110 = "예"), 단계 116 에서, 종래의 방식으로 메시지가 즉시 송신된다. 그러나, 사용자가 메뉴에 응답하여 부정적 응답과 연관된 키를 누르면 (즉, 단계 110 = "아니오"), 단계 111 에서, 사용자가 그 드래프트된 메시지를 송신하기를 원하는 날짜를 입력 또는 선택하도록 사용자에게 프롬프트된다. 이동 디바이스의 사용자 인터페이스 디스플레이 스크린 상에 도시된 메뉴 디스플레이를 통해 사용자에게 프롬프트될 수도 있다. 예를 들어, 이동 디바이스의 키를 이용하여 몇몇 숫자 포맷으로 (예를 들어, 월/일/년) 날짜를 입력할 수도 있고, 또는 화살표 키를 이용하여, 커서 또는 다른 선택 표시자를 사용자 인터페이스 디스플레이 스크린 상에 제공된 캘린더 상으로 향하게 할 수도 있다. 원하는 날짜가 타이핑되거나 선택되면, 사용자는 키를 눌러서, 그 선택된 날짜에 메시지가 송신되어야 함을 나타낼 수도 있다. 선택된 날짜는 메모리 버퍼와 같은 임시 메모리 위치에 저장될 수도 있다. 그 후, 단계 112 에서, 사용자가 그 드래프트된 메시지를 송신하기를 원하는 특정 시간을 선택하기 위해 사용자에게 프롬프트될 수도 있다. 예를 들어, 사용자는 이동 디바이스의 키를 이용하여 몇몇 숫자 포맷으로 (예를 들어, 시/분 및 AM/PM) 시간을 입력할 수도 있고, 또는 화살표 키를 이용하여, 커서 또는 다른 선택 표시자를 사용자 인터페이스 디스플레이 스크린 상에 제공된 시간 스케일 (예를 들어, 수직 또는 수평의 24 시간 타임라인 또는 클럭 페이스 디스플레이) 상으로 향하게 할 수도 있다. 원하는 시간이 타이핑되거나 선택되면, 사용자는 키를 눌러서 그 선택된 시간에 메시지가 송신되어야 함을 나타낼 수도 있다. 선택된 시간은 별도의 임시 메모리 위치에 저장될 수도 있다. 어떠한 특정 송신 시간도 선택되지 않으면, 송신 시간의 디폴트가 사용자의 홈 시간 영역의 12:00 AM 과 같이 저장될 수도 있다. 단계 113 에서, 메시지가 반복적으로 전송되어야 하는지 여부를 식별하기 위해 사용자 인터페이스 디스플레이 스크린 상에 제공된 메뉴에 의해 사용자에게 선택적으로 프롬프트될 수도 있다. 예를 들어, 사용자는 의도된 수신인에게 매년 그 의도된 수신인의 생일에 메시지를 송신하기를 원할 수도 있다. 메시지를 반복 메시지로서 식별함으로써, 그 메시지는 일, 주, 월, 년 또는 사용자가 선택할 수도 있는 다른 주기 기반으로 반복하여 전송하기 위해 스케줄링될 수도 있다. 이 메뉴 옵션에 응답하여 입력된 사용자 선택은 또한 별도의 임시 메모리 위치에 저장될 수도 있다. 그 후, 단계 114 에서, 드래프트된 메시지는 그 시점에 메모리에 저장된다. 메시지는 사용자가 지연된 송신 옵션을 선택한 것에 응답하여, 또는 모든 송신 파라미터들이 입력된 후, 발생된 시간에 저장될 수도 있다. 따라서, 단계 114 는, 단계 105 에서 메시지의 입력 이후 임의의 시점에 달성될 수도 있다. 메시지는 다른 메시지들과 함께 저장될 수도 있고, 송신 시간에 메시지를 검색하여 리콜하는데 이용하기 위해 인덱스 또는 메모리 포인터가 저장될 수도 있다. 단계 115 에서, 의도된 수신인의 어드레스 (즉, 전화 번호), 송신 날짜, 송신 시간, 및 메시지가 반복 주기에 따라 반복되도록 의도되는지 여부와 같은 메시지 송신 파라미터들이 메모리 내의 파라미터 데이터 표에 데이터 기록으로서 저장될 수도 있다. 이러한 데이터 기록은, 드래프트된 메시지가 메모리 내의 어디에 저장되는지를 나타내는 어드레스 포인터를 포함할 수도 있다. 대안적으로, 메시지는, 송신 날짜, 송신 시간 및 반복 빈도의 메시지 파라미터들과 함께 (수신인(들)의 전화 번호(들) 및 메시지 텍스트 및 존재한다면, 그래픽 파일들을 포함하는) 풀 텍스트 메시지를 포함하는 데이터 기록에 저장될 수도 있어서, 단계 114 및 115 를 결합할 수도 있다.
실시되는 실시형태 방법의 일예로서, 사용자가 런던에서의 비즈니스 회의에 참석하기 위해 로스앤젤레스에 있는 자신의 집으로부터 여행중인 것으로 가정한다. 그의 여행 동안, 그 사용자는 약간의 여유를 갖고, 자신의 딸 (의도된 수신인) 에게 자신이 못 보게될 스포츠 시합에서 그녀에게 행운을 기원하기 위해 텍스트 메시지를 드래프트하는 것을 선택한다. 그 사용자는, 그녀의 딸이 스포츠 시합 전에 그 메시지를 수신하여 확인할 수 있는 것으로 자신이 알고 있는 시간에 그 메시지가 수신되고 읽어지는 것이 보장되기를 원한다. 런던에서의 시간 차에 기인하여, 그 사용자가 텍스트 메시지를 즉시 전송하면, 그 메시지는 그녀가 자고 있는 동안에 도달할 것이다. 그러나, 그 사용자는 그녀가 깨어있는 동안에는 비즈니스 회의 중일 것이어서, 그 저장된 텍스트 메시지를 검색하고 "전송" 키를 누르지 못할 것이다. 또한, 그 사용자는, 비즈니스 회의 이후에 메시지를 전송하면 너무 늦을 것임을 알고 있다. 따라서, 종래의 텍스트 메시징 애플리케이션은 이 상황에서는 그 사용자에게 유용하지 못할 것이다. 제공된 실시형태를 이용하여, 사용자는 자신의 비즈니스 회의 이전에 텍스트 메시지를 드래프트하고, 그 텍스트 메시지를 송신하기를 원하는 날짜 및 시간을 선택할 수도 있다. 이 방식으로, 그 사용자는 자신의 텍스트 메시지의 전송을 스케줄링하여, 자신의 딸이 수신하기에 이상적인 시간에 송신되게 할 수 있다.
메시지의 송신을 스케줄링하기 위한 대안적 실시형태가 도 2 에 도시되어 있고, 도 2 는, 콘택트 애플리케이션으로부터 메시지의 송신을 스케줄링하기 위해 이동 디바이스 상에 구현될 수도 있는 기본 프로세스 단계들을 도시한다. 단계 102 에서, 사용자는 이동 디바이스 상의 콘택트 메시징 애플리케이션을 개시할 수도 있고, 단계 103 에서, 새로운 콘택트 명칭 및 모든 관련 콘택트 정보를 입력하거나 기존의 콘택트 명칭을 선택하여 그 콘택트 정보를 편집할 수도 있다. 콘택트 정보의 일부로서, 단계 105 에서, 사용자는 장래의 날짜 및/또는 시간에 그 입력된/선택된 콘택트에 전송될 메시지를 드래프트할 수도 있다. 그 후, 실시형태는, 단계 110 내지 115 에 대해 도 1 을 참조하여 전술한 바와 같이 진행한다.
도 2 에 도시된 대안적 실시형태 방법의 예시적 이용으로서, 사용자가 특정 사용자 콘택트에 대한 콘택트 정보를 입력 또는 편집하는 것을 고려한다. 사용자는 매년 콘택트의 생일에 콘택트에게 전송할 개인적인 생일 축하 인사를 드래프트할 수도 있다. 시간상 미리 메시지를 드래프팅하고 전송할 날짜 및 시간을 선택함으로써, 사용자는 그 콘택트의 생일에 자동으로 송신될 개인적인 생일 축하 인사의 전송을 스케줄링할 수 있다. 임의의 스케줄링된 메시지가 사용자 콘택트에 대해 드래프트될 수도 있다. 예를 들어, 휴일 또는 기념일 축하 인사가 적절한 날짜에의 자동 송신을 위해 스케줄링될 수도 있다. 또한, 선택된 콘택트 명칭에게 적시에 전송되도록 리마인더가 스케줄링될 수도 있다.
캘린더 애플리케이션으로부터의 메시지의 송신을 스케줄링하기 위한 대안적 실시형태가 도 3 에 도시되어 있다. 단계 104 에서, 사용자는 이동 디바이스 상에서 캘린더 메시징 애플리케이션을 개시할 수도 있고, 단계 107 에서, 새로운 캘린더 약속을 입력하거나 기존의 캘린더의 약속을 선택할 수도 있다. 입력되거나 선택된 캘린더 약속 정보를 이용하여, 단계 105 에서, 사용자는 그 약속과 연관된 메시지를 드래프트할 수도 있다. 예를 들어, 사용자는 약속 시간 및 날짜 이전에 그 약속 참가자 (의도된 수신인) 에게 전송될 메시지를 드래프트하여, 그들에게 그 약속 또는 회의를 리마인드할 수도 있다. 단계 106 에서, 사용자는 또한 각각의 수신인의 어드레스 (즉, 전화 번호) 를 수동으로 입력함으로써 또는 메시징 애플리케이션에 의해 액세스되는 콘택트 애플리케이션으로부터 어드레스 (즉, 전화 번호) 를 검색함으로써, 메시지의 의도된 수신인을 식별한다. 메시지가 추후의 시간에 전송되는 경우 (즉, 단계 110 = "아니오"), 단계 111, 112 에서, 사용자는 송신할 날짜 및 시간을 입력할 수도 있고 또는 캘린더 정보를 이용하여 송신할 날짜 및 시간을 설정할 수도 있다. 단계 113 에서, 사용자는 또한, 그 약속이 반복적인지, 또는 이 결정에 대한 캘린더 정보에 의존하는지 여부를 식별할 수도 있다. 예를 들어, 캘린더 애플리케이션이 약속을 반복으로서 기록하기 위한 옵션을 포함할 수도 있는 경우, 이러한 정보는, 약속이 반복적임을 사용자가 개별적으로 나타낼 필요없이 그 캘린더 애플리케이션에 의해 제공될 수도 있다. 그 후, 실시형태 방법은 단계 114 및 115 에 대해 도 1 을 참조하여 전술한 바와 같이 진행한다.
도 3 에 도시된 대안적 실시형태 방법의 예시적인 이용으로서, 사용자가 특정 약속을 위해 캘린더 정보를 입력 또는 편집하는 것을 고려한다. 사용자는 선택된 수신인들에게 전송될 리마인더 메시지를 드래프트하여, 그들에게 캘린더 약속을 리마인드할 수도 있다. 예를 들어, 이 메시지는 수신인을 리마인드하여, 그 약속에 대한 특정한 재료를 전달할 수도 있다. 다른 예로, 메시지는 수신인들에게, 그 사용자가 캘린더 약속 동안 이용하지 못할 것임을 통보할 수도 있다. 시간상 미리 메시지를 드래프팅하고, 송신을 위한 날짜 및 시간을 선택함으로써, 사용자는 리마인더 메시지의 전송을 스케줄링하여, 리마인더 메시지가 캘린더 약속 이전에 자동으로 송신되게 할 수 있다.
전술한 실시형태 중 임의의 실시형태가 이동 디바이스 상에서 구현될 수도 있고, 드래프트된 메시지 및 송신 파라미터들은 이동 디바이스의 메모리에 저장될 수도 있다.
텍스트 메시지는 즉시 송신되든지 또는 스케줄링된 날짜 및 시간에 송신되든지 간에, 도 4 에 도시된 바와 같은 종래의 SMS 텍스트 메시징 시스템과 같은 메시징 시스템을 이용하여 전송될 수도 있다. 사용자의 이동 디바이스 (504) 가 메시지를 송신하는 경우, 어드레스 헤더 및 메시지 페이로드 (텍스트 메시지 본문) 를 포함하는 데이터 신호 (502) 는 이동 디바이스의 공중 인터페이스로부터 송신되고, 무선 통신 기지국 (503) 에 의해 수신된다. 바람직한 실시형태에서, 무선 통신 기지국 (503) 은 셀룰러 전화 네트워크 타워일 것이다. 그러나, 대안적 구현예에서, 기지국은 Bluetooth 트랜시버, WiFi 트랜시버, 또는 메시지를 수신 및 전송하도록 구성된 네트워크에 커플링되는 임의의 다른 무선 트랜시버일 수도 있다. 무선 통신 기지국 (503) 은 통신 네트워크 (508) 에 접속하기 위해 라우터 (504) 및 무선 통신 서버 (505) 에 커플링될 수도 있다. 통신 네트워크 (508) 로의 대안적 경로는 많거나 적은 통신 장비를 포함할 수도 있다. 예를 들어, 몇몇 무선 서비스 제공자들은 추가 서버를 이용하여, 사용자들에게 통신 네트워크 (508) 로의 액세스를 제공할 수도 있다. 대안적으로, 무선 통신 기지국은 통신 네트워크 (508) 로의 더 직접적 링크를 허용할 수도 있다. 통신 네트워크 (508) 는 POTS (plain old telephone system) 텔레커뮤니케이션 네트워크 또는 인터넷과 같은 다른 통신 네트워크일 수도 있다. 데이터 신호 (502) 는 저장 및 후속 송신을 위해 통신 네트워크 (508) 를 통해 메시징 서버 (509) 에 라우팅될 수도 있고, 또는 기지의 메시징 프로토콜 및 방법에 따라 무선 통신 서버 (510), 라우터 (511) 및 기지국 (512) 를 통해 그 의도된 수신인의 이동 디바이스 (513) 에 직접 전송될 수도 있다. 기지국 (503) 에 의해 수신되고, 라우터 (504) 를 통해 무선 통신 서버 (505) 에 라우팅되면, 데이터 신호 (502) 는 다양한 통신 프로토콜에 의해 수신지로 송신될 수도 있다. 예를 들어, 데이터 신호 (502) 는 TCP/IP 프로토콜을 통해 적절한 수신기 서버 (예를 들어, 메시징 서버 (509) 또는 무선 통신 서버 (510)) 에 송신될 수도 있다. 대안적으로, 공중 교환 전화 네트워크 (PSTN) 와 같은 접속 지향 프로토콜이 구현되어 데이터 신호를 송신 및 수신할 수도 있다. 다른 통신 프로토콜이 이동 디바이스 (501), 메시지 서버 (509) 및 의도된 수신인의 이동 디바이스 (513) 사이에서 데이터 신호를 송신 및 수신하도록 구성될 수도 있음을 당업자는 인식할 것이다.
후속 송신을 위해 서버 (509) 와 같은 원격 메모리에 드래프트된 메시지 및 파라미터 표를 수신 및 저장하는 대안적 실시형태가 도 5 에 도시되어 있다. 이 실시형태에서, 추후의 날짜 및 시간에 전송될 메시지는, 큰 메모리 용량을 갖고 통신 네트워크 (508) 에 항상 커플링되는 (턴오프될 수도 있는 이동 디바이스와는 다른) 서버 (509) 에 저장된다. 이 실시형태는, 이동 디바이스 (501) 의 한정된 메모리 공간에 저장되어야 하는 정보를 감소시킨다. 도 1 을 참조하여 전술한 것과 동일한 방식으로, 단계 101 에서, 사용자는 이동 디바이스 상에서 메시징 애플리케이션을 개시하고, 단계 105 에서, 메시지 텍스트를 드래프트 또는 선택하고, 단계 106 에서, 수신인의 전화 번호를 식별하고, 단계 110 에서, 그 메시지를 스케줄링된 시간에 전송하도록 선택되고, 단계 111 에서, 송신 날짜를 식별하고, 단계 112 에서, 송신 시간을 식별하고, 단계 113 에서, 그 메시지가 반복적인지 여부를 나타낸다. 단계 115 에서, 이 정보는 이동 디바이스 (501) 에 의해 이용되어, 식별된 송신 파라미터들을 포함하는 메시지 기록을 발생시킨다. 메시지 데이터 기록이 수집되면, 단계 120, 122 에서, 드래프트된 메시지 및 송신 파라미터들 (송신 날짜 및/또는 시간) 은 서버 (509) 에 송신된다. 서버로의 메시지의 송신은 특정 SMS 메시지로서 달성될 수도 있고, 또는 무선 인터넷 데이터링크 또는 셀룰러 데이터 네트워크 접속과 같은 다른 데이터 송신 방법을 이용하여 송신될 수도 있다. 예를 들어, 메시지 데이터 기록은 이동 디바이스의 메모리에 저장된 인터넷 프로토콜 (IP) 을 이용하여 서버 웹페이지에 제출될 수도 있다. 서버 (509) 에 의해 수신되면, 단계 121, 123 에서, 드래프트된 메시지 및 연관 송신 파라미터들은 메모리에 저장된다. 도 5 에 도시된 실시형태에서는, 단계 120 에서, 메시지가 제 1 메시지에서 서버 (509) 에 송신될 수도 있고, 단계 122 에서, 연관 송신 파라미터들이 제 2 데이터 기록 메시지에서 서버 (509) 에 송신될 수도 있다. 단계 123 에서, 메시지 송신 파라미터들 (송신 날짜 및/또는 시간) 이 서버 (509) 메모리 내의 파라미터 데이터 표에 저장될 수도 있다. 서버 메모리에 저장된 이러한 파라미터 데이터 표는 의도된 수신인 어드레스 (즉, 전화 번호), 송신을 위한 날짜 및/또는 시간, 및 드래프트된 메시지가 저장되는 서버 메모리 내의 위치에 대한 어드레스 포인터를 포함할 수도 있다. 대안적으로, 메시지 및 송신 파라미터들은 단일 데이터 기록에 함께 저장될 수도 있다. 이 방식으로, 사용자가 메시지의 송신을 드래프트 및 스케줄링하면, 그 메시지 및 송신 파라미터들은 원격 서버 (509) 메모리에 저장되어, 그 서버 (509) 가 그 스케줄링된 날짜 및 시간에 메시지를 송신할 수 있게 한다.
이 실시형태에서, 스케줄링된 메시지는 도 2 및 도 3 을 참조하여 전술한 실시형태들과 유사하게 이동 디바이스 (501) 상에서 콘택트 데이터베이스 애플리케이션 또는 캘린더 애플리케이션으로부터 개시될 수도 있다. 이러한 실시형태에서, 메시지는, 콘택트 및/또는 캘린더 애플리케이션 데이터베이스에 입력 또는 저장된 정보를 이용하여 드래프트, 어드레스 및/또는 스케줄링될 수도 있다. 메시지가 생성되면, 그 메시지는 도 5 에서 단계 120 내지 단계 123 을 참조하여 전술한 방식으로 후속 송신을 위해 서버 (509) 에 송신될 수 있다.
대안적 실시형태에서는, 단계 120, 121 에서, 오직 메시지 본문만 서버 (509) 에 송신 및 저장된다. 파라미터 표는 이동 디바이스의 메모리 내에 유지된다. 이하, 더 상세히 설명하는 바와 같이, 메시지가 송신되어야 하는 것으로 이동 디바이스 (501) 가 결정한 경우, 이동 디바이스는 서버가 그 서버 (509) 에 저장된 메시지를 송신하도록 명령하는 신호를 서버 (509) 에 전송한다. 이러한 서버 (509) 로의 신호는, 서버 (509) 가 메모리 내의 메시지를 검색하고 그 메시지를 의도된 수신인에게 어드레스할 수 있게 하는 충분한 정보를 포함한다.
도 6a 는 메시지 송신 파라미터들을 저장하기 위한 다양한 실시형태에 이용될 수도 있는 예시적인 데이터 구조를 도시한다. 당업자에게 이해되는 바와 같이, 데이터는, 각각의 메시지와 관련된 데이터가 행 (예를 들어, 11, 13, 15, 17, 19, 21, 23, 25, 27) 으로서 표현된 개별 데이터 기록에 저장되는 파라미터 데이터 표 (10A) 를 참조한 구성으로 파일에 저장될 수도 있고, 각각의 데이터 기록은 다수의 열 (예를 들어, 12, 14, 16, 18) 로서 표현된 다수의 데이터 필드를 포함한다. 파라미터 데이터 표 (10A) 에서, "수신인" 데이터 필드 (12) 는, 콘택트 애플리케이션에 저장된 의도된 수신인의 이동 디바이스 전화 번호에 링크되는 의도된 수신인에 대한 레퍼런스 (예를 들어, 명칭) 또는 그 수신인의 전화 번호를 저장할 수도 있다. "메시지 포인터" 데이터 필드 (14a) 메모리 내의 임의의 장소에 저장된 메시지 본문의 어드레스 포인터를 저장할 수도 있다. 메시지 본문이 이동 디바이스에 저장되는 실시형태에서, 어드레스 포인터는 그 이동 디바이스 내의 메모리 위치에 대한 것일 수도 있다. 메모리 본문이 서버 (509) 에 저장되는 실시형태에서, 어드레스 포인터는 파일 명칭, 메시지 명칭 또는 그 서버 (509) 의 다른 식별자일 수도 있다. 어드레스 포인터 또는 메시지 파일 명칭은, 이동 디바이스 또는 서버 각각이, 저장된 메시지 본문을 검색하고 이를 송신을 위해 파라미터 데이터 표 (10A) 에 저장된 송신 파라미터들과 매칭할 수 있게 한다. "날짜" 데이터 필드 (16) 는 스케줄링된 송신 날짜를 저장할 수도 있고, "시간" 데이터 필드 (18) 는 메시지에 대한 스케줄링된 송신 시간을 저장할 수도 있다. 송신 시간은 시, 분, 및 초 데이터의 형태로 특정될 수도 있고, 또한 시간 영역을 특정할 수도 있다. 이 방식으로, 사용자는 의도된 수신인에 의한 수신을 위해 이상적인 시간에 메시지를 송신하도록 선택할 수 있다. 1 과 같이 애플리케이션에 의해 예, 참 또는 온으로서 이해되는 값으로 "설정"될 수 있고, 0 과 같이 애플리케이션에 의해 아니오, 거짓 또는 오프로서 이해되는 값으로 "클리어"될 수 있는 플래그와 같은 "반복 이벤트" 데이터 필드 (20) 가 포함될 수도 있다. 예를 들어, "반복 이벤트" 플래그는, 사용자가 단계 113 에서 메시지를 반복 메시지로 식별하는 경우, 예, 참, 온 또는 1 로 설정될 수도 있다.
일예로, 파라미터 표 (10A) 는 다수의 예시적인 데이터 기록 (11, 13, 15, 17, 19, 21, 23, 25 및 27) 을 포함한다. 예를 들어, 데이터 기록 (11) 은 사용자가 "addr1" 으로서 표시된 메모리 위치에 저장된 메시지를 드래프트한 것을 나타낸다. "addr1" 은, 메시지를 이동 디바이스 (501) 상에 저장하는 실시형태들에서 그 이동 디바이스의 메모리 내의 메모리 위치를 지칭하거나, 메시지를 서버 (509) 메모리에 저장하는 실시형태들에서 원격 서버 메모리 내의 연관 메시지를 저장하는데 이용된 파일 명칭을 지칭할 수도 있다. 데이터 기록 (11) 은 또한, 메모리 위치 "addr1" 에 저장된 메시지가 "제리, 밥 및 필" 로 의도됨을 나타낸다. 이 수신인 식별자를 이용하여, 이동 디바이스는 이동 디바이스 상에 저장된 콘택트 애플리케이션 데이터베이스 내의 의도된 수신인들 각각과 연관된 전화 번호를 검색할 수 있다. 데이터 기록 (11) 은 또한, 메시지가 PST (Pacific Standard Time) 2009 년 1 월 1 일 AM 12:01:00 에 송신되도록 스케줄링된 것을 나타낸다. 마지막으로, 데이터 기록 (11) 은, 이 메시지가 반복 이벤트이고, 따라서, PST 1 월 1 일 AM 12:01:00 에 각각 전송되어야 함을 나타낸다. 다른 예로, 데이터 기록 (17) 은 의도된 수신인의 이동 디바이스 전화 번호 "212-555-1212" 를 저장한다. 데이터 기록 (17) 은 또한, 이 메시지가 GST 2009 년 3 월 2 일 PM 08:30:00 에 송신되도록 스케줄링되고, 반복 이벤트가 아님을 나타낸다.
전술한 바와 같이, 스케줄링된 메시지 및 연관 송신 파라미터들은 단일 데이터 표에 함께 저장될 수도 있고, 그 일예가 도 6b 에 도시되어 있다. 이 데이터 구조는, 메모리 포인터 또는 파일 명칭을 저장하는 대신에 각각의 데이터 기록 (11, 13, 15, 17, 19, 21, 23, 25, 27) 이 메시지 (14b) 를 포함하는 것을 제외하고는 도 6a 를 참조하여 전술한 것과 유사하다.
도 7 은, 저장된 메시지를 스케줄링된 날짜 및 시간에 송신하도록 행해질 수도 있는 단계들의 프로세스 흐름을 도시한다. 도 7 에 도시된 프로세스 흐름은 이동 디바이스 (501) 또는 서버 (509) 중 하나의 프로세서에 의해 구현될 수도 있다. 메인 루프 (200) 를 구현할 수도 있는 운영 시스템이 이동 디바이스 (501) 또는 서버 (509) 의 프로세서 상에서 실행되기 때문에, 테스트 201 에서, 메모리 내에 임의의 스케줄링된 메시지가 저장되어 있는지 여부를 주기적으로 결정할 것이다. 이 결정은 파라미터 표 (10) 가 임의의 데이터 기록을 포함하는지 여부를 체크하는 것을 수반할 수도 있다. 파라미터 데이터 표 (10) 내에 어떠한 데이터 기록이 저장되어 있지 않으면 (즉, 테스트 201 = "아니오"), 송신을 위해 스케줄링된 메시지가 존재하지 않으므로 프로세스 흐름은 메인 루프 (200) 로 리턴한다. 데이터 기록이 파라미터 표 (10) 에 저장되어 있으면 (즉, 테스트 201 = "예"), 단계 202 에서, 프로세서는 "날짜" 데이터 필드 (16) 에 저장된 스케줄링된 전송 날짜에 액세스하여, 임의의 저장된 메시지가 오늘 전송을 위해 스케줄링되었는지 여부를 결정한다. 이 결정은 그 저장된 데이터를 메모리에 저장되거나 프로세서에 의해 유지되는 현재 날짜와 비교함으로써 달성될 수도 있다. 저장된 메시지가 오늘 송신을 위해 스케줄링되지 않았으면 (즉, 테스트 203 = "아니오"), 프로세스 흐름은 메인 루프 (200) 로 리턴한다. 그러나, 적어도 하나의 저장된 송신 날짜가 오늘 날짜와 동일하면 (즉, 테스트 203 = "예"), 단계 204 에서, 프로세서는 "시간" 데이터 필드 (18) 에 저장된 전송 시간에 액세스 하여, 임의의 메시지가 현재 순간에 송신을 위해 스케줄링되었는지 여부를 결정한다. 이 결정은 그 저장된 시간을 프로세서에 의해 유지되는 클럭에 의해 표시된 현재 시간과 비교함으로써 달성될 수도 있다. 저장된 메시지가 현재 순간에 송신을 위해 스케줄링되지 않았으면 (즉, 테스트 203 = "아니오"), 프로세스 흐름은 메인 루프 (200) 로 리턴한다. 그러나, 적어도 하나의 저장된 송신 시간이 현재 시간과 동일하면 (즉, 테스트 205 = "예"), 단계 210 에서, 프로세서는 파라미터 표의 메시지 포인터 데이터 필드 (14a) 에 저장된 어드레스 포인터 또는 파일 명칭을 이용하여 저장된 메시지 본문을 메모리로부터 검색한다. (존재한다면) 메시지 텍스트 및 파일이 메시지 파라미터 표 (10b) 에 포함된 실시형태에서, (존재한다면) 메시지 텍스트 및 파일은 메시지 텍스트 데이터 필드 (14b) 로부터 복원된다. 메시지가 메모리로부터 검색되면, 단계 215 에서, 그 메시지는 파라미터 표 (10) 내의 데이터 기록과 연관된 송신 파라미터들을 이용하여 의도된 수신인에게 송신될 수도 있다. 선택적인 단계로서, 단계 216 에서, 스케줄링된 메시지가 송신되었거나 송신되려 함을 나타내는 오디오 또는 시각적 프롬프트 또는 둘 모두가 사용자에게 경보될 수도 있다. 메시지가 서버 (509) 로부터 저장되고 송신되는 실시형태에서는, 일 신호가 이동 디바이스 (501) 에 전송되어, 오디오 또는 시각적 프롬프트 또는 둘 모두를 사용자에게 디스플레이하여, 서버 (509) 가 그 메시지를 송신했음을 나타낼 수도 있다. 메시지가 송신된 후, 단계 220 에서, 반복 이벤트 데이터 필드 (20) 에서 (예를 들어, 값 "아니오" 또는 0 에 의해) 메시지가 다시 송신되지 않을 것을 나타내면 메시지 본문 및 데이터 기록은 삭제될 수도 있다. 메시지가 송신되면, 프로세스 흐름은, 현재 시간에 송신될 임의의 추가적 메시지가 존재하는지 여부를 테스트하기 위해 리턴하여, 단계 205 로 리턴한다.
도 8 은 반복 메시지를 어드레싱하는 대안적 프로세스 흐름을 도시한다. 이 실시형태는 단계 201 내지 215 에 대해 도 7 을 참조하여 전술된 실시형태와 유사하다. 단계 215 에서 스케줄링된 메시지가 전송되면, 테스트 217 에서, 프로세서는 파라미터 표 (10A 또는 10B) 의 반복 이벤트 데이터 필드 (20) 를 체크하여, 저장된 값 (예를 들어, 플래그) 이, 메시지가 반복 송신으로 의도된 것을 나타내는지 여부를 결정한다. 반복 이벤트 데이터 필드 (20) 가, 메시지가 반복인 것을 나타내면 (즉, 테스트 217 = "예"), 단계 218 에서, 그 메시지 본문은 메모리 내에서, 파라미터 표 (10) 에 저장된 새로운 또는 동일한 위치 및 새로운 데이터 기록에 저장될 수도 있다. 새로운 데이터 기록은 (적절하게, 예를 들어 1 일, 1 주, 1 월 또는 1 년을 추가함으로써) 다음 송신 날짜로 증분될 수도 있고, 메모리에 저장된 메시지 본문의 어드레스 포인터 또는 파일 명칭을 포함할 것이다. 의도된 수신인 또는 송신 시간과 같은 다른 송신 파라미터들은 동일하게 유지될 수도 있다. 메시지 본문 및 새로운 데이터 기록이 파라미터 표 (10) 에 저장되면, 단계 220 에서, 종전의 데이터 기록은 파라미터 표로부터 삭제될 수도 있다. 대안적으로, 데이터 기록은 새로운 데이터 기록 (10a, 10b) 이 생성되지 않고 변경없이 유지될 수도 있다 (즉, 삭제되지 않을 수도 있다). 그러나, 반복 이벤트 데이터 필드 (20) 플래그가 설정되지 않으면 (즉, 테스트 217 = "아니오"), 단계 220 에서, 임의의 새로운 데이터 기록이 파라미터 표 (10a, 10b) 에 생성되지 않으면서 그 전송된 메시지 데이터 기록이 삭제될 수도 있다. 마지막으로, 프로세스 흐름은 현재 시간에 스케줄링된 임의의 추가적 메시지가 존재하는지 여부를 테스트하기 위해 리턴하여, 단계 205 로 리턴한다.
도 9 는, 메시지가 송신되기 전에 그 메시지를 확인하기 위한 옵션을 사용자에게 제공하는 대안적 실시형태 프로세스 흐름을 도시한다. 이 실시형태의 프로세스 흐름은 단계 201 내지 단계 210 에 대해 도 7 을 참조하여 전술한 실시형태와 유사하다. 단계 210 에서, 메시지 본문이 (이동 디바이스 또는 원격 서버 내의) 메모리로부터 검색되면, 테스트 212 에서, 메시지의 송신을 확인하도록 사용자에게 프롬프트된다. 프롬프트는, 버튼을 누름으로써 메시지가 송신되어야 하는지를 사용자가 확인하게 하는 요청에 의해, 사용자 인터페이스 디스플레이 상에서 사용자에게 디스플레이되는 가시적 프롬프트의 형태일 수도 있다. 사용자가 표시된 응답을 제공함으로써 (예를 들어, "Y" 키를 누름으로써) 메시지의 송신을 확인하면 (즉, 테스트 212 = "예"), 단계 215 에서 메시지가 송신된다. 그러나, (예를 들어, "N" 키를 누름으로써) 그 메시지가 송신되지 않아야 하는 것으로 사용자가 나타내면 (즉, 테스트 212 = "아니오"), 단계 220 에서, 저장된 메시지 본문 및 데이터 기록은 파라미터 데이터 표로부터 삭제될 수도 있다. 메시지가 송신되지 않아야 함을 나타내는 메뉴 옵션이 또한 사용자에게 제공되어, 사용자가 그 메시지를 삭제 또는 보류하게 할 수도 있다. 마지막으로, 프로세스 흐름은, 현재 시간에 송신될 임의의 추가적 메시지가 존재하는지 여부를 테스트하기 위해 리턴하여, 단계 205 로 리턴한다.
도 9 에 도시된 실시형태 방법은, 스케줄링된 메시지가 전송되어야 하는지에 대한 최종 확인을 사용자가 제공할 수 있게 한다. 이 실시형태는, 사용자가 더 이상 메시지를 전송하기를 원하지 않는 것으로 결정했지만 그 메시지가 미래의 송신을 위해 스케줄링된 것을 망각한 경우 발생할 수 있는 문제를 다룬다.
전술한 실시형태의 구현에서, 저장 및 스케줄링된 송신을 위한 메시지의 프로세싱은 디바이스 (501) 의 운영 시스템 내에서 달성된다. 이 구현은 메시징 애플리케이션 소프트웨어의 복잡성을 감소시키고, 운영 시스템의 기본 기능을 캐피털라이즈한다.
이동 디바이스의 통상적 소프트웨어 아키텍쳐 (100) 가 도 10 에 도시되어 있다. 이동 디바이스 상에서 동작하는 소프트웨어는 통상적으로, 소프트웨어 레이어 (100a 내지 100d) 의 계층으로 조직화되어, 애플리케이션 (100a) 이 디스플레이, 키패드, 트랜시버 및 다른 회로 (예를 들어, GPS 수신기) 와 같은 이동 디바이스 하드웨어와 인터페이싱할 수 있게 한다. 키패드, 디스플레이 및 회로와 같은 하드웨어 엘리먼트는, 하드웨어 드라이버 레이어 (100d) 내에 조직화된 특수한 하드웨어 인터페이스 소프트웨어를 통해 소프트웨어와 통신할 수도 있는 하드웨어 레이어 (100e) 내에 조직화된다. 운영 시스템 (100c) 은 하드웨어 드라이버 (100d) 및 애플리케이션 (100a) 과 인터페이싱하여, 이동 디바이스의 기본 입력/출력 및 운영 기능을 제공한다. 다양한 이동 디바이스 운영 시스템 (100c) 을 갖는 애플리케이션 (100a) 의 인터페이스를 단순화하기 위해, Basic Runtime Environment for Wireless - BREW? 와 같은 애플리케이션 인터페이스 또는 런 타임 환경 레이어 (100b) 가 포함될 수도 있다.
일 구현예에서, 사용자가 추후 송신을 위해 메시지를 스케줄링하는 것으로 선택한 경우, 애플리케이션 레이어 (100a) 내의 메시징 애플리케이션은 그 메시지 및 관련 정보를 저장 및 추후의 송신을 위해 운영 시스템 레이어 (100c) 내의 기능에 전달할 수도 있다. 운영 시스템 (100c) 이 클럭 및 날짜 정보를 유지하고, 애플리케이션 및 데이터베이스 (예를 들어, 콘택트 데이터베이스 및 GPS 수신기) 에 액세스를 갖기 때문에, 운영 시스템은 송신 파라미터에의 부합을 위해 이러한 정보를 모니터링할 수 있다. 이것은 메시지 애플리케이션의 복잡성을 감소시킨다. 따라서, 도 2 를 참조하면, 단계 114 의 메시지를 저장하는 프로세스 및 단계 115 의 송신 파라미터 데이터를 저장하는 프로세스가 운영 시스템 기능에 의해 수행될 수도 있다. 유사하게, 도 7 을 참조하면, 단계 201 내지 220 각각이 운영 시스템에 의해 수행될 수도 있다.
일 실시형태에서, 현재 시간 및/또는 날짜와 저장된 메시지에 대한 시간 및 날짜 송신 기준을 주기적으로 비교하는 프로세스 단계가 운영 시스템 내에서 수행된다. 이러한 비교가 긍정적이면 (즉, 현재 시간 및 날짜가 하나 이상의 메시지 송신 기준에 매칭하면), 운영 시스템은 메시징 애플리케이션을 활성화시킬 수도 있고, 송신될 메시지(들)을 식별할 수도 있다. 그 후, 메시징 애플리케이션은 메시지(들)을 자동으로 송신할 수도 있고, 또는 메시지의 송신을 확인하도록 사용자에게 프롬프트를 제공할 수도 있다. 시간 및 날짜 비교 단계들을 운영 시스템에 통합함으로써, 메시징 애플리케이션은 단순화될 수 있다 (이러한 애플리케이션에 통상적으로 액세스할 수 없는 메모리에 액세스할 필요성 및 시간 및 날짜 파라미터들을 모니터링하기 위해 배경에서 애플리케이션 실행을 항상 유지해야 할 필요성을 회피한다).
대안적 실시형태에서, 사용자는 메시지를 미리 드래프트할 수도 있고, 이동 디바이스가 특정 위치에 있는 경우 발생할 송신을 스케줄링할 수도 있다. 이 실시형태는 지리적 좌표 형태의 위치 정보 (예를 들어, GPS 위치) 또는 셀룰러 전화 송신 셀 식별자 ("CellID") 정보를 이용할 수도 있다. 이동 디바이스의 위치가 송신 파라미터 데이터 표 내의 저장된 위치에 매칭하면, 그 저장된 메시지가 송신될 수도 있다. 예를 들어, 사용자는, 예를 들어 특정 수신인에게 그 사용자의 접근을 통지하기 위해, 이동 디바이스가 수신인 근처에 있는 것으로 결정하는 경우, 메시지가 그 특정 수신인에게 송신되도록 설정할 수도 있다. 예를 들어, 사용자는 다수의 도시에 친구들을 가질 수도 있다. 사용자가 멀리 여행하는 경우, 그는 친구들의 도시를 여행할 때 저녁식사 또는 다른 소셜 엔데버즈 (endeavors) 를 위해 만날 수도 있는 경우 자신의 친구들에게 통지하기를 원할 수도 있다. 이를 위해, 사용자는 "내가 도시에 있으니 함께 하자" 라는 메시지가 실행되도록 드래프트할 수도 있고, 이러한 메시지를 각각의 친구들과 연관된 지리적 송신 파라미터에 기초하여 추후의 송신을 위해 저장할 수도 있다. 이러한 지리적 송신 파라미터들은 지리적 좌표의 형태 (예를 들어, 각각의 친구의 지리적 위치 및 반경값) 일 수도 있고, 또는 각각의 친구집의 셀룰러 전화 셀 영역의 CellID 의 형태일 수도 있다. 사용자가 친구에게 근접하게 되는 경우, 지리적 송신 파라미터는 충족될 것이고, 메시지는 그 대응하는 수신인에게 자동으로 송신될 수도 있다. 이 방식으로, 사용자는 자신의 소셜 및 네트워킹 관계를 개선할 수도 있다.
도 11 은 사용자의 위치에 기초하여 메시지의 송신을 스케줄링하기 위해 수행되는 단계들의 프로세스 흐름도를 도시한다. 도 2 에 도시된 실시형태 방법과 유사하게, 단계 102 에서, 사용자는 이동 디바이스 상의 콘택트 애플리케이션을 개시할 수도 있고, 단계 103 에서 새로운 콘택트를 입력하거나 기존의 콘택트를 편집할 수도 있다. 사용자가 콘택트 정보의 입력 또는 편집을 완료하면, 테스트 301 에서, 사용자는, 사용자가 그 입력/선택된 콘택트의 홈 어드레스 위치에 근접할 때마다 그 입력/선택된 콘택트 명칭에 메시지를 전송하기를 원하는지 여부를 콘택트 애플리케이션에 의해 문의받을 수도 있다. 이 문의는, 메시지가 새로운 또는 편집된 콘택트와 연관되어야 하는지 여부를 나타내기 위해 사용자가 키를 누르도록 요청하는 메뉴 또는 프롬프트로 사용자 인터페이스 상에 제공될 수도 있다. 이 문의에 응답하여 사용자가 (예를 들어, "N" 키를 누름으로써) 콘택트에게 메시지를 송신하기를 원하지 않음을 나타내면 (즉, 테스트 301 = "아니오"), 콘택트 애플리케이션은 새로운 콘택트 입력/편집 메뉴를 종료하거나 리턴할 수도 있다. 그러나, 사용자가 긍정적으로 (예를 들어, "Y" 키를 누름으로써) 응답하여, 지리적 송신 기준에 기초하여 그 입력/선택된 콘택트 명칭에 메시지를 전송하기를 원함을 나타내면 (즉, 테스트 301 = "예"), 단계 105 에서, 메시지를 드래프트하도록 사용자에게 프롬프트될 수도 있다. 대안적으로, 사용자는 OEM (original equipment manufacturing) 에 의해 메모리에 저장되거나 사용자에 의해 미리 드래프트 및 저장된 미리 드래프트된 "녹음된" 메시지를 선택할 수도 있다. 메시지 본문이 드래프트되거나 선택되면, 단계 302 에서, 메시지의 송신을 프롬프트할 GPS 위치 또는 CellID 를 를 입력하도록 사용자에게 프롬프트될 수도 있다. 이 지리적 위치 또는 CellID 는 전세계의 임의의 위치일 수도 있다. 예를 들어, 지리적 송신 기준은 전송자 및 수신인에게 중요한 특정 위치일 수도 있고, 또는, 수신인에게 연장된 여행으로부터 안전한 복귀를 통지하기 위한 전송자의 집일 수도 있다. 몇몇 상황에서, 지리적 송신 기준은, 수신인에게 사용자의 근접을 통지하기 위한 것과 같은 수신인과 연관된 위치일 수도 있다. 이러한 상황에서, GPS 위치 또는 CellID 송신 기준은 수신인과 연관된 저장된 콘택트 정보로부터 유도될 수도 있다. 예를 들어, 콘택트 데이터베이스에 저장된 도시명이 송신 기준으로서 이용되어, GPS 위치 또는 CellID 가 수신기의 도시에 속할 때마다 대응하는 메시지가 송신될 수 있다.
GPS 로서 친숙하게 공지된 글로벌 포지셔닝 시스템은, GPS 수신기의 위치를 삼각측량하기 위해 고정 궤도에 있는 적어도 3 개의 위성을 이용하는 주지의 시스템이다. GPS 수신기 유닛은 매우 대중적이고, 다수의 이동 디바이스 칩셋에 포함되어, 다수의 애플리케이션에의 이용을 위한 위치 정보를 제공한다. GPS 위치의 통상적인 정확도 범위는 대략 15 미터 (50 피트) 또는 그보다 양호한 범위이다. 따라서, 사용자가 선택된 GPS 위치의 특정한 수 마일 이내에 위치하게 되는 경우에 그 저장된 메시지가 전송되도록, 근접 반경은 지리적 송신 기준의 일부로서 (디폴트에 의해 또는 사용자에 의해) 포함될 수도 있다. 일예로, 도시 중심의 GPS 가, 50 마일로 설정된 근접 반경을 갖는 송신 기준으로서 입력될 수도 있다. 이 예에서, 사용자의 이동 디바이스가 도시 중심 GPS 좌표의 50 마일 이내에 존재하게 될 때마다, 메시지가 그 대응하는 수신인에게 송신될 수도 있다.
CellID 는 셀룰러 전화 네트워크의 셀 타워의 고유 식별자를 지칭하는 한편, WiFi 및 WiMax 시스템과 같은 다른 셀룰러 데이터에서는 유사한 식별자가 이용될 수도 있다. 이동 디바이스가 소정의 셀 타워와 통신할 수 있는 영역은 라디오 셀로 지칭되고, 총 라디오 셀이 셀룰러 네트워크를 생성한다. 셀룰러 네트워크에 접속되는 동안 이동 디바이스는 종종 2 이상의 셀 타워의 범위 내에 존재하지만, 한번에 오직 하나의 셀 타워와 주 링크를 유지한다. 이동 디바이스가 어떤 타워와 주 링크를 유지해야 하는지를 인식하기 위해, 셀룰러 네트워크는 적합한 타워의 CellID 를 이동 디바이스에 제공한다. CellId 는, 주 링크인 공중 인터페이스를 유지하는 것을 담당하는 이동 디바이스의 일부에 액세스가능한 위치에서 이동 디바이스의 메모리에 저장되지만, 다른 애플리케이션에는 적용될 수 없다. GPS 좌표 정보에 비해, 라디오 셀의 통신 범위는 이용되는 기술의 타입 및 지역의 특성에 따라 1 에서 50 마일까지 다양할 수도 있다. 따라서, 상당히 큰 송신 기준 영역을 포함하기 위해 2 이상의 CellID 가 지리적 송신 기준으로서 식별될 수도 있다. 이 방식으로, 선택된 CellID 를 갖는 셀 타워와 통신해야 하는 것을 이동 디바이스가 통지받을 때마다, 메시지가 그 특정 콘택트에 송신될 것이다.
단계 302 에서, GPS 위치 또는 CellID 가 입력된 후, 단계 114 에서, 메시지 본문이 메모리에 저장되고, 메모리 위치를 나타내는 어드레스 포인터가 그에 할당된다. 단계 115 에서, 입력/선택된 콘택트 명칭, GPS/CellID 위치 송신 기준 및 어드레스 포인터가 새로운 데이터 기록으로서 메모리 내에 저장된 파라미터 표 (10c; 도 13a 참조) 에 저장된다. 대안적으로, 단계 114 및 115 를 결합하여, 메시지는, 메시지 송신 파라미터와 함께 전체 메시지를 포함하는 데이터 기록 (10d; 도 13b 참조) 에 저장될 수도 있다.
대안적 실시형태에서, 메시지 및 송신 파라미터들은 후속 송신을 위해 원격 서버 (509) 메모리에 저장될 수도 있다. 이 실시형태는 이동 디바이스 (501) 상의 메모리 리소스를 보존한다. 이 실시형태는 도 11 을 참조하여 전술한 것과 실질적으로 동일하게 동작한다. 그러나, 단계 302 에서, GPS 위치/CellID 지리적 송신 기준이 입력된 후, 단계 120 에서, 메시지 본문 및 송신 파라미터들은 원격 서버 메모리에서의 저장을 위해 서버 (509) 에 송신될 수도 있다. 메시지 본문은 원격 서버 메모리에 저장될 수도 있고, 서버 메모리 위치를 나타내는 파일 명칭이 그에 할당될 수도 있다. 입력/선택된 콘택트 명칭, GPS/CellID 송신 기준 및 메시지 파일 명칭의 어드레스는 단계 115 에서의 서버 메모리 내에서의 저장을 위해, 단계 122 에서, 새로운 데이터 기록으로서 파라미터 표 (10c; 도 13a 참조) 내에 저장될 수도 있고 서버 (509) 에 송신될 수도 있다. 대안적으로, 단계 120, 114, 122 및 115 를 결합하여, 메시지는, 서버 (509) 에 송신되는 메시지 송신 파라미터와 함께 전체 메시지를 포함하는 데이터 기록 (10d; 도 13b 참조) 에 저장될 수도 있다.
(사용자가 이동하는 차에 있는 경우에 발생하는 것과 같이) 이동 디바이스 (501) 가 위치를 변경함에 따라, 이동 디바이스는 때로는 자신의 주 통신 링크를 일 셀 타워로부터 다른 셀 타워로 변경할 필요가 있다. 주 링크를 변경하는 이 프로세스는 "핸드오프" 로 지칭된다. 셀룰러 네트워크는 이동 핸드셋으로부터 수신된 통신 신호의 상대적 신호 강도를 모니터링함으로써 라디오 셀 내의 이동 핸드셋의 이동을 모니터링할 수도 있다. 제 1 셀 타워에서 이동 핸드셋으로부터 수신된 통신의 신호 강도가 감소함에 따라 제 2 셀 타워에서 수신된 신호 강도가 증가할 수도 있다. 이러한 경우, 셀룰러 네트워크는 제 1 셀 타워로부터 제 2 셀 타워로의 핸드오프를 적절한 것으로 간주할 수도 있다. 핸드오프를 달성하기 위해, 셀룰러 네트워크는, 제 1 셀 타워와의 링크를 드롭하고 제 2 타워와의 통신 링크를 확립해야 하는 시점을 이동 핸드셋에 통지할 수 있다. 이동 핸드셋이 일 셀로부터 다른 셀로 이동중이어서 통상적으로 네트워크가 핸드오프를 개시하기 때문에, CellID 는 그 이동 핸드셋을 셀 영역의 반경 내에서 로컬라이즈하는데 이용될 수 있는 정보를 제공한다. 주 링크를 발생시키는 셀 타워의 CellID 는 이동 디바이스 (501) 의 CellID 버퍼에 저장될 수도 있다.
유사하게, 이동 디바이스 (501) 가 위치를 변경함에 따라, GPS 수신기는 이동 디바이스의 위치 버퍼에 저장된 GPS 좌표를 계속하여 업데이트할 수도 있다. 이동 디바이스가 현재의 GPS 위치/CellID 값으로 파퓰레이트된 GPS 위치/CellID 버퍼를 유지하기 위해, 시스템, 런타임 환경 또는 애플리케이션은 GPS 수신기 또는 주 통신 링크 CellID 를 모니터링할 수도 있고, 핸드오프가 발생하는 경우와 같이 변경이 발생할 때마다 예를 들어, 새로운 기록을 GPS 위치/CellID 버퍼에 추가함으로써 GPS 위치 또는 CellID 를 애플리케이션-액세스가능 메모리에 포스팅할 수도 있다. 이 능력을 제공하는 실시형태 방법이 도 12 에 도시되며, 도 12 는 이동 디바이스 상에서 구현될 수도 있는 CellID 모니터링을 위한 예시적인 프로세스 단계들을 나타낸다. 이동 디바이스 상에서 GPS 위치를 모니터링하기 위해 유사한 단계들이 구현될 수도 있음을 당업자는 인식할 것이다.
도시된 실시형태에서는, 단계 401 에서, 이동 디바이스 상에서 실행되는 CellID 모니터가 공중 인터페이스 메모리 내의 현재 CellID 에 액세스하고, 그 현재 CellID 는, 이동 디바이스가 주 링크를 갖는 타워의 CellID 이다. 단계 402 에서, CellID 모니터는 또한 애플리케이션-액세스가능 CellID 버퍼를 판독하여, CellID 모니터가 실행된 최후 시간에 이동 디바이스가 접속했던 타워의 CellID 를 검색할 수도 있다. 그 후, 단계 403 에서, CellID 모니터는 현재의 CellID 와 이전의 CellID 를 비교하여, CellID 가 변경되었는지 여부를 결정할 수도 있다. 2 개의 CellID 값이 동일하면 (즉, 테스트 403 = "아니오"), CellID 모니터가 실행된 최후 시간 이후에 이동 디바이스가 새로운 셀 타워로 접속하지 않아서, 단계 407 에서, 변경된 CellID 플래그가 "0" 으로 리셋되고, 프로세스는 셀 핸드오버 이벤트와 같은 이벤트로부터 CellID 에서의 변경을 신속하게 검출하기 위해 단계 401 로 리턴함으로써 주기적으로 반복된다.
2 개의 CellID 값이 동일하지 않으면 (즉, 테스트 403 = "예"), 이것은 핸드오프가 발생한 것을 나타내기 때문에, 이동 디바이스 상의 위치-기반 애플리케이션들에 통지될 수도 있다. 이 통지를 달성하기 위해, 단계 404 에서, CellID 모니터는 새로운 CellID 를 CellID 버퍼에 저장한다. 단계 405 에서, (예를 들어, 메모리에 "1" 을 저장함으로써) CellID 변경 플래그가 설정될 수도 있다. CellID 변경 플래그가 "1" 로 설정된 후, 프로세스는 셀 핸드오버 이벤트와 같은 이벤트로부터 CellID 에서의 변경을 신속하게 검출하기 위해 단계 401 로 리턴함으로써 주기적으로 반복된다.
메시지 및 송신 파라미터들이 원격 서버 (509) 에 저장되고 그로부터 송신되는 실시형태에서, 이 방법은 단계 401 이전에, 단계 408 에서 새로운 CellID 를 서버에 송신하는 단계를 포함할 수도 있다.
도 13a 는, 메시지에 대한 지리적 송신 기준을 저장하기 위해 "GPS 위치/CellID" 데이터 필드 (22) 를 포함하는 예시적인 파라미터 표 (10c) 를 도시한다. 파라미터 표 (10c) 는, 추가적인 "GPS 위치/CellID" 데이터 필드 (22) 및 새로운 예시적인 데이터 기록 (29 내지 35) 을 제외하고는, 도 6a 에 도시된 파라미터 표 (10c) 와 유사하다. "GPS 위치/CellID" 데이터 필드 (22) 는, 사용자가 그 데이터 필드 (22) 에 저장된 GPS 위치/CellID 의 인근에 진입하는 경우, 어드레스 포인터 데이터 필드 (14a) 에 의해 표시된 메모리 위치에 저장된 대응하는 메시지가 입력/선택된 콘택트에 전송되도록, 메시지의 지리적 송신 기준의 GPS 위치 또는 CellID 를 저장할 수도 있다.
변형된 파라미터 표 (10c) 의 일예로서, 새로운 예시적인 데이터 기록 (29 내지 35) 이 저장되어 있다. 예를 들어, 데이터 기록 (29) 은, 사용자가 "addr10" 으로 표시된 메모리 위치에 저장된 텍스트 메시지를 드래프트했음을 나타낸다. 데이터 기록 (29) 은 또한, 메모리 위치 "addr10" 에 저장된 텍스트 메시지가 "밥" 에게 의도된 것을 나타낸다. 이 콘택트와 연관된 이동 디바이스 전화 번호는 적절한 콘택트 기록을 위치확인하기 위해 "밥" 을 이용하는 콘택트 애플리케이션으로부터 획득될 수도 있다. 데이터 기록 (29) 은 또한, 사용자의 이동 디바이스가 GPS 위치 또는 CellID 에 의해 표시된 "워싱턴 DC" 의 인근에 있을 때마다 텍스트 메시지가 송신되도록 스케줄링된 것을 나타낸다. 이 예에서, 사용자가의 이동 디바이스 (501) 가 워싱턴 DC 의 인근에 있을 때마다, 어드레스 포인터 (10) 와 연관된 위치에 저장된 텍스트 메시지가 사용자의 콘택트 명칭 "밥" (의도된 수신인) 에게 송신될 것이다. 유사하게, 사용자의 이동 디바이스 (501) 가 런던 인근에 있으면, 어드레스 포인터 (11) 와 연관된 위치에 저장된 텍스트 메시지가 사용자의 콘택트 명칭 "찰스" 에게 송신될 것이다.
전술한 바와 같이, 스케줄링된 메시지 및 그와 연관된 송신 파라미터들은 단일 데이터 표 (10d) 에 함께 저장될 수도 있고, 그 일예는 도 13b 에 도시되어 있다. 이 데이터 구조는, 텍스트 메시지의 메모리 포인터 또는 파일 명칭을 저장하는 것 대신 각각의 데이터 기록이 메시지 텍스트 (14b) 자체를 포함하는 것을 제외하고는 도 13a 를 참조하여 전술한 것과 유사하다.
도 14 는 이동 디바이스의 위치에 기초하여 수신인에게 미리 드래프트된 메시지를 송신할지 여부를 결정하기 위해 이동 디바이스 (501) 또는 서버 (509) 에 의 프로세서에 의해 행해질 수도 있는 단계들을 도시하는 프로세스 흐름도이다. 메인 루프 (200) 를 구현할 수도 있는 운영 시스템이 이동 디바이스 (501) 프로세서 또는 서버 (509) 프로세서 상에서 실행될 때, 단계 401 에서, 운영시스템은 주기적으로 GPS 위치 또는 CellID 버퍼에 액세스하여, 사용자의 이동 디바이스 (501) 의 현재 위치를 결정할 것이다. 추가적으로 또는 대안적으로, 테스트 410 에서, 변경된 GPS 위치 또는 CellID 플래그가 체크되어, 사용자의 이동 디바이스 (501) 가 새로운 위치로 이동했는지 여부를 결정할 수도 있다. 플래그가 설정되지 않으면 (즉, 테스트 410 = "아니오"), 사용자의 이동 디바이스 (501) 는 위치를 변경하지 않았으며 추가적 동작이 불필요하므로, 프로세스는 메인 루프 (200) 로 리턴할 수도 있다.
변경된 GPS 위치 또는 CellID 플래그가 설정되면 (즉, 테스트 410 = "예"), 이동 디바이스 (501) 는 위치를 변경했고, 그 새로운 위치가 임의의 스케줄링된 메시지의 송신을 보장하는지 여부를 결정하기 위한 체크가 필요하다. 이를 달성하기 위해, 단계 401 에서 획득된 현재의 GPS 위치/CellID 가 단계 412 에서, 파라미터 데이터 표 (10c, 10d) 에 저장된 GPS 위치/CellID 지리적 송신 기준과 비교된다. 파라미터 표 (10c, 10d) 의 데이터 기록에 저장된 GPS 위치/CellID 지리적 송신 기준 중 어떠한 것도 현재의 GPS 위치/CellID 에 매칭하지 않으면 (즉, 테스트 413 = "아니오"), 추가적 동작이 불필요하기 때문에, 단계 411 에서, 프로세서는 GPS 위치/CellID 변경 플래그를 클리어하고, 그 후, 프로세스는 메인 루프 (200) 로 리턴할 수도 있다.
파라미터 표 (10c, 10d) 의 데이터 기록에 저장된 GPS 위치/CellID 지리적 송신 기준 중 임의의 것이 현재의 GPS 위치/CellID 에 매칭하면 (즉, 테스트 413 = "예"), 단계 420 에서, 파라미터 표에 저장된 어드레스 포인터 또는 파일 명칭을 이용하여 메모리로부터 메시지가 검색된다. 그 후, 단계 210 에서, 이 메시지는 파라미터 표에 저장된 의도된 수신인 각각에게 송신된다. 이 실시형태에서의 메시지는 사용자의 이동 디바이스 (501) 가 입력/선택된 콘택트의 인근으로 이동할 때마다 전송되는 것을 의미하기 때문에, 프로세스는 파라미터 표 (10c, 10d) 의 반복 메시지 데이터 필드 (20) 를 체크하여, 메시지가 반복 송신으로 의도되는지를 나타내는 플래그를 설정할지 여부를 결정한다. 데이터 필드 (20) 플래그가 반복 메시지를 나타내면 (즉, 테스트 217 = "예"), 단계 218 에서, 메시지 본문은 메모리 내에서 새로운 위치에 저장될 수도 있고, 새로운 데이터 기록이 파라미터 표 (10c, 10d) 에 저장된다. 메시지 본문 및 새로운 데이터 기록이 파라미터 표 (10) 에 저장되면, 단계 220 에서, 종전의 데이터 기록은 파라미터 표로부터 삭제될 수도 있다. 대안적으로, 새로운 데이터 기록이 생성되지 않고 데이터 기록은 변경없이 (즉, 삭제되지 않고) 남을 수도 있다. 그러나, 반복 이벤트 데이터 필드 (20) 플래그가 설정되지 않으면 (즉, 테스트 217 = "아니오"), 단계 220 에서, 임의의 새로운 데이터 기록이 파라미터 표 (10c, 10d) 에 생성되지 않고 그 전송된 메시지 데이터 기록이 삭제될 수도 있다. 단계 411 에서, 프로세서는 변경된 GPS 위치/CellID 플래그를 클리어하고, 그 후, 프로세스는 메인 루프 (200) 로 리턴할 수도 있다.
도 15 는 이동 디바이스 (501) 의 위치에 기초하여 수신인에게 미리 드래프트된 메시지를 송신할지 여부를 결정하기 위한 대안적 실시형태에서 이동 디바이스 (501) 또는 서버 (509) 의 프로세서에 의해 행해질 수도 있는 단계들을 도시하는 프로세스 흐름도이다. 이 실시형태는 도 14 를 참조하여 전술한 실시형태와 유사하지만, 저장된 메시지가 사용자의 이용가능성에 기초하여 송신되어야 하는지 여부를 프로세서가 더 결정하는 추가적 단계들을 포함한다. 이 실시형태는, 사용자가 인근에 있는 것에 기초하여 메시지가 수신인에게 전송되는 상황에 특히 유용하다. 이러한 메시지는 만나자는 응답 또는 초대를 프롬프트할 것이기 때문에, 메시지를 전송하기 전에 사용자가 이러한 초대를 수용할 수 있는 것을 확인하는 것이 유용할 수도 있다. 이를 위해, 단계 415 에서, 프로세서는 현재의 날짜 및 시간에 대한 캘린더 애플리케이션에 저장된 캘린더 데이터에 액세스한다. 캘린더 체크의 목적은, 사용자가 현재 GPS/CellID 위치에서 입력/선택된 콘택트와의 약속을 불가능하게 하는 충돌하는 스케줄을 가지는지 여부를 결정하는 것이다. 예를 들어, 사용자는 짧은 시간 동안만 그 위치에 있을 수도 있어서 누구와도 만나지 못할 수도 있다. 다른 예로, 사용자가 비행 환승 사이의 레이오버 동안에만 공항에 있다면, 그 사용자는 메시지를 전송하는 것을 원하지 않을 수도 있다. 캘린더 데이터가 현재 GPS/CellID 위치에서 스케줄 충돌 또는 불충분한 자유 시간을 나타내면 (즉, 테스트 416 = "아니오"), 단계 411 에서, 프로세서는 그 변경된 GPS 위치/CellID 를 클리어하고, 프로세서 흐름을 메인 루프 (200) 로 리턴한다. 그러나, 사용자가 현재 GPS/CellID 위치에서 사용가능한 자유 시간을 가진 것으로 사용자의 캘린더가 나타내면 (즉, 테스트 416 = "예"), 단계 420 및 210 내지 220 에 대해 도 4 를 참조하여 전술한 바와 같이 프로세스는 메시지 본문의 검색을 계속하여 이를 의도된 수신인에게 송신할 수도 있다.
청구항의 청구물은 다양한 유사한 방법, 알고리즘 데이터 구조 및 소프트웨어 루틴에 의해 핸드셋 상에서 운영되는 소프트웨어로 구현될 수도 있기 때문에, 도 1 내지 도 15 에 도시된 실시형태 방법 및 데이터 구조는 오직 예시적인 예에만 의도된다. 예를 들어, 또는 당업자가 인식하는 바와 같이, 도 1 내지 도 15 에 도시된 방법 단계들은 도면에서 설명되거나 도시된 순서로 달성될 필요가 없을 수도 있고, 대체되거나 삭제될 수도 있고, 소프트웨어 또는 하드웨어로 구현될 수도 있다. 따라서, 전술한 실시형태들은 청구항의 범주를 제한하는 것으로 의도되지 않는다.
일 실시형태에서, 현재의 GPS 위치 또는 CellID 를 저장된 메시지에 대한 지리적 송신 기준과 주기적으로 비교하는 프로세스 단계들은 운영 시스템 내에서 수행된다. 이러한 비교가 긍정적이면 (즉, 현재의 위치가 하나 이상의 메시지에 대한 지리적 송신 기준에 매칭하면), 운영 시스템은 메시징 애플리케이션을 활성화시키고, 송신될 메시지(들)을 식별할 수도 있다. 그 후, 메시징 애플리케이션은 메시지(들)을 자동으로 송신할 수도 있고, 또는 메시지의 송신을 확인하기 위해 사용자에게 프롬프트를 제공할 수도 있다. 지리적 위치/기준 비교 단계들을 운영 시스템에 통합함으로써, 메시징 애플리케이션은 단순화될 수 있다 (이러한 애플리케이션에 통상적으로 액세스할 수 없는 메모리에 액세스할 필요성 및 현재의 위치를 지리적 송신 기준에 대해 비교하기 위해 배경에서 애플리케이션 실행을 항상 유지해야 할 필요성을 회피한다).
전술한 실시형태들은, 예를 들어, 셀룰러 전화, 셀룰러 전화를 갖춘 개인 휴대 정보 단말기 (PDA), 이동 전자 메일 수신기, 이동 웹 액세스 디바이스 및 무선 네트워크에 접속하는 장래에 개발될 수도 있는 다른 프로세서 장착 디바이스와 같은 다양한 이동 디바이스들 중 임의의 디바이스 상에 구현될 수도 있다. 통상적으로, 이러한 이동 디바이스들은 도 16 에 도시된 컴포넌트들을 공통으로 가질 것이다. 예를 들어, 이동 디바이스 (501) 는 메모리 (572) 및 디스플레이 (573) 에 커플링된 프로세서 (571) 를 포함할 수도 있다. 또한, 이동 디바이스 (501) 는, 무선 데이터 링크에 접속된 전자기 방사를 전송 및 수신하는 안테나 (574) 및/또는 프로세서 (571) 에 커플링된 셀룰러 전화 트랜시버 (575) 를 가질 것이다. 몇몇 구현예에서, 셀룰러 전화 통신에 이용되는 트랜시버 (572) 및 프로세서 (571) 와 메모리 (572) 의 일부는 무선 데이터 링크를 통해 데이터 인터페이스를 제공하기 때문에 공중 인터페이스로 지칭된다.
프로세서 (571) 는, 전술한 다양한 실시형태의 기능들을 포함하는 다양한 기능을 수행하도록 소프트웨어 명령들 (애플리케이션) 에 의해 구성될 수 있는 임의의 프로그래머블 마이크로프로세서, 마이크로컴퓨터, 또는 다중 프로세서 칩 또는 칩들일 수도 있다. 몇몇 이동 디바이스에서는, 하나의 프로세서는 무선 통신 기능에 전용되고 하나의 프로세서는 다른 애플리케이션을 실행시키는데 전용되는 것과 같이 다중 프로세서 (571) 가 제공될 수도 있다. 통상적으로, 소프트웨어 애플리케이션은 액세스되고 프로세서 (571) 로 로딩되기 전에 내부 메모리 (572) 에 저장될 수도 있다. 몇몇 이동 디바이스에서, 프로세서 (571) 는 애플리케이션 소프트웨어 명령들을 저장하기에 충분한 내부 메모리를 포함할 수도 있다. 이에 대한 설명을 위해, 용어 메모리는, 내부 메모리 (572) 및 프로세서 (571) 자체 내의 메모리를 포함하는, 프로세서 (571) 에 의해 액세스가능한 모든 메모리를 지칭한다. CellID 버퍼와 같은 사용자 데이터 파일은 통상적으로 메모리 (572) 에 저장된다. 다수의 이동 디바이스에서, 메모리 (572) 는 플래시 메모리와 같은 비휘발성 또는 휘발성 메모리일 수도 있고, 이들의 혼합일 수도 있다. 이동 디바이스는 통상적으로 사용자 입력을 수신하기 위해, 키 패드 (576) 또는 미니어처 기보드 및 메뉴 선택 버튼 또는 라커 스위치 (577) 를 포함한다. 이동 디바이스 (501) 는 또한, 통신 안테나 (574) 와 같은 안테나 및 프로세서 (571) 에 커플링된 GPS 수신기 (578) 를 포함할 수도 있다. GPS 수신기 (578) 는 셀룰러 전화와 같은 이동 디바이스들 내로의 포함을 위해 이용될 수 있는 공지되거나 장래의 다양한 GPS 수신기 칩 (또는 칩셋) 중 임의의 것일 수도 있다.
전술한 실시형태들은 또한 도 17 에 도시된 것과 같은 다양한 서버 시스템들 중 임의의 시스템 상에 구현될 수도 있다. 이러한 서버 (509) 는 통상적으로 디스크 드라이브 (163) 와 같은 대용량 비휘발성 메모리 및 휘발성 메모리 (162) 에 커플링된 프로세서 (161) 를 포함한다. 프로세서 (161) 는, 인터넷과 같은 네트워크 (165) 에 커플링된 고속 모뎀 (164) 과 같은 하나 이상의 네트워크 인터페이스 회로에 커플링된다. 컴퓨터 (160) 는 또한 프로세서 (161) 에 커플링된 컴팩트 디스크 (CD) 드라이브 (166) 와 같은 휴대용 미디어 판독기를 포함할 수도 있다.
전술한 실시형태들을 구현하는데 이용되는 하드웨어는 명령들의 세트를 실행하도록 구성된 프로세싱 엘리먼트 및 메모리 엘리먼트일 수도 있고, 명령들의 세트는 전술한 방법들에 대응하는 방법 단계들을 수행하기 위한 것이다. 대안적으로, 몇몇 단계들 또는 방법들은 소정의 기능에 특정된 회로에 의해 수행될 수도 있다.
당업자는 여기에서 개시된 실시형태들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들, 및 알고리즘 단계들을 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들의 조합으로 구현할 수도 있음을 알 수 있다. 하드웨어와 소프트웨어의 이러한 대체 가능성을 분명히 설명하기 위하여, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들을 주로 그들의 기능의 관점에서 상술하였다. 그러한 기능이 하드웨어로 구현될지 소프트웨어로 구현될지는 전체 시스템에 부과된 특정한 애플리케이션 및 설계 제약조건들에 의존한다. 당업자는 설명된 기능을 각각의 특정한 애플리케이션에 대하여 다양한 방식으로 구현할 수도 있지만, 그러한 구현의 결정이 본 발명의 범위를 벗어나도록 하는 것으로 해석하지는 않아야 한다.
여기에 개시된 실시형태들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서에 의해 실행되는 하드웨어에 의해 직접 구현될 수도 있고, 프로세서에 의해 실행되는 소프트웨어 모듈로 구현될 수도 있고, 또는 그 2 개의 결합으로 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM, 또는 당업계에 알려진 임의의 다른 유형의 저장 매체에 상주할 수도 있다. 또한, 프로세서 판독가능 메모리는 2 이상의 메모리 칩, 프로세서 칩 내부의 메모리, 개별 메모리 칩, 및 플래시 메모리 및 RAM 메모리와 같은 다른 타입의 메모리의 조합을 포함할 수도 있다. 이동 핸드셋의 메모리에 대한 참조는 특정한 구성, 타입 또는 패키징에 제한되지 않고 이동 핸드셋 내의 임의의 하나 또는 전부의 메모리 모듈을 포함하는 것으로 의도된다. 예시적인 저장 매체는 이동 핸드셋 또는 테마 서버 중 하나의 프로세서에 커플링되어, 그 프로세서는 저장 매체로부터 정보를 판독하고 저장 매체에 정보를 기록할 수 있다. 대안적으로, 저장 매체는 프로세서에 통합될 수도 있다. 프로세서 및 저장 매체는 ASIC 에 상주할 수도 있다.
다양한 실시형태들의 전술한 설명은 당업자가 본 발명을 실시 또는 이용할 수 있게 하도록 제공된다. 이 실시형태들에 대한 다양한 변형예는 당업자에게 자명할 것이고, 여기서 정의된 고유의 원리들은 본 발명의 사상 또는 범주를 벗어나지 않고 다른 실시형태들에 적용될 수도 있다. 따라서, 본 발명은 여기서 예시된 실시형태들에 제한되도록 의도되지 않고, 청구항들은 본 명세서에 개시된 원리 및 신규한 특성에 부합하는 최광의 범주에 따른다.

Claims (84)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 메시지의 송신을 스케줄링하는 방법으로서,
    메시지 컨텐츠를 이동 디바이스 상에서 수신하는 단계;
    상기 메시지를 수신할 적어도 하나의 의도된 수신인의 전화 번호를 수신하는 단계;
    상기 이동 디바이스 상에서 상기 메시지에 대한 지리적 송신 기준을 수신하는 단계로서, 상기 지리적 송신 기준은 콘택트 데이터베이스에 대한 레퍼런스로서 수신된 상기 적어도 하나의 의도된 수신인의 위치인, 상기 지리적 송신 기준을 수신하는 단계;
    상기 지리적 송신 기준으로서 이용하기 위해 상기 콘택트 데이터베이스로부터 상기 적어도 하나의 의도된 수신인의 어드레스를 획득하는 단계;
    상기 메시지 컨텐츠를 메모리에 저장하는 단계;
    상기 지리적 송신 기준을 메모리에 저장하는 단계;
    상기 이동 디바이스의 현재 위치를 결정하는 단계;
    상기 메시지가 송신되어야 하는지 여부를 결정하기 위해, 상기 지리적 송신 기준과 상기 이동 디바이스의 현재 위치를 비교하는 단계;
    상기 현재 위치가 상기 지리적 송신 기준을 충족하면, 상기 메시지 컨텐츠를 상기 메모리로부터 검색하는 단계; 및
    상기 메시지를 송신하는 단계를 포함하는, 메시지의 송신을 스케줄링하는 방법.
  13. 제 12 항에 있어서,
    캘린더 데이터를 캘린더 애플리케이션으로부터 검색하는 단계를 더 포함하고,
    상기 메시지 컨텐츠를 메모리로부터 검색하는 단계 및 상기 메시지를 송신하는 단계는, 상기 캘린더 데이터가 스케줄 충돌을 나타내지 않는 경우에만 수행되는, 메시지의 송신을 스케줄링하는 방법.
  14. 제 12 항에 있어서,
    상기 메시지가 송신되었음을 상기 이동 디바이스의 사용자에게 경보하는 단계를 더 포함하는, 메시지의 송신을 스케줄링하는 방법.
  15. 제 12 항에 있어서,
    상기 메시지를 송신하기 전에 상기 이동 디바이스의 사용자로부터 확인을 요청하는 단계를 더 포함하는, 메시지의 송신을 스케줄링하는 방법.
  16. 삭제
  17. 삭제
  18. 제 12 항에 있어서,
    상기 콘택트 데이터베이스에 저장된 상기 적어도 하나의 의도된 수신인에 대한 어드레스 기록으로부터 도시를 획득하는 단계; 및
    상기 도시를 상기 지리적 송신 기준으로서 이용하는 단계를 더 포함하는, 메시지의 송신을 스케줄링하는 방법.
  19. 제 12 항에 있어서,
    상기 이동 디바이스의 위치는 셀룰러 네트워크 내의 셀 식별자에 기초하는, 메시지의 송신을 스케줄링하는 방법.
  20. 제 12 항에 있어서,
    상기 이동 디바이스의 위치는 상기 이동 디바이스 내에 포함된 글로벌 포지셔닝 시스템 (GPS) 수신기에 의해 측정된 GPS 좌표에 기초하는, 메시지의 송신을 스케줄링하는 방법.
  21. 제 12 항에 있어서,
    상기 지리적 송신 기준과 상기 현재 위치를 비교하는 단계는 상기 이동 디바이스의 운영 시스템 내에서 수행되는, 메시지의 송신을 스케줄링하는 방법.
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 이동 디바이스 상에서 메시지를 수신하는 수단;
    상기 메시지를 수신할 적어도 하나의 의도된 수신인의 전화 번호를 수신하는 수단;
    상기 이동 디바이스 상에서 상기 메시지에 대한 지리적 송신 기준을 수신하는 수단으로서, 상기 지리적 송신 기준은 콘택트 데이터베이스에 대한 레퍼런스로서 수신된 상기 적어도 하나의 의도된 수신인의 위치인, 상기 지리적 송신 기준을 수신하는 수단;
    상기 지리적 송신 기준으로서 이용하기 위해 상기 콘택트 데이터베이스로부터 상기 적어도 하나의 의도된 수신인의 어드레스를 획득하는 수단;
    상기 메시지를 저장하는 수단;
    상기 지리적 송신 기준을 저장하는 수단;
    상기 이동 디바이스의 현재 위치를 결정하는 수단;
    상기 메시지가 송신되어야 하는지 여부를 결정하기 위해, 상기 지리적 송신 기준과 상기 이동 디바이스의 상기 현재 위치를 비교하는 수단;
    상기 현재 위치가 상기 지리적 송신 기준을 충족하면, 상기 메시지를 저장하는 수단으로부터 상기 메시지를 검색하는 수단; 및
    상기 메시지를 송신하는 수단을 포함하는, 이동 디바이스.
  37. 제 36 항에 있어서,
    상기 메시지가 송신되었음을 상기 이동 디바이스의 사용자에게 경보하는 수단을 더 포함하는, 이동 디바이스.
  38. 제 36 항에 있어서,
    상기 메시지를 송신하기 전에 상기 이동 디바이스의 사용자로부터 확인을 요청하는 수단을 더 포함하는, 이동 디바이스.
  39. 삭제
  40. 삭제
  41. 제 36 항에 있어서,
    상기 콘택트 데이터베이스에 저장된 상기 적어도 하나의 의도된 수신인에 대한 어드레스 기록으로부터 도시를 획득하는 수단; 및
    상기 도시를 상기 지리적 송신 기준으로서 이용하는 수단을 더 포함하는, 이동 디바이스.
  42. 제 36 항에 있어서,
    상기 이동 디바이스의 위치는 셀룰러 네트워크 내의 셀 식별자에 기초하는, 이동 디바이스.
  43. 제 36 항에 있어서,
    상기 이동 디바이스의 위치는 상기 이동 디바이스 내에 포함된 글로벌 포지셔닝 시스템 (GPS) 수신기에 의해 측정된 GPS 좌표에 기초하는, 이동 디바이스.
  44. 제 36 항에 있어서,
    상기 지리적 송신 기준과 상기 현재 위치를 비교하는 수단은 상기 이동 디바이스의 운영 시스템 내에 있는, 이동 디바이스.
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 사용자 인터페이스 디스플레이;
    사용자 인터페이스 키패드;
    데이터 신호들을 송신 및 수신하는 공중 인터페이스;
    상기 사용자 인터페이스 키패드, 상기 사용자 인터페이스 디스플레이 및 상기 공중 인터페이스에 커플링되는 프로세서; 및
    상기 프로세서에 커플링되는 메모리를 포함하며,
    상기 메모리는 상기 프로세서로 하여금,
    이동 디바이스 상에서 메시지를 수신하는 단계;
    상기 메시지를 수신할 적어도 하나의 의도된 수신인의 전화 번호를 수신하는 단계;
    상기 이동 디바이스 상에서 상기 메시지에 대한 지리적 송신 기준을 수신하는 단계로서, 상기 지리적 송신 기준은 콘택트 데이터베이스에 대한 레퍼런스로서 수신된 상기 적어도 하나의 의도된 수신인의 위치인, 상기 지리적 송신 기준을 수신하는 단계;
    상기 지리적 송신 기준으로서 이용하기 위해 상기 콘택트 데이터베이스로부터 상기 적어도 하나의 의도된 수신인의 어드레스를 획득하는 단계;
    상기 메시지를 메모리에 저장하는 단계;
    상기 지리적 송신 기준을 메모리에 저장하는 단계;
    상기 이동 디바이스의 현재 위치를 결정하는 단계;
    상기 메시지가 송신되어야 하는지 여부를 결정하기 위해, 상기 지리적 송신 기준과 상기 이동 디바이스의 현재 위치를 비교하는 단계;
    상기 현재 위치가 상기 지리적 송신 기준을 충족하면, 상기 메시지를 상기 메모리로부터 검색하는 단계; 및
    상기 메시지를 송신하는 단계를 수행하게 하도록 구성된 프로세서 실행가능 소프트웨어 명령들을 저장하는, 이동 디바이스.
  61. 제 60 항에 있어서,
    상기 메모리에 저장된 프로세서 실행가능 소프트웨어 명령들은 상기 프로세서로 하여금, 캘린더 애플리케이션으로부터 캘린더 데이터를 검색하는 단계를 더 수행하게 하도록 구성되고,
    상기 메시지를 메모리로부터 검색하는 단계 및 상기 메시지를 송신하는 단계는, 상기 캘린더 데이터가 스케줄 충돌을 나타내지 않는 경우에만 수행되는, 이동 디바이스.
  62. 제 60 항에 있어서,
    상기 메모리에 저장된 프로세서 실행가능 소프트웨어 명령들은 상기 프로세서로 하여금, 상기 메시지가 송신되었음을 상기 이동 디바이스의 사용자에게 경보하는 단계를 더 수행하게 하도록 구성되는, 이동 디바이스.
  63. 제 60 항에 있어서,
    상기 메모리에 저장된 프로세서 실행가능 소프트웨어 명령들은 상기 프로세서로 하여금, 상기 메시지를 송신하기 전에 상기 이동 디바이스의 사용자로부터 확인을 요청하는 단계를 더 수행하게 하도록 구성되는, 이동 디바이스.
  64. 삭제
  65. 삭제
  66. 제 60 항에 있어서,
    상기 메모리에 저장된 프로세서 실행가능 소프트웨어 명령들은 상기 프로세서로 하여금,
    상기 콘택트 데이터베이스에 저장된 상기 적어도 하나의 의도된 수신인에 대한 어드레스 기록으로부터 도시를 획득하는 단계; 및
    상기 도시를 상기 지리적 송신 기준으로서 이용하는 단계를 더 수행하게 하도록 구성되는, 이동 디바이스.
  67. 제 60 항에 있어서,
    상기 이동 디바이스의 위치는 셀룰러 네트워크 내의 셀 식별자에 기초하는, 이동 디바이스.
  68. 제 60 항에 있어서,
    상기 이동 디바이스의 위치는 상기 이동 디바이스 내에 포함된 글로벌 포지셔닝 시스템 (GPS) 수신기에 의해 측정된 GPS 좌표에 기초하는, 이동 디바이스.
  69. 제 60 항에 있어서,
    상기 메모리에 저장된 프로세서 실행가능 소프트웨어 명령들은 상기 프로세서로 하여금, 상기 프로세서 상에서 운영되는 운영 시스템 내에서 상기 지리적 송신 기준과 상기 현재 위치를 비교하는 단계를 수행하게 하도록 구성되는, 이동 디바이스.
  70. 삭제
  71. 삭제
  72. 삭제
  73. 삭제
  74. 삭제
  75. 삭제
  76. 삭제
  77. 삭제
  78. 삭제
  79. 삭제
  80. 프로세서 실행가능 소프트웨어 명령들이 저장되는 유형의 프로세서 판독가능 저장 매체로서,
    상기 프로세서 실행가능 소프트웨어 명령들은 프로세서로 하여금,
    이동 디바이스 상에서 메시지를 수신하는 단계;
    상기 메시지를 수신할 적어도 하나의 의도된 수신인의 전화 번호를 수신하는 단계;
    상기 이동 디바이스 상에서 상기 메시지에 대한 지리적 송신 기준을 수신하는 단계;
    상기 메시지를 메모리에 저장하는 단계;
    상기 지리적 송신 기준을 메모리에 저장하는 단계;
    상기 이동 디바이스의 현재 위치를 결정하는 단계;
    상기 메시지가 송신되어야 하는지 여부를 결정하기 위해, 상기 지리적 송신 기준과 상기 이동 디바이스의 현재 위치를 비교하는 단계;
    캘린더 애플리케이션으로부터 캘린더 데이터를 검색하는 단계;
    상기 캘린더 데이터가 스케줄 충돌을 나타내지 않는 경우에만, 상기 현재 위치가 상기 지리적 송신 기준을 충족하면, 상기 메시지를 상기 메모리로부터 검색하는 단계; 및
    상기 캘린더 데이터가 스케줄 충돌을 나타내지 않는 경우에만, 상기 메시지를 송신하는 단계를 수행하게 하도록 구성되는, 유형의 프로세서 판독가능 저장 매체.
  81. 삭제
  82. 제 80 항에 있어서,
    프로세서로 하여금, 상기 메시지가 송신되었음을 상기 이동 디바이스의 사용자에게 경보하는 단계를 더 수행하게 하도록 구성되는 프로세서 실행가능 소프트웨어 명령들이 더 저장되는, 유형의 프로세서 판독가능 저장 매체.
  83. 제 80 항에 있어서,
    프로세서로 하여금, 상기 메시지를 송신하기 전에 상기 이동 디바이스의 사용자로부터 확인을 요청하는 단계를 더 수행하게 하도록 구성되는 프로세서 실행가능 소프트웨어 명령들이 더 저장되는, 유형의 프로세서 판독가능 저장 매체.
  84. 제 80 항에 있어서,
    프로세서로 하여금, 상기 프로세서 상에서 운영되는 운영 시스템 내에서 상기 지리적 송신 기준과 상기 현재 위치를 비교하는 단계를 수행하게 하도록 구성되는 프로세서 실행가능 소프트웨어 명령들이 더 저장되는, 유형의 프로세서 판독가능 저장 매체.
KR1020117001119A 2008-06-16 2009-06-09 이동 디바이스로부터 메시지의 송신을 스케줄링하는 방법 및 장치 KR101240796B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/139,794 2008-06-16
US12/139,794 US8290476B2 (en) 2008-06-16 2008-06-16 Method and apparatus for scheduling the transmission of messages from a mobile device
PCT/US2009/046675 WO2009155163A1 (en) 2008-06-16 2009-06-09 Method and apparatus for scheduling the transmission of messages from a mobile device

Publications (2)

Publication Number Publication Date
KR20110030597A KR20110030597A (ko) 2011-03-23
KR101240796B1 true KR101240796B1 (ko) 2013-03-12

Family

ID=40941586

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117001119A KR101240796B1 (ko) 2008-06-16 2009-06-09 이동 디바이스로부터 메시지의 송신을 스케줄링하는 방법 및 장치

Country Status (6)

Country Link
US (1) US8290476B2 (ko)
EP (1) EP2314032B1 (ko)
JP (1) JP5335904B2 (ko)
KR (1) KR101240796B1 (ko)
CN (1) CN102067535A (ko)
WO (1) WO2009155163A1 (ko)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8806378B2 (en) * 2008-05-08 2014-08-12 Humana Innovations Enterprises, Inc. Mobile client application for managing display of messages to users
US8219067B1 (en) * 2008-09-19 2012-07-10 Sprint Communications Company L.P. Delayed display of message
US20100281123A1 (en) * 2009-05-04 2010-11-04 Charles Greenberg System and method for targeted communication
US8170591B2 (en) * 2009-05-13 2012-05-01 Microsoft Corporation Proximity-based mobile message delivery
CN102044199A (zh) * 2009-10-26 2011-05-04 鸿富锦精密工业(深圳)有限公司 无线导览系统及导览方法
US8504060B2 (en) * 2010-01-22 2013-08-06 Infosys Limited System and method for reporting change of area event
US8260314B2 (en) * 2010-02-17 2012-09-04 Cellco Partnership Business hour notification delivery
US8798445B2 (en) * 2010-02-26 2014-08-05 Blackberry Limited Enhanced banner advertisements
US20110216915A1 (en) * 2010-03-08 2011-09-08 Verizon Patent And Licensing, Inc. Providing audible information to a speaker system via a mobile communication device
US8856132B2 (en) * 2010-06-24 2014-10-07 Infosys Limited Tips management system and process for managing organization-wide knowledge tips
US20120094698A1 (en) * 2010-06-24 2012-04-19 Paul Casto Location aware message restriction and auto-replay feature
CN101895837A (zh) * 2010-07-14 2010-11-24 中兴通讯股份有限公司 用于移动终端的邮件发送方法和邮件系统
US8965423B2 (en) * 2011-06-10 2015-02-24 Sandeep Srinivasan Location, time, and context-based deferred notifications on a mobile device
US8649806B2 (en) 2011-09-02 2014-02-11 Telecommunication Systems, Inc. Aggregate location dynometer (ALD)
US8650256B2 (en) * 2011-10-12 2014-02-11 International Business Machines Corporation Communications security by enforcing offline consumption and auto-termination of electronic messages
US8903925B2 (en) 2012-05-14 2014-12-02 Microsoft Corporation Scheduled messages in a scalable messaging system
US8694633B2 (en) 2012-06-05 2014-04-08 Forget You Not, LLC Curating communications
US8725823B2 (en) 2012-06-05 2014-05-13 Forget You Not, LLC Location-based communications
US9043423B2 (en) 2012-06-05 2015-05-26 Forget You Not, LLC Perpetual memoire
US20130344817A1 (en) * 2012-06-21 2013-12-26 Fluiditech Ip Limited Event message projecting circuit and method
US10219205B2 (en) 2012-07-27 2019-02-26 Calamp Corp. Multiple network mode selection devices
CN103841003B (zh) * 2012-11-23 2017-12-01 腾讯科技(深圳)有限公司 即时通讯中进行信息交互的方法及系统
KR101526803B1 (ko) * 2013-12-11 2015-06-05 현대자동차주식회사 자동차의 조작계 터치패드를 이용한 문자 입력 시스템 및 방법
US9775009B2 (en) * 2014-04-23 2017-09-26 Cellco Partnership Method and system for coordinating a communication response
US9846981B2 (en) * 2014-06-12 2017-12-19 Wellfence Llc Access monitoring system for remote locations
US10198883B2 (en) 2014-06-12 2019-02-05 Wellfence Llc Access monitoring system for compliance
US11823517B2 (en) 2014-06-12 2023-11-21 Drilling Tools International, Inc. Access monitoring system for compliance
CN104185153A (zh) * 2014-07-24 2014-12-03 小米科技有限责任公司 一种延时发送信息的方法及装置
US10841263B2 (en) 2016-02-03 2020-11-17 International Business Machines Corporation System and method for message composition buffers
DE102018206737A1 (de) * 2018-05-02 2019-11-07 Robert Bosch Gmbh Verfahren und Vorrichtung zur Kalibrierung eines Systems zur Erkennung von Eindringversuchen in einem Rechnernetzwerk
US10693823B2 (en) * 2018-09-13 2020-06-23 International Business Machines Corporation Dynamic message content filter
JP7428016B2 (ja) * 2020-03-05 2024-02-06 京セラドキュメントソリューションズ株式会社 ファイル送信装置
US11272330B1 (en) * 2020-12-04 2022-03-08 Capital One Services, Llc Methods and systems for facilitating digital notifications in mobile communication networks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070270159A1 (en) * 2005-09-30 2007-11-22 Sunit Lohtia Location sensitive messaging
US20080020786A1 (en) * 2006-07-24 2008-01-24 Alan Andrew Smith Subscriber unit for a cellular communication system

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19958707A1 (de) * 1999-12-06 2001-06-07 Siemens Ag Verfahren zur Übertragung einer Textnachricht
GB2357668A (en) * 1999-12-24 2001-06-27 Nokia Mobile Phones Ltd Mobile telephone interface allowing user-specification of message delivery conditions
US20020087649A1 (en) * 2000-03-16 2002-07-04 Horvitz Eric J. Bounded-deferral policies for reducing the disruptiveness of notifications
JP2002330174A (ja) 2001-04-27 2002-11-15 Nippon Telegr & Teleph Corp <Ntt> メールサーバと電子メールの日時指定配信方法およびその処理プログラム
US7221933B2 (en) * 2001-10-22 2007-05-22 Kyocera Wireless Corp. Messaging system for mobile communication
US20030157945A1 (en) * 2002-02-21 2003-08-21 Chen An Mei Method and apparatus for delivering server-originated information during a dormant packet data session
US7221937B2 (en) 2002-05-06 2007-05-22 Research In Motion Limited Event reminder method
CN100484276C (zh) * 2002-06-28 2009-04-29 索尼爱立信移动通讯股份有限公司 预配置消息的自动发送
JP2004120399A (ja) * 2002-09-26 2004-04-15 Fuji Photo Film Co Ltd 電子メール送信方法および装置、電子メール受信方法および装置並びにプログラム
US7471946B2 (en) * 2003-06-27 2008-12-30 At&T Delaware Intellectual Property, Inc. Methods of providing messages using location criteria and related systems
JP4210845B2 (ja) 2003-07-14 2009-01-21 日本電気株式会社 メッセージ自動発信方法およびメッセージ自動発信サービスシステム
US20050135681A1 (en) * 2003-12-22 2005-06-23 Schirmer Andrew L. Methods and systems for preventing inadvertent transmission of electronic messages
JP2005209029A (ja) 2004-01-23 2005-08-04 Tm T & D Kk アプリケーション管理システム、アプリケーション管理方法およびその管理方法を実行させるためのプログラム
US7917153B2 (en) * 2004-03-31 2011-03-29 France Telecom Method and apparatus for creating, directing, storing and automatically delivering a message to an intended recipient upon arrival of a specified mobile object at a designated location
US20070232274A1 (en) * 2004-04-29 2007-10-04 Younghee Jung Method, System, Wireless Communications Device and Computer Programs for Sending and Receiving Messages
CN100362875C (zh) * 2004-09-10 2008-01-16 华为技术有限公司 一种消息发送方法
JP2006101292A (ja) 2004-09-30 2006-04-13 Dowango:Kk 携帯端末及び電子メール送信方法並びにコンピュータプログラム
US20060223494A1 (en) * 2005-03-31 2006-10-05 Mazen Chmaytelli Location-based emergency announcements
US20080299999A1 (en) * 2007-06-01 2008-12-04 Kendall Gregory Lockhart System and method for generating multimedia messages in a mobile device
US8078203B2 (en) * 2007-10-11 2011-12-13 Motorola Mobility, Inc. Intelligent messaging service

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070270159A1 (en) * 2005-09-30 2007-11-22 Sunit Lohtia Location sensitive messaging
US20080020786A1 (en) * 2006-07-24 2008-01-24 Alan Andrew Smith Subscriber unit for a cellular communication system

Also Published As

Publication number Publication date
CN102067535A (zh) 2011-05-18
US8290476B2 (en) 2012-10-16
EP2314032A1 (en) 2011-04-27
US20090311992A1 (en) 2009-12-17
EP2314032B1 (en) 2019-03-13
JP2011525661A (ja) 2011-09-22
WO2009155163A1 (en) 2009-12-23
KR20110030597A (ko) 2011-03-23
JP5335904B2 (ja) 2013-11-06

Similar Documents

Publication Publication Date Title
KR101240796B1 (ko) 이동 디바이스로부터 메시지의 송신을 스케줄링하는 방법 및 장치
US8577393B2 (en) System and method for providing time zone as instant messaging presence
US8577004B2 (en) Predictive contact information representation
US9852449B2 (en) System and method for providing advertisement data to a mobile computing device
US8326279B2 (en) Utilizing mobile device functionality from remote computers
US8661142B2 (en) System and method for automatically responding to a received communication
US20090204899A1 (en) Mobile journal for portable electronic equipment
US20080153474A1 (en) Time and/or time-zone indicator for contacts
US20090170492A1 (en) User-programmed automated communications
EP2250800B1 (en) System and method for dynamically updating and serving data objects based on sender and recipient states
KR20140093804A (ko) 스케줄러 애플리케이션 기반 콘텐츠 공유 방법 및 장치
US20050055408A1 (en) System, device and method for sending a message at a predetermined time
US20060023722A1 (en) Apparatus and method for managing scheduling information in mobile communication terminal
EP2224682B1 (en) Communications system providing mobile device notification content type selection features and related method
KR20050013727A (ko) 모바일커뮤니티 구성 방법 및 그 시스템
KR20130012183A (ko) 휴대용 단말기에서 메시지를 전송하기 위한 장치 및 방법
JP2010191812A (ja) 携帯電話端末及び通信方法
US8412170B2 (en) Apparatus for a receiving party
CN101682652B (zh) 用于创建归因于来自外部源的触发事件的动态电话页面的方法和装置
JP2011124826A (ja) 携帯端末及び記念日データベースサーバ
Faas Texting and Media Messaging for a Living
JP2007299073A (ja) 情報機器

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20151230

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190107

Year of fee payment: 7