KR20050085022A - 정의된 커버리지 영역들을 갖는 정보 서비스들의 투명스위칭을 제공하는 동적 서비스 바인딩 - Google Patents

정의된 커버리지 영역들을 갖는 정보 서비스들의 투명스위칭을 제공하는 동적 서비스 바인딩 Download PDF

Info

Publication number
KR20050085022A
KR20050085022A KR1020057008857A KR20057008857A KR20050085022A KR 20050085022 A KR20050085022 A KR 20050085022A KR 1020057008857 A KR1020057008857 A KR 1020057008857A KR 20057008857 A KR20057008857 A KR 20057008857A KR 20050085022 A KR20050085022 A KR 20050085022A
Authority
KR
South Korea
Prior art keywords
information service
service
information
location
mobile device
Prior art date
Application number
KR1020057008857A
Other languages
English (en)
Other versions
KR100800361B1 (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 KR20050085022A publication Critical patent/KR20050085022A/ko
Application granted granted Critical
Publication of KR100800361B1 publication Critical patent/KR100800361B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/16Communication-related supplementary services, e.g. call-transfer or call-hold
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/24Reselection being triggered by specific parameters
    • H04W36/32Reselection being triggered by specific parameters by location or mobility data, e.g. speed data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Abstract

모바일 장치의 위치가 제1 정보 서비스의 커버리지 영역 내에 있는지 여부가 판정된다. 제1 정보 서비스를 위한 통신은 모바일 장치의 위치가 제1 정보 서비스의 커버리지 영역 내에 있지 않을 때 제2 정보 서비스에 재지정된다. 제2 정보 서비스는 일반적으로 모바일 장치의 위치를 포함하는 커버리지 영역을 갖는다. 새로운 정보 서비스의 속성들이 모바일 장치의 사용자, 애플리케이션, 또는 양자에 의해 설정되는 소정의 기준을 충족한다고 판정될 때, 모바일 장치 및 제1 정보 서비스간의 통신들은 또 다른 정보 서비스에 재지정된다. 본 발명의 또 다른 측면에서, 정보 서비스들의 대체는 "적극" 또는 "소극"일 수 있다. 모바일 장치 및 원래의 정보 서비스간의 통신들은 원래의 정보 서비스가 실패할 때 또 다른 정보 서비스에 재지정된다.

Description

정의된 커버리지 영역들을 갖는 정보 서비스들의 투명 스위칭을 제공하는 동적 서비스 바인딩{DYNAMIC SERVICE BINDING PROVIDING TRANSPARENT SWITCHING OF INFORMATION SERVICES HAVING DEFINED COVERAGE REGIONS}
본 발명은 통신 시스템에 관한 것으로, 보다 구체적으로는, 셀룰러 전화 시스템과 같이, 장치들이 지역간에 이동하는 통신 시스템에 관한 것이다.
장치의 이동성은 매우 바람직하게 되었다. 또한, 이제 다수의 장치들은 무선 시스템과 상호 동작하고, 결과적으로 다수의 장치들은 무선 네트워크 및 종래의 컴퓨터 시스템간의 라인을 흐리게 하고 있다. 예를 들면, 몇몇 PDA는 셀룰러 전화 네트워크와 같은 무선 네트워크에 접속하는 한편, 다수의 셀룰러 전화들은 이제 무선 네트워크를 통해 인터넷에 접속한다.
모바일 장치들의 이점은 장치들을 이용하여, 예를 들면 이동할 때 지역 교통, 날씨, 또는 전화 번호와 같은 지역 정보 서비스에 접속할 수 있다는 점이다. 셀룰러 전화를 이용하는 사람은 예를 들면 지역 피자 매장의 전화 번호를 판정하거나 주요 도로 상의 교통이 어떠한지를 알 수 있다.
장치의 이동성이 바람직한 반면, 이는 또한 문제들을 일으킬 수 있다. 예를 들면, 교통 레포트를 제공하는 정보 서비스는 단지 특정 사용자들에게만 유효하다. 그러므로, 셀룰러 전화가 지역 교통 정보를 제공하는 지역 인터넷 사이트에 접속하도록 설정되어 있는 개인은 원격지에 있을 때에는 이용하지 못할 것이다. 마찬가지로, 전화 번호 및 주소와 같은 디렉토리 서비스를 제공하는 정보 서비스들은 통상, 제공된 정보와 관련있는 일정한 지리적 영역만을 갖는다. 이러한 지리적 영역 밖에서, 정보는 일반적으로 무의미하다.
그러므로, 모바일 장치가 지역간을 이동할 때 모바일 장치가 서비스에 액세스하도록 하는 기술이 필요하다.
도 1은 본 발명의 일실시예에 따른 매체, 인터넷을 통한 정보 서비스, 캐리어 위치 기술, 및 무선 네트워크를 통한 무선 장치와 상호 동작하는 전형적인 애플리케이션 서버의 블록도이다.
도 2는 본 발명의 일실시예에 따른 인터넷, 무선 네트워크, 및 애플리케이션을 통한 모바일 장치와 상호 동작하는 시스템을 바인딩하는 전형적인 동적 서비스의 블록도이다.
도 3은 본 발명의 일실시예에 따른 서비스 속성을 나타내는 전형적인 테이블이다.
도 4는 본 발명의 일실시예에 따른 성능 요건의 예이다.
도 5 내지 7은 본 발명의 실시예에 따른 정보 서비스를 동적으로 바인딩하는 전형적인 방법들이다.
도 8은 본 발명의 일실시예에 따라 사용자 선호를 포함하는 서비스 속성 데이터베이스의 일부분을 나타내는 전형적인 테이블이다.
본 발명은 동적 서비스 바인딩을 위한 방법 및 장치를 제공하며, 정보 서비스의 투명 스위칭을 제공한다. 일반적으로, 정보 서비스는 커버리지 영역을 제공하여, 모바일 장치가 제1 위치에서의 한가지 정보 서비스와 상호 동작하지만 모바일 장치가 또 다른 위치에 있을 때 또 다른 정보 서비스와 상호 동작할 수 있도록 한다.
본 발명의 일측면에 있어서, 모바일 장치의 위치가 제1 정보 서비스의 커버리지 영역 내에 있는지 여부가 결정된다. 제1 정보 서비스에 대한 하나 이상의 통신은 모바일 장치의 위치가 제1 정보 서비스의 커버리지 영역 내에 있지 않을 때 제2 정보 서비스로 재지정된다. 전형적인 실시예에서, 제2 정보 서비스는 모바일 장치의 새로운 위치를 포함하는 커버리지 영역을 갖는다.
본 발명의 또 다른 측면에서, 모바일 장치 및 제1 정보 서비스간의 통신은 새로운 정보 서비스의 하나 이상의 속성들이 소정의 기준을 충족하도록 결정될 때 또 다른 정보 서비스로 재지정된다. 한가지 전형적인 실시예에서, 소정의 기준은 모바일 장치의 사용자, 애플리케이션, 또는 양쪽 모두에 의해 설정될 수 있다.
본 발명의 또 다른 측면에서, 정보 서비스의 대체는 "적극적(aggressive)" 또는 "소극적(non-aggressive)"일 수 있다. 예를 들면, 새로운 정보 서비스는 사용자에게 이용 가능하게 될 수 있고, 사용자의 선호를 더 적절히 충족시킬 것으로 판단되는 경우 원래의 정보 서비스가 여전히 유효한 경우라 하더라도 사용자에 의해 이용되고 있는 원래의 정보 서비스는 새로운 정보 서비스로 대체될 것이다. 본 명세서에서는 이를 정보 서비스의 적극적 대체로 부를 것이다. 소극적 대체에서, 원래의 정보 서비스는 사용자의 위치에 기초하여 여전히 유효한 경우 대체되지 않고 사용 상태로 남아 있을 것이다.
본 발명의 또 다른 측면에서, 모바일 장치 및 원래의 정보 서비스간의 통신은 원래의 정보 서비스가 실패할 때, 또 다른 정보 서비스로 재지정된다.
이하의 상세한 설명 및 도면을 참조하면 본 발명의 또 다른 특징 및 이점과 함께 본 발명을 더욱 완전히 이해할 수 있을 것이다.
개인 또는 객체의 위치를 이용하여 서비스를 형성하거나 서비스에 집중하도록 하는 애플리케이션이 있다. GPS와 같이 다수의 장치로의 위치를 정확하게 결정하는 기술 집약으로 인해 사용자들에게 그들의 위치를 묘사할 필요성을 공유함으로써 이러한 유형의 애플리케이션들을 더욱 편리하게 하였다. 이러한 기술은 또한 운전자에게 교통 정체를 사전 동작으로서 미리 경고하고 다른 길을 제시하는 운전 보조자와 같은 새로운 애플리케이션을 가능하게 한다. 이러한 종류의 애플리케이션은 특히 모바일 사용자들에게 유용할 것으로 기대된다.
그러나 이동성은 이러한 유형의 애플리케이션의 핵심 드라이버이므로, 일정한 도전을 나타낸다. 특히, 이동성은, 위치에서의 변화로 인하여 애플리케이션과의 통신에 있어서 특정 정보 서비스의 손실을 초래할 가능성을 일으킨다. 본래, 다수의 정보 서비스들은 본 명세서에서 "커버리지 영역(coverage region)"으로 불리는 일정한 지리적 영역과 관련된다. 예를 들면, 교통 정체 보고 정보 서비스는 일정한 도시 영역에 대해서만 정보를 제공할 수 있다. 그러므로, 하나의 위치에 대해 유효한 정보 서비스는 또 다른 위치에 대해서는 유효하지 않을 수 있다. 정보 서비스의 사용자가 이동함에 따라, 그 정보 서비스는 결국 무효화될 수 있다. 본 명세서에서, "사용자"라는 용어는 위치가 결정될 수 있는 모바일 장치를 포함함에 주목해야 한다.
또한, 위치 변화로 인하여 하나의 정보 서비스가 무효화될 때 동일한 종류의 또 다른 정보 서비스가 유효하게 될 수 있다. 특정 예로서, 사용자가 교통 정체의 통보를 제공하는 상술한 운전 보조 애플리케이션에 가입하고 있다고 가정한다. 사용자가 뉴욕에서 필라델피아로 이동할 때, 이용 가능한 상이한 교통 정체 보고 정보 서비스 - 뉴욕시에 대해 하나, 뉴저지 턴파이크에 대해 하나, 및 필라델피아 영역에 대해 또 다른 하나 - 가 있을 수 있다. 운전 보조 애플리케이션은 현재 위치에 대해 더 이상 유효하지 않은 보고 정보 서비스로부터 현재 위치에 대한 서비스를 제공하는 또 다른 서비스에 재지정하되, 사용자에 의해 이용되고 있는 애플리케이션 및 사용자에게 투명한 방식으로 하는 것이 바람직하다. 이는 본 명세서에서 "동적 서비스 바인딩(dynamic service binding)"으로 언급되며, 정보 서비스는 일정한 기술을 통해 특정 애플리케이션에 "바인딩"된다.
예를 들면, 운전 보조 예의 특정 경우에 있어서 동적 서비스 바인딩을 구현하는데 이롭게 이용될 수 있는 것을 고려한다. 우선, 동적 서비스 바인딩 시스템은 다양한 보고 정보 서비스들 및 이들의 개별 커버리지 영역을 추적해야 한다. 다음으로 동적 서비스 바인딩 시스템은 주기적으로 사용자 위치(예를 들면, 사용자에 의해 이용되는 모바일 장치의 위치)를 획득하여 현재 보고 서비스가 현재 위치에 대해 여전히 유효한지 여부를 결정하여야 한다. 그렇지 않은 경우, 동적 서비스 바인딩 시스템은 새로운 위치에 대해 유효한 적절한 정보 서비스를 선택하여 유효한 정보 서비스에 재지정하여야 한다. 이용되는 다양한 교통 보고 정보 서비스는 독립적인 제공자들로부터의 것이라고 가정되므로, 다양한 정보 서비스는 상이한 호출 메커니즘을 포함하는 상이한 프로그래밍 인터페이스를 가질 수 있고, 정보 서비스는 상이한 인증 및 허가 메커니즘을 이용할 것임을 가정한다는 것에 주목한다. 그러므로, 동적 서비스 바인딩이 이러한 이슈(issue)들을 관리하는 것은 이롭다.
개별 애플리케이션들이 동적 서비스 바인딩을 수행하는 것이 가능할 수 있다. 그러나, 요구되는 지원 레벨 및 동적 서비스 바인딩이 모바일 사용자들에 대해 광범위한 애플리케이션들에 걸쳐 유용하다는 사실을 고려할 때, 이러한 지원을 애플리케이션 외부에서 요소화하고 이를 애플리케이션 및 저레벨 서비스간의 매개자로서의 역할을 하는 동적 서비스 바인딩 시스템의 형태로 제공하는 것이 바람직하다. 도 1은 더 큰 애플리케이션 아키텍쳐 내의 동적 서비스 바인딩 시스템에 대한 전형적인 위치를 도시한다.
이제 도 1을 참조하면, 예를 들면 인터넷(150)을 통한 정보 서비스(160-1 내지 160-N)(총괄적으로 정보 서비스(160)), 캐리어 위치 기술(140), 및 무선 네트워크(120) 및 무선 게이트웨이(125)를 통한 무선 장치(110)와 상호 동작하는 전형적인 애플리케이션 서버(100)의 블록도가 도시된다. 애플리케이션 서버(100)는 메모리(130), 프로세서(180), 및 매체 인터페이스(175)를 포함한다. 애플리케이션 서버(100)는 매체 인터페이스(175)를 통해 매체(170)와 상호 동작한다. 메모리(185)는 애플리케이션(130) 및 동적 서비스 바인딩 시스템(135)을 포함한다.
애플리케이션 서버(100)는 일반적으로 인터넷(150)과 같은 인터넷 상에 상주한다. 또 다른 예로서, 인터넷에서, 애플리케이션 서버(100)는 인터넷 상의 서버일 수 있고 액세스 포인트 또는 몇몇 액세스 포인트들에 접속될 수 있다.
일반적으로 무선 장치(110)는 무선 네트워크(120) 및 무선 게이트웨이(125)를 통해 애플리케이션(130)에 액세스한다. 애플리케이션(130)은 하나 이상의 정보 서비스(160)에 액세스한다. 예를 들면, 무선 장치는 지역 레스토랑에 대한 전화 번호를 판정하기 위해 JAVA 애플릿인 애플리케이션(130)에 액세스하고 있는 인터넷 브라우저(도시되지 않음)를 실행할 수 있다.
상당수의 상이한 애플리케이션은 무선 장치(110)의 위치가 변할 때 정보 서비스(160)를 변화시키는 것에서 이익을 얻을 수 있기 때문에, 동적 서비스 바인딩 시스템(135)은 애플리케이션(130)에 인터페이스를 제공하고 애플리케이션(130)에 하나 이상의 정보 서비스(160)의 투명 바인딩을 제공한다.
통상적으로, 동적 서비스 바인딩 시스템(135)은 캐리어 위치 기술(140)을 통해 무선 장치(110)의 위치를 결정하며, 이는 일반적으로 무선 네트워크(120)에 의해 구현된다. 예를 들면, 몇몇 셀룰러 기술은 이제 무선 장치(110)로 형성된 GPS를 이용하며 무선 네트워크는 무선 장치(110)의 위치를 결정하기 위해 캐리어 위치 기술(140)을 포함할 것이다. 일정한 위치 기술(140)은 모바일 장치의 위치를 결정하는 임의의 기술을 포함하도록 의도된다. 이용되고 있는 기술에 관계없이, 동적 서비스 바인딩 시스템(135)은 무선 장치(110)의 위치를 이용하여 애플리케이션(130)에 바인딩할 정보 서비스(160)를 선택한다. 그러므로, 위치는 정보 서비스를 "확인(validate)"하기 위해 이용되는 기준이다. 위치가 정보 서비스(160)의 커버리지 영역 밖에서 지나가고 있을 때, 정보 서비스(160)는 무효인 것으로 가정된다. 정보 서비스(160)를 유효화하기 위해 이용되는 다른 기준은 이하에서 더 상세히 설명된다.
실례로, 동적 서비스 바인딩 시스템(135)은 보통 애플리케이션(130)에 애플리케이션(130)과 상호 동작하는데 적합한 인터페이스를 제공한다. 예를 들면, 애플리케이션(130)이 정보 서비스(160)가 맵핑 정보 서비스라고 기대하는 경우, 동적 서비스 바인딩 시스템(135)은 맵핑 정보 서비스 인터페이스를 제공한다. 이는 이하에서 더 상세히 설명된다.
일실시예에서, 이하에서 추가적으로 상세히 설명될 동적 서비스 바인딩 시스템(135)은 정보 서비스(160)에 대한 참조(reference)를 변화시킴으로써 애플리케이션(130) 및 정보 서비스(160)간의 바인딩을 변화시킨다. 그러나, 애플리케이션(130) 및 정보 서비스(160)간의 통신을 지정 또는 재지정하는데 이용되는 임의의 기술을 이용하여 애플리케이션(130) 및 정보 서비스(160)를 바인딩할 수 있다.
이하에서 더 상세히 설명되는 바와 같이, 애플리케이션(130)은 일반적으로, 성능 요건의 형태로 표현되는 특정 기준을 충족하는 일정한 정보 서비스(160)를 요청한다. 일반적으로, 정보 서비스(160)는 애플리케이션(130)에 의해 액세스되고 무선 장치(110)의 사용자에 의해서는 액세스되지 않는 프로그램 인터페이스(도시되지 않음)를 구비할 것이다. 동적 서비스 바인딩 시스템(135)은 무선 장치(110)의 위치를 결정하고 적절한 정보 서비스(160)가 발견되는 경우 적절한 정보 서비스(160)에 대한 접속을 초기화한다. 정보 서비스(160)는 바람직하게는 후술할 참조(reference)를 통해 애플리케이션(130)에 바인딩된다. 무선 장치(110)가 이동할 때, 정보 서비스(160)의 커버리지 영역을 떠날 수 있다. 다른 대안으로, 무선 장치(110)는 "더 좋은" 정보 서비스(160)의 커버리지 영역에 진입할 수 있다. "더 좋은" 정보 서비스(160)는 일정한 기준을 통해 결정된다. 또한, 원래의 정보 서비스(160)는 실패할 수 있다. 또 다른 예로서, 모바일 장치가 위치를 변화시키지 않을지라도 새로운 정보 서비스(160)가 이용 가능하게 될 수도 있다. 새로운 정보 서비스는 현재 정보 서비스(160)보다 더 좋을 수 있으며, 이는 사용자가 애플리케이션 서버(100)의 운용자에게 제공하는 일정한 기준을 통해 판정된다. 이러한 조건들은 원래의 정보 서비스(160)가 무효화되도록 하고, 동적 서비스 바인딩 시스템(135)은 정보 서비스(160)의 무효성을 판정하며 새로운 정보 서비스(160)에 애플리케이션(130)을 바인딩할 것이다. 원래의 정보 서비스(160)를 위한 통신은 새로운 정보 서비스(160)로 재지정될 것이다. 이러한 재지정은 전적으로 애플리케이션(130)에 투명해야 한다.
애플리케이션(130)은 또한 무선 장치(110)의 부분일 수 있음에 주목해야 한다.
무선 네트워크 및 무선 장치가 본 명세서를 통해 예로서 이용되고 있지만, 본 발명은 무선 네트워크 및 네트워크 장치에 한정되지 않는다. 예를 들면, 전화선에 접속되는 랩탑 컴퓨터를 가진 개인은, 보통 이용되는 디렉토리 정보 서비스와 먼 위치에 있을 때 디렉토리 정보 서비스에 접속하기를 원할 수도 있다. 애플리케이션(130)은 예를 들면 다이얼링 속성을 통해 랩탑의 위치를 결정할 수 있다. 동적 서비스 바인딩 시스템(135)은 다이얼링 속성들을 이용하여 무선 장치(110)를 위한 디렉토리 정보 서비스를 적절히 선택할 수 있다.
이하는 동적 서비스 바인딩 시스템(135)이 제공할 수 있는 함수들의 예이다.
애플리케이션(130)에 의해 이용되고 있는 임의의 정보 서비스(160)에 대해, 동적 바인딩 시스템(135)은 정보 서비스(160)의 유효성을 모니터링하고(예를 들면, 모바일 장치의 위치가 정보 서비스(160)에 대한 커버리지 영역 내에 남아 있는지 여부) 현재의 정보 서비스(160)가 무효 상태에 있을 때 또 다른 정보 서비스(160)를 찾을 수 있어야 한다. 애플리케이션(130)이 요구하는 성능들을 갖는 정보 서비스(160)가 발견되는 경우, 동적 서비스 바인딩 시스템(135)은 바인딩을 동적으로 변화시켜 제공자들에 있어서의 변화가 애플리케이션(130)에 투명하도록 할 수 있어야 한다. 이는 정보 서비스(160)가 이용되기 이전에 초기 단계들이 필요한 어떠한 것이라도 수행하는 것을 포함한다(예를 들면, 인증).
또한, 동적 서비스 바인딩 시스템(135)은 사용자의 선호(preference)를 충족하는 정보 서비스(160)가 새로운 위치에 대해 이용 가능하게 될 때 바인딩을 변화시킬 수 있어야 한다. 이러한 예에서, 새로운 정보 서비스(160)는 사용자 선호와 같은 소정의 기준을 통해 원래의 정보 서비스(160)를 능가한다.
또한, 동적 서비스 바인딩은 정보 서비스 실패의 경우에 제공되어야 한다. 이는 본 명세서에서 "장애극복(failover)"으로 불린다. 정보 서비스 실패의 경우, 동적 서비스 바인딩 시스템(135)은, 호환성 있는 정보 서비스(160)가 존재한다고 가정할 경우 호환성 있는 정보 서비스(160)를 갖는 또 다른 정보 서비스(160)를 선택하고 애플리케이션(130)을 호환성 있는 정보 서비스(160)에 바인딩해야 한다.
동적 바인딩은 또한 서비스 환경에서의 - 일반적인 외부 서비스 환경으로부터, 특수화된 내부 환경으로의 전이가 있을 때와 같은 - 전면적인 변화를 수용하여야 한다. 이러한 경우, 동적 서비스 바인딩 시스템(135)은 몇몇 위치 서비스에 대해 정보 서비스(160)를 재지정할 필요가 있으며 캐리어 위치 기술(140)(또는 도 2를 참조하여 설명된 이에 대한 인터페이스)을 재지정할 필요가 있을 수 있다.
기술분야에서 공지된 바와 같이, 본 명세서에서 논의되는 방법 및 장치는 다수의 매체(170) 중 하나와 같이 머신에 의해 판독 가능한 매체를 그 자체로 포함하는 제조품으로 분류될 수 있으며, 실행될 때 본 발명의 실시예들을 구현하는 하나 이상의 프로그램을 포함한다. 예를 들면, 머신에 의해 판독 가능한 매체는 애플리케이션(130)을 하나 이상의 정보 서비스(160)에 동적으로 바인딩하도록 구성되는 프로그램을 포함할 수 있다. 머신에 의해 판독 가능한 매체는 기록 가능한 매체(예를 들면, 하드 드라이브 또는 광 디스크) 또는 전송 매체(예를 들면, 광섬유를 포함하는 네트워크, 인터넷(150), 시분할 다중 접속, 코드 분할 다중 접속, 또는 무선 네트워크(120) 상에서 이용되는 것과 같은 다른 무선 주파수 채널을 이용하는 무선 네트워크(120))일 수 있다. 컴퓨터 시스템과 함께 이용하는데 적합한 정보를 저장할 수 있는 공지 또는 개발된 임의의 매체가 이용될 수 있다.
프로세서(180)는 본 명세서에서 개시된 방법, 단계, 및 기능들을 구현하도록 구성될 수 있다. 메모리(185)는 분산(distributed) 또는 로컬(local)일 수 있으며 프로세서(180)는 분산 또는 단독(singular)일 수 있다. 메모리(185)는 전기, 자기 또는 광 메모리, 또는 이들 또는 다른 유형의 스토리지 장치들의 임의의 조합으로 구현될 수 있다. 또한, "메모리"라는 용어는 프로세서(180)에 의해 어드레스되는 어드레스 가능한 공간의 어드레스에 기록하거나 이로부터 판독할 수 있는 임의의 정보를 포함하기에 충분히 괌범위하게 해석되어야 한다. 이러한 정의와 함께, 프로세서(180)는 네트워크로부터 정보를 검색할 수 있기 때문에 네트워크 상의 정보는 여전히 메모리(185) 내에 있다. 프로세서(180)를 구성하는 각 분산 프로세서는 일반적으로 그 자신의 어드레스 가능한 메모리 공간을 포함하고 있음에 주목하여야 한다. 동적 서비스 바인딩 시스템(135)의 일부 또는 모두는 애플리케이션에 특정하거나 범용 집적 회로로 통합될 수 있다.
이제 도 2를 참조하면, 블록도는 전형적인 동적 서비스 바인딩 시스템(135)을 더 상세히 도시한다. 전형적인 동적 서비스 바인딩 시스템(135)은 애플리케이션(130)을 통한 모바일 장치(290), 무선 네트워크(250), 및 인터넷(150)을 통한 정보 서비스(160-1)와 상호 동작한다. 단순화를 위해 단지 하나의 정보 서비스(160)를 도시한다.
이 예에서, 동적 서비스 바인딩 시스템(135)은 서비스 프록시(210), 서비스 어댑터(220), 네트워크 인터페이스(221), 캐리어 위치 어댑터(225), 문맥 제공자(245), 위치 서비스 팩토리(230), 및 서비스 속성 데이터베이스(240)를 포함한다. 서비스 프록시(210)는 참조(reference; 215)를 포함한다. 위치 서비스 팩토리(230)는 문맥 인터페이스(235) 및 문맥(237)을 포함한다. 문맥(237)은 모바일 장치의 위치(238)를 포함한다.
상술한 애플리케이션(130)은 정보 서비스를 이용하는 애플리케이션이다. 전형적인 예는 사용자가 특정 위치의 지도, 하나의 장소에서 다른 장소로의 운전 명령, 및 가게의 위치 및 다른 관심있는 지점을 요청할 수 있도록 하는 개인 네비게이션 애플리케이션이다.
서비스 프록시(210)는 서비스 어댑터(220)에 대한 참조(215)를 갖는 모듈이며, 바람직하게는 서비스 어댑터(220)와 동일한 인터페이스를 갖는다. 참조(215)의 값은, 예를 들면 원래의 서비스 어댑터(220)가 실패하거나 모바일 장치가 위치를 변경하는 경우 상이한 서비스 어댑터(220)를 참조하기 위해 변경될 수 있다. 서비스 어댑터(220)는 인터넷에 의해 호스트되는 정보 서비스(160-1)에 대한 로컬 프록시이다. 서비스 어댑터(220)는 인터넷에 의해 호스트되는 정보 서비스(160-1)의 저 레벨 프로토콜을 관리하고 인증과 같은 초기화-시간 함수를 관리한다. 서비스 어댑터(220)는 정보 서비스(160-1)와 같은 하나의 정보 서비스(160)로 링크된다. 그러므로, 일단 참조(215)가 특정 서비스 어댑터(220)에 대해 설정되는 경우, 애플리케이션(130)은 정보 서비스(160-1)와 같은 특정 정보 서비스(160)에 바인딩된다. 하나의 서비스 어댑터(220)가 하나 이상의 정보 서비스(160)에 링크하는 것이 가능할 수 있다. 이러한 상황에서, 서비스 어댑터(220)가 어떠한 정보 서비스(160)를 참조하는지에 대한 자신의 참조(도시되지 않음)를 구비하도록 적응될 것이다.
단일 애플리케이션(130)은 다중 정보 서비스(160)에 액세스하기 위해 다중 서비스 어댑터(220)에 액세스할 수 있음에 주목한다. 예를 들면, 애플리케이션 제공자는 지도를 위한 하나의 정보 서비스 제공자와 디렉토리 정보를 위한 또 다른 정보 서비스 제공자와 관계를 맺을 수 있다. 또는, 애플리케이션 제공자는 사용자가 자신의 정보 서비스 제공자를 선택하도록 할 수 있다. 이러한 예에서, 참조(215)는 다중 참조를 가질 수 있으며, 각 참조는 애플리케이션을 특정 서비스 어댑터(220)에 바인딩한다. 다른 대안으로, 상술한 바와 같이 서비스 어댑터(220)는 다중 정보 서비스(160)에 액세스하도록 이루어질 수 있다.
정보 서비스(160-1)와 같은 정보 서비스(160)는, 통상적으로 HTTP 프로토콜을 이용하여 인터넷 상에서 네트워크 인터페이스(221)를 통해 제공되는 서비스이다. 서비스의 예들은 전화 번호 및 거주 및 업무 위치를 제공하는 디렉토리 서비스와 각 주간 도로 지도, 주간 도로, 및 아마도 관심있는 지점들을 제공하는 맵핑 서비스이다. 정보 서비스(160)는 - 통상적인 경우라 할지라도 - 인터넷 기반 서비스일 필요는 없다. 예를 들면, 정보 서비스(160-1)는 비동기 전송 모드 네트워크, 인트라넷, "평범한 구식 전화 시스템"(POTS) 네트워크, 또는 예를 들면 정보 서비스를 통해 텍스트 정보를 제공하는 셀룰러 전화 네트워크 상에 상주할 수 있다. 정보 서비스(160)는 사용자가 애플리케이션을 통해 사용자에 의해 요청된 정보를 철회할 수 있는 임의의 서비스일 수 있다.
캐리어 위치 어댑터(225)는 모바일 장치(290)의 위치를 결정하는 특정 캐리어 위치 기술(140)을 위한 어댑터이다. 캐리어 위치 어댑터(225)는 통상적으로 무선 캐리어 제어 무선 네트워크(250)와 같은 무선 캐리어에 의해 제공되는 위치 결정 서비스를 이용할 것이다. 캐리어 위치 어댑터(225)는 타이밍 기능을 가지고 있어, 캐리어 위치 어댑터(225)는 주기적으로 캐리어 위치 기술(140)을 통해 모바일 장치(290)의 위치를 확인할 수 있다. 다른 대안으로, 위치 서비스 팩토리(230)는 주기적으로 캐리어 위치 어댑터(225)에 질의하여 모바일 장치(290)의 위치를 결정할 수 있다. 또한, 몇몇 셀룰러 시스템은 사용자가 셀에서 셀로 이동할 때 셀룰러 전화 사용자들을 "핸드오프"할 것이다. 이러한 핸드오프 프로세스는, 위치 서비스 팩토리(230)에 셀룰러 전화 사용자의 업데이트된 위치를 제공하는 캐리어 위치 어댑터(225)를 통해 또는 이러한 어댑터에 메시지를 트리거링할 수 있다.
위치 서비스 팩토리(230)는 다른 것들 중에서 서비스 어댑터(220) 생성 및 리바인딩(rebinding)의 기능들을 수행하는 모듈이다. 이는 이하에서 상세히 설명된다.
서비스 속성 데이터베이스(240)는 서비스 속성들 - 그 예들은 정보 서비스(160)에 대한 커버리지 영역을 포함함 - 을 포함하는 데이터베이스이며, 지도를 반환하는 서비스의 경우 서비스가 제공할 수 있는 이미지 포맷이다. 서비스 속성 데이터베이스(240)는 도 3을 참조하여 추가적으로 설명된다. 문맥 제공자(245)는 문맥(237)으로 표기되는 사용자 문맥 정보 전달 모듈이다. 문맥(237)은 위치 서비스 팩토리(230)에 의해 사용자 위치(238)로 변환된다. 문맥(237)은 예를 들면, GPS 좌표의 상태로 있을 수 있으며, 사용자 위치는 GPS 좌표 상태로 유지되거나 "코네티컷"과 같은 더 단순한 위치에 변환될 수 있다. 문맥 제공자(245)는 예를 들면 사용자가 진입한 사용자에 대한 위치를 포함하는 모듈일 수 있다. 셀룰러 전화 시스템에 대해, 사용자는 단지 사용자에 의해 이용되는 모바일 전화가 어떠한 셀에 있는지를 인지함으로써 위치하게 될 수 있다. 이후 문맥 제공자(245)는 문맥 인터페이스에게 적어도 셀이 어디에 있는지 또는 셀에 의해 포함되는 영역을 통지할 수 있다. 추가적으로 문맥 제공자(245)는 또한 또 다른 정보 서비스가 서비스 속성 데이터베이스(240)에 등록되어 있는 시기를 결정할 수 있으며, 또 다른 장치의 등록은 정보 서비스의 유효성을 결정하는데 이용되는 기준일 수 있다.
문맥 인터페이스(235)는 문맥 정보가 전달되는 인터페이스이다. 문맥 인터페이스(235)는 문맥 정보를 판독하도록 적응되고, 요구될 때, 문맥 정보를 모바일 장치의 위치로 변환한다. 문맥 정보는 일반적으로 모바일 장치에 관한 위치 정보를 포함한다. 그러나, 문맥 정보는 또한 정보 서비스의 상태에 관한 메시지를 포함할 수 있다. 예를 들면, 이하에서 상세히 설명되는 바와 같이, 문맥 정보는 정보 서비스의 실패를 표시하는 메시지일 수 있다.
다양한 모바일 장치(290)에 대응하는 다중 캐리어 위치 어댑터(225)가 있을 수 있음은 물론이다. 예를 들면, 모바일 장치(290)는 GPS 위치 서비스를 가지는 셀룰러 서비스를 이용할 수 있는 반면, 또 다른 모바일 장치(290)는 GPS 위치 서비스를 갖지 못할 수 있다. 이러한 두가지 모바일 장치는 이후 두개의 상이한 캐리어 위치 어댑터(225)를 가질 것이다.
동적 서비스 바인딩 시스템(135)을 구성하는 상이한 엔티티들은 단지 예시적인 것임에 주목한다. 엔티티들은 더 세분화되어 결합되거나, 삭제될 수 있다. 예를 들면, 위치 서비스 팩토리(230) 및 서비스 프록시(210)가 결합될 수 있다. 또 다른 예로서, 위치 서비스 팩토리(230)는, 정보 서비스(160)의 유효성에 기초하여 애플리케이션(130) 및 정보 서비스(160)간의 통신을 재지정할 시기를 결정하고 서비스 어댑터(220)를 인스턴스화(instantiate)하며 참조(215)를 변경하는 부분과 문맥을 핸들링하는 부분으로 나누어질 수 있다. 추가적으로 동적 서비스 바인딩 시스템(135)은 별개일 수 있는 네트워크 인터페이스(221)를 포함하지 않을 수 있다. 캐리어 위치 어댑터(225) 및 문맥 제공자(245)는 또한 동적 서비스 바인딩 시스템(135)과 별개일 수 있다. 본 명세서에서 주어진 예에서, 엔티티들의 다수는 소프트웨어를 통해 구현될 수 있다. 그러나 하나 이상의 엔티티들의 부분들은 예를 들면 집적 회로를 통해서 하드웨어로 구현될 수 있다.
이제 도 3으로 돌아오면, 서비스 속성 데이터베이스(240)의 예가 도시된다. 이러한 예에서, 서비스 속성 데이터베이스(240)는 테이블로 구현되며, 이는 다수의 서비스 속성들을 갖는다. 두가지의 맵핑 서비스와 두가지의 디렉토리 서비스가 있으며, 이들 각각은 정의된 커버리지 영역을 갖는다. "미국 노스이스턴", "뉴욕", 및 "뉴욕 웨스트체스터 컨트리"의 단순한 용어는 원한다면, 커버리지 영역의 한계를 정하는 다수의 좌표들로 변환될 수 있다. 이러한 커버리지 영역들은 완전히 임의적일 수 있음은 물론이다. 특히, 커버리지 영역들은 반드시 무선 통신 서비스들의 셀들에 대응하지는 않는다. "성능 명칭(capability names)"은 서비스에 의해 제공되는 성능이며, "포맷(format)"은 서비스에 의해 지원되는 것이다. "비용(cost)"은 서비스가 제공하는 정보에 액세스하기 위해 각 서비스에 드는 비용의 예이다. "특성(specialty)"은 서비스에 의해 제공되는 정보에 관한 추가적인 텍스트를 준다.
일반적으로 모바일 서비스 제공자(예를 들면, 셀룰러 전화 캐리어)에는 서비스 속성 데이터 베이스(240)가 위치해 있다. 그러나 이하에서 설명될 바와 같이, 사용자 선호가 서비스 속성 데이터베이스(240)에 부가될 수 있다. 이는 서비스 속성 데이터베이스(240)에 대한 사용자 액세스를 주거나 모바일 서비스 제공자가 사용자에게 자신의 선호를 질문하도록 하고 서비스 속성 데이터베이스(240)에 사용자에 대한 선호를 부가하는 것을 수반한다.
이하에서 더 상세히 설명되는 바와 같이, 비용 및 특성 속성들(및 사용자의 선호를 통해 부가되는 임의의 속성들)을 이용하여 정보 서비스를 유효하게 할 수 있다. 예를 들면, 사용자는 단지 무료 서비스에 대한 선호를 표시할 수 있다. 그러므로, 사용자가 뉴욕, 웨스트체스터 컨트리에 있는 경우, 위치 서비스 팩토리(230)는 무료 디렉토리 서비스를 선택할 수 있다. 다른 대안으로, 이하에서 설명될 "적극적" 방식 하에서, 위치 서비스 팩토리(230)는 각각(per) 액세스 요금을 가지는 디렉토리 서비스를 선택할 것이며, 이러한 디렉토리 서비스는 사용자가 있는 특정 영역에 관한 더 많은 정보를 가지고 있기 때문이다. 사용자 선호는 이하의 도 8을 참조하여 더 구체적으로 설명된다.
애플리케이션(130)은 일반적으로 일정 기준을 충족시키는 정보 서비스(160)를 위치 서비스 팩토리(230)로부터 요청한다. 요청에서, 애플리케이션(130)은 요건 및 선호를 특정하는 하나 이상의 "성능(capability)" 집합을 포함한다. 도 4에 도시된 성능 집합은 값들의 집합 및 명칭을 포함한다. 성능 요건은 명칭 및 단일 값이다. 도 4의 예에서는, 2개의 성능 집합 <"image-formats", "JPEG GIF"> 및 <"image-formats", "TIF">이 있으나, 3개의 성능 요건 <"image-formats", "JPEG">, <"image-formats", "GIF"> 및 <"image-formats", "TIF">이 있다. 정보 서비스(160)의, 서비스 속성 데이터베이스(240)에 저장되는 등록된 성능들은, 각 성능 요건에 대해, 정보 서비스(160)에 대한 등록된 성능들이, 요구된 성능의 값을 포함하는 동일 명칭의 성능을 가지는 경우, 요구되는 성능들의 집합을 "충족한다(satisfy)". 예를 들면, <"image-formats", "GIF JPEG">는 <"image-formats", "GIF">를 충족시킨다. 도 3의 예에서, <"text-formats", "TXT">의 성능 요건은 양쪽 디렉토리 서비스에 의해서는 충족되지만 맵핑 서비스에 의해서는 충족되지 않는다. <"image-formats", "GIF">, <"text-formats", "TXT">의 성능 집합들은 단지 뉴욕, 웨스트체스터 컨트리에 대한 디렉토리 서비스에 의해서만 충족된다.
일반적으로 애플리케이션(130)이 성능 요건들을 충족하는 정보 서비스(160)를 요청할 때, 성능 집합들은 선호 순으로 있는 것으로 가정되며, 가장 높은 성능 집합들이 먼저 리스트된다. 예를 들면, 도 4에서, <"image-formats", "JPEG GIF">의 성능 집합은 <"image-formats", "TIF">의 성능 집합에 비해 선호되는 것으로 가정된다. 성능 집합들의 이러한 선호를 이용하여 원하는 경우 후보 정보 서비스들(160)을 정렬시킬 수 있다.
이제 도 5로 돌아오면, 본 발명의 일실시예에 따라 정보 서비스들을 동적으로 바인딩하는 예시적인 방법(500)이 도시된다. 방법(500)은 동적 서비스 바인딩 시스템(135)에 의해 수행되어 애플리케이션(130)에 정보 서비스(160)를 바인딩하고 일정 기준이 충족될 때 정보 서비스(160)를 리바인딩할 수 있다.
방법(500)은 애플리케이션(130)이 특정 기준을 충족하는 정보 서비스(160)를 요청할 때 단계(510)에서 시작한다. 상술한 바와 같이, 애플리케이션(130)에 의한 요청은 애플리케이션(130)의 선호 및 요건을 특정하는 하나 이상의 성능 집합을 포함한다. 제1 성능 집합은 일반적으로 가장 선호되는 것으로 취급된다. 단계(515)에서, 성능 집합들은, 일반적으로 선호 순으로, 정보 서비스들에 대한 성능들과 비교된다. 정보 서비스들(160)의 성능들은 도 3에 도시된 바와 같이 서비스 속성 데이터베이스(240)에서 속성들로 저장된다. 서비스 속성 데이터베이스(240)에 저장된 속성들은, 서비스 속성 데이터베이스(240)를 가지는 애플리케이션 서버(100)와 함께 등록되는 모든 정보 서비스들의 성능들을 포함한다. 정보 서비스(160)가 발견되지 않는 경우(단계 520 = NO), 실패가 보고된다. 이는 단계(525)에서 발생한다. 성능 요건들 중 하나를 수행하는 하나 이상의 정보 서비스들(160)이 발견되는 경우(단계 520 = NO), 서비스 어댑터(220)는 발견된 정보 서비스들의 목록에서 제1 정보 서비스에 대해 인스턴스화되고 그 자체를 초기화하기 위해 시그널링된다(단계 530). 일반적으로 리스트는 애플리케이션, 사용자 선호, 또는 양자 모두에 의해 주어지는 선호와 같은 일정한 기준을 통해 저장되는 후보 목록이다. 서비스 어댑터(220)는 이 시점에서, 정보 서비스(160)를 테스트하기 위해 또는 인증하기 위해 정보 서비스(160)와 통신할 수 있다. 서비스 프록시(210)는 이후 서비스 어댑터(220)에 대해 인스턴스화되고 서비스 프록시(210)에 대한 참조는 애플리케이션(130)에 반환된다. 이는 또한 단계(530)에서 발생한다.
애플리케이션(130)은 서비스 프록시(210)에 위치한 참조를 통해 정보 서비스(160)에 바인딩된다. 이는 단계(535)에서 발생한다. 서비스 프록시(210)의 참조는 애플리케이션(130)으로부터의 통신이 서비스 어댑터(220) 따라서 특정 정보 서비스(160)로 향하도록 한다.
몇몇 시점에서, 애플리케이션(130)은 서비스 프록시(210) 상에서 서비스 호출하며, 이는 서비스 어댑터(220)에 서비스 호출을 전달한다. 서비스 어댑터(220)는 정보 서비스에 의해 이용되는 프로토콜에 그 호출을 적응시키는 기능을 수행한다. 인터넷 서비스의 경우, 이는 정보 서비스에 대한 네트워크 접속을 개방하고, 호출 인자의 객체들을 직렬화하며, 네트워크 스트림에 이들을 기록하는 것을 포함할 것이다. 스트림에서 반환되는 데이터는 서비스 프록시(210)를 통해 애플리케이션(130)에 반환될 객체들로 역직렬화되어야 한다.
일단 정보 서비스가 애플리케이션(130)에 바인딩된 경우, 정보 서비스(160)가 여전히 유효한지 여부에 대한 판정이 있다. 이는 단계(540)에서 발생한다. 이러한 판정은 보통 주기적이지만 그럴 필요는 없다. 예를 들면, 판정은 모바일 장치가 또 다른 셀로 넘겨진 셀룰러 전화 시스템으로부터의 메시지에 의해 구동될 수 있다. 이러한 메시지들은 상대적으로 랜덤하게 발생할 수 있다. 도 5의 예에서, 서비스의 유효성을 판정하기 위해 이용되는 기준은 위치이다. 모바일 장치의 위치가 애플리케이션(130)에 현재 바인딩된 정보 서비스(160)를 위한 커버리지 영역의 밖에 있다고 판정될 때, 방법은 단계(515)에서 계속한다. 결과적으로, 새로운 정보 서비스가 발견되는 경우(단계 520), 새로운 정보 서비스가 선택되고, 시작되며(단계 530), 애플리케이션(130)에 바인딩된다(단계 535). 설명된 이러한 예는 모바일 장치의 위치가 판정되는 단순한 예이고, 그 방법은 위치가 현재 정보 서비스의 커버리지 영역 내에 있는지 여부를 판정한다.
정보 서비스가 유효한지 여부를 판정하는 더 복잡한 과정을 갖는 것도 가능하다. 예를 들면, 서비스 커버리지 영역 내 및 밖에서 이동하는 사용자에 기초하여 서비스들을 대체하는 더 복잡한 방법(600)이 도 6에 도시된다. 단계(510 내지 535)는 도 5의 방법(500)에서와 동일하다.
단계(605)에서, 애플리케이션(130)은 애플리케이션(130)이 바인딩되어 있는 정보 서비스가 주기적으로 정보 서비스의 유효성이 판정되도록 할 것을 요구한다는 것을 위치 서비스 팩토리(230)에 알린다. 애플리케이션(130)은 예시용 메시지에서, 애플리케이션(130)을 이용하는 모바일 장치에 대응하는 캐리어 위치 어댑터(225)에 대한 참조, 및 정보 서비스 대체를 평가하는 빈도를 특정하는 시간 간격을 포함한다. 시간 간격을 이용하여 단계(610)를 수행할 시기를 판정할 수 있다. 단계(610)에 대한 응답으로서, 위치 서비스 팩토리(230)는 위치 서비스 팩토리(230)가 모바일 장치의 위치의 주기적인 통지를 수신할 프로세스를 시작한다. 이는 캐리어 위치 기술 또는 그 자신의 캐리어 위치 어댑터에 의해 제공되는 주기적인 통지 기능, 또는 위치 서비스 팩토리(230) 그 자체에 의해 제공되는 기능을 이용하는 것을 통해서 일 수 있다. 통지들은 위치 서비스 팩토리(230)의 문맥 인터페이스(225)를 통해 전달된다.
단계(610)에서 (예를 들면, 통지 또는 그 자신의 주기적인 요청들을 통해) 모바일 서비스의 위치를 각각 업데이트할 때, 위치 서비스 팩토리(230)는 이용 중에 있는 현재 정보 서비스가 모바일 장치의 위치에 대해 유효한지 여부, 또는 애플리케이션(130)에 의해 요청되는 성능 요건들을 더 잘 충족하는 정보 서비스(160)가 있는지 여부를 평가한다. 대체는 적극 또는 소극일 수 있다. 임의의 후보들이 있는 경우, 후보 정보 서비스들의 리스트는 단계(620)에서 판정되며, 이는 애플리케이션(130)에 의해 주어진 성능 요건들을 서비스 속성 데이터베이스(240)에 저장된, 정보 서비스들을 위한 성능들과 비교하여 이루어진다. 성능 요건들이 애플리케이션(130)에 의해 주어지는 순서는 일실시예에서, 애플리케이션(130)에 의한 선호 순이라고 가정된다. 추가적으로 애플리케이션 서버 소유자에 의한 사용자 선호 또는 선호 세트를 이용하여 순서를 설정할 수 있다. 적극 대체에 대해, 종래의 정보 서비스(160)는 리스트의 제1 서비스가 아닌 경우 대체된다. 소극 대체에 대해, 종래의 서비스는 후보들 리스트에 있지 않은 경우에만 대체된다(단계 630). 모든 후보 정보 서비스(160) 평가는 모바일 장치에 대한 현재 위치가 정보 서비스(160)의 커버리지 영역에 있는지 여부를 판정하는 것을 포함한다.
사용자 선호 및 성능 요건들은 후보 리스트를 정렬하는데 이용될 수 있는 기준임은 물론이다. 또한, 그 기준에 따라 후보 리스트의 각 정보 서비스(160)에 대한 값을 판정하는 것도 가능하다. 정보 서비스들을 정렬하는 경우, 값들이 주어질 수 있는 정렬 순서는 어떠한 정보 서비스(160)가 선택되어야 하는지를 판정한다. 후보 리스트는 정렬되지 않고 대신 그 기준에 의해 정의된 각 정보 서비스(160)에 할당된 값들을 갖는 것도 가능하다.
정보 서비스(160)의 유효성을 판정하는데 이용되는 또 다른 기준은 정보 서비스 실패이다. 이는 도 7에 도시되며, 여기에서 방법(700)은 정보 서비스 실패를 이용하여 정보 서비스(160)의 유효성을 판정할 수 있다. 단계(510 내지 540)는 도 5에서와 동일하다. 서비스 어댑터(220)는, 예를 들면 정보 서비스(160)가 응답하지 않거나 이용 가능하지 않을 때, 관련된 정보 서비스(160)가 실패하였다고 판정할 수 있다. 정보 서비스(160)가 단계(540)에서 무효라고 판정될 때(단계 540 = YES), 서비스 어댑터(220)는, 예를 들면 서비스 프록시(210)에 서비스 실패 이의(exception)를 송신함으로써 서비스 프록시(210)에 정보 서비스(160)의 무효성을 신호한다. 현재 서비스 어댑터(220) 및 바인딩은 단계(710)에서 제거된다. 현재 서비스 어댑터(220)는 메모리로부터 언로딩(unload)되고 그 바인딩은 서비스 프록시(210)로부터 적응되는 서비스에 대한 참조를 제거함으로써 제거된다.
서비스 프록시(210)는 이후 예를 들면, 문맥 인터페이스를 통해 위치 서비스 팩토리(230)에 대체 서비스 메시지를 전송함으로써 서비스 대체를 개시할 수 있다. 이는 단계(515)에서 그 방법을 계속할 것이다. 단계(515)에서, 위치 서비스 팩토리(230)는 우선 서비스 프록시(210)로부터 원래의 정보 서비스(160)의 성능 요건들을 획득한다. 성능 요건들을 이용하여, 단계(520 내지 535)에서 상술된 동일한 과정을 통해 적합한 대체 후보가 판정된다. 대체 후보가 발견되는 경우(단계 520 = YES), 서비스 어댑터(220)는 정보 서비스(160)에 대해 인스턴스화되고 서비스 어댑터(220)는 그 자체를 인스턴스화하도록 신호되며, 이 또한 상술된 바와 같다(단계 530). 위치 서비스 팩토리(230)는 예를 들면, 새로운 서비스 어댑터(220)에 대한 참조를 포함하는 서비스 프록시(210)에 설정 어댑터 메시지를 전송한다(단계 530). 서비스 어댑터(220)에 대한 참조는 애플리케이션(130)을 정보 서비스(160)에 바인딩하기 위해 서비스 프록시(210)에 위치한다(단계 535). 서비스 프록시(210)는 이후 애플리케이션(130)에 의한 임의의 눈에 띄는 요청을 이행하기 위해 정보 서비스(160)에 접속하려고 재시도할 것이다. 애플리케이션(130)이 서비스 대체를 통지받도록 등록한 경우, 대체 서비스의 명칭을 포함하는 통지가 이 시점에서 전송된다.
임의의 이벤트들이 정보 서비스 대체 평가를 트리거링하도록 함으로써, 정보 서비스 대체는 "기회(opportunistic)" 서비스 대체로 일반화될 수 있다. 예를 들면, 서비스 속성 데이터베이스(240)에 새롭게 이용 가능한 서비스를 추가하는 것은 이러한 이벤트일 수 있다. 위치 서비스 팩토리(230)가 캐리어 위치 어댑터와 함께 등록함으로써 위치 이벤트들에 관심을 표시하는 위치에 대하여, 위치 서비스 팩토리(230)는 문맥 제공자와 함께 특정 이벤트들에 관심을 등록한다. 이러한 문맥 제공자는 위치 서비스 팩토리(230)의 문맥 인터페이스를 통해 문맥 이벤트들을 전달한다.
대체 평가를 트리거링하는 다른 이벤트들은 사용자 선호들일 수 있다. 사용자가 우선적으로 무료 서비스들에 액세스할 것을 선택하는 경우, 및 사용자가 무료 서비스의 커버리지 영역에 진입할 때 무료 정보 서비스가 이용 가능하게 되는 경우, 현재 서비스가 액세스 요금에 과금한다면, 사용자에 의해 이용 중에 있는 현재 정보 서비스는 대체될 수 있다. 예를 들면, 도 8에서, 서비스 속성 데이터베이스(240)의 부분은 사용자 선호 및 사용자 캐리어 정보를 가지고 도시된다. 도 8로부터, 사용자 A는 무료 정보 서비스를 선호하고 정보 서비스들의 대체는 상술한 바와 같이 소극 방식으로 수행되어야 함을 알 수 있다. 대조적으로 사용자 B는 포괄 정보 서비스들을 선호하며, 이는 무료이거나 그렇지 않을 수 있다. 사용자 B는 또한 서비스들의 대체가 적극 방식으로 처리되는 것을 선호하며, 상술한 바와 같다. 추가적으로 사용자 선호들을 이용하여 정보 서비스들의 후보 리스트를 정렬할 수 있다. 그러므로, 사용자 A에 대해, 무료 정보 서비스는 지불 정보 서비스 이전에 선택되는 방식으로 정렬되어야 한다.
도 8은 또한 사용자가 어떠한 모바일 캐리어를 이용하는지에 관한 정보를 도시한다. 이 예에서, 양 사용자들은 셀룰러 전화 캐리어와 같은 모바일 캐리어를 이용한다. 그러나, 캐리어는 네트워크 기반일 수 있고, 또는 몇몇 다른 캐리어일 수 있다. 예를 들면, 사용자가 큰 빌딩 컴플렉스를 이동할 때, 사용자는 액세스 포인트의 범위를 떠나 또 다른 액세스 포인트의 범위로 올 수 있다. 내부 전화 번호 및 빌딩 컴플렉스 정보에 대한 커버리지 영역들은 정보 서비스들을 통해 변할 수 있다. 도 8의 예에서, 사용자 A는 모바일 캐리어 1을 이용하고 사용자 B는 모바일 캐리어 2를 이용한다. 이러한 캐리어 정보는 어떠한 캐리어 위치 어댑터(225)를 이용할 것인지를 위치 서비스 팩토리(230)가 판정할 수 있도록 한다.
도 8은 또한 애플리케이션 서버(100) 소유자에 의해 이용될 수 있다. 예를 들면, 셀룰러 전화 회사는, 셀룰러 전화 회사가 사용자에 의해 상환받지 못하는 셀룰러 전화 회사 돈을 요하는 정보 서비스(160) 및 무료 정보 서비스(160)간에 선택이 있을 때, 사용자가 무료 서비스들을 이용하도록 요구할 수 있다.
본 명세서에 도시되고 설명되는 실시예들 및 변화들은 본 발명 원리의 예시적인 것이며, 당업자라면 본 발명의 기술적 사상을 이탈하지 않고 다양한 변화들을 구현할 수 있음은 물론이다.

Claims (27)

  1. 정보 서비스를 스위칭하는 방법에 있어서,
    모바일 장치의 위치가 제1 정보 서비스의 커버리지 영역 내에 있는지 여부를 판정하는 단계와;
    상기 모바일 장치의 위치가 상기 제1 정보 서비스의 커버리지 영역 내에 있지 않을 때, 상기 제1 정보 서비스를 위한 하나 이상의 통신들을 제2 정보 서비스에 재지정(redirect)하는 단계를 포함하는 정보 서비스 스위칭 방법.
  2. 제1항에 있어서,
    상기 모바일 장치의 위치를 포함하는 커버리지 영역들을 갖는 하나 이상의 정보 서비스들로부터 정보 서비스를 선택함으로써 상기 제2 정보 서비스를 선택하는 단계를 더 포함하는 것인 정보 서비스 스위칭 방법.
  3. 제1항에 있어서,
    상기 제1 정보 서비스가 실패하였는지 여부를 판정하는 단계와;
    상기 제1 정보 서비스가 실패하였을 때, 상기 제1 정보 서비스를 위한 하나 이상의 통신들을 상기 제2 정보 서비스에 재지정하는 단계를 포함하는 정보 서비스 스위칭 방법.
  4. 제1항에 있어서,
    상기 모바일 장치의 위치가 상기 제1 정보 서비스의 커버리지 영역 내에 있는지 여부를 판정하는 단계는 상기 모바일 장치의 위치가 상기 제1 정보 서비스의 커버리지 영역 내에 있는지 여부를 주기적으로 판정하는 단계를 더 포함하는 것인 정보 서비스 스위칭 방법.
  5. 제4항에 있어서,
    상기 모바일 장치의 위치가 상기 제1 정보 서비스의 커버리지 영역 내에 있는지 여부를 주기적으로 판정하는 단계는 소정의 기준을 이용하여 정보 서비스들의 후보 리스트들을 주기적으로 판정하는 단계를 더 포함하는 것인 정보 서비스 스위칭 방법.
  6. 제5항에 있어서,
    상기 소정의 기준은 하나 이상의 선호(preference)들을 포함하고 상기 후보 리스트는 상기 하나 이상의 선호 순으로 저장되는 것인 정보 서비스 스위칭 방법.
  7. 제5항에 있어서,
    상기 소정의 기준을 이용하여 정보 서비스들의 후보 리스트를 주기적으로 판정하는 단계는 상기 후보 리스트로부터 소정의 기준에 따라 가장 높은 값을 갖는 정보 서비스를 선택하는 단계를 포함하고,
    상기 하나 이상의 통신들을 재지정하는 단계는, 상기 제1 정보 서비스가 상기 후보 리스트에서 가장 높은 값을 갖는 정보 서비스가 아닐 때, 상기 제1 정보 서비스를 위한 하나 이상의 통신들을 상기 후보 리스트에서 가장 높은 값을 갖는 정보 서비스에 재지정하는 단계를 더 포함하는 것인 정보 서비스 스위칭 방법.
  8. 제5항에 있어서,
    상기 소정의 기준을 이용하여 정보 서비스들의 후보 리스트를 주기적으로 판정하는 단계는 상기 제1 정보 서비스가 상기 후보 리스트에 있는지 여부를 판정하는 단계와, 상기 제1 정보 서비스가 상기 후보 리스트에 있을 때 상기 제1 정보 서비스에 상기 하나 이상의 통신들을 허용하는 단계를 더 포함하는 것인 정보 서비스 스위칭 방법.
  9. 제1항에 있어서,
    상기 모바일 장치는 상기 제1 정보 서비스에 바인딩된 애플리케이션에 액세스하는 것인 정보 서비스 스위칭 방법.
  10. 제1항에 있어서,
    소정의 기준을 이용하여 정보 소스들의 후보 리스트를 생성하는 단계를 더 포함하는 정보 서비스 스위칭 방법.
  11. 제10항에 있어서,
    상기 소정의 기준은 하나 이상의 호환성(compatibility) 세트에 의해 정의되는 선호를 포함하고, 상기 각 호환성 세트는 명칭 및 적어도 하나의 값을 포함하는 것인 정보 서비스 스위칭 방법.
  12. 제10항에 있어서,
    상기 소정의 기준은 하나 이상의 커버리지 영역, 하나 이상의 호환성 명칭, 하나 이상의 포맷, 비용 및 하나 이상의 특성 선호(specialty preference)를 포함하는 것인 정보 서비스 스위칭 방법.
  13. 제10항에 있어서,
    상기 소정의 기준은 사용자 선호들을 포함하는 것인 정보 서비스 스위칭 방법.
  14. 제13항에 있어서,
    상기 사용자 선호들은 하나 이상의 비용 선호 및 대체(replacement) 선호를 포함하고, 상기 대체 선호는 적극적 배치(aggressive placement), 선호 없음, 및 소극적(non-aggressive) 대체 중 하나를 포함하는 것인 정보 서비스 스위칭 방법.
  15. 제1항에 있어서,
    상기 제1 정보 세트의 속성들이 상기 하나 이상의 호환성 세트들의 요건들을 충족하는지 여부를 판정하기 위해 상기 제1 정보 서비스의 속성들을 하나 이상의 호환성 세트들과 비교하는 단계와;
    상기 제1 정보 서비스의 속성들이 상기 하나 이상의 호환성 세트들의 요건들을 충족하지 않을 때 상기 제1 정보 서비스를 위한 하나 이상의 통신들을 상기 제2 정보 서비스에 재지정하는 단계와;
    상기 제2 정보 서비스의 속성들이 상기 하나 이상의 호환성 세트들의 요건들을 충족한다고 판정하는 단계를 포함하는 정보 서비스 스위칭 방법.
  16. 제1항에 있어서,
    상기 하나 이상의 통신들은 애플리케이션으로부터 온 것이고, 상기 하나 이상의 통신들을 재지정하는 단계는 상기 애플리케이션을 새로운 정보 서비스에 바인딩함으로써 상기 제1 정보 서비스를 위한 하나 이상의 통신들을 제2 정보 서비스에 재지정하는 단계를 더 포함하는 것인 정보 서비스 스위칭 방법.
  17. 제16항에 있어서,
    상기 애플리케이션을 새로운 정보 서비스에 바인딩함으로써 상기 제1 정보 서비스를 위한 하나 이상의 통신들을 상기 제2 정보 서비스에 재지정하는 단계는 서비스 프록시의 새로운 서비스 어댑터에 새로운 참조(reference)를 위치시키는 단계를 더 포함하고, 상기 새로운 서비스 어댑터는 상기 제2 정보 서비스를 액세스하며, 상기 새로운 참조는 구 참조를 대체하고, 상기 구 참조는 상기 제1 정보 서비스를 액세스하는 구 서비스 어댑터를 참조하는 것인 정보 서비스 스위칭 방법.
  18. 제17항에 있어서,
    상기 하나 이상의 통신들을 재지정하는 상기 단계는 상기 새로운 서비스 어댑터를 인스턴스화하는 단계와 상기 구 서비스 어댑터를 삭제하는 단계를 더 포함하는 것인 정보 서비스 스위칭 방법.
  19. 정보 서비스들을 스위칭하기 위한 제조물에 있어서,
    실행될 때, 모바일 장치의 위치가 제1 정보 서비스의 커버리지 영역 내에 있는지 여부를 판정하고, 상기 모바일 장치의 위치가 상기 제1 정보 서비스의 커버리지 영역 내에 있지 않을 때 상기 제1 정보 서비스를 위한 하나 이상의 통신들을 제2 정보 서비스에 재지정하는 단계를 구현하는, 하나 이상의 프로그램들을 포함하는 컴퓨터로 판독 가능한 매체를 포함하는 정보 서비스 스위칭을 위한 제조물.
  20. 정보 서비스들을 스위칭하는 장치에 있어서,
    메모리와;
    모바일 장치의 위치가 제1 정보 서비스의 커버리지 영역 내에 있는지 여부를 판정하고, 상기 모바일 장치의 위치가 상기 제1 정보 서비스의 커버리지 영역 내에 있지 않을 때 상기 제1 정보 서비스를 위한 하나 이상의 통신들을 제2 정보 서비스에 재지정하도록 동작하며(operative) 상기 메모리에 연결되는 적어도 하나의 프로세서를 포함하는 정보 서비스 스위칭 장치.
  21. 제20항에 있어서,
    상기 적어도 하나의 프로세서는 상기 모바일 장치의 위치를 포함하는 커버리지 영역들을 갖는 하나 이상의 정보 서비스로부터 정보 서비스를 선택함으로써 상기 제2 정보 서비스를 선택하도록 또한 동작하는 것인 정보 서비스 스위칭 장치.
  22. 제20항에 있어서,
    상기 적어도 하나의 프로세스는 소정의 기준을 이용하여 정보 소스들의 후보 리스트를 생성하도록 또한 동작하는 것인 정보 서비스 스위칭 장치.
  23. 제20항에 있어서,
    상기 하나 이상의 통신들은 애플리케이션으로부터 온 것이고, 상기 적어도 하나의 프로세서는 하나 이상의 통신들을 재지정할 때 상기 애플리케이션을 새로운 정보 서비스에 바인딩함으로써 상기 제1 정보 서비스에 대한 하나 이상의 통신들을 제2 정보 서비스에 재지정하도록 또한 동작하는 것인 정보 서비스 스위칭 장치.
  24. 제23항에 있어서,
    상기 적어도 하나의 프로세서는 하나 이상의 통신들을 재지정할 때 서비스 프록시의 새로운 서비스 어댑터에 새로운 참조를 위치시키도록 또한 동작하고,
    상기 새로운 서비스 어댑터는 상기 제2 정보 서비스를 액세스하며, 상기 새로운 참조는 구 참조를 대체하고, 상기 구 참조는 상기 제1 정보 서비스를 액세스하는 구 서비스 어댑터를 참조하는 것인 정보 서비스 스위칭 장치.
  25. 제20항에 있어서,
    상기 적어도 하나의 프로세서는 상기 모바일 장치의 위치가 커버리지 영역 내에 있을 때 소정의 기준을 이용하여 정보 서비스들의 후보 리스트를 주기적으로 판정하도록 또한 동작하는 것인 정보 서비스 스위칭 장치.
  26. 제25항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 모바일 장치의 위치가 커버리지 영역 내에 있는지 여부를 주기적으로 판정할 때 상기 후보 리스트로부터의 상기 소정의 기준에 따라 가장 높은 값을 갖는 정보 서비스를 선택하고;
    재지정할 때, 상기 제1 정보 서비스가 상기 후보 리스트의 가장 높은 값을 갖는 상기 정보 서비스가 아닌 경우 상기 제1 정보 서비스를 위한 하나 이상의 통신들을 상기 후보 리스트의 가장 높은 값을 갖는 상기 정보 서비스에 재지정하도록 또한 동작하는 것인 정보 서비스 스위칭 장치.
  27. 제25항에 있어서,
    상기 적어도 하나의 프로세서는, 모바일 장치의 위치가 커버리지 영역 내에 있는지 여부를 주기적으로 판정할 때, 상기 제1 정보 서비스가 상기 후보 리스트에 있는지 여부를 판정하고, 상기 제1 정보 서비스가 상기 후보 리스트에 있는 경우 상기 제1 정보 서비스에 상기 하나 이상의 통신들을 허용하도록 또한 동작하는 것인 정보 서비스 스위칭 장치.
KR20057008857A 2002-12-10 2003-02-10 정의된 커버리지 영역들을 갖는 정보 서비스들의 투명스위칭을 제공하는 동적 서비스 바인딩 KR100800361B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/315,650 2002-12-10
US10/315,650 US20040203891A1 (en) 2002-12-10 2002-12-10 Dynamic service binding providing transparent switching of information services having defined coverage regions

Publications (2)

Publication Number Publication Date
KR20050085022A true KR20050085022A (ko) 2005-08-29
KR100800361B1 KR100800361B1 (ko) 2008-02-04

Family

ID=32505878

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20057008857A KR100800361B1 (ko) 2002-12-10 2003-02-10 정의된 커버리지 영역들을 갖는 정보 서비스들의 투명스위칭을 제공하는 동적 서비스 바인딩

Country Status (11)

Country Link
US (4) US20040203891A1 (ko)
EP (1) EP1576842A4 (ko)
JP (1) JP4425147B2 (ko)
KR (1) KR100800361B1 (ko)
CN (1) CN100484262C (ko)
AU (1) AU2003210950B2 (ko)
BR (2) BR0317238A (ko)
CA (1) CA2503100C (ko)
IL (1) IL168980A (ko)
TW (1) TWI232669B (ko)
WO (1) WO2004054295A1 (ko)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3898450B2 (ja) * 2001-02-02 2007-03-28 株式会社エヌ・ティ・ティ・ドコモ 位置情報通知方法及び装置
US20040203891A1 (en) 2002-12-10 2004-10-14 International Business Machines Corporation Dynamic service binding providing transparent switching of information services having defined coverage regions
GB2404305B (en) * 2003-07-22 2005-07-06 Research In Motion Ltd Security for mobile communications device
US8041760B2 (en) 2003-08-27 2011-10-18 International Business Machines Corporation Service oriented architecture for a loading function in a data integration platform
WO2005022417A2 (en) 2003-08-27 2005-03-10 Ascential Software Corporation Methods and systems for real time integration services
US8060553B2 (en) 2003-08-27 2011-11-15 International Business Machines Corporation Service oriented architecture for a transformation function in a data integration platform
US20050215228A1 (en) * 2004-03-26 2005-09-29 Comverse Ltd. Voice session data session interoperability in the telephony environment
US7620402B2 (en) * 2004-07-09 2009-11-17 Itis Uk Limited System and method for geographically locating a mobile device
CN101048732A (zh) * 2004-08-31 2007-10-03 国际商业机器公司 面向对象的数据集成服务体系结构
GB2422217B (en) * 2005-01-14 2009-12-23 Hewlett Packard Development Co Provision of services over a common delivery platform such as a mobile telephony network
MX2008002809A (es) 2005-09-07 2008-04-07 Nokia Corp Senalizacion de identificacion de celular en guia de servicio de difusion movil para difusion localizada.
KR100650741B1 (ko) * 2005-12-02 2006-11-30 한국전자통신연구원 네트워크 프로세서의 이진코드와 가상 포워딩 컴포넌트의동적 바인딩 처리장치 및 방법
US8320932B2 (en) * 2006-04-11 2012-11-27 Motorola Solutions, Inc. Method and system of utilizing a context vector and method and system of utilizing a context vector and database for location applications
US20080040281A1 (en) * 2006-07-11 2008-02-14 Dipanjan Chakraborty User-vendor matching based on request from mobile wireless device
CN101009627A (zh) * 2006-12-27 2007-08-01 华为技术有限公司 一种业务绑定的方法和设备
US20090315766A1 (en) * 2008-06-19 2009-12-24 Microsoft Corporation Source switching for devices supporting dynamic direction information
US8700301B2 (en) 2008-06-19 2014-04-15 Microsoft Corporation Mobile computing devices, architecture and user interfaces based on dynamic direction information
US8467991B2 (en) * 2008-06-20 2013-06-18 Microsoft Corporation Data services based on gesture and location information of device
WO2009156778A1 (en) * 2008-06-24 2009-12-30 Nokia Corporation Semantically enhanced service switching
KR101035560B1 (ko) * 2008-09-23 2011-05-19 한국전자통신연구원 서비스 제공 시스템 및 그 방법
US8793306B2 (en) * 2008-10-03 2014-07-29 Infosys Limited System, wireless communication device and method for combining compatible services
US20100235394A1 (en) * 2009-03-10 2010-09-16 Nokia Corporation Method and apparatus for accessing content based on user geolocation
US8417720B2 (en) 2009-03-10 2013-04-09 Nokia Corporation Method and apparatus for accessing content based on user geolocation
US8650072B2 (en) 2009-05-05 2014-02-11 Groupon, Inc. System and methods for providing location based discount retailing
US8355948B2 (en) 2009-05-05 2013-01-15 Groupon, Inc. System and methods for discount retailing
US8301495B2 (en) 2009-05-05 2012-10-30 Groupon, Inc. System and methods for discount retailing
US8872767B2 (en) 2009-07-07 2014-10-28 Microsoft Corporation System and method for converting gestures into digital graffiti
US8434097B2 (en) * 2009-12-30 2013-04-30 Sybase, Inc. Dynamic data binding for MBOs for container based application
US8200251B2 (en) * 2010-01-15 2012-06-12 Apple Inc. Determining a location of a mobile device using a location database
US8655371B2 (en) 2010-01-15 2014-02-18 Apple Inc. Location determination using cached location area codes
US8504059B2 (en) 2010-01-15 2013-08-06 Apple Inc. Location filtering using mobile country code
US8433334B2 (en) 2010-01-15 2013-04-30 Apple Inc. Managing a location database for network-based positioning system
US8634860B2 (en) 2010-01-15 2014-01-21 Apple Inc. Location determination using cached location area codes
US8660576B2 (en) 2010-01-15 2014-02-25 Apple Inc. Adaptive location determination
US8620344B2 (en) 2010-04-07 2013-12-31 Apple Inc. Location-based application program management
US8266551B2 (en) * 2010-06-10 2012-09-11 Nokia Corporation Method and apparatus for binding user interface elements and granular reflective processing
US8977755B2 (en) * 2011-12-06 2015-03-10 Seven Networks, Inc. Mobile device and method to utilize the failover mechanism for fault tolerance provided for mobile traffic management and network/device resource conservation
JP5948434B2 (ja) 2011-12-28 2016-07-06 ノキア テクノロジーズ オーユー アプリケーションスイッチャー
US8996729B2 (en) 2012-04-12 2015-03-31 Nokia Corporation Method and apparatus for synchronizing tasks performed by multiple devices
US10664861B1 (en) 2012-03-30 2020-05-26 Groupon, Inc. Generating promotion offers and providing analytics data
US10304091B1 (en) 2012-04-30 2019-05-28 Groupon, Inc. Deal generation using point-of-sale systems and related methods
US10192243B1 (en) 2013-06-10 2019-01-29 Groupon, Inc. Method and apparatus for determining promotion pricing parameters
US10255620B1 (en) 2013-06-27 2019-04-09 Groupon, Inc. Fine print builder
US10664876B1 (en) 2013-06-20 2020-05-26 Groupon, Inc. Method and apparatus for promotion template generation
US9996859B1 (en) 2012-03-30 2018-06-12 Groupon, Inc. Method, apparatus, and computer readable medium for providing a self-service interface
US10147130B2 (en) 2012-09-27 2018-12-04 Groupon, Inc. Online ordering for in-shop service
US10304093B2 (en) 2013-01-24 2019-05-28 Groupon, Inc. Method, apparatus, and computer readable medium for providing a self-service interface
US11386461B2 (en) 2012-04-30 2022-07-12 Groupon, Inc. Deal generation using point-of-sale systems and related methods
EP2717208A1 (en) * 2012-10-05 2014-04-09 Vodafone Holding GmbH System solution for derivation and provision of anonymised cellular mobile network data for polulation density and mobility report generation
TWI501675B (zh) * 2012-11-20 2015-09-21 Inst Information Industry 適地性服務提供系統、方法及其電腦可讀取紀錄媒體
US20150052239A1 (en) * 2013-08-19 2015-02-19 Anthony G. LaMarca Context based spectrum management system
US9396586B2 (en) 2014-03-14 2016-07-19 Matterport, Inc. Processing and/or transmitting 3D data
US9454383B2 (en) * 2014-04-30 2016-09-27 International Business Machines Corporation Autowiring location agnostic services into application software
US9906605B2 (en) * 2014-05-23 2018-02-27 Qualcomm Connected Experiences, Inc. Enhanced DNS-based service discovery in an internet of things (IoT) environment

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5060165A (en) * 1989-10-03 1991-10-22 Pitney Bowes Inc. Optimizing mail processing by matching publisher and printer entities
WO1993001665A1 (en) * 1991-07-01 1993-01-21 Motorola, Inc. Personal communication system providing supplemental information mode
US5982870A (en) * 1992-05-26 1999-11-09 Bell Atlantic Network Services, Inc. Method for concurrently establishing switch redirection for multiple lines of the public telephone network
US5442806A (en) * 1993-06-08 1995-08-15 Oki Telecom Preferred carrier selection method for selecting any available cellular carrier frequency when neither home nor preferred cellular carrier frequencies are available
US5825759A (en) * 1994-10-26 1998-10-20 Telefonaktiebolaget Lm Ericsson Distributing network services and resources in a mobile communications network
US5771381A (en) * 1994-12-13 1998-06-23 Microsoft Corporation Method and system for adding configuration files for a user
US5819284A (en) * 1995-03-24 1998-10-06 At&T Corp. Personalized real time information display as a portion of a screen saver
JP2803720B2 (ja) * 1996-04-10 1998-09-24 日本電気株式会社 Cdma移動通信システム用ハンドオフ制御方式
US6044224A (en) * 1996-06-26 2000-03-28 Sun Microsystems, Inc. Mechanism for dynamically associating a service dependent representation with objects at run time
US5974300A (en) * 1996-07-30 1999-10-26 Lucent Technologies Inc. Two-way wireless cellular messaging system
US6088598A (en) * 1996-12-17 2000-07-11 Telefonaktiebolaget L M Ericsson Method and system for displaying greetings in a mobile radio communications system
US6496704B2 (en) * 1997-01-07 2002-12-17 Verizon Laboratories Inc. Systems and methods for internetworking data networks having mobility management functions
GB9707615D0 (en) * 1997-04-14 1997-06-04 British Telecomm Telecommunications apparatus and method
KR100204917B1 (ko) * 1997-05-17 1999-06-15 윤종용 디지탈 무선 이동 통신을 위한 에이치엘알 시스템의 데이타베이스 변경을 위한 방법
WO1998059503A1 (en) * 1997-06-20 1998-12-30 British Telecommunications Public Limited Company Location dependent service for mobile telephones
US6167250A (en) * 1997-09-24 2000-12-26 Telefonaktiebolaget Lm Ericsson (Publ) Network based tariff acquisition system for roaming mobile subscribers
US6236978B1 (en) * 1997-11-14 2001-05-22 New York University System and method for dynamic profiling of users in one-to-one applications
US6128491A (en) * 1998-02-11 2000-10-03 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for selecting control channels from base stations located near a border between radio telecommunications networks
US6161015A (en) * 1998-05-28 2000-12-12 Motorola, Inc. Method for improving communication coverage in multi-cell communication systems using location information
US7606936B2 (en) * 1998-05-29 2009-10-20 Research In Motion Limited System and method for redirecting data to a wireless device over a plurality of communication paths
US6219694B1 (en) * 1998-05-29 2001-04-17 Research In Motion Limited System and method for pushing information from a host system to a mobile data communication device having a shared electronic address
KR100413418B1 (ko) * 1998-07-10 2004-02-14 엘지전자 주식회사 역방향링크의독립적소프트핸드오프제어방법
ES2425056T3 (es) * 1998-07-20 2013-10-11 Unwired Planet, Llc Servicios basados en localización dependientes del abonado
US6336035B1 (en) * 1998-11-19 2002-01-01 Nortel Networks Limited Tools for wireless network planning
US6400944B1 (en) * 1998-12-22 2002-06-04 Ericsson Inc. System and method for handling incoming calls to an optimized mobile station within a satellite network
US6480861B1 (en) * 1999-02-26 2002-11-12 Merrill Lynch, Co., Inc Distributed adaptive computing
EP1041831A1 (en) 1999-03-30 2000-10-04 Motorola, Inc. Terminal and method for accessing information services in a telecommunications network
US6466796B1 (en) * 1999-04-01 2002-10-15 Lucent Technologies Inc. System for providing location based service to a wireless telephone set in a telephone system
US6459783B1 (en) * 1999-04-27 2002-10-01 Nortel Networks Limited Internet service provider call redirection
EP1186185B1 (de) * 1999-06-18 2005-12-07 Swisscom Mobile AG Verfahren und system, um mobilen teilnehmern anonyme standortabhängige dienste anzubieten
DE69927144T2 (de) 1999-07-13 2006-06-08 Motorola, Inc., Schaumburg Bereitstellung von Informationsdiensten in einem Telekommunicationsnetz
US20020078300A1 (en) * 1999-08-16 2002-06-20 Chanda Dharap Semantics-based caching policy to minimize latency
US6415323B1 (en) * 1999-09-03 2002-07-02 Fastforward Networks Proximity-based redirection system for robust and scalable service-node location in an internetwork
US6445918B1 (en) * 1999-11-01 2002-09-03 Telefonaktiebolaget L M Ericsson (Publ) Method and system for saving dropped calls
US6519455B1 (en) * 1999-12-28 2003-02-11 Lucent Technologies Inc. Apparatus, method and system for handoff of a mobile broadcast of information specific to a geographic region
WO2001084313A2 (en) * 2000-05-02 2001-11-08 Sun Microsystems, Inc. Method and system for achieving high availability in a networked computer system
JP3877135B2 (ja) * 2000-07-05 2007-02-07 株式会社エヌ・ティ・ティ・ドコモ 移動通信システムにおける周辺ゾーンテーブル作成方法及び装置並びにプログラム及び記憶媒体
AU2001278148A1 (en) * 2000-08-01 2002-02-13 Hrl Laboratories, Llc Apparatus and method for context-sensitive dynamic information service
US6714789B1 (en) * 2000-09-18 2004-03-30 Sprint Spectrum, L.P. Method and system for inter-frequency handoff and capacity enhancement in a wireless telecommunications network
DE10056519A1 (de) * 2000-11-15 2002-05-29 Interway Informationssysteme G Meta-Standortinformationsdienst
PT1346557E (pt) * 2000-12-22 2009-07-20 Nokia Corp Método e sistema para estabelecer uma ligação multimédia através da negociação das capacidades num canal de controlo fora da banda
WO2002074051A2 (en) * 2001-03-19 2002-09-26 Accenture Llp Mobile valet
JP2002278886A (ja) 2001-03-19 2002-09-27 Hitachi Ltd 情報配信方法及び情報配信サーバ
US6611751B2 (en) * 2001-03-23 2003-08-26 981455 Alberta Ltd. Method and apparatus for providing location based data services
US6999435B2 (en) * 2001-03-29 2006-02-14 Telefonaktiebolaget Lm Ericsson (Publ) Method, system and node for providing enhanced mobility in simple IP telecommunication networks when performing L2TP tunneling
US6879838B2 (en) * 2001-04-20 2005-04-12 Koninklijke Philips Electronics N.V. Distributed location based service system
JP4409788B2 (ja) * 2001-05-10 2010-02-03 富士通株式会社 無線データ通信網切替装置と無線データ通信網切替処理用プログラム
US20030105763A1 (en) * 2001-11-30 2003-06-05 Gemini Networks, Inc. System, method, and computer program product for providing a wholesale provisioning service
US6721401B2 (en) * 2002-01-10 2004-04-13 Lucent Technologies Inc Method for redirecting a calling phone from a finder service to a destination phone
US20030140088A1 (en) * 2002-01-24 2003-07-24 Robinson Scott H. Context-based information processing
US7161914B2 (en) * 2002-04-11 2007-01-09 Ntt Docomo, Inc. Context aware application level triggering mechanism for pre-authentication, service adaptation, pre-caching and handover in a heterogeneous network environment
US20040203891A1 (en) * 2002-12-10 2004-10-14 International Business Machines Corporation Dynamic service binding providing transparent switching of information services having defined coverage regions
KR100550351B1 (ko) * 2004-09-07 2006-02-08 삼성전자주식회사 반도체 장치의 막 형성방법 및 이를 수행하기 위한 반도체장치의 막 형성 장치

Also Published As

Publication number Publication date
AU2003210950B2 (en) 2009-03-05
US20060264222A1 (en) 2006-11-23
EP1576842A1 (en) 2005-09-21
AU2003210950A1 (en) 2004-06-30
US7274941B2 (en) 2007-09-25
CA2503100A1 (en) 2004-06-24
US9014722B2 (en) 2015-04-21
KR100800361B1 (ko) 2008-02-04
EP1576842A4 (en) 2005-12-14
BRPI0317238B1 (pt) 2017-09-12
CN1701618A (zh) 2005-11-23
WO2004054295A1 (en) 2004-06-24
US7428418B2 (en) 2008-09-23
US20080261621A1 (en) 2008-10-23
US20070281701A1 (en) 2007-12-06
JP2006510276A (ja) 2006-03-23
IL168980A (en) 2011-07-31
TWI232669B (en) 2005-05-11
BR0317238A (pt) 2005-11-01
TW200415907A (en) 2004-08-16
US20040203891A1 (en) 2004-10-14
JP4425147B2 (ja) 2010-03-03
CN100484262C (zh) 2009-04-29
CA2503100C (en) 2011-04-19

Similar Documents

Publication Publication Date Title
KR100800361B1 (ko) 정의된 커버리지 영역들을 갖는 정보 서비스들의 투명스위칭을 제공하는 동적 서비스 바인딩
US7242949B2 (en) Multimedia information and information inquiry download service
US9906904B2 (en) Method, system, and computer program product for providing location based services
US7610343B2 (en) Presence data management method
EP1748625B1 (en) Mobile electronic device and method of providing information to a mobile electronic device using a web service
KR20080009069A (ko) 위치-인식 콘텐츠 푸시 서비스 및 위치-기반 동적 연결을위한 방법, 시스템 및 장치
RU2419238C1 (ru) Система и способ распределения общей информации о местоположении между устройствами связи
US9021013B2 (en) Ubiquitous web service gateway and method
CN1309879A (zh) 选择业务实施
WO2004066558A1 (ja) 所在管理プログラム、コンピュータ・プログラム及び記録媒体
KR20030001724A (ko) 휴대용 정보통신 단말기 및 통합 메시징 시스템을 이용한모바일 오피스 시스템 및 그 구현 방법
CN101277499B (zh) 通信终端
CA2544714C (en) Architecture optimized for application data sharing within a mobile communications device
US6931103B1 (en) Failover mechanisms for remote networked phones
US20070067423A1 (en) Context management system for a network including a heterogenous set of terminals
Cole et al. Adaptive service binding middleware to support mobility
Li et al. Scenario Analysis of Mobile GI Services

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
G170 Re-publication after modification of scope of protection [patent]
FPAY Annual fee payment

Payment date: 20130102

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131227

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141215

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151228

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee