KR20090033396A - Gps 및 애플리케이션을 포함하는 유틸리티 엔진 간의 네트워크 접속을 공유하기 위한 방법들, 장치들 및 컴퓨터로 읽을 수 있는 매체들 - Google Patents
Gps 및 애플리케이션을 포함하는 유틸리티 엔진 간의 네트워크 접속을 공유하기 위한 방법들, 장치들 및 컴퓨터로 읽을 수 있는 매체들 Download PDFInfo
- Publication number
- KR20090033396A KR20090033396A KR1020097003440A KR20097003440A KR20090033396A KR 20090033396 A KR20090033396 A KR 20090033396A KR 1020097003440 A KR1020097003440 A KR 1020097003440A KR 20097003440 A KR20097003440 A KR 20097003440A KR 20090033396 A KR20090033396 A KR 20090033396A
- Authority
- KR
- South Korea
- Prior art keywords
- gps
- data packets
- network connection
- utility
- engine
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 93
- 238000004891 communication Methods 0.000 claims description 82
- 238000001914 filtration Methods 0.000 claims description 34
- 230000005540 biological transmission Effects 0.000 claims description 10
- 238000012544 monitoring process Methods 0.000 claims 20
- 230000008569 process Effects 0.000 description 13
- 230000004913 activation Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 8
- 238000012546 transfer Methods 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 5
- 230000008093 supporting effect Effects 0.000 description 5
- 230000000977 initiatory effect Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000003213 activating effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000000153 supplemental effect Effects 0.000 description 3
- 238000003089 Pariser Parr Pople method Methods 0.000 description 2
- 229920000265 Polyparaphenylene Polymers 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 101000666730 Homo sapiens T-complex protein 1 subunit alpha Proteins 0.000 description 1
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 101100189627 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) PTC5 gene Proteins 0.000 description 1
- 101100082911 Schizosaccharomyces pombe (strain 972 / ATCC 24843) ppp1 gene Proteins 0.000 description 1
- 102100038410 T-complex protein 1 subunit alpha Human genes 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000001976 improved effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W74/00—Wireless channel access
- H04W74/02—Hybrid access
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
통신 장치들이 유틸리티 엔진과 애플리케이션 간의 네트워크 접속을 공유하는 방법들 및 시스템들이 제시된다. 상기 유틸리티 엔진과 상기 애플리케이션의 인출 데이터는 공유 네트워크 접속을 통해 병합되고, 인입 데이터는 IP 데이터 필터를 통해 유틸리티 엔진 특정적 데이터는 상기 유틸리티 엔진으로 라우팅시키는 반면 모든 다른 데이터는 상기 애플리케이션에 의한 이용을 위해 통과하도록 필터링된다. 다수의 유틸리티들이 상이한 형태의 유틸리티 엔진들에 의해 지원될 수 있다. 그러한 유틸리티들은 GPS 서비스를 포함하며, 여기서 GPS 관련 데이터는 GPS 서버로부터 수신되고 상기 GPS 서버에 의해 결정된 위치에 기초하여 위치 특정적 정보를 제공하는 애플리케이션들에 의해 활용될 수 있다.
Description
본 발명은 GP-특정적 정보 및 애플리케이션-특정적 정보를 단일의, 공유 네트워크 접속을 통해 전송 및/또는 수신하기 위한 방법들 및 시스템에 관한 것이다.
본 출원은 그 전체로서 여기에 참조로서 삽입되는, 2006년 7월 20일에 출원된, "GPS service in multi-processor multi-mode environment"로 명명된, 미국 임시 특허 출원 일련 번호 60/832,347에 대한 우선권을 주장한다.
통신 장치들(무선 모뎀 장착 랩톱들, PDA 장치들, 스마트 폰들 등)의 증가된 이동성은 위치-관련 정보를 제공 또는 활용할 수 있는 소프트웨어 애플리케이션들을 탄생시켜왔다. 예를 들어, 그러한 애플리케이션들은 최신 디지털 맵들, 근처 시설(레스토랑들, 기업체들, 및 가게들과 같은)의 주소들, 지역 일기 예보들, 개인 주소록으로부터의 근처 엔트리들의 목록들, 또는 로컬 지리 데이터를 포함할 수 있다. 소프트웨어 애플리케이션들 자체가 애플리케이션 처리기 상에서 동작하지만 외부 GPS(Global Positioning System) 정보를 이용하여 상기 장치의 위치를 다양한 위치-기반 애플리케이션들에 대한 입력으로서 획득할 수 있다.
복잡한, GPS-기능 모바일 장치들, 특히 다수의 처리기들을 구비하는 것들은, GPS-관련 데이터 트래픽과 애플리케이션-관련 데이터 트래픽 간에 주어진 네트워크 접속을 공유 또는 다중화하는 방법을 필요로 할 수 있다. 이는 단지 하나의 포인트-투-포인트(PPP) 접속이 한번에 주어진 네트워크에 대해 이용가능하기 때문일 수 있다.
이동 통신 장치(이동 장치)의 실시예는 애플리케이션 처리기 상에서 동작하는 하나 이상의 애플리케이션들에 의해 요구되는 유틸리티 또는 서비스의 구현을 지원할 수 있는 적어도 하나의 모뎀 처리기와 더불어 적어도 하나의 애플리케이션 처리기를 포함하는, 하나 이상의 처리기들을 포함할 수 있다. 상기 애플리케이션 처리기는 사용자 인터페이스를 제어할 뿐 아니라 다수의 소프트웨어 애플리케이션 프로그램들을 관리 및 실행할 수 있다. 모뎀 처리기는 하나 이상의 고정 기지국들, 관련 네트워크들, 및 네트워크 서버들에 대한 최저 레벨 무선 및 프로토콜 링크와 무선 주파수 물리 자원들을 관리할 수 있다. 또한 모뎀 처리기는 애플리케이션 처리기와 모뎀 처리기 간의 상호 작용을 위한 애플리케이션 프로그래밍 인터페이스(API)를 제공할 수도 있다. 그러한 유틸리티 또는 서비스의 예는 GPS 서비스들을 상기 애플리케이션 처리기 상에서 실행되는 애플리케이션들에 제공하는 모뎀에 접속되거나 또는 모뎀내부에서 실행되는 GPS 엔진이다. 모뎀 처리기와 같은, 하나의 처리기 상에서 이용가능한 유틸리티들 또는 서비스들은, 애플리케이션 처리기 상에서 실행되는 애플리케이션들이 상이한 외부 데이터 소스에 액세스하는 동일한 시간에 이들의 기능의 일부로서 외부 데이터 소스를 액세스 할 필요가 있을 수 있다. 이 상황은 다수의 애플리케이션들이 동시에 외부 네트워크들을 액세스하게 하여줄 수 있는 라우팅 문제들을 발생시킨다. 본 라우팅 문제를 해결하기 위해, 일 실시예는 IP 데이터 필터링 매커니즘을 포함하여 상이한 외부 서버들에 액세스하는 두 개의 애플리케이션들에 의한 동시 데이터 전송을 가능하게 한다. 추가로, 일 실시예는 다수의 애플리케이션들 간에 공통 서비스 정보(GPS 좌표 정보와 같은)를 공유하는 애플리케이션 인터페이스를 제공한다.
다른 실시예로, 상기 모뎀 처리기 상에서 실행되는 하나 이상의 유틸리티 엔진들이 네트워크 접속에 대한 액세스를 요구한다. 그렇게 하기 위해, 상기 유틸리티 엔진은 다양한 네트워크 접속들 중에서 선택하고 상기 애플리케이션 처리기 상에서 동작하는 애플리케이션과 하나 이상의 활성 데이터 네트워크 접속들을 공유할 필요가 있을 수 있다. 애플리케이션 프로그램과 데이터 네트워크 접속을 공유하기 위해, 유틸리티 엔진은 IP 데이터 필터를 개시하여 공유 데이터 네트워크 접속을 통한 패킷 데이터 트래픽을 모니터링할 수 있다. 상기 필터는 상기 유틸리티 엔진에 관련되는 모든 데이터 패킷들을 상기 유틸리티 엔진으로 라우팅(route)시키고 모든 다른 데이터 패킷들을 상기 네트워크 접속을 공유하는 애플리케이션으로 라우팅시킨다.
여기서 삽입되며 본 명세서의 일부를 구성하는, 첨부된 도면들은 현재 바람 직한 실시예들을, 상기 주어진 일반적 기재 및, 상기 실시예들의 특징들을 설명하기 위한, 이하에 주어지는 실시예와 함께 나타낸다.
도 1은 다수의 데이터 네트워크 접속들 및 GPS 엔진을 포함하는 모뎀 처리기를 관리하는 애플리케이션 처리기를 포함하는 실시예의 시스템 블록도를 나타낸다.
도 2는 본 발명의 실시예의 단계들의 시퀀스를 나타내는 프로세스 흐름도이다.
도 3, 3B, 4A 및 4B는 하나 이상의 GPS 애플리케이션들을 이용한 대안적인 실시예들의 시스템 블록도들을 나타낸다.
도 5는 하나 이상의 GPS 애플리케이션들을 이용한 실시예의 단계들의 순서를 나타내는 프로세스 흐름도이다.
도 6은 애플리케이션 프로세서를 이용하여 패킷 데이터 호를 공유하는 모뎀 처리기 상의 하나 이상의 시스템 프로그램들을 이용한 대안적인 실시예의 시스템 블록도를 나타낸다.
도 7은 GPS 엔진 및 유틸리티 엔진을 포함하는 모뎀 처리기 및 다수의 데이터 네트워크 접속들을 관리하는 애플리케이션 처리기를 포함하는 실시예의 시스템 블록도를 나타낸다.
도 8은 두 개의 유틸리티 엔진들을 포함하는 모뎀 처리기 및 다수의 데이터 네트워크 접속들을 관리하는 애플리케이션 처리기를 포함하는 실시예의 시스템 블록도를 나타낸다.
도 9는 하나 이상의 유틸리티 엔진들을 이용한 실시예에 대한 단계들의 시퀀 스를 나타내는 프로세스 흐름도이다.
본 발명의 다양한 실시예들이 첨부된 도면들을 참조로 상세히 기재될 것이다. 가능한 어디서나, 동일한 참조 번호들이 도면들을 통틀어 동일하거나 유사한 부분들을 참조하는데 이용될 것이다.
일 실시예의 모바일 장치는 적어도 하나의 모뎀 처리기와 함께 적어도 하나의 애플리케이션 처리기를 포함하는, 하나 이상의 처리기들을 포함할 수 있다. 상기 적어도 하나의 모뎀 처리기는 적어도 하나의 유틸리티 엔진의 구현을 지원할 수 있다. 유틸리티 엔진은 다수의 애플리케이션들에 의해 활용되는 서비스들 또는 데이터를 제공하는 프로세스 또는 회로/프로세스이다. GPS 엔진은 유틸리티 엔진의 예시인데 이는 그것이 생성하는 지리적 위치 정보가 다수의 위치-관련 애플리케이션들에 의해 이용될 수 있기 때문이다. 상기 애플리케이션 처리기는 사용자 인터페이스를 제어할 뿐 아니라 다수의 소프트웨어 애플리케이션 프로그램들을 관리 및 실행할 수 있다. 상기 적어도 하나의 모뎀 처리기는 하나 이상의 고정 기지국들, 관련 네트워크들, 및 네트워크 서버들에 대한 최저 레벨 무선 및 프로토콜 링크와 무선 주파수 물리 자원들을 관리할 수 있다. 또한 모뎀 처리기는 상기 적어도 하나의 애플리케이션 처리기와 상기 모뎀 처리기 간의 상호 작용을 위한 애플리케이션 프로그램 인터페이스(API)를 제공할 수도 있다.
모뎀 처리기가 하나 이상의 GPS 위성들로부터 신호들을 수신하는데 활용되며 선취(co-opt)될 수 있는 무선 주파수 수신기 자원들을 처리하기 때문에 GPS 엔진은 상기 모뎀 처리기 상에서 실행될 수 있다. 위성 신호들을 수신시, GPS 엔진은 상기 정보를 공유 네트워크 접속을 통해 원격 GPS 서버 처리기로 전송할 수 있다. 원격 GPS 서버 처리기는 GPS 엔진으로부터 수신되는 정보에 기초하여 모바일 장치의 위치를 계산할 수 있다. 모바일 장치의 위치가 결정되면, GPS 서버 또는 다른 어떠한 네트워크 자원들도 상기 모바일 장치에 상기 결정된 모바일 장치 위치에 기초하여 다른 보충적 정보를 제공할 수 있다. 그러한 보충 정보의 예들은 최신 디지털 맵들, 인근 시설들(레스토랑들, 기업들, 및 가게들과 같은)의 주소들, 로컬 일기 예보들, 주소록으로부터 인근 엔트리들의 목록들, 또는 로컬 지리적 데이터를 포함하지만, 이에 한정되지는 않는다. 그러한 보충적 정보는 달리 상기 모바일 장치에서 이용가능하지 않을 수 있다.
처리되는 데이터의 크기(volume) 때문에, 모뎀 처리기 상의 GPS 엔진은 패킷-교환 데이터 네트워크 접속을 이용하여 상기 원격 GPS 서버와 통신할 수 있다. 패킷-교환 데이터 네트워크들은 종래의 회선 교환에 비교하여 향상된 데이터 전송 레이트들을 가능하게 한다. 패킷 교환 데이터 네트워크 접속들은 2G 및 3G 이동 통신 장치들에서 이용가능하다. 예를 들어, Universal Mobile Telecommunicatino System(UMTS) 장치들은 패킷 교환 장치들인 3G 장치들이다.
PDP(Packet Data Protocol, 예컨대, IP X.25, FrameRelay) 컨텍스트는 가입자가 활성 세션(즉, 컴퓨터 시스템들 간의 상호작용들의 주기들)을 가질 때 상기 가입자의 세션 정보를 포함하는 UMTS 장치들 상에 존재하는 데이터 구조이다. 모바일 장치가 UMTS를 이용하고자 할 때, 이는 네트워크 프로파일(profile)에 부착하 고 활성화시켜야 한다. 그러한 네트워크 프로파일은 PDP 컨텍스트일 수 있지만, 이에 한정되지는 않는다. 이는 상기 가입자가 현재 방문 중인 서빙 GPRS 서비스 노드(SGSN) 및 상기 가입자의 액세스 포인트를 서빙(serve) 하는 게이트웨이 GPRS 서비스 노드(GGSN) 내의 네트워크 데이터 프로파일을 할당한다. UMTS는 다수의 네트워크 프로파일 지원을 허용한다. 따라서, 다수의 네트워크 접속들이 UMTS에 의해 유지되어 다수의 애플리케이션들을 지원할 수 있다.
그러나, 다수의 PDP(Packet Data Protocol) 컨텍스트 지원을 이용한 UMTS 환경에서, GPS 서비스와 같은, 유틸리티 서비스는 단 하나의 네트워크 프로파일에서만 이용가능할 수 있다. 모뎀 상의 GPS 엔진은 GPS 서버에 관련된 특정 네트워크 프로파일로써 구성될 수 있다. 유틸리티 엔진(예컨대, GPS 엔진)을 지원하는 상기 네트워크 프로파일이 이미 다른 애플리케이션 프로세스에 의해 이용되는 경우들에 있어서, 상기 유틸리티 엔진은 애플리케이션 처리기 상에서 실행되는 애플리케이션과의 데이터 네트워크 접속을 "피기백 온(piggyback on)", 또는 공유할 수 있다.
상기 유틸리티 엔진 자체, 접속 관리자, 또는 다른 소프트웨어 모듈은 공유될 적절한 데이터 네트워크 접속을 선택할 수 있다. 단 하나의 IP 어드레스가 주어진 도메인(domain)으로부터의 PDP 활성화 동안 상기 모바일 장치에 할당됨에 따라, 네트워크와 다수의 처리기들 상의 하나 이상의 애플리케이션들 간의 동시 데이터 전송을 지원하려 하는데 있어서 라우팅 문제들이 있을 수 있다. 본 라우팅 문제를 해결하기 위해, 실시예는 유틸리티 엔진 특정적 정보와 애플리케이션 특정적 정보의 동시적 데이터 전송을 위한 IP 데이터 필터링 매커니즘을 포함할 수 있다. 추가로, 실시예는 애플리케이션 인터페이스를 제공하여 애플리케이션들 간에 위치 정보를 공유할 수 있다.
다양한 유틸리티 엔진들이, 예를 들어, GPS 엔진을 포함하는 모바일 장치에 의해 이용될 수 있다. 설명의 편의를 위해, GPS가 다수의 애플리케이션들에 의해 이용될 수 있으며 외부 데이터 소스(즉, GPS 서버)로의 동시 네트워크 접속을 요구할 수 있는 유틸리티 엔진의 일례이기 때문에 다양한 실시예들의 조직화 및 기능이 먼저 GPS 엔진을 참조로 하여 기재된다. 범용 유틸리티 엔진 또는 엔진들을 포함하는 모바일 장치들의 실시예들이 다음에 도 7-9를 참조로 기재된다.
셀룰러 전화, 핸드셋, 또는 랩톱 모뎀과 같은, 멀티모드 모바일 장치에서, 데이터의 송신 및 수신에 이용가능한 다수의 네트워크들 및 다수의 패킷 데이터 네트워크 접속들이 존재할 수 있다. 추가로, 멀티모드 모바일 장치는 다양한 무선 기술들(예컨대, 1x, EvDO, UMTS, WLAN, 및 WiFi)을 채택하는 다수의 무선 네트워크들 및 다수의 IP 네트워크들(예컨대, IPv4, IPv6)에 대한 액세스를 가질 수 있다. UMTS 네트워크들이 다수의 영역(domain)들에서 동시에 접속을 지원할 수 있는 반면, 상기 데이터 네트워크 접속들 중 단 하나만이 GPS 서비스를 지원할 수 있다. 그러한 다수의 데이터 네트워크 접속 시나리오들에서, 멀티모드 모바일 장치는 상기 네트워크를 통해 GPS 서비스를 지원하는 데이터 네트워크 접속을 식별할 수 있다. 상기 데이터 네트워크 접속이 식별되면, 상기 데이터 네트워크 접속은 GPS 서비스를 수신하기 위한 GPS 엔진에 할당될 수 있다.
그러나, GPS 서비스를 지원하는 데이터 네트워크 접속은 인터넷 접속과 같 이, 비-GPS 서비스 및 다른 GPS 애플리케이션들에 대한 원격 서비스들도 제공할 수 있다. 특히, GPS 서비스를 지원하는 데이터 네트워크 접속은 상기 멀티모드 장치에서 동시에 실행되는 GPS 엔진과 애플리케이션 프로그램 간에 공유될 필요가 있을 수 있다. 상기 애플리케이션 프로그램은 GPS 애플리케이션일 필요가 없다. 데이터 네트워크 접속을 공유하는 GPS 엔진과 애플리케이션 프로그램 간의 유일한 관계는 양자가 모두 동일한 데이터 네트워크 접속에 대해 본질적으로 동시 액세스를 필요로 한다는 점일 수 있다. 접속 관리자가 상기 모바일 장치에 의해 이용되어 한정된 수의 가능한 데이터 네트워크 접속들을 할당하고 데이터 네트워크 접속의 공유를 관리할 수 있다.
특히, 다수의 PDP 지원을 이용하는 UMTS 환경에서, 모바일 장치는 동시에 활성인 다수의 네트워크 프로파일들을 가질 수 있다. GPS 서비스의 IP 주소를 포함할 수 있는, 하나의 네트워크 프로파일이 GPS 엔진에 의해 요구될 수 있다. 네트워크 프로파일 파라미터들은 네트워크 프로파일 번호, APN 명, PDP 타입, IP 네트워크 패밀리(v4 또는 v6), 및 기술 타입(예컨대, CDMA/EV-DO, GSM/GPRS, UMTS, WLAN등)을 포함할 수 있다. PDA들, 스마트폰들, 및 랩톱들에 내장되는 모뎀들과 같은, 일부 타입들의 장치들에 대해(즉, 폼 팩터들), 파라미터 세팅들은 애플리케이션 처리기 상에서 설정될 수 있으며 모든 패킷 데이터 접속들이 애플리케이션 처리기에 의해 할당될 수 있다. 독립형 셀룰러 전화 또는 구속된 랩톱 컴퓨터용 모뎀으로서 동작하는 셀룰러 전화와 같은 경우에, 파라미터 세팅들은 대안적으로 모뎀 처리기에 의해 할당될 수 있다.
한편, 반드시 GPS에 관련되지는 않는, 애플리케이션 프로그램은 GPS 엔진의 네트워크 프로파일에 관련된 동일한 데이터 네트워크 접속에 대한 액세스를 요구할 수 있다. 즉, 애플리케이션 프로그램 및 GPS 엔진은 동일한 패킷 데이터 호를 공유할 필요가 있다.
도 1은 다수의 데이터 네트워크 접속들 및 GPS 엔진을 포함하는 모뎀 처리기를 관리하는 애플리케이션 처리기를 포함하는 실시예의 시스템 블록도를 나타낸다. 도 1에 도시된 바와 같이, 모바일 장치(90)는 하나 이상의 처리기들(100, 200) 및 GPS 엔진(210)을 포함할 수 있다. 도시된 실시예에서, 상기 모바일 장치(90)는 적어도 하나의 애플리케이션 처리기(100) 및 모뎀 처리기(200)를 포함할 수 있다.
애플리케이션 처리기(10)는 다수의 소프트웨어 애플리케이션 프로그램들을 관리 및 실행할 수 있다. 예를 들어, 애플리케이션 처리기(100)는 다른 소프트웨어 애플리케이션과 함께 적어도 GPS 애플리케이션(110), 무선 애플리케이션 프로토콜(WAP) 애플리케이션(111), 인터넷 익스플로러 애플리케이션(112), 및 멀티미디어 메시지 서비스(MMS) 애플리케이션(119)을 관리할 수 있다. 또한 애플리케이션 처리기(100)는 디스플레이 및 키패드 또는 키보드(미도시)를 통해 사용자 인터페이스를 제어할 수도 있다.
모뎀 처리기(200)는 무선 주파수 물리 자원들과 최저 레벨 무선 및 프로토콜 링크(91)를 관리할 수 있다. 상기 무선 및 프로토콜 링크(91)는 하나 이상의 무선 통신 네트워크들(300)과의 무선 통신을 제공할 수 있다. 모뎀 처리기(200)는 애플리케이션 처리기(100)과 모뎀 처리기(200) 간의 상호 제어 및 데이터 상호작용들을 위한 애플리케이션 처리기(100)로의 API(applications programming interface)(220)를 제공할 수도 있다.
모뎀 처리기(200)가 통신 링크들을 수립하는 무선 통신 네트워크들(300)은 전형적으로 적어도 하나의 기지국 및 적어도 하나의 데이터 서버(미도시)를 포함한다. 상기 적어도 하나의 데이터 서버는 그 자체로 GPS 서버(301)일 수 있거나 이를 포함할 수 있다.
도 1은 애플리케이션 처리기(10) 및 모뎀 처리기(200) 모두가 스마트 폰 또는 PDA(개인 휴대 정보 단말)과 같은, 동일한 내부 유닛 내에 포함되는 실시예를 나타낸다. 대안적으로, 상기 애플리케이션 처리기(100) 및 모뎀 처리기(200)는 별도의 유닛들에 있을 수 있다. 예를 들어, 랩톱 컴퓨터는 모뎀으로서 동작하는 셀룰러 전화로 한정될 수 있다. 그러한 경우에, 상기 애플리케이션 처리기(100)는 랩톱 컴퓨터 내에 위치하는 반면, 모뎀 처리기(200)는 GPS-가능(enabled) 셀룰러 전화 또는 랩톱에 접속된 무선 어댑터에 있을 수 있다. 본 예시 대안 구성에서, 랩톱과 전화/어댑터를 링크시키는 로컬 접속은 제어 메시지들 및 데이터가 흐르는, 유선 케이블, 블루투스 링크, 또는 적외선 연결일 수 있다.
GPS 엔진(210)은 모뎀 처리기(200) 상에서 실행되는 소프트웨어 모듈일 수 있다. 대안적으로, GPS 엔진(210)은 ASIC 칩과 같은, 펌웨어 또는 하드웨어의 형태일 수 있다. GPS 엔진(210)은 하나 이상의 GPS 위성들(400)로부터의 무선 신호들(92)을 수신하기 위해 모뎀 처리기(200) 내부에서 발견되는 무선 주파수 송수신기(송신기-수신기)를 공유 및 활용할 수 있다. 즉, 통상 네트워크 통신에 이용되 는, 무선 주파수 송수신기(230)의 수신기 자원들은 GPS 위성 신호 수신을 위해 시간-공유 또는 임시로 선취(co-opt)될 수 있다. 이는 증폭기들 또는 필터들과 같은, 송수신기(230) 회로의 부분들, 메모리 유닛들과 데이터 접속 및 라우팅 회로들, 또는 GPS 위성 시간 신호들을 수신하기 위해 송수신기(230)의 신호 디코딩 방식 및 수신 주파수들을 임시로 변경하는 것과 같은, 기능들과 중앙 송수신기 회로들의 시 공유(time sharing)를 포함할 수 있다.
GPS 위성 신호들을 충분한 수의 위성들(400)로부터 수신 및 디코딩시, GPS 엔진(210)은 GPS 위성 신호들을 TCP/IP 또는 유사한 통신 스택(240)을 통해 전송될 디지털 데이터 형태로 처리한다.
상기 처리된 디지털 데이터 신호는 무선 송수신기(230)를 통해 무선 통신 네트워크(300)를 거쳐 GPS 서버(301)로 전송될 수 있다. 추가로 GPS 서버(301)는 상기 GPS 엔진(210)으로부터 수신되는 GPS 위성 신호들을 처리하여 모바일 장치(90)의 위치 좌표들 및/또는 추가적인 보충적 위치 정보를 결정할 수 있다. 그리고 나서 GPS 서버(301)에 의해 결정되는 위치 데이터가 다시 무선 통신 네트워크(300)를 통해 GPS 엔진(210)으로 전송된다. 그러한 위치-관련 정보는 달리 모바일 장치(90) 상에서 국부적으로 이용가능하지 않을 수 있다. GPS 서버(310)에 의해 제공되는 상기 정보는, 예를 들어, 거리 주소, 도시, 군, 읍 또는 다른 행정 구역에 관한 모바일 장치의 위치를 식별할 수 있다. 모바일 장치 내부에 위치하는 모뎀 처리기(200)가 하찮치-않은(non-trivial), 시간-소모적인, 고 정밀도의, 3-차원 지리적 계산을 수행하는데 충분한 하드웨어를 흠결할 수 있기 때문에, 모바일 장치는 내장-형(built-in) 하드웨어 부동 소수점 연산 유닛이 없을 수 있는 모뎀 처리기(200) 상에서 상기 계산들을 수행하는 대신 그러한 계산들을 외부 GPS 서버(301)로 오프로딩(offload)하려고 할 수 있다. 따라서 GPS 엔진(210)의 실시예들은 필요한 GPS 데이터를 GPS 서버(301)로 전송 및 수신하기 위한 데이터 네트워크 접속에 대한 액세스를 요구할 수 있다.
외부 GPS 서버(301)와 통신하기 위해, 모뎀 처리기(200) 상의 GPS 엔진(210)은, 소프트웨어 통신 스택(240)에 의해 구현되는 바와 같은, 데이터 네트워크 접속을 필요로 한다. 특히, 다수의 네트워크 프로파일 지원을 하는 UMTS 환경에서, GPS 서비스는 단 하나의 네트워크 프로파일 상에서만 이용가능할 수 있다. 모뎀 처리기(200) 상의 GPS 엔진(210)은 특정 GPS 서버(301)에 관련된 특정 네트워크 프로파일로써 구성될 수 있다. 본 특정한 구성 또는 규정 정보는 GPS 엔진(210)으로부터 접속 관리자(130)로 전달될 필요가 있을 수 있다. 그렇게 하기 위한 직접적인 정보 경로가 있을 수 있는 반면, 잘-설계된 패킷 데이터(PD) 애플리케이션 인터페이스(220)가 더 구조화되고 조직화된 소프트웨어 프로토콜로 상기 정보를 패킷 데이터 관리자(120)를 통해 전달할 수 있다.
애플리케이션 처리기(100) 상에서 실행되는 다른 애플리케이션 프로그램들과 더불어 GPS 위치 서비스들을 지원하기 위해, GPS 엔진(210)은 잠재적으로 수 개의 데이터 네트워크 접속들(140) 중 하나를 애플리케이션 처리기(100)와 공유할 필요가 있을 수 있다. 이는 단 하나의 IP 주소만이 주어진 영역으로부터의 PDP 활성화 동안 상기 장치(90)에 할당될 수 있기 때문이다. 그러므로, 애플리케이션 처리 기(100) 상에서 실행되는 하나 이상의 애플리케이션 프로그램들(110, 111, 112, ..., 119)과 함께 무선 통신 네트워크(300)로부터 GPS 엔진(210)으로 데이터 패킷들을 정확하게 라우팅하는 다른 어떠한 방식이 존재할 필요가 있을 수 있다.
본 라우팅 문제를 해결하기 위해, 실시예는 동일한 네트워크 접속을 통해-즉, 하나의 할당된 IP 주소를 공유함으로써 GPS 특정적 정보와 애플리케이션 특정적 정보의 동시적인 데이터 전달을 위한 IP 데이터 필터(242)를 포함할 수 있다. 상기 필터(242)는 특정한, 예상되는 포맷 또는 컨텐트를 포함하는 데이터 패킷들에 대해 주시하는 특히 데이터 패킷들을 모니터링하는 소프트웨어 모듈이다. 도 1에 도시된 예시 실시예에서, IP 데이터 필터는 특히 GPS 서버(301)로부터의 GPS-관련 데이터 패킷들을 주시하고 분리시키도록 구성된다. GPS-관련 포맷 또는 컨텐트는 상기 데이터 패킷 내의 소스 주소에 기초하여 GPS 서버(301)로부터 발신되는 데이터 패킷을 식별하는 다른 고유한 컨텐트 또는 TCP 포트 번호 및 IP 주소를 포함할 수 있다. 상기 IP 데이터 필터(242)가 GPS-관련되는 패킷을 식별한다면, 상기 패킷은 GPS 엔진(210)으로 전달된다. 그렇지 않으면, IP 데이터 필터(242)는 상기 패킷을 있는-그대로 PDP 활성화, 네트워크 접속, 및 IP 주소를 공유하는 애플리케이션 프로그램으로 전달한다. 유사한 방식으로 동작함으로써, IP 데이터 필터(242)는 장치(90) 상의 둘 이상의 애플리케이션 프로그램으로 하여금 동일한 PDP 활성화, 네트워크 접속, 및 IP 주소를 공유하게 하여줄 수도 있다.
실시예는 접속 관리자(130)와 GPS 엔진(210) 간의 데이터 네트워크 접속 선택에 대한 정보를 공유하는 다음의 절차를 채택할 수 있다. 접속 관리자(130)가 데이터 네트워크 접속들의 할당을 담당하는 한편, GPS 엔진(210)은 GPS 데이터 서비스들을 수신하는데 어느 PDP 활성화를 이용할 것인지를 지시할 필요가 있을 수 있다. 즉, 별도의 처리기들 상의 소프트웨어 엔티티들 간에 정보를 제공하는 "핸드쉐이킹(handshaking)"이 존재할 필요가 있을 수 있다.
GPS 엔진(210)과 공유되는 데이터 네트워크 접속은 GPS 애플리케이션(110)이 이용중일 수 있는 것과 동일한 데이터 네트워크 접속이 아닐 수 있다. 즉, GPS 엔진(210)은 데이터 네트워크 접속을 네트워크 자원에 대한 액세스를 요구하는 어떠한 다른 애플리케이션과 공유중일 수 있다. 예를 들어, GPS 엔진(210)이 GPS 서버(301)와의 통신을 위한 특정한 PDP 활성화, 데이터 네트워크 접속, 및 IP 주소를 필요로 할 수 있다. 그러나, GPS 위치 결정(fix)들을 개시하는 GPS 애플리케이션(110)은 상이한 네트워크 상의 네트워크 자원을 액세스중일 수 있다. 상기 네트워크 자원은, 예를 들어, 지도 그래픽들 또는 지리적 데이터의 소스일 수 있다.
예시적인 실시예의 동작은 도 1 및 2 모두를 참조로 설명된다. 도 1은 애플리케이션 처리기, 모뎀 처리기, 및 네트워크의 GPS 서버의 다양한 상호작용하는 컴포넌트들을 상기 컴포넌트들을 접속시키는 제어 및/또는 데이터 플로우(flow)와 함께 도시한다. 도 1의 제어 및 데이터 경로들은 상기 제어 및/또는 데이터 플로우 경로를 통해 정보 플로우를 촉진(precipitate)시키는 도 2에 도시된 대응하는 기능 단계의 수로써 식별된다.
단계(1)에서, 패킷 데이터 관리자(120)는 GPS 엔진(210)으로부터의 서비스를 모뎀 처리기(200) 내의 패킷 데이터 애플리케이션 프로그래밍 인터페이스(PD API)(220)를 통해 요청한다. 본 단계의 일부로서, 패킷 데이터 관리자(120)는, 요구되는 GPS 서비스, 요구되는 인터페이스 패밀리 타입, 또는 GPS 위치결정(fix) 세션이 이미 진행 중인지 여부를 제공하는 규정된 네트워크 접속과 같은 GPS 엔진(210)으로부터의 통신 파라미터들을 획득할 수 있다. 본 방식으로, 상기 패킷 데이터 관리자(120)는 GPS 데이터를 지원하는 네트워크 접속들을 식별할 수 있다. 본 제어 플로우 단계(1)은 PS(패킷 교환) 데이터 접속들의 관리를 시작한다.
단계(2)에서, 사용자는 GPS 위치 정보를 요구하는 애플리케이션을 활성화시킬 수 있다. 예를 들어, 상기 사용자는 그/그녀의 모바일 장치(90)를 채택하여 가장 가까운 골프 코스로의 운행 방향들을 획득할 수 있다. 모바일 장치(90)에 저장된 GPS 애플리케이션(110)을 활성화시키는 것은, 패킷 데이터 관리자(120)로 전송될 요청이 모바일 장치(90)의 위치를 결정하기 위해 GPS 위치 결정 세션을 개시하게 한다. 이번에는 패킷 데이터 관리자(110)가 신호를 패킷 데이터 API(220)로 전송하여 모바일 장치의 위치를 결정하라는 요청이 GPS 엔진(210)에 포워딩될 수 있다. GPS 서비스들을 지원하는 데이터 네트워크 접속들이 이미 단계(1)에서 식별되었다면, 패킷 데이터 관리자(120)는 이용될 식별된 데이터 네트워크 접속을 GPS 엔진(210)에 통지하는 신호를 GPS 엔진(210)으로 전송할 수 있다.
단계(3)에서, GPS 엔진(210)은 패킷 교환 데이터 호를 개시하려고 한다. 그렇게 하기 위해, GPS 엔진(210)은 상기 패킷 데이터 관리자(120)에 시그널링하여 요청된 네트워크 인터페이스(CDMA, UMTS, WLAN, ...)를 개시한다. 요청된 인터페이스(규정된 UMTS PDP 컨텍스트와 같은)는 GPS 엔진(210)을 GPS 서버(301)로 무선 통신 네트워크(300)를 통해 접속시키는데 적합한 것이다. GPS 엔진(210)은 상기 패킷 교환 데이터 호를 수행하기 위한 기술, 요청된 인터페이스 명, 및 패밀리 타입을 상기 패킷 데이터 관리자(120)에 제공할 수 있다. CDMA, UMTS, WLAN 등을 규정하는 것 외에, GPS 엔진(210)은 특정한 IP 버전(IPv4, IPv6 등)을 요청할 수도 있다. 특히 UMTS에 대해, GPS 엔진(210)은 액세스 포인트 명(APN), PDP 타입(예컨대, IP, X.25, FrameRelay), 요구되는 서비스 품질(QoS) 등을 인터페이스 요청의 파라미터들로서 제공할 수 있다. 이러한 파라미터들은 특정 서버로의 데이터 네트워크 접속을 완전히 수립하는데 필요할 수 있다.
단계(4)에서, 패킷 데이터 관리자(120)는 패킷 교환(PS) 데이터 호의 개시를 접속 관리자(130)를 통해 요청한다. 데이터 호를 생성하기 위한 파라미터들은 단계(3)에서 GPS 엔진(210)으로부터 획득되어 접속 관리자(130)에 전달될 수 있다. 대안적으로, APN 명, PDP 타입, IP 패밀리 등과 같은, 데이터 호 파라미터들은, 네트워크 제공자에 의해 내부적으로 규정될 수 있다. 이에 응답하여, 접속 관리자(130)는 모뎀 처리기(200)로 하여금 상기 패킷 데이터 관리자(120)에 의해 제공되는 파라미터들에 기초하여 적절한 가용 인터페이스를 호출하도록 지시한다.
단계(5)에서, 접속 관리자(130)는 단계(4)에서 패킷 데이터 관리자(120)에 의해 제공되는 선택 파라미터들에 기초하여 RF 송수신기(송신기-수신기)(230)를 통해 적절한 가용 네트워크 인터페이스의 활성화를 요청한다. 상기 패킷 데이터 관리자(120)에 의해 제공되는 파라미터들은 데이터 호가 개시될 때마다 상이할 수 있다. 상기 파라미터들은 모바일 장치(90)의 위치 및 가용 네트워크 또는 네트워크 들에 따라 변할 수 있다.
단계(6)에서, 적절한 네트워크 인터페이스 접속(91)이 RF 송수신기 유닛(230)을 통해 활성화되면, 접속 관리자(130)는 최종 인터페이스 파라미터들에 대해 무선 통신 네트워크(300)에 질의하고 본 정보(APN, 장치 IP 주소, 호의 타입)를 패킷 데이터 관리자(120)에 반환한다.
단계(7)에서, 패킷 데이터 관리자(120)는 GPS 엔진(210)에 상기 패킷 데이터 API(220)를 통해 패킷 교환 데이터 호가 성공적으로 개방(open)되었음을 통지한다. 그리고 나서 패킷 데이터 관리자(120)는, 패킷 데이터 API(220)를 통해, GPS 엔진(210)에 GPS 서버(301)에 액세스하기 위해 GPS 엔진(210)에 대한 필요한 네트워크 정보를 제공한다. GPS 엔진(210)에 대한 네트워크 정보는 단계(3)에서 상기 생성된 접속 요청 정보를 포함할 수 있다. 본 정보는 인터페이스 명/기술(CDMA, UMTS, WLAN 등), 인터페이스 패밀리(IPv4, IPv6, 등), 및 인터페이스 특정적 정보(UMTS에 대한, APN 명, PDP 타입, QoS, 도메인 명, 도메인에 의해 지원되는 서비스들 등)를 포함할 수 있다. 추가로, 상기 네트워크 정보는 상기 데이터 호 세션에 할당된 인터페이스 IP 주소를 포함할 수 있다.
단계(8)에서, GPS 엔진(210)은 상기 제공된 네트워크 인터페이스 파라미터들을 이용하여 애플리케이션 처리기(100)의 패킷 데이터 관리자(120)로부터의 네트워크 정보를 이용하여 수립(bring up)되는 네트워크 인터페이스를 고유하게 식별한다. GPS 엔진(210)은 TCP/IP 통신 스택(240) 및 IP 데이터 필터(242)를 통한 GPS 위치 결정들을 위해 IP 트래픽을 전송 및 수신하는 네트워크 인터페이스에 바인 딩(bind)한다.
단계(9)에서, 네트워크 GPS 정보는 IP 데이터 필터(242) 및 TCP/IP 통신 스택(240)을 이용하여 IP 데이터 트래픽으로부터 자동으로 추출된다. 즉, GPS-관련 수신된 데이터 트래픽이 벗겨지거나(strip out), IP 데이터 필터(242)에 의해, 필터링되고 GPS 엔진(210)으로 라우팅된다. 특히, 예상되는, 특정한 GPS-관련 형태의 모든 인입 데이터 패킷은 통신 스택(240)을 통해 GPS 엔진으로 돌려진다. 동일한 네트워크 접속 상에서 수신되는 임의의 다른 데이터 패킷은 통신 스택(240)을 통해 라우팅되지 않지만, PPP 인터페이스(245)를 통해서와 같이, 애플리케이션 처리기(100)로 라우팅된다. 본 라우팅은 사용자에게 투명하게 발생할 수 있다. GPS 엔진(210)에 의해 전송되는 임의의 데이터는, 동일한 네트워크 접속을 통해 애플리케이션 처리기(100)로부터 전송되는 데이터와 병합, 또는 인터리빙된다.
단계(10)에서, GPS 서비스들을 이용하는 애플리케이션이 추가적인 GPS 위치 결정들이 요구되는지를 결정한다. 만일 그렇다면, 단계(9) 및 10이 무한회 반복된다.
단계(11)에서, 더 이상 GPS 위치 결정들이 요구되지 않는다면, GPS 애플리케이션(110)은 패킷 데이터 관리자(120)에게 GPS 서버와의 세션을 중단할 것을 통지한다. 대안적으로, 패킷 데이터 관리자(120)는 GPS 애플리케이션(110)이 어떠한 시간 기간 동안 GPS 위치 결정들을 요구하지 않았음을 검출할 수 있다. 그러한 타임-아웃(time-out) 기간은 애플리케이션들이 사용자에 의해 결코 명시적으로 종료되지 않을 수 있는 모바일 장치들에서 필요할 수 있다. 어느 경우에도, 패킷 데이 터 관리자(120)는 패킷 교환 데이터 호가 더 이상 GPS 엔진(210)과 공유되지 않을 것임을 접속 관리자(130)에 통지한다. 패킷 교환 데이터 호가 더 이상 어떠한 애플리케이션 프로그램과 공유되지 않는다면, 상기 호는 중단된다. 상기 패킷 교환 데이터 호가 어떠한 애플리케이션 프로그램에 의해 이용 중이라면, 상기 호는 접속 관리자(130)에 의해 종결되지 않으며, 애플리케이션 처리기(100)의 동작은 통상과 같이 계속된다.
단계(12)에서, 패킷 데이터 API는 패킷 교환 데이터 호가 종료되었음을 GPS 엔진에 통지하고 더 이상 GPS-관련 데이터 패킷들을 필터링 아웃(filter out)할 필요가 없기 때문에 IP 데이터 필터(242)를 중단시킨다.
도 1은 PPP(포인트-투-포인트 프로토콜) 레벨(245)에서의 애플리케이션 처리기(100)와 모뎀 처리기(200) 간의 상호접속들을 도시한다. 도 1이 상호접속들(140, 245)이 PPP인 것으로 나타내지만, 이는 상호접속들을 PPP로 한정하고자 하는 것은 아님에 유의하여야 한다. 처리기들(100, 200)도 IP 레벨에서, 이더넷 또는 임의의 다른 링크 계층 인터페이스나 전유(proprietary) 인터페이스를 통해 직접 상호접속될 수도 있다.
GPS 엔진(210)은 TCP 프로토콜 레벨에서 또는 개방 시스템 상호접속(OSI) 계층에서보다 더 높은 계층에서와 같이, 더 높은 게층에서 GPS 애플리케이션 프로그램(110)과 통신할 수도 있다.
도 3A는 적어도 하나의 추가적인 GPS 애플리케이션 프로그램(115)을 포함하는 실시예를 도시한다. 도 3A는 동일한 애플리케이션 처리기(100) 상에서 실행되 는 두 개의 GPS 애플리케이션들(110, 115)을 도시하지만, 동일한 애플리케이션 처리기(10) 상에서 더 많은 GPS 애플리케이션들(미도시)이 있을 수 있다. 대안적으로, 다양한 GPS 애플리케이션들(110, 115)은 둘 이상 존재한다면 둘 이상의 애플리케이션 처리기 상에서 실행될 수 있다. 두 개의 애플리케이션 처리기들이 도 3B에 도시되는 실시예에 포함된다. 예를 들어, 모바일 장치는, 자체적으로 둘 이상의 프로세싱 유닛들을 포함하는, "듀얼 코어" 또는 "쿼드 코어" 프로세서 칩을 포함할 수 있다.
도 3A에 도시된 바와 같이, 대안적인 실시예의 IP 데이터 필터(242)는 도 1의 실시예에 도시된 바와 같이 단일 네트워크 접속을 조사하는 것과 대조적으로 동시에 둘 이상의 네트워크 접속 상의 패킷들을 조사할 수 있다. 그러한 구성은 둘 이상의 네트워크 접속의 동시 공유 또는 피기배킹(piggybacking)을 허용한다.
도 3A 및 3B를 참조하면, 실시예는 다수의 GPS 애플리케이션들(110, 115, 610)들 간에 GPS 엔진(210)으로부터의 GPS 위치 정보를 공유하는 GPS 인터페이스(121)를 포함할 수 있다. 상기 공유 GPS 인터페이스(121)는 단순히 패킷 데이터 관리자(120)의 확장일 수 있다. 예를 들어, 도 3A 또는 3B의 애플리케이션 프로그램과 같은, 제 1 GPS 애플리케이션 프로그램은 도 2, 단계들 1 내지 8에 관련하여 상기 기재된 바와 같이 GPS 위치 결정 세션을 수립할 수 있다. 그리고 나서, 다른 GPS 애플리케이션들(115, 610)이, 각각, 도 3A 및 3B에 도시되는 바와 같이 공유 GPS 인터페이스(121)로의 호들을 통해 가용 위치 정보를 액세스할 수 있다. GPS 애플리케이션(110)과 같은, 하나의 애플리케이션이 도 2의 단계(2)에서와 같이, 패 킷 데이터 관리자(120)를 통해 GPS 서비스를 시작하기 때문에, 패킷 데이터 관리자(120)가, 도 3A 및 3B에 도시된 바와 같이, 공유 GPS 인터페이스(121)로써 확장되는 것이 바람직할 수 있다. 공유 GPS 인터페이스(121)은 관리된, 고-레벨, 공유가능한, 가상 GPS 자원을 제시(present)할 수 있으며, 이는 GPS가 어떻게 구현되는지를 숨긴다. 달리 말해, 상기 인터페이스는 완전히 자체-구동(self-standing) GPS 처리기가 존재할때와 동일할 것이다.
다른 대안적인 실시예들에서 다수의 GPS 애플리케이션들이 동시에 실행되는 중일 수 있다. 그러한 경우들에 있어서, GPS 엔진(210)에 대한 패킷 교환 데이터 호가 이미 활성일 수 있다. 이는 제 1 GPS 애플리케이션(110), 다른 GPS 애플리케이션(115 또는 610)이 GPS 서비스를 요청할 때, 상기 접속을 재촉(precipitate)하였기 때문일 수 있다. 이 경우, 패킷 데이터 관리자(120), 또는 더 특정하게는 공유 GPS 인터페이스(121)는, 추가적인 GPS 서비스가 요청될 때 단순히 성공 상태를 GPS 애플리케이션(115 또는 610)에 반환할 수 있다.
도 5는, 도 3A, 3B, 4A, 및 4B와 함께, 상기 네트워크로의 공유 패킷 데이터 접속을 개시 미치 관리하고 둘 이상의 GPS 애플리케이션들을 지원할 수 있는 대안적인 실시예의 단계들의 시퀀스를 나타낸다. 단계(51)에서, 상기 공유 GPS 인터페이스(121)는 모뎀 처리기(200)의 패킷 데이터 애플리케이션 프로그래밍 인터페이스(PD API)(220)를 통해 GPS 엔진(210)으로부터의 서비스를 요청한다. 공유 GPS 인터페이스(121)는 PD 관리자(121) 및 PD API(220)를 통해 GPS 엔진(210)으로부터 통신 파라미터들을 획득할 수 있다. 이러한 통신 파라미터들은 GPS 서버로의 규정 된 네트워크 접속, 요구되는 인터페이스 패밀리 타입, 또는 GPS 위치결정 세션이 이미 진행 중인지를 규정할 수 있다. 또한, 실시예는 공유 GPS 인터페이스(121)에 대한 채널의 초기화를 요구할 수 있다. 본 제어 흐름 단계(51)는 패킷 교환 데이터 접속들의 관리를 시작한다.
단계(52)에서, 사용자는 모바일 장치(90)의 GPS 위치를 요구하는 모바일 장치(90) 내부에 저장된 애플리케이션을 활성화시킬 수 있다. GPS 애플리케이션(110)을 활성화시킴으로써, 요청이 공유 GPS 인터페이스(121)에 전송되어 GPS 위치 결정 세션을 개시하여 모바일 장치(90)의 위치를 결정한다. 이번에는 패킷 데이터 관리자(120)가 신호를 패킷 데이터 API(220)로 전송하여 상기 모바일 장치(90)의 위치를 결정하라는 요청이 GPS 엔진(210)에 포워딩될 수 있다.
단계(53)에서, GPS 엔진(210)은 패킷 교환 데이터 호의 개시를 요청한다. 그렇게 하기 위해, GPS 엔진(210)은 상기 공유 GPS 인터페이스(121)에 시그널링하여 상기 요청된 인터페이스(CDMA, UMTS, WLAN, ...)를 요청한다. 요청된 인터페이스(규정된 UMTS PDP 컨텍스트와 같은)는 무선 통신 네트워크(300)를 통해 GPS 엔진(210)을 GPS 서버(301)로 접속시키는데 적절한 것이다. GPS 엔진(210)은 공유 GPS 인터페이스(121)에 상기 패킷 교환 데이터 호를 수행하기 위한 기술, 상기 요청된 인터페이스 명, 및 패밀리 타입을 제공할 수 있다. CDMA, UMTS, WLAN 등을 규정하는 것 외에, GPS 엔진(210)은 예를 들어 특정 IP 버전(IPv4, IPv6 등)을 요청할 수도 있다. 특히 UMTS에 대해, GPS 엔진(210)은 APN 명, PDP 타입, 요구되는 QoS(서비스 품질) 등을, 인터페이스 요청의 파라미터들로서 제공할 수 있다. 다음 에 단계(54)에서, 공유 GPS 인터페이스(121)는 접속 관리자(130)를 통해 패킷 교환 데이터 호의 개시를 요청한다. 상기 데이터 호는 단계(53)에서 GPS 엔진(210)으로부터 획득되는 파라미터들의 조합을 이용하여 이뤄질 수 있다.
다음에 단계(55)에서, 접속 관리자(130)는 단계(54)에서의 공유 GPS 인터페이스(121)에 의해 제공되는 선택 파라미터들에 기초하여 RF 송수신기(송신기-수신기)(230)를 통해 적절한 가용 데이터 네트워크 접속으로의 데이터 호의 활성화를 개시한다. 상기 적절한 가용 데이터 네트워크 접속은 단계(54)에서의 공유 GPS 인터페이스에 의해 제공되는 파라미터들에 기초하여 모뎀 처리기9200)에 의해 활성화된다. 공유 GPS 인터페이스(121)에 의해 제공되는 파라미터들은 데이터 호가 개시되는 때마다 상이할 수 있다. 상기 파라미터들은 모바일 장치(90) 및 가용 네트워크 또는 네트워크들의 위치에 따라 변할 수 있다.
단계(56)에서, 적절한 네트워크 인터페이스 접속(91)이 RF 송수신기 유닛(230)을 통해 활성이면, 접속 관리자(130)가 최종 인터페이스 파라미터들에 대해 무선 통신 네트워크(300)에 질의하고 본 정보(APN, 장치 IP 주소, 호의 타입)를 공유 GPS 인터페이스(121)에 반환한다.
단계(57)에서, 공유 GPS 인터페이스(121)는 패킷 교환 데이터 호가 성공적으로 개방되었음을 패킷 데이터 API(220)를 통해 GPS 엔진(210)에 통지한다. 그리고 나서 공유 GPS 인터페이스(121)는 패킷 데이터 API(220)를 통해 GPS 엔진(210)에 GPS엔진(210)이 GPS 서버(301)를 액세스 하기 위해 필요한 데이터 네트워크 접속 정보를 제공한다. GPS 엔진(210)에 대한 상기 데이터 네트워크 접속 정보는 상기 단계(53)에서 생성된 접속 요청 정보를 포함할 수 있다. 본 접속 요청 정보는 인터페이스 명/기술(CDMA, UMTS, WLAN 등), 인터페이스 패밀리(IP4, IPv6 등), 및 인터페이스 특정적 정보(UMTS에 대한, APN 명, PDP 타입, QoS, 도메인 명, 도메인에 의해 지원되는 서비스들 등)를 포함할 수 있다. 추가로, 상기 데이터 네트워크 접속 정보는 데이터 호 세션에 할당되었던 인터페이스 IP 어드레스를 포함할 수 있다.
단계(58)에서, GPS 엔진(210)은 상기 단계(57)에 기재된 네트워크 인터페이스 파라미터들을 이용하여 애플리케이션 처리기(100)의 공유 GPS 인터페이스(121)로부터의 네트워크 정보를 이용하여 수립(bring up)되는 네트워크 인터페이스를 고유하게 식별한다. 상기 GPS 엔진(210)은 TCP/IP 통신 스택(240)을 통해 GPS 위치 결정들을 위해 IP 트래픽을 전송 및 수신하기 위해 네트워크 인터페이스에 바인딩(bind)한다. 필터(242)는 통신 스택(240)을 통한 특정 형태의 데이터 패킷들을 그리고 네트워크 접속을 공유하는 애플리케이션의 특정 통신 스택(140)으로 모든 다른 것들을 필터링 및 라우팅하도록 구성된다.
단계(59)에서, 네트워크 GPS 정보가 TCP/IP 통신 스택(240)의 IP 데이터 필터(242)를 이용하여 IP 데이터 트래픽으로부터 자동적으로 추출된다. 즉, GPS-관련 수신된 데이터 트래픽이 스트립 아웃(strip out), 또는, IP 데이터 필터(242)에 의해, 필터링되고 GPS 엔진(210)으로 라우팅된다. 특히, 예상되는, 특정 형태의 모든 인입 데이터 패킷이 통신 스택(240)을 통해 GPS 엔진(210)으로 라우팅되며 애플리케이션 처리기(100) 상으로 포워딩되지 않는다. 동일한 데이터 네트워크 접속 상에서 수신되는 임의의 다른 데이터 패킷은 통신 스택(240)을 통해 라우팅되지 않지만, PPP 인터페이스(245)를 통해서와 같이, 애플리케이션 처리기(100)로 라우팅된다. 상기 라우팅은 사용자에게 투명하게 발생할 수 있다. GPS 엔진(210)에 의해 전송되는 모든 데이터가, 동일한 데이터 네트워크 접속을 통해 애플리케이션 처리기(100)로부터 전송되는 데이터와 병합, 또는 인터리빙된다.
단계(52A)의 본 지점에서, 도 3A의 제 2 GPS 애플리케이션 프로그램(115), 또는 도 3B의 애플리케이션 프로그램(610)은, 공유 GPS 인터페이스(121)를 통한 GPS 위치 결정들의 실행을 시작하고 요청한다. 응답으로, 공유 GPS 인터페이스(121)는 GPS 위치 결정 세션들을 현재 요구하는 애플리케이션들의 계수(count)를 증분한다. 단계(52A)는 상기 프로세스의 임의의 다른 시간에 발생할 수 있으며, 단지 설명 목적을 위해 도 5에서와 같이 위치한다. 추가로, 제 3 GPS 애플리케이션이 사용자에 의해 유사하게 개시되어 임의의 시간에 공유 GPS 인터페이스(121)를 통해 서비스를 요청할 수 있다.
공유 GPS 인터페이스(121)의 목적은 GPS 서비스들에 대한 모든 요청들을 관리 및 동기화시키고자 하는 것이다. 상기 공유 GPS 인터페이스(121) 및 패킷 데이터 API(220)는 사실상 가상의, 공유 GPS 서비스를 제공한다. 공유 GPS 인터페이스(121)는 패킷 데이터 관리자(120)에 의해 구현될 수 있다. 대안적으로, 상기 공유 GPS 인터페이스(121)는 패킷 데이터 API(220)를 증대시킴으로써 구현될 수 있으나, GPS 인터페이스(121)를 패킷 데이터 API(220) 내부에 위치시키는 것은 도 3B의 애플리케이션(610)에 의한 또는 도 4A 및 4B의 애플리케이션(519)으로부터의 GPS 인터페이스의 액세스가능성을 제한할 수 있다.
단계(60)에서, 현재 활성인 GPS 애플리케이션들(110, 115, 또는 610) 중 하나가 더 이상 공유 GPS 인터페이스(121)의 서비스들을 필요로하지 않는지를 결정한다. 이는 특정 GPS 애플리케이션(110, 115, 또는 610)이 실행을 중지 또는 특정 시간 기간 동안 불활성이었기 때문일 수 있다. 이 경우, 공유 GPS 인터페이스(121)를 활용하는 애플리케이션들의 계수는 1만큼 감소된다. 상기 계수가 영이 아니라면, 공유 GPS 인터페이스(121)는 계속하여 현재 GPS 위치 결정들을 필요로 하는 다른 GPS 애플리케이션들을 지원할 것이며, 계속하여 단계(59)를 수행한다.
공유 GPS 인터페이스(121)에 의해 감소되는 바와 같은, 활성 GPS 애플리케이션들의 계수가 영이라면, 단계(61)이 실행될 수 있다. 단계(61)에서, 상기 공유 GPS 인터페이스(121)는 패킷 교환 데이터 호가 더 이상 GPS 엔진(210)과 공유될 필요가 없음을 접속 관리자(130)에게 통지한다. 다른 애플리케이션이 GPS 엔진(210)과 패킷 교환 데이터 호를 현재 공유 중이 아니라면, 접속 관리자(130)는 상기 데이터 호를 종료시킨다. 모든 경우에, 상기 공유 GPS 인터페이스(121)는 단계(62)에서, GPS 위치결정 세션을 중단할 것을 패킷 데이터 API에 통지한다. 단계(62)는 통신 스택(240)의 IP 데이터 필터(242)를 불활성화시키는 것을 포함할 수 있는데, 이는 더 이상 GPS 관련 데이터 패킷들이 필터링 아웃될 필요가 없을 수 있기 때문이다.
도 4A 및 4B는 추가의 대안적인 실시예들을 나타낸다. 애플리케이션 처리기(100)에 추가로, 랩톱 컴퓨터 또는 PDA와 같은, 적어도 하나의 외부 처리기(500) 가 있을 수 있다. 상기 외부 처리기(500)는 이더넷, USB, Firewire, Bluetooth, 또는 어떠한 전유 기술과 같은, 케이블 또는 무선 링크(93 또는 94)에 의한 멀티프로세서 모바일 장치(90)에 링크될 수 있다. 도 4A에 도시된 실시예에서, 전용 통신 링크 송수신기(540)가 통신 링크(93)의 어느 한 단에 포함된다. 도 4B에 도시된 실시예에서, 기존 통신 스택(140)이 외부 처리기(500)의 통신 프로토콜 스택(540)과의 채널(94)을 통한 통신을 위해 애플리케이션 처리기(100)에 포함된다. 설명 목적을 위해, 도 4A 및 4B는 단순히 단 하나의 GPS 애플리케이션(510)을 도시한다. 그러나, 애플리케이션 처리기(100)에서와 같이, 다수의 GPS 애플리케이션들이 외부 처리기(500) 상에서 실행될 수 있다. 상기 외부 처리기(500)는 적어도 애플리케이션 처리기(100)만큼 복잡할 수 있다. 즉, 상기 외부 처리기(500)도 애플리케이션 처리기(100)에 대해 도시된 다양한 소프트웨어 컴포넌트들과 같은 추가적인 소프트웨어 컴포넌트들을 포함할 수 있다.
도 4A 및 4B는 외부 처리기(500)와 애플리케이션 처리기(100) 간의 상이한 종류의 통신을 도시한다. 추가로, 도 4A는 GPS 애플리케이션(510)과 공유 GPS 인터페이스(121) 간의 제어 플로우 2 및 데이터 플로우를 도시한다. 외부 처리기(500)에서 실행되는 GPS 애플리케이션(510)은 통신 링크(540) 및 통신 채널(93)에 의해 공유 GPS 인터페이스(121)로부터의 GPS 서비스를 요청할 수 있다. 본 배치는, 예를 들어, 통신 드라이버들(540)이, 블루투스 또는 USB와 같은, 비-TCP/IP 프로토콜을 이요하는 경우에 이용될 수 있다.
도 4B는 TCP/IP 통신 스택들(140 및 540) 간의 제어 플로우 2와 데이터 플로 우를 도시한다. 본 배치는 통신 채널(94)이 표준 TCP/IP 네트워크 프로토콜을 이용하는 경우에 이용될 수 있다. 이 경우, 접속 관리자(130)를 통한 패킷 데이터 관리자(120)는, 외부 처리기(500)로의 TCP1/IP1/PPP1 접속과 같은, 로컬 접속을 수립하여야 한다. 그리고 나서, GPS 애플리케이션(510)은 본 접속을 이용하여 요청들 및 데이터를 공유 GPS 인터페이스(121)로 전송 또는 수신한다.
GPS 애플리케이션(510)은 GPS 엔진(210)과 애플리케이션 처리기(100)의 다양한 소프트웨어 컴포넌트들을 어떻게 관련시키는지를 도시하기 위해 GPS-관련 애플리케이션인 것으로 가정한다. GPS 애플리케이션(510)과 공유 GPS 인터페이스(121) 간의 제어 및 데이터 경로들에서의 변화를 제외하고, 도 4A 및 4B에 의해 도시되는 실시예들에 의해 실행되는 단계들은 도 5와 동일할 수 있다. 도 5의 단계들은 패킷 교환 데이터 호를 공유하기 위해 GPS 엔진을 셋 업하며, 여기서 애플리케이션은 이미 패킷 교환 데이터 호를 통해 네트워크에 이미 접속된다. 도 4A 및 4B의 실시예들은 특히, 애플리케이션 처리기(100)와 외부 처리기(500) 간에, 각각, 통신 채널들(93 또는 94)을 구성하는데 필요할 수 있다. 이는 도 5의 단계(51)에서 수행된다.
도 6은 모뎀 처리기(200)가 GPS 엔진(210)에 추가로 적어도 하나의 유틸리티 엔진(250)을 실행할 수 있는 다른 실시예를 나타낸다. 도 6은 추가적인 유틸리티 엔진(250)에 대한 제어 및/또는 데이터 플로우를 관리하는 GPS 엔진(210)을 도시한다. 추가적인 유틸리티 엔진(250)은 그 자신의 TCP/IP/필터 스택(260)을 가질 수 있다. 특히, 유틸리티 엔진(250)은 GPS 엔진 IP 데이터 필터(242)가 GPS 특정적 데이터 패킷들을 라우팅하는 방식과 유사한, 상기 유틸리티 엔진(250)에 특히 관련되는 PPP 스트림 데이터 패킷들 중에서 필터링 아웃(filter out)-또는 이에 주입(inject)-시킬 수 있다. PPP 프로토콜 대신, 상이한 프로토콜(미도시)이 통신 스택(240 및/또는 260)의 링크 계층 상에서 실행 중일 수 있는데, 이는 CDMA 및 UMTS 모두가 네트워크 데이터 접속을 통해 직접 IP 데이터 패킷들을 전송하는 것을 지원하기 때문이다.
다른 배치들, 상호접속들, 또는 GPS의 개수 및 유틸리티 엔진들도 가능하다. 예를 들어, 도 7에서 GPS 엔진(210) 및 유틸리티 엔진(250)은 개별 통신 스택들을 갖지만 단일 복합 필터(270)를 공유한다. 복합 필터를 이용하여, 데이터 패킷들의 스트림으로부터 추출되는 데이터가 적절한 목적지, 즉 각 처리기의 TCP/IP 스택과 엔진(210), 유틸리티 엔진(250), 또는 데이터 접속을 공유하는 애플리케이션 처리기(100)의 다른 애플리케이션으로 라우팅될 수 있다.
도 8은 모뎀 처리기(200) 상에서 실행되는 GPS 엔진을 포함하지 않는 모바일 장치(90)의 다른 실시예의 블록도이다. GPS 엔진 대신, 적어도 하나의 비-GPS 유틸리티 엔진(250((251))이 존재하며, 이는 통신 스택(260(261))을 통한 네트워크 접속에 대한 액세스를 요구할 수 있다. GPS 엔진을 이용한 바와 같이, 상기 비-GPS 유틸리티 엔진(250(251))은 하나 이상의 활성 데이터 네트워크 접속을 적어도 하나의 애플리케이션 처리기(100) 상에서 실행되는 애플리케이션(116 또는 118)과 공유할 필요가 있을 수 있다. 데이터 네트워크 접속을 공유하는 이유는 전술한 바와 같을 수 있다. 즉, 단 하나의 IP 주소만이 주어진 도메인에서의 PDP 활성화 동 안 상기 장치에 할당될 수 있다. 그러나, 네트워크(300) 상의 유틸리티 서버(302)로부터 유틸리티 엔진(260) 뿐 아니라 애플리케이션 프로그램(116 또는 118)으로의 동시 데이터 전송들이 존재할 필요가 있을 수 있다. 또한 공유 데이터 네트워크 접속을 통한 반대 방향으로의 데이터 전송들이 필요할 수도 있다. 데이터 네트워크 접속을 애플리케이션 프로그램(116 또는 118)과 고유하기 위해, 유틸리티 엔진(250 또는 251)은 IP 데이터 필터(270)를 이용하여 공유 접속을 통한 패킷 데이터 트래픽을 모니터링할 수 있다. IP 데이터 필터(270)는 특정한, 예상되는 어드레스, 포맷 또는 컨텐트에 기초하여 상기 유틸리티 엔진에 관련되는 데이터 패킷들을 인지한다. 예를 들어, IP 데이터 필터는 데이터 패킷 내의 소스 주소에 기초하여 유틸리티 서버(302)로부터의 유틸리티-관련 데이터 패킷들을 감시하고 분리시키도록 구성된다. 상기 유틸리티-관련 포맷 또는 컨텐트는 TCP 또는 UDP 포트 번호 및 IP 주소 또는 유틸리티 서버(302)로부터 발신되는 바와 같은 데이터 패킷을 식별하는 다른 고유한 컨텐트를 포함할 수 있다. IP 데이터 필터(270)는 인지된 유틸리티-관련 데이터 패킷들을 상기 유틸리티 엔진(250 또는 251)로 유틸리티 엔진에 관련된 모든 데이터 패킷들을 라우팅시키고 모든 다른 데이터 패킷들은 데이터 네트워크 접속을 공유하는 애플리케이션들로 라우팅시킨다. 대안적으로, 각 유틸리티 엔진(250 또는 251)은, 도 6의 경우에서와 같이, 그 자신의 별도의 IP 데이터 필터를 가질 수 있다.
도 8 및 9를 참조하면, 대안적인 실시예의 단계들의 시퀀스가 상기 방법 단계들을 수행하는 시스템과 관련하여 제시된다. 단계(71)에서, 패킷 데이터 관리 자(120)는 그 존재를 모뎀 처리기(200)의 패킷 데이터 애플리케이션 프로그래밍 인터페이스(PD API)(220)를 통해 접속 공유 관리자(290)에 등록한다. 패킷 데이터 관리자(120)는 통신 파라미터들을 접속 공유 관리자(290)로부터 패킷 데이터 관리자(120) 및 PD API(220)를 통해 획득할 수 있다. 이러한 통신 파라미터들은 공유 데이터 네트워크 접속들을 관리 중인 유틸리티 엔진(250, 251)에 의해 요구되는 유틸리티-관련 서버(302)에 대한 규정된(provisioned) 데이터 네트워크 접속들을 규정할 수 있다. 상기 패킷 데이터 관리자(120)에 의해 제공되는 파라미터들은 요구되는 인터페이스 패밀리 타입, 또는 유틸리티 서비스들이 이미 진행 중인지 여부를 포함할 수 있다. 본 제어 플로우 단계(71)는 패킷 교환 데이터 접속들의 관리를 시작한다.
단계(72)에서, 사용자는 유틸리티 엔진(250, 251)으로부터의 서비스들을 요구하는 애플리케이션(116)을 활성화할 수 있다. 애플리케이션(116)을 활성화시킴으로써, 요청이 패킷 데이터 관리자(120)에 전송되어 유틸리티 엔진(250, 251)으로부터의 서비스들을 개시한다. 이번에는 패킷 데이터 관리자(120)가 신호를 패킷 데이터 API(220)로 전송하여 유틸리티 서비스 요청이 접속 공유 관리자(290)에 포워딩되게 할 수 있으며, 이는 이번에는 상기 요청을 요청된 서비스들을 제공하는 유틸리티 엔진(250, 251)에 포워딩할 수 있다. 한 번에 둘 이상의 애플리케이션이 특정 유틸리티 엔진(250, 251)으로부터 서비스를 요청할 수 있다면, PD 관리자(120) 또는 접속 공유 관리자(290)는 각 유틸리티 엔진(250, 251)에 대한 그러한 서비스를 요구하는 애플리케이션들의 수의 계수를 유지할 수 있다.
단계(73)에서, 접속 공유 관리자(290)는 패킷 교환 데이터 호의 개시를 요청한다. 그렇게 하기 위해, 접속 공유 관리자(290)는 상기 패킷 데이터 관리자에게 요청된 인터페이스(CDMA, UMTS, WLAN, ...)를 개시할 것을 시그널링한다. 요청된 인터페이스(규정된 UMTS PDP 컨텍스트와 같은)는 적절한 유틸리티 엔진(250, 251)을 유틸리티 서버(302)에 무선 통신 네트워크(300)를 통해 접속시킬 인터페이스이다. 접속 공유 관리자(290)는 패킷 데이터 관리자(120)에게 요청된 인터페이스 명, 패밀리 타입, 및 기술을 제공하여 패킷 교환 데이터 호를 수행할 수 있다. CDMA, UMTS, WLAN 등을 규정하는 것 외에, 접속 공유 관리자(290)는 예를 들어 특정 IP 버전(IPv4, IPv6 등)도 요청할 수 있다. 특히 UMTS에 대해, 접속 공유 관리자(290)는 APN 명, PDP 타입, 요구되는 QoS(서비스 품질) 등을, 인터페이스 요청의 파라미터들로서 제공할 수 있다. 다음에 단계(74)에서, 패킷 데이터 관리자(120)는 패킷 교환 데이터 호의 개시를 접속 관리자(130)를 통해 요청한다. 상기 데이터 호는 단계(73)에서 접속 공유 관리자(290)로부터 획득되는 파라미터들의 조합을 이용하여 이뤄질 수 있다.
다음에 단계(75)에서, 접속 관리자(130)는 단계(74)에서 PD 관리자(120)에 의해 제공되는 선택 파라미터들에 기초하여 RF 송수신기(송신기-수신기)(230)를 통해 적절한 가용 네트워크 인터페이스에 대한 데이터 호의 활성화를 개시한다. 상기 적절한 가용 인터페이스는 단계(74)에서 패킷 데이터 관리자(120)에 의해 제공되는 파라미터들에 기초하여 모뎀 처리기(200)에 의해 활성화된다. 상기 패킷 데이터 관리자(120)에 의해 제공되는 파라미터들은 데이터 호가 개시될 때마다 매번 상이할 수 있다. 상기 파라미터들은 가용 네트워크 또는 네트워크들에 따라 변할 수 있다.
단계(76)에서, 적절한 데이터 네트워크 접속(91)이 RF 송수신기 유닛(230)을 통해 활성이라면, 접속 관리자(130)는 최종 인터페이스 파라미터들에 대해 무선 통신 네트워크(300)에 질의하며 본 정보(APN, 장치 IP 주소, 호의 타입)를 패킷 데이터 관리자(120)에 반환한다.
단계(77)에서, 패킷 데이터 관리자(120)는 접속 공유 관리자(290)에게 패킷 데이터 API(220)를 통해 패킷 교환 데이터 호가 성공적으로 개방되었음을 통지한다. 그리고 나서 패킷 데이터 관리자(120)는 패킷 데이터 API(220)를 통해 유틸리티 엔진과 접속 공유 관리자(290)에게 유틸리티 서버(302)에 액세스하는데 필요한 네트워크 정보를 제공한다. 상기 접속 공유 관리자(290)에 대한 네트워크 정보는 상기 단계(73)에서 생성되는 접속 요청 정보를 포함할 수 있다. 본 접속 요청 정보는 인터페이스 명/기술(CDMA, UMTS, WLAN 등), 인터페이스 패밀리(IPv4, IPv6 등), 및 인터페이스 특정적 정보(UMTS에 대해, APN 명, PDP 타입, QoS, 도메인 명, 도메인에 의해 지원되는 서비스들 등)를 포함할 수 있다. 추가로, 상기 네트워크 정보는 데이터 호 세션에 할당되었던 인터페이스 IP 주소를 포함할 수 있다.
단계(78)에서, 접속 공유 관리자(290)는 단계(77)에 상기 기재된 네트워크 인터페이스 파라미터들을 이용하여 애플리케이션 처리기(100)의 PD 관리자(120)로부터의 네트워크 정보를 이용하여 수립(bring up)되는 네트워크 인터페이스를 고유하게 식별한다. 상기 접속 공유 관리자(290)는 관련 유틸리티 엔진(250, 251)을 TCP/IP 통신 스택(260, 261)을 통해 유틸리티 서버(302)로부터 IP 트래픽을 수신 및 전송하기 위한 네트워크 인터페이스에 바인딩(bind)시킨다. 접속 공유 관리자(290)는 특정 형태의 데이터 패킷들을 통신 스택(260, 261)을 통해 모든 다른 것들은 상기 네트워크 접속을 공유하는 애플리케이션의 특정 통신 스택(140)으로 조사 및 라우팅시키도록 IP 데이터 필터(270)를 구성한다.
단계(79)에서, 유틸리티 서버(302)로부터의 착신 데이터는 IP 데이터 필터(270)에 의해 IP 데이터 트래픽으로부터 자동으로 추출된다. 즉, 유틸리티-관련 수신 데이터 트래픽은 IP 데이터 필터(270)에 의해 필터링, 또는 스트립 아웃되고 접속 공유 관리자(290)에 의해 구성되는 바와 같이 적절한 유틸리티 엔진(250, 251)으로 라우팅된다. 특히, 예상되는, 특정 형태의 또는 유틸리티 서버(302)로부터의 모든 인입 데이터 패킷은 통신 스택(260 또는 261)을 통해 접속 공유 관리자(290)로 라우팅된다. 상기 데이터 패킷은 애플리케이션 처리기(100)로 포워딩되지 않는다. 동일한 네트워크 접속에서 수신되는 임의의 다른 데이터 패킷은 통신 스택(260, 261)을 통해 라우팅되지 않지만 PPP 인터페이스(245)를 통해서처럼, 애플리케이션 처리기(100)로 라우팅된다. 상기 라우팅은 사용자에게 투명하게 발생할 수 있다. 유틸리티 엔진(250 또는 251)에 의해 전송되는 모든 데이터는 동일한 데이터 네트워크 접속을 통해 애플리케이션 처리기(100)로부터 전송되는 데이터와 병합, 또는 인터리빙된다.
단계(72A)의 본 지점에서, 다른 애플리케이션 프로그램(118)이 실행을 시작할 수 있으며 PD 관리자(120)를 통해 모뎀 유틸리티 서비스들을 요청할 수 있다. 응답으로, 패킷 데이터 관리자(120)는 현재 모뎀 유틸리티 서비스들을 요구하는 애플리케이션들의 계수를 증분시킬 수 있다. 대안적으로, 본 계수는 접속 공유 관리자에 의해 유지될 수 있다. 단계(72A)는 본 프로세스에서 다른 시간들에 발생할 수 있으며, 단지 설명 목적을 위해 도 9에서와 같이 위치한다. 추가로, 만일 실행한다면, 제 3 애플리케이션이 본 프로세스에서 임의의 시간에 사용자에 의해 유사하게 개시되고 패킷 데이터 관리자(120)를 통해 서비스를 요청할 수 있다. 패킷 데이터 관리자(120)의 목적은 유틸리티 서비스들에 대한 모든 애플리케이션 요청들을 관리 및 동기화시키는 것이다.
단계(80)는 현재의 활성 애플리케이션들(116, 118) 중 하나가 더 이상 유틸리티 서비스들을 필요로 하지 않는지를 결정한다. 이는 특정 애플리케이션(116, 118)이 실행을 중단하였거나 특정 시간 기간(타임-아웃 기간) 동안 서비스들을 이용하지 않았기 때문일 수 있다. 대안적으로, 애플리케이션(116, 118)은 유틸리티 서비스들이 더 이상 요구되지 않음을 PD 관리자에게 명시적으로 통지할 수 있다. 모든 경우에, 패킷 데이터 관리자(120)가, 또는 대안적으로 접속 공유 관리자(290)가, 요구되지 않는 서비스들을 제공하는 유틸리티 엔진(250, 251)을 활용하는 애플리케이션들의 계수를 감소시킨다. 상기 계수가 영이 아니라면, 패킷 데이터 관리자(120)는 계속하여 현재 상기 서비스를 필요로 하는 다른 애플리케이션들을 지원할 것이며, 본 프로세스는 단계(79)로 계속된다.
특정 유틸리티 엔진(250, 251)을 이용하는 활성 애플리케이션들의 계수가, 패킷 데이터 관리자(120)에 의해 감소되어, 영이라면, 단계(81)가 실행될 수 있다. 단계(81)에서, 패킷 데이터 관리자(120)는 패킷 교환 데이터 호가 접속 공유 관리자(290)와 더 이상 공유될 필요가 없음을 접속 관리자(130)에 통지한다. 어느 애플리케이션도 현재 패킷 교환 데이터 호를 접속 공유 관리자(290)와 공유하고 있지 않다면, 접속 관리자(130)는 상기 데이터 호를 종결시킨다. 모든 경우에, PD 관리자(120)는 단계(82)에서 특정 유틸리티 엔진(250, 251)을 중단시킬 것을 패킷 데이터 API(220)를 통해 접속 공유 관리자(290)에게 통지한다. 단계(82)는 IP 데이터 필터(270)를 재구성하는 단계를 포함할 수 있는데, 이는 필터링 아웃되고 특정 유틸리티 엔진(250, 251)으로 라우팅될 유틸리티 서버(302)로부터의 임의의 유틸리티-관련 데이터 패킷들이 더 이상 존재하지 않을 수 있기 때문이다.
도 2, 5, 및 9의 단계들을 구현하는데 이용되는 하드웨어는 명령들의 세트를 실행하도록 구성되는 메모리 엘리먼트들 및 프로세싱 엘리먼트들일 수 있으며, 상기 명령들의 세트는 상기 이벤트들에 대응하는 방법 단계들을 수행하기 위한 것이다. 대안적으로, 일부 단계들은 주어진 기능에 특정한 회로에 의해 수행될 수 있다.
당해 기술분야에서 통상의 지식을 가진 자는 여기 개시되는 실시예들과 관련하여 기재되는 다양한 설명적 논리 블록들, 모듈들, 회로들, 및 알고리듬 단계들이 하드웨어, 컴퓨터 소프트웨어, 또는 양자의 조합들로서 구현될 수 있음을 알 것이다. 하드웨어 및 소프트웨어의 이러한 상호교환성을 명확히 설명하기 위해, 다양한 설명적 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들이 그 기능성에 관련하여 일반적으로 앞서 기재되었다. 그러한 기능성이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 전체 시스템에 부과되는 특정 애플리케이션 및 설계 제약들에 다른다. 당해 기술분야에서 통상의 지식을 가진 자는 각각의 특정 애플리케이션에 대해 다른 방법들로 상기 기재된 기능성을 구현할 수 있지만, 그러한 구현 결정들이 본 발명의 범위로부터 벗어나게 하는 것으로 해석되어서는 안된다.
여기 개시된 실시예들과 관련하여 기재된 상기 다양한 도식적인 논리 블록, 모듈, 그리고 회로는 범용 처리기, 디지털 신호 처리기(DSP), 주문형 반도체(ASIC), 필드 프로그래머블 게이트 어레이(FGPA) 또는 다른 프로그래머블 논리 장치, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트, 또는 상기 기술된 기능들을 수행하도록 설계된 이들의 임의의 조합으로써 구현되거나 수행될 수 있다. 범용 처리기는 마이크로프로세서일 수 있지만, 대안으로, 상기 처리기는 임의의 종래의 처리기, 제어기, 마이크로제어기, 또는 상태 머신일 수 있다. 또한 처리기는 컴퓨팅 장치들의 조합, 예컨대, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 함께 하나 이상의 마이크로프로세서들, 또는 임의의 다른 그러한 구성으로서 구현될 수 있다.
여기 개시된 상기 실시예들과 관련하여 기술된 방법 또는 알고리듬의 단계들은 하드웨어, 처리기에 의해 실행되는 소프트웨어 모듈, 또는 상기 양자의 조합에 직접 수록될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 소거가능 디스크, CD-ROM, 또는 공지된 임의의 다른 형태의 저장 매체에 상주할 수 있다. 예시적인 저장 매체가 상기 처리기에 접속되어 상기 처리기가 상기 저장 매체로부터 정보를 읽 고, 상기 저장 매체에 정보를 수록할 수 있다. 대안으로, 상기 저장 매체는 상기 처리기의 구성요소일 수 있다. 상기 처리기 및 저장 매체는 ASIC 내에 탑재될 수 있다. ASIC은 사용자 단말에 탑재될 수 있다. 대안으로, 상기 처리기 및 저장 매체는 사용자 단말에 이산 컴포넌트로서 탑재될 수 있다.
본 발명이 특정한 예시 실시예들을 참조로 개시되었지만, 상기 기재된 실시예들에 대한 다수의 변형들, 변경들, 및 수정들이, 첨부된 청구의 범위에 정의되는 바와 같은, 본 발명의 범위 및 한계를 벗어나지 않고도 가능하다. 따라서, 본 발명이 기재된 실시예들에 한정되는 것이 아니라, 이하의 청구의 범위들, 및 그 균등물들의 기재에 의해 정의되는 전 범위를 갖는 것이다.
Claims (79)
- 제 1 유틸리티 엔진과 제 1 애플리케이션 프로그램 간의 네트워크 접속을 공유하는 방법으로서:상기 제 1 유틸리티 엔진과 통신하는 복수의 네트워크 접속들 중 하나를 선택하는 단계;상기 제 1 유틸리티 엔진을, 상기 제 1 유틸리티 엔진으로 그리고 상기 제 1 유틸리티 엔진으로부터 제 1 유틸리티-관련 데이터를 전송 및 수신할 수 있는 제 1 유틸리티 서버와 통신하는 복수의 네트워크 접속들 중 상기 선택된 하나에 바인딩(bind)시키는 단계; 및상기 제 1 애플리케이션 프로그램으로 하여금 상기 유틸리티 엔진에 바인딩되는 상기 네트워크 접속을 통해 데이터를 송신 및 수신할 수 있게 하는 단계를 포함하는 네트워크 접속 공유 방법.
- 제 1 항에 있어서,상기 바인딩된 네트워크 접속 상에서 수신되는 제 1 유틸리티-관련 데이터 패킷들을 필터링하는 단계;상기 필터링된 제 1 유틸리티-관련 수신된 데이터 패킷들을 상기 제 1 유틸리티 엔진으로 라우팅(route)하는 단계;상기 바인딩된 네트워크 접속 상에서 수신되는 다른 데이터 패킷들을 상기 제 1 애플리케이션 프로그램으로 라우팅하는 단계; 및상기 바인딩된 네트워크 접속 상에서의 전송을 위해 상기 제 1 유틸리티 엔진 및 상기 제 1 애플리케이션 프로그램으로부터의 인출(outgoing) 데이터 패킷들을 병합(merge)하는 단계를 더 포함하는 네트워크 접속 공유 방법.
- 제 2 항에 있어서,상기 제 1 유틸리티 엔진에 의해 생성되는 정보를 상기 제 1 애플리케이션과 공유하는 단계를 더 포함하는 네트워크 접속 공유 방법.
- 제 1 항에 있어서,제 2 유틸리티 엔진을, 제 2 유틸리티 서버와도 통신하며 상기 제 2 유틸리티 엔진으로 그리고 상기 제 2 유틸리티 엔진으로부터 유틸리티-관련 데이터를 송신 및 수신할 수 있는 상기 바인딩된 네트워크 접속에 바인딩시키는 단계를 더 포함하는 네트워크 접속 공유 방법.
- 제 4 항에 있어서,상기 바인딩된 네트워크 접속 상에서 수신되는 제 2 유틸리티-관련 데이터 패킷들을 필터링하는 단계; 및상기 필터링된 제 2 유틸리티-관련 수신된 데이터 패킷들을 상기 제 2 유틸리티 엔진으로 라우팅하는 단계를 더 포함하며, 인출 데이터 패킷들을 병합하는 단 계는 상기 바인딩된 네트워크 접속 상에서의 전송을 위해 상기 제 1 유틸리티 엔진, 상기 제 2 유틸리티 엔진 및 상기 제 1 애플리케이션 프로그램으로부터의 인출 데이터 패킷들을 병합하는, 네트워크 접속 공유 방법.
- 제 1 항에 있어서,상기 제 1 유틸리티 엔진에 의해 생성되는 정보를 상기 제 1 애플리케이션 및 제 2 애플리케이션과 공유하는 단계를 더 포함하는 네트워크 접속 공유 방법.
- 제 4 항에 있어서,상기 제 2 유틸리티 엔진에 의해 생성되는 정보를 패킷 데이터 관리자를 통해 상기 제 1 애플리케이션 및 제 2 애플리케이션과 공유하는 단계를 더 포함하는 네트워크 접속 공유 방법.
- 제 2 항에 있어서,상기 바인딩된 네트워크 접속 상에서 수신되는 제 1 유틸리티-관련 데이터 패킷들을 필터링하는 단계는:상기 바인딩된 네트워크 접속 상에서 수신되는 데이터 패킷들을 모니터링하는 단계; 및소스 주소(source address)에 기초하여 제 1 유틸리티-관련 데이터 패킷들을 인지(recognize)하는 단계를 포함하는, 네트워크 접속 공유 방법.
- 제 2 항에 있어서,상기 바인딩된 네트워크 접속 상에서 수신되는 제 1 유틸리티-관련 데이터 패킷들을 필터링하는 단계는:상기 바인딩된 네트워크 접속 상에서 수신되는 데이터 패킷들을 모니터링하는 단계; 및패킷 포맷에 기초하여 제 1 유틸리티-관련 데이터 패킷들을 인지하는 단계를 포함하는, 네트워크 접속 공유 방법.
- 제 2 항에 있어서,상기 바인딩된 네트워크 접속 상에서 수신되는 제 1 유틸리티-관련 데이터 패킷들을 필터링하는 단계는:상기 바인딩된 네트워크 접속 상에서 수신되는 데이터 패킷들을 모니터링하는 단계; 및상기 데이터 패킷 내의 컨텐트에 기초하여 제 1 유틸리티-관련 데이터 패킷들을 인지하는 단계를 포함하는, 네트워크 접속 공유 방법.
- 제 2 항에 있어서,상기 바인딩된 네트워크 접속 상에서 수신되는 제 1 유틸리티-관련 데이터 패킷들을 필터링하는 단계는:상기 바인딩된 네트워크 접속 상에서 수신되는 데이터 패킷들을 모니터링하는 단계; 및TCP 또는 UDP 포트 번호에 기초하여 제 1 유틸리티-관련 데이터 패킷들을 인지하는 단계를 포함하는, 네트워크 접속 공유 방법.
- 제 2 항에 있어서,상기 바인딩된 네트워크 접속 상에서 수신되는 제 1 유틸리티-관련 데이터 패킷들을 필터링하는 단계는:상기 바인딩된 네트워크 접속 상에서 수신되는 데이터 패킷들을 모니터링하는 단계; 및IP 주소에 기초하여 제 1 유틸리티-관련 데이터 패킷들을 인지하는 단계를 포함하는, 네트워크 접속 공유 방법.
- 제 2 항에 있어서,상기 제 1 유틸리티 엔진이 상기 네트워크 접속으로부터 단절(disconnect)되면 상기 바인딩된 네트워크 접속 상에서 수신되는 제 1 유틸리티-관련 데이터 패킷들을 필터링하는 단계를 중단(discontinue)시키는 단계를 더 포함하는 네트워크 접속 공유 방법.
- 패킷-교환 네트워크와 통신하는 모바일 멀티프로세서 통신 장치로서:복수의 네트워크 접속들로부터 상기 패킷-교환 네트워크로의 네트워크 접속을 선택하고,유틸리티 엔진을 동작시키고, 그리고데이터 패킷 필터를 동작시키도록 구성되는모뎀 처리기; 및애플리케이션 프로그램을 동작시키도록 구성되는 애플리케이션 처리기를 포함하며, 상기 모뎀 처리기는 추가로:상기 선택된 네트워크 접속이 상기 유틸리티 엔진과 상기 애플리케이션 프로그램 간에 공유되고; 그리고상기 데이터 패킷 필터가 상기 선택된 네트워크 접속 상에서 수신되는 유틸리티-특정적(utility-specific) 데이터 패킷들은 상기 유틸리티 엔진으로 라우팅하고, 상기 선택된 네트워크 접속으로부터의 모든 다른 데이터 패킷들은 상기 애플리케이션 프로그램으로 라우팅하고, 그리고 상기 유틸리티 엔진 및 상기 애플리케이션 프로그램으로부터 상기 선택된 네트워크 접속으로의 인출 데이터 패킷들을 병합시키도록 구성되는, 모바일 멀티프로세서 통신 장치.
- 제 14 항에 있어서,상기 모뎀 처리기는 추가로:패킷 데이터 관리자; 및접속 관리자를 동작시키도록 구성되고, 그리고상기 패킷 데이터 관리자, 상기 접속 관리자, 및 상기 데이터 패킷 필터는 상기 선택된 네트워크 접속의 공유를 용이하게 하는(facilitate), 모바일 멀티프로세서 통신 장치.
- 제 14 항에 있어서,상기 모뎀 처리기는 추가로 둘 이상의 애플리케이션 프로그램들로 하여금 상기 유틸리티 엔진으로부터의 유틸리티 서비스들을 동시에 요청하게 하여주는 공유 유틸리티 인터페이스를 동작시키도록 구성되는, 모바일 멀티프로세서 통신 장치.
- 패킷-교환 네트워크와 통신하는 모바일 멀티프로세서 통신 장치로서:상기 제 1 유틸리티 엔진과 통신하는 복수의 네트워크 접속들 중 하나를 선택하는 수단;상기 제 1 유틸리티 엔진을, 상기 제 1 유틸리티 엔진으로 그리고 상기 제 1 유틸리티 엔진으로부터 제 1 유틸리티-관련 데이터를 전송 및 수신할 수 있는 제 1 유틸리티 서버와 통신하는 복수의 네트워크 접속들 중 상기 선택된 하나에 바인딩시키는 수단; 및상기 제 1 애플리케이션 프로그램으로 하여금 상기 유틸리티 엔진에 바인딩되는 상기 네트워크 접속을 통해 데이터를 송신 및 수신할 수 있게 하는 수단을 포함하는 모바일 멀티프로세서 통신 장치.
- 제 17 항에 있어서,상기 바인딩된 네트워크 접속 상에서 수신되는 제 1 유틸리티-관련 데이터 패킷들을 필터링하는 수단;상기 필터링된 제 1 유틸리티-관련 수신된 데이터 패킷들을 상기 제 1 유틸리티 엔진으로 라우팅하는 수단;상기 바인딩된 네트워크 접속 상에서 수신되는 다른 데이터 패킷들을 상기 제 1 애플리케이션 프로그램으로 라우팅하는 수단; 및상기 바인딩된 네트워크 접속 상에서의 전송을 위해 상기 제 1 유틸리티 엔진 및 상기 제 1 애플리케이션 프로그램으로부터의 인출 데이터 패킷들을 병합하는 수단을 더 포함하는 모바일 멀티프로세서 통신 장치.
- 제 18 항에 있어서,상기 제 1 유틸리티 엔진에 의해 생성되는 정보를 상기 제 1 애플리케이션과 공유하는 수단을 더 포함하는 모바일 멀티프로세서 통신 장치.
- 제 17 항에 있어서,제 2 유틸리티 엔진을, 제 2 유틸리티 서버와도 통신하며 상기 제 2 유틸리티 엔진으로 그리고 상기 제 2 유틸리티 엔진으로부터 유틸리티-관련 데이터를 송신 및 수신할 수 있는 상기 바인딩된 네트워크 접속에 바인딩시키는 수단을 더 포함하는 모바일 멀티프로세서 통신 장치.
- 제 20 항에 있어서,상기 바인딩된 네트워크 접속 상에서 수신되는 제 2 유틸리티-관련 데이터 패킷들을 필터링하는 수단; 및상기 필터링된 제 2 유틸리티-관련 수신된 데이터 패킷들을 상기 제 2 유틸리티 엔진으로 라우팅하는 수단을 더 포함하며,상기 인출 데이터 패킷들을 병합하는 수단은 상기 바인딩된 네트워크 접속 상에서의 전송을 위해 상기 제 1 유틸리티 엔진, 상기 제 2 유틸리티 엔진 및 상기 제 1 애플리케이션 프로그램으로부터의 인출 데이터 패킷들을 병합하는, 모바일 멀티프로세서 통신 장치.
- 제 17 항에 있어서,상기 제 1 유틸리티 엔진에 의해 생성되는 정보를 상기 제 1 애플리케이션 및 제 2 애플리케이션과 공유하는 수단을 더 포함하는 모바일 멀티프로세서 통신 장치.
- 제 20 항에 있어서,상기 제 2 유틸리티 엔진에 의해 생성되는 정보를 패킷 데이터 관리자를 통해 상기 제 1 애플리케이션 및 제 2 애플리케이션과 공유하는 수단을 더 포함하는 모바일 멀티프로세서 통신 장치.
- 제 18 항에 있어서,상기 바인딩된 네트워크 접속 상에서 수신되는 제 1 유틸리티-관련 데이터 패킷들을 필터링하는 수단은:상기 바인딩된 네트워크 접속 상에서 수신되는 데이터 패킷들을 모니터링하는 수단; 및소스 주소에 기초하여 제 1 유틸리티-관련 데이터 패킷들을 인지하는 수단을 포함하는, 모바일 멀티프로세서 통신 장치.
- 제 18 항에 있어서,상기 바인딩된 네트워크 접속 상에서 수신되는 제 1 유틸리티-관련 데이터 패킷들을 필터링하는 수단은:상기 바인딩된 네트워크 접속 상에서 수신되는 데이터 패킷들을 모니터링하는 수단; 및패킷 포맷에 기초하여 제 1 유틸리티-관련 데이터 패킷들을 인지하는 수단을 포함하는, 모바일 멀티프로세서 통신 장치.
- 제 18 항에 있어서,상기 바인딩된 네트워크 접속 상에서 수신되는 제 1 유틸리티-관련 데이터 패킷들을 필터링하는 수단은:상기 바인딩된 네트워크 접속 상에서 수신되는 데이터 패킷들을 모니터링하는 수단; 및상기 데이터 패킷 내의 컨텐트에 기초하여 제 1 유틸리티-관련 데이터 패킷들을 인지하는 수단을 포함하는, 모바일 멀티프로세서 통신 장치.
- 제 18 항에 있어서,상기 바인딩된 네트워크 접속 상에서 수신되는 제 1 유틸리티-관련 데이터 패킷들을 필터링하는 수단은:상기 바인딩된 네트워크 접속 상에서 수신되는 데이터 패킷들을 모니터링하는 수단; 및TCP 또는 UDP 포트 번호에 기초하여 제 1 유틸리티-관련 데이터 패킷들을 인지하는 수단을 포함하는, 모바일 멀티프로세서 통신 장치.
- 제 18 항에 있어서,상기 바인딩된 네트워크 접속 상에서 수신되는 제 1 유틸리티-관련 데이터 패킷들을 필터링하는 수단은:상기 바인딩된 네트워크 접속 상에서 수신되는 데이터 패킷들을 모니터링하는 수단; 및IP 주소에 기초하여 제 1 유틸리티-관련 데이터 패킷들을 인지하는 수단을 포함하는, 모바일 멀티프로세서 통신 장치.
- 제 18 항에 있어서,상기 제 1 유틸리티 엔진이 상기 네트워크 접속으로부터 단절되면 상기 바인딩된 네트워크 접속 상에서 수신되는 제 1 유틸리티-관련 데이터 패킷들을 필터링하는 것을 중단시키는 수단을 더 포함하는 모바일 멀티프로세서 통신 장치.
- 상기 제 1 유틸리티 엔진과 통신하는 복수의 네트워크 접속들 중 하나를 선택하고;상기 제 1 유틸리티 엔진을, 상기 제 1 유틸리티 엔진으로 그리고 상기 제 1 유틸리티 엔진으로부터 유틸리티-관련 데이터를 전송 및 수신할 수 있는 제 1 유틸리티 서버와 통신하는 복수의 네트워크 접속들 중 상기 선택된 하나에 바인딩시키고; 그리고제 1 애플리케이션 프로그램으로 하여금 상기 바인딩되는 네트워크 접속을 통해 데이터를 송신 및 수신할 수 있게 하도록 구성되는 저장된 실행가능 소프트웨어 명령들을 포함하는 멀티-프로세서 통신 장치 내의 컴퓨터로-읽을 수 있는 매체.
- 제 30 항에 있어서,상기 저장된 실행가능 소프트웨어 명령들은 추가로:상기 바인딩된 네트워크 접속 상에서 수신되는 제 1 유틸리티-관련 데이터 패킷들을 필터링하고;상기 필터링된 제 1 유틸리티-관련 수신된 데이터 패킷들을 상기 제 1 유틸리티 엔진으로 라우팅하고;상기 바인딩된 네트워크 접속 상에서 수신되는 다른 데이터 패킷들을 상기 제 1 애플리케이션 프로그램으로 라우팅하고; 그리고상기 바인딩된 네트워크 접속 상에서의 전송을 위해 상기 제 1 유틸리티 엔진 및 상기 제 1 애플리케이션 프로그램으로부터의 인출 데이터 패킷들을 병합하도록 구성되는, 컴퓨터로-읽을 수 있는 매체.
- 제 31 항에 있어서,상기 저장된 실행가능 소프트웨어 명령들은 추가로:상기 제 1 유틸리티 엔진에 의해 생성되는 정보를 상기 제 1 애플리케이션과 공유하게 하여주도록 구성되는, 컴퓨터로-읽을 수 있는 매체.
- 제 30 항에 있어서,상기 저장된 실행가능 소프트웨어 명령들은 추가로:상기 제 2 유틸리티 엔진을, 상기 제 2 유틸리티 엔진으로 그리고 상기 제 2 유틸리티 엔진으로부터 유틸리티-관련 데이터를 송신 및 수신할 수 있는 제 2 유틸리티 서버와도 통신하는 상기 바인딩된 네트워크 접속에 바인딩시키도록 구성되는, 컴퓨터로-읽을 수 있는 매체.
- 제 33 항에 있어서,상기 저장된 실행가능 소프트웨어 명령들은 추가로:상기 바인딩된 네트워크 접속 상에서 수신되는 제 2 유틸리티-관련 데이터 패킷들을 필터링하고;상기 필터링된 제 2 유틸리티-관련 수신된 데이터 패킷들을 상기 제 2 유틸리티 엔진으로 라우팅하고; 그리고상기 바인딩된 네트워크 접속 상에서의 전송을 위해 상기 제 1 유틸리티 엔진, 상기 제 2 유틸리티 엔진 및 상기 제 1 애플리케이션 프로그램으로부터의 인출 데이터 패킷들을 병합하도록 구성되는, 컴퓨터로-읽을 수 있는 매체.
- 제 33 항에 있어서,상기 저장된 실행가능 소프트웨어 명령들은 추가로 상기 제 1 유틸리티 엔진에 의해 생성되는 정보를 상기 제 1 애플리케이션 및 제 2 애플리케이션과 공유하도록 구성되는, 컴퓨터로-읽을 수 있는 매체.
- 제 34 항에 있어서,상기 저장된 실행가능 소프트웨어 명령들은 추가로 상기 제 2 유틸리티 엔진에 의해 생성되는 정보를 패킷 데이터 관리자를 통해 상기 제 1 애플리케이션 및 제 2 애플리케이션과 공유하도록 구성되는, 컴퓨터로-읽을 수 있는 매체.
- 제 31 항에 있어서,상기 저장된 실행가능 소프트웨어 명령들은 추가로:상기 바인딩된 네트워크 접속 상에서 수신되는 데이터 패킷들을 모니터링하고; 그리고소스 주소에 기초하여 제 1 유틸리티-관련 데이터 패킷들을 인지하도록 구성되는, 컴퓨터로-읽을 수 있는 매체.
- 제 31 항에 있어서,상기 저장된 실행가능 소프트웨어 명령들은 추가로:상기 바인딩된 네트워크 접속 상에서 수신되는 데이터 패킷들을 모니터링하고; 그리고패킷 포맷에 기초하여 제 1 유틸리티-관련 데이터 패킷들을 인지하도록 구성되는, 컴퓨터로-읽을 수 있는 매체.
- 제 31 항에 있어서,상기 저장된 실행가능 소프트웨어 명령들은 추가로:상기 바인딩된 네트워크 접속 상에서 수신되는 데이터 패킷들을 모니터링하고; 그리고상기 데이터 패킷 내의 컨텐트에 기초하여 제 1 유틸리티-관련 데이터 패킷들을 인지하도록 구성되는, 컴퓨터로-읽을 수 있는 매체.
- 제 31 항에 있어서,상기 저장된 실행가능 소프트웨어 명령들은 추가로:상기 바인딩된 네트워크 접속 상에서 수신되는 데이터 패킷들을 모니터링하고; 그리고TCP 또는 UDP 포트 번호에 기초하여 제 1 유틸리티-관련 데이터 패킷들을 인지하도록 구성되는, 컴퓨터로-읽을 수 있는 매체.
- 제 31 항에 있어서,상기 저장된 실행가능 소프트웨어 명령들은 추가로:상기 바인딩된 네트워크 접속 상에서 수신되는 데이터 패킷들을 모니터링하고; 그리고IP 주소에 기초하여 제 1 유틸리티-관련 데이터 패킷들을 인지하도록 구성되는, 컴퓨터로-읽을 수 있는 매체.
- 제 31 항에 있어서,상기 저장된 실행가능 소프트웨어 명령들은 추가로 상기 제 1 유틸리티 엔진이 상기 네트워크 접속으로부터 단절되면 상기 바인딩된 네트워크 접속 상에서 수신되는 제 1 유틸리티-관련 데이터 패킷들을 필터링하는 것을 중단하도록 구성되는, 컴퓨터로-읽을 수 있는 매체.
- GPS 엔진 및 제 1 애플리케이션 프로그램 간에 네트워크 접속을 공유하는 방법으로서:상기 GPS 엔진과 통신하는 복수의 네트워크 접속들 중 하나를 선택하는 단계;상기 GPS 엔진을, 상기 GPS 엔진으로 그리고 상기 GPS 엔진으로부터 GPS-관련 데이터를 송신 및 수신할 수 있는 GPS 서버와 통신하는 복수의 네트워크 접속들 중 상기 선택된 하나에 바인딩시키는 단계; 및상기 제 1 애플리케이션 프로그램으로 하여금 상기 바인딩된 네트워크 접속을 통해 데이터를 송신 및 수신할 수 있게 하는 단계를 포함하는 네트워크 접속 공유 방법.
- 제 43 항에 있어서,상기 바인딩된 네트워크 접속 상에서 수신되는 GPS-관련 데이터 패킷들을 필터링하는 단계;상기 필터링된 GPS-관련 수신된 데이터 패킷들을 상기 GPS 엔진으로 라우팅하는 단계;상기 바인딩된 네트워크 접속 상에서 수신되는 다른 데이터 패킷들을 상기 제 1 애플리케이션 프로그램으로 라우팅하는 단계; 및상기 바인딩된 네트워크 접속 상에서의 전송을 위해 상기 GPS 엔진 및 상기 제 1 애플리케이션 프로그램으로부터의 인출 데이터 패킷들을 병합하는 단계를 더 포함하는 네트워크 접속 공유 방법.
- 제 44 항에 있어서,상기 GPS 엔진에 의해 생성되는 정보를 상기 제 1 애플리케이션과 공유하는 단계를 더 포함하는 네트워크 접속 공유 방법.
- 제 44 항에 있어서,상기 GPS 엔진에 의해 생성되는 GPS 정보를 상기 GPS 서버로 전송하는 단계; 및GPS 좌표(coordinate) 정보를 상기 GPS 서버로부터 수신하는 단계를 더 포함하는 네트워크 접속 공유 방법.
- 제 43 항에 있어서,상기 GPS 엔진에 의해 생성되는 GPS 정보를 상기 제 1 애플리케이션 및 제 2 애플리케이션과 공유하는 단계를 더 포함하는 네트워크 접속 공유 방법.
- 제 44 항에 있어서,상기 바인딩된 네트워크 접속 상으로 수신되는 GPS-관련 데이터 패킷들을 필터링하는 단계는:상기 바인딩된 네트워크 접속 상에서 수신되는 데이터 패킷들을 모니터링하는 단계; 및소스 주소에 기초하여 GPS-관련 데이터 패킷들을 인지하는 단계를 포함하는, 네트워크 접속 공유 방법.
- 제 44 항에 있어서,상기 바인딩된 네트워크 접속 상으로 수신되는 GPS-관련 데이터 패킷들을 필터링하는 단계는:상기 바인딩된 네트워크 접속 상에서 수신되는 데이터 패킷들을 모니터링하는 단계; 및패킷 포맷에 기초하여 GPS-관련 데이터 패킷들을 인지하는 단계를 포함하는, 네트워크 접속 공유 방법.
- 제 44 항에 있어서,상기 바인딩된 네트워크 접속 상으로 수신되는 GPS-관련 데이터 패킷들을 필터링하는 단계는:상기 바인딩된 네트워크 접속 상에서 수신되는 데이터 패킷들을 모니터링하는 단계; 및상기 데이터 패킷 내의 컨텐트에 기초하여 GPS-관련 데이터 패킷들을 인지하는 단계를 포함하는, 네트워크 접속 공유 방법.
- 제 44 항에 있어서,상기 바인딩된 네트워크 접속 상으로 수신되는 GPS-관련 데이터 패킷들을 필터링하는 단계는:상기 바인딩된 네트워크 접속 상에서 수신되는 데이터 패킷들을 모니터링하는 단계; 및TCP 또는 UDP 포트 번호에 기초하여 GPS-관련 데이터 패킷들을 인지하는 단계를 포함하는, 네트워크 접속 공유 방법.
- 제 44 항에 있어서,상기 바인딩된 네트워크 접속 상으로 수신되는 GPS-관련 데이터 패킷들을 필터링하는 단계는:상기 바인딩된 네트워크 접속 상에서 수신되는 데이터 패킷들을 모니터링하는 단계; 및IP 주소에 기초하여 GPS-관련 데이터 패킷들을 인지하는 단계를 포함하는, 네트워크 접속 공유 방법.
- 제 44 항에 있어서,상기 GPS 엔진이 상기 네트워크 접속으로부터 단절되면 상기 바인딩된 네트워크 접속 상에서 수신되는 GPS-관련 데이터 패킷들을 필터링하는 단계를 중단하는 단계를 더 포함하는 네트워크 접속 공유 방법.
- 패킷-교환 네트워크와 통신하는 모바일 멀티프로세서 통신 장치로서:복수의 네트워크 접속들로부터 상기 패킷-교환 네트워크로의 네트워크 접속을 선택하고,GPS 엔진을 동작시키고,데이터 패킷 필터를 동작시키고, 그리고상기 선택된 네트워크 접속을 상기 패킷-교환 네트워크와 동작시키도록 구성되는모뎀 처리기; 및애플리케이션 프로그램을 동작시키도록 구성되는 애플리케이션 처리기를 포함하며, 상기 모뎀 처리기는 추가로:상기 선택된 네트워크 접속이 상기 GPS 엔진과 상기 애플리케이션 프로그램 간에 공유되고; 그리고상기 데이터 패킷 필터가 상기 선택된 네트워크 접속 상에서 수신되는 GPS-특정적(GPS-specific) 데이터 패킷들은 상기 GPS 엔진으로 라우팅하고, 상기 선택된 네트워크 접속으로부터의 모든 다른 데이터 패킷들은 상기 애플리케이션 프로그램으로 라우팅하고, 그리고 상기 GPS 엔진 및 상기 애플리케이션 프로그램으로부터 상기 선택된 네트워크 접속으로의 인출 데이터 패킷들을 병합시키도록 구성되는, 모바일 멀티프로세서 통신 장치.
- 제 54 항에 있어서,상기 모뎀 처리기는 추가로:패킷 데이터 관리자; 및접속 관리자를 동작시키도록 구성되고, 그리고상기 패킷 데이터 관리자, 상기 접속 관리자, 및 상기 데이터 패킷 필터는 상기 선택된 네트워크 접속의 공유를 용이하게 하는(facilitate), 모바일 멀티프로세서 통신 장치.
- 제 54 항에 있어서,상기 모뎀 처리기는 추가로 둘 이상의 애플리케이션 프로그램들로 하여금 상기 GPS 엔진으로부터의 GPS 서비스들을 동시에 요청하게 하여주는 공유 GPS 인터페이스를 동작시키도록 구성되는, 모바일 멀티프로세서 통신 장치.
- 패킷-교환 네트워크와 통신하는 모바일 멀티프로세서 통신 장치로서:상기 GPS 엔진과 통신하는 복수의 네트워크 접속들 중 하나를 선택하는 수단;상기 GPS 엔진을, 상기 GPS 엔진으로 그리고 상기 GPS 엔진으로부터 GPS-관련 데이터를 전송 및 수신할 수 있는 GPS 서버와 통신하는 복수의 네트워크 접속들 중 상기 선택된 하나에 바인딩시키는 수단; 및상기 제 1 애플리케이션 프로그램으로 하여금 상기 바인딩된 네트워크 접속을 통해 데이터를 송신 및 수신할 수 있게 하는 수단을 포함하는 모바일 멀티프로세서 통신 장치.
- 제 57 항에 있어서,상기 바인딩된 네트워크 접속 상에서 수신되는 GPS-관련 데이터 패킷들을 필터링하는 수단;상기 필터링된 GPS-관련 수신된 데이터 패킷들을 상기 GPS 엔진으로 라우팅하는 수단;상기 바인딩된 네트워크 접속 상에서 수신되는 다른 데이터 패킷들을 상기 제 1 애플리케이션 프로그램으로 라우팅하는 수단; 및상기 바인딩된 네트워크 접속 상에서의 전송을 위해 상기 GPS 엔진 및 상기 제 1 애플리케이션 프로그램으로부터의 인출 데이터 패킷들을 병합하는 수단을 더 포함하는 모바일 멀티프로세서 통신 장치.
- 제 58 항에 있어서,상기 제 1 GPS 엔진에 의해 생성되는 정보를 상기 제 1 애플리케이션과 공유하는 수단을 더 포함하는 모바일 멀티프로세서 통신 장치.
- 제 58 항에 있어서,상기 GPS 엔진에 의해 생성되는 정보를 상기 제 1 애플리케이션 및 제 2 애플리케이션과 공유하는 수단을 더 포함하는 모바일 멀티프로세서 통신 장치.
- 제 58 항에 있어서,상기 바인딩된 네트워크 접속 상에서 수신되는 GPS-관련 데이터 패킷들을 필터링하는 수단은:상기 바인딩된 네트워크 접속 상에서 수신되는 데이터 패킷들을 모니터링하는 수단; 및소스 주소에 기초하여 GPS-관련 데이터 패킷들을 인지하는 수단을 포함하는, 모바일 멀티프로세서 통신 장치.
- 제 58 항에 있어서,상기 바인딩된 네트워크 접속 상에서 수신되는 GPS-관련 데이터 패킷들을 필터링하는 수단은:상기 바인딩된 네트워크 접속 상에서 수신되는 데이터 패킷들을 모니터링하는 수단; 및패킷 포맷에 기초하여 GPS-관련 데이터 패킷들을 인지하는 수단을 포함하는, 모바일 멀티프로세서 통신 장치.
- 제 58 항에 있어서,상기 바인딩된 네트워크 접속 상에서 수신되는 GPS-관련 데이터 패킷들을 필터링하는 수단은:상기 바인딩된 네트워크 접속 상에서 수신되는 데이터 패킷들을 모니터링하는 수단; 및상기 데이터 패킷 내의 컨텐트에 기초하여 GPS-관련 데이터 패킷들을 인지하는 수단을 포함하는, 모바일 멀티프로세서 통신 장치.
- 제 58 항에 있어서,상기 바인딩된 네트워크 접속 상에서 수신되는 GPS-관련 데이터 패킷들을 필터링하는 수단은:상기 바인딩된 네트워크 접속 상에서 수신되는 데이터 패킷들을 모니터링하는 수단; 및TCP 또는 UDP 포트 번호에 기초하여 GPS-관련 데이터 패킷들을 인지하는 수단을 포함하는, 모바일 멀티프로세서 통신 장치.
- 제 58 항에 있어서,상기 바인딩된 네트워크 접속 상에서 수신되는 GPS-관련 데이터 패킷들을 필터링하는 수단은:상기 바인딩된 네트워크 접속 상에서 수신되는 데이터 패킷들을 모니터링하는 수단; 및IP 주소에 기초하여 GPS-관련 데이터 패킷들을 인지하는 수단을 포함하는, 모바일 멀티프로세서 통신 장치.
- 제 58 항에 있어서,상기 GPS 엔진이 상기 네트워크 접속으로부터 단절되면 상기 바인딩된 네트워크 접속 상에서 수신되는 GPS-관련 데이터 패킷들을 필터링하는 것을 중단시키는 수단을 더 포함하는 모바일 멀티프로세서 통신 장치.
- 상기 GPS 엔진과 통신하는 복수의 네트워크 접속들 중 하나를 선택하고;상기 GPS 엔진을, 상기 GPS 엔진으로 그리고 상기 GPS 엔진으로부터 GPS-관련 데이터를 전송 및 수신할 수 있는, GPS 서버와 통신하는 복수의 네트워크 접속들 중 상기 선택된 하나에 바인딩시키고; 그리고제 1 애플리케이션 프로그램으로 하여금 상기 바인딩된 네트워크 접속을 통해 데이터를 송신 및 수신할 수 있게 하도록 구성되는 저장된 실행가능 소프트웨어 명령들을 포함하는 멀티-프로세서 통신 장치 내의 컴퓨터로-읽을 수 있는 매체.
- 제 67 항에 있어서,상기 저장된 실행가능 소프트웨어 명령들은 추가로:상기 바인딩된 네트워크 접속 상에서 수신되는 GPS-관련 데이터 패킷들을 필터링하고;상기 필터링된 GPS-관련 수신된 데이터 패킷들을 상기 GPS 엔진으로 라우팅하고;상기 바인딩된 네트워크 접속 상에서 수신되는 다른 데이터 패킷들을 상기 제 1 애플리케이션 프로그램으로 라우팅하고; 그리고상기 바인딩된 네트워크 접속 상에서의 전송을 위해 상기 GPS 엔진 및 상기 제 1 애플리케이션 프로그램으로부터의 인출 데이터 패킷들을 병합하도록 구성되는, 컴퓨터로-읽을 수 있는 매체.
- 제 67 항에 있어서,상기 저장된 실행가능 소프트웨어 명령들은 추가로:상기 제 1 유틸리티 엔진에 의해 생성되는 정보를 상기 제 1 애플리케이션과 공유하게 하여주도록 구성되는, 컴퓨터로-읽을 수 있는 매체.
- 제 67 항에 있어서,상기 저장된 실행가능 소프트웨어 명령들은 추가로 상기 GPS 엔진에 의해 생성되는 정보를 상기 제 1 애플리케이션 및 제 2 애플리케이션과 공유하도록 구성되는, 컴퓨터로-읽을 수 있는 매체.
- 제 67 항에 있어서,상기 저장된 실행가능 소프트웨어 명령들은 추가로:상기 GPS 엔진에 의해 생성되는 GPS 정보를 상기 GPS 서버로 전송하고; 그리고GPS 좌표 정보를 상기 GPS 서버로부터 수신하도록 구성되는, 컴퓨터로-읽을 수 있는 매체.
- 제 68 항에 있어서,상기 저장된 실행가능 소프트웨어 명령들은 추가로:상기 바인딩된 네트워크 접속 상에서 수신되는 데이터 패킷들을 모니터링하고; 그리고소스 주소에 기초하여 GPS-관련 데이터 패킷들을 인지하도록 구성되는, 컴퓨터로-읽을 수 있는 매체.
- 제 68 항에 있어서,상기 저장된 실행가능 소프트웨어 명령들은 추가로:상기 바인딩된 네트워크 접속 상에서 수신되는 데이터 패킷들을 모니터링하고; 그리고패킷 포맷에 기초하여 GPS-관련 데이터 패킷들을 인지하도록 구성되는, 컴퓨터로-읽을 수 있는 매체.
- 제 68 항에 있어서,상기 저장된 실행가능 소프트웨어 명령들은 추가로:상기 바인딩된 네트워크 접속 상에서 수신되는 데이터 패킷들을 모니터링하고; 그리고상기 데이터 패킷 내의 컨텐트에 기초하여 GPS-관련 데이터 패킷들을 인지하도록 구성되는, 컴퓨터로-읽을 수 있는 매체.
- 제 68 항에 있어서,상기 저장된 실행가능 소프트웨어 명령들은 추가로:상기 바인딩된 네트워크 접속 상에서 수신되는 데이터 패킷들을 모니터링하고; 그리고TCP 또는 UDP 포트 번호에 기초하여 GPS-관련 데이터 패킷들을 인지하도록 구성되는, 컴퓨터로-읽을 수 있는 매체.
- 제 68 항에 있어서,상기 저장된 실행가능 소프트웨어 명령들은 추가로:상기 바인딩된 네트워크 접속 상에서 수신되는 데이터 패킷들을 모니터링하고; 그리고IP 주소에 기초하여 GPS-관련 데이터 패킷들을 인지하도록 구성되는, 컴퓨터로-읽을 수 있는 매체.
- 제 68 항에 있어서,상기 저장된 실행가능 소프트웨어 명령들은 추가로 상기 GPS 엔진이 상기 네트워크 접속으로부터 단절되면 상기 바인딩된 네트워크 접속 상에서 수신되는 GPS-관련 데이터 패킷들을 필터링하는 것을 중단하도록 구성되는, 컴퓨터로-읽을 수 있는 매체.
- 네트워크;상기 네트워크를 통해 액세스가능한 GPS 서버; 및멀티프로세서 통신 장치를 포함하며, 상기 멀티프로세서 통신 장치는:데이터 패킷 필터, 및데이터 통신 소프트웨어 프로토콜 스택을 포함하는 실행 소프트웨어 및 GPS 엔진을 포함하는 모뎀 처리기; 및GPS 애플리케이션 프로그램을 포함하는 소프트웨어를 실행하는 애플리케이션 처리기를 포함하고,상기 모뎀 처리기 및 애플리케이션 처리기는:상기 GPS 엔진 및 상기 애플리케이션 프로그램이 상기 네트워크에 대한 접속을 공유하고;상기 GPS 애플리케이션 프로그램이 상기 GPS 엔진으로부터의 GPS 위치 결정(location fix)을 요청하고;상기 GPS 엔진이 GPS-관련 데이터를 상기 GPS 서버로 그리고 상기 GPS 서버로부터 상기 네트워크를 통해 전송 및 수신하고; 그리고상기 데이터 패킷 필터가 상기 네트워크로부터 수신되는 GPS-관련 데이터 패킷들을 분리하여 상기 GPS 엔진으로 라우팅하고, 상기 네트워크로부터 수신되는 비-GPS 데이터 패킷들을 상기 애플리케이션 프로그램으로 라우팅하고, 그리고 상기 GPS 엔진으로부터 및 상기 애플리케이션 프로그램으로부터 상기 공유 접속으로의 인출 데이터 패킷들을 병합하도록 구성되는, 통신 시스템.
- 제 78 항에 있어서,상기 모뎀 처리기는 추가로 상기 GPS 엔진이 GPS-관련 데이터를 상기 GPS 서버로 상기 네트워크를 통해 전송하고, 그리고 GPS 엔진이 상기 통신 장치의 위치에 관련된 처리된 위치 정보를 상기 GPS 서버로부터 수신하도록 구성되는, 통신 시스템.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US83234706P | 2006-07-20 | 2006-07-20 | |
US60/832,347 | 2006-07-20 | ||
US11/780,467 US8364850B2 (en) | 2006-07-20 | 2007-07-19 | Utility service in multi-processor environment |
US11/780,467 | 2007-07-19 | ||
PCT/US2007/074041 WO2008011607A2 (en) | 2006-07-20 | 2007-07-20 | Methods, apparatuses and computer readable media for sharing a network connection between a utility engine including gps ad an application |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090033396A true KR20090033396A (ko) | 2009-04-02 |
KR101056148B1 KR101056148B1 (ko) | 2011-08-11 |
Family
ID=38896130
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020097003440A KR101056148B1 (ko) | 2006-07-20 | 2007-07-20 | Gps를 포함하는 유틸리티 엔진 및 애플리케이션 간에 네트워크 접속을 공유하기 위한 방법들, 장치들 및 컴퓨터-판독가능 저장 매체 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8364850B2 (ko) |
EP (1) | EP2074798B1 (ko) |
JP (1) | JP4995908B2 (ko) |
KR (1) | KR101056148B1 (ko) |
WO (1) | WO2008011607A2 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021230589A1 (ko) * | 2020-05-11 | 2021-11-18 | 삼성전자 주식회사 | 전자 장치 및 전자 장치에서 수신된 데이터 패킷을 처리하는 방법 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8566467B2 (en) * | 2007-07-23 | 2013-10-22 | Hewlett-Packard Development Company, L.P. | Data processing system and method |
US20090184866A1 (en) * | 2008-01-18 | 2009-07-23 | Simon Lethbridge | Method and device for providing location services |
KR101709159B1 (ko) | 2009-01-08 | 2017-03-08 | 삼성전자주식회사 | 인터넷 프로토콜을 사용하는 무선 데이터 통신 서비스 방법및 장치 |
US8774048B2 (en) | 2009-01-29 | 2014-07-08 | Qualcomm Incorporated | Link management for multimedia content mobility |
CN101808270B (zh) * | 2010-03-10 | 2016-03-30 | 华为终端有限公司 | 一种基于Android的业务处理方法和装置 |
US8433335B2 (en) | 2010-06-30 | 2013-04-30 | Research In Motion Limited | Method and apparatus for sharing information from a communication device |
JP5530410B2 (ja) * | 2010-10-11 | 2014-06-25 | 宏達國際電子股▲ふん▼有限公司 | 車載ユニットとモバイルデバイスとの間のオペレーション方法、および、その車載ユニットシステム |
CN102595467B (zh) * | 2011-01-04 | 2014-09-10 | 中国移动通信集团公司 | 一种数据采集方法和设备 |
CN102271158B (zh) * | 2011-07-26 | 2018-06-01 | 中兴通讯股份有限公司 | 一种基于云计算的gps多应用处理方法和移动终端 |
US8934389B2 (en) * | 2012-01-18 | 2015-01-13 | Microsoft Corporation | Mechanism for connecting a mobile device to a network |
US9565615B2 (en) * | 2012-05-16 | 2017-02-07 | Qualcomm Incorporated | Evolved hybrid internet protocol (IP) multimedia subsystem (IMS) architecture |
CN102882679A (zh) * | 2012-07-24 | 2013-01-16 | 中兴通讯股份有限公司 | 电子设备的解锁方法及解锁装置 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0810875B2 (ja) * | 1991-04-18 | 1996-01-31 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 局所ネットワークを大域ネットワークと接続する方法及び装置 |
US5546383A (en) * | 1993-09-30 | 1996-08-13 | Cooley; David M. | Modularly clustered radiotelephone system |
US7130291B1 (en) * | 1997-11-26 | 2006-10-31 | Lg Electronics, Inc. | Data control system in CDMA mobile communication system providing mobile data and voice service |
EP1044525A1 (en) | 1998-11-02 | 2000-10-18 | Koninklijke Philips Electronics N.V. | Communication system using a multiplex signal carrying an auxiliary signal |
FI108601B (fi) | 1999-01-05 | 2002-02-15 | Nokia Corp | QoS-kartoitustiedon välitys pakettiradioverkossa |
FI107674B (fi) | 1999-08-30 | 2001-09-14 | Nokia Mobile Phones Ltd | Menetelmä tiedonsiirron optimoimiseksi pakettikytkentäisessä langattomassa tiedonsiirtojärjestelmässä |
US7072933B1 (en) * | 2000-01-24 | 2006-07-04 | Microsoft Corporation | Network access control using network address translation |
JP2002271359A (ja) * | 2001-03-14 | 2002-09-20 | Nec Corp | ルータ装置及びその帯域制御方法並びにプログラム |
US8135815B2 (en) * | 2001-03-27 | 2012-03-13 | Redseal Systems, Inc. | Method and apparatus for network wide policy-based analysis of configurations of devices |
JP3695362B2 (ja) * | 2001-07-12 | 2005-09-14 | 日本電気株式会社 | 通信コネクション迂回システム |
US7277392B2 (en) | 2002-10-01 | 2007-10-02 | Motorola, Inc. | Method and apparatus for managing the usage of data link resources |
US7706785B2 (en) | 2003-01-22 | 2010-04-27 | International Business Machines Corporation | System and method for context-aware unified communications |
US6865184B2 (en) | 2003-03-10 | 2005-03-08 | Cisco Technology, Inc. | Arrangement for traversing an IPv4 network by IPv6 mobile nodes |
US7676599B2 (en) * | 2004-01-28 | 2010-03-09 | I2 Telecom Ip Holdings, Inc. | System and method of binding a client to a server |
US7296092B2 (en) | 2004-06-30 | 2007-11-13 | Nokia, Inc. | Apparatus for inter-domain communications including a virtual switch for routing data packets between virtual interfaces of the virtual switch |
ATE427601T1 (de) | 2004-07-01 | 2009-04-15 | Alcatel Lucent | Verfahren zur auswahl zwischen netzwerkschnittstellen, gerat mit mehreren netzwerkschnittstellen und verarbeitungsschicht |
EP1797645B1 (en) * | 2004-08-30 | 2018-08-01 | Google LLC | Systems and methods for providing nonvolatile memory management in wireless phones |
US7139239B2 (en) * | 2004-10-05 | 2006-11-21 | Siemens Building Technologies, Inc. | Self-healing control network for building automation systems |
US7254405B2 (en) | 2004-11-22 | 2007-08-07 | Motorola, Inc. | System and method for providing location information to applications |
US8984140B2 (en) * | 2004-12-14 | 2015-03-17 | Hewlett-Packard Development Company, L.P. | Managing connections through an aggregation of network resources providing offloaded connections between applications over a network |
US8265005B2 (en) * | 2006-03-06 | 2012-09-11 | Qualcomm Incorporated | Method and apparatus for communicating with a wireless network using a single address for multiple processors |
US7821985B2 (en) * | 2006-03-13 | 2010-10-26 | Microsoft Corporation | Network interface routing using computational context |
US20070245005A1 (en) * | 2006-04-18 | 2007-10-18 | Banerjee Dwip N | Method and data processing system for managing a plurality of interfaces |
-
2007
- 2007-07-19 US US11/780,467 patent/US8364850B2/en active Active
- 2007-07-20 EP EP07813190.1A patent/EP2074798B1/en active Active
- 2007-07-20 WO PCT/US2007/074041 patent/WO2008011607A2/en active Application Filing
- 2007-07-20 JP JP2009521027A patent/JP4995908B2/ja not_active Expired - Fee Related
- 2007-07-20 KR KR1020097003440A patent/KR101056148B1/ko not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021230589A1 (ko) * | 2020-05-11 | 2021-11-18 | 삼성전자 주식회사 | 전자 장치 및 전자 장치에서 수신된 데이터 패킷을 처리하는 방법 |
US12074960B2 (en) | 2020-05-11 | 2024-08-27 | Samsung Electronics Co., Ltd. | Electronic device and method for electronic device processing received data packet |
Also Published As
Publication number | Publication date |
---|---|
WO2008011607A2 (en) | 2008-01-24 |
JP2009545035A (ja) | 2009-12-17 |
KR101056148B1 (ko) | 2011-08-11 |
WO2008011607A3 (en) | 2008-03-20 |
US8364850B2 (en) | 2013-01-29 |
JP4995908B2 (ja) | 2012-08-08 |
US20080181220A1 (en) | 2008-07-31 |
EP2074798B1 (en) | 2018-05-16 |
EP2074798A2 (en) | 2009-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101056148B1 (ko) | Gps를 포함하는 유틸리티 엔진 및 애플리케이션 간에 네트워크 접속을 공유하기 위한 방법들, 장치들 및 컴퓨터-판독가능 저장 매체 | |
CN105164990B (zh) | 在网络节点中操作的网络节点功能的方法,客户端设备 | |
AU2008356135B2 (en) | Scalable WLAN gateway | |
US8825109B2 (en) | Policy-based data routing for a multi-mode device | |
EP2314124B1 (en) | Obtaining local connectivity settings for a device-to-device connection | |
US8068502B2 (en) | Method and apparatus for enabling persistent connections with wireless networks | |
JP4441404B2 (ja) | 移動局を介してサポート・ネットワークに周辺装置を接続するシステムと方法 | |
KR20080027333A (ko) | 이동 단말기들을 제어하는 소프트웨어 모듈들을 전송하기위한 네트워크 장비 | |
CA2653862C (en) | Policy-based data routing for a multi-mode device | |
CA2620617A1 (en) | System and method for utilizing ip-based wireless telecommunications client location data | |
EP3099111B1 (en) | Data processing method, device and system | |
KR20080024521A (ko) | 서비스 세션 중 무선 액세스 네트워크 인터페이스의 자동선택 기능을 갖는 멀티모드 이동 단말기 | |
WO2005112399A1 (en) | Mobile network, station, server and method for assigning to a mobile station a fixed and public ip adress | |
CN101491059B (zh) | 用于在包括gps的实用引擎与应用程序之间共享网络连接的方法和设备 | |
JP4801069B2 (ja) | 異種環境での透過的なサービス適合 | |
JP5399382B2 (ja) | 移動体ユーザ機器のための多次元アクセス | |
US8983530B2 (en) | Data session continuity between wireless networks | |
KR102003739B1 (ko) | 액세스 노드에 의한 애플리케이션 호스팅 방법 및 장치 | |
EP3930376A1 (en) | Multi-connectivity restriction for services demanding single-path or single access | |
KR100928352B1 (ko) | 듀얼 모드 이동국을 향한 접속의 유연한 핸들링을 지원하는 방법 및 장치 | |
KR20190089798A (ko) | 액세스 노드에 의한 애플리케이션 호스팅 방법 및 장치 | |
Sun et al. | Adaptive Connectivity Management for Hybrid Wireless and Mobile Networking Environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20140730 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160629 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20170629 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |