KR100557819B1 - 이동 전화 서비스용 자동 루팅 및 정보 시스템 - Google Patents

이동 전화 서비스용 자동 루팅 및 정보 시스템 Download PDF

Info

Publication number
KR100557819B1
KR100557819B1 KR1020007014488A KR20007014488A KR100557819B1 KR 100557819 B1 KR100557819 B1 KR 100557819B1 KR 1020007014488 A KR1020007014488 A KR 1020007014488A KR 20007014488 A KR20007014488 A KR 20007014488A KR 100557819 B1 KR100557819 B1 KR 100557819B1
Authority
KR
South Korea
Prior art keywords
location
caller
service
client
zip
Prior art date
Application number
KR1020007014488A
Other languages
English (en)
Other versions
KR20010083058A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=22280416&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR100557819(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 무렉스 시큐리티스, 리미티드 filed Critical 무렉스 시큐리티스, 리미티드
Publication of KR20010083058A publication Critical patent/KR20010083058A/ko
Application granted granted Critical
Publication of KR100557819B1 publication Critical patent/KR100557819B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42025Calling or Called party identification service
    • H04M3/42034Calling party identification service
    • H04M3/42042Notifying the called party of information on the calling party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/4228Systems providing special services or facilities to subscribers in networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/4228Systems providing special services or facilities to subscribers in networks
    • H04M3/42306Number translation services, e.g. premium-rate, freephone or vanity number services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/487Arrangements for providing information services, e.g. recorded voice services or time announcements
    • H04M3/493Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/0016Arrangements providing connection between exchanges
    • H04Q3/0029Provisions for intelligent networking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/64Distributing or queueing
    • H04Q3/66Traffic distributors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/64Distributing or queueing
    • H04Q3/66Traffic distributors
    • H04Q3/665Circuit arrangements therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/72Finding out and indicating number of calling subscriber
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2242/00Special services or facilities
    • H04M2242/15Information service where the information is dependent on the location of the subscriber
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2242/00Special services or facilities
    • H04M2242/22Automatic class or number identification arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2242/00Special services or facilities
    • H04M2242/30Determination of the location of a subscriber
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42025Calling or Called party identification service
    • H04M3/42034Calling party identification service
    • H04M3/42059Making use of the calling party identifier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42025Calling or Called party identification service
    • H04M3/42085Called party identification service
    • H04M3/42093Notifying the calling party of information on the called or connected party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42314Systems providing special services or facilities to subscribers in private branch exchanges
    • H04M3/42323PBX's with CTI arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42348Location-based services which utilize the location information of a target
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13034A/D conversion, code compression/expansion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13091CLI, identification of calling line
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13093Personal computer, PC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13095PIN / Access code, authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13097Numbering, addressing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13103Memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13109Initializing, personal profile
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13141Hunting for free outlet, circuit or channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13204Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/1322PBX
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13352Self-routing networks, real-time routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13353Routing table, map memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/1337Operator, emergency services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13376Information service, downloading of information, 0800/0900 services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13377Recorded announcement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13378Speech recognition, speech analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13405Dual frequency signaling, DTMF
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13541Indexing scheme relating to selecting arrangements in general and for multiplex systems routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13547Indexing scheme relating to selecting arrangements in general and for multiplex systems subscriber, e.g. profile, database, database access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/20Manipulation of established connections
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Abstract

본 발명은 전화망과 교차하여 이동 전화 호출을 자동으로 매끈하게 루팅하는 시스템 및 방법에 관한 것이다. 상기 시스템은 전화망 인터페이스 박스, 컴퓨터 및 클라이언트 파일을 포함한다. 상기 클라이언트 파일은 공간 키와 클라이언트 전화 번호를 가지는 다수의 레코드를 구비한다. 상기 시스템의 일실시예(1500)는 호출자의 전화(110) 위치에 상응하는 클라이언트 파일로부터 하나 이상의 클라이언트 서비스 위치(1460)를 식별하는, 실시간 프로세스(1510)에 대한 입력으로서 호출자의 이동 전화에 대한 순간 위치의 공간 좌표(1520)를 사용한다.

Description

이동 전화 서비스용 자동 루팅 및 정보 시스템{AUTOMATIC ROUTING AND INFORMATION SYSTEM FOR MOBILE TELEPHONIC SERVICES}
본 발명은 일반적으로 이동 서비스 및 루팅 기술에 관한 것으로서, 특히 전화 호출을 자동적으로 루팅하고 클라이언트 위치에 대한 정보를 선택적으로 제공하기 위한 시스템에 관한 것이다.
점점 경쟁적인 비즈니스 세계에서, "1-800" 번호와 연관된 제품 또는 서비스를 위한 호출 위치를 포함하는 서비스 영역을 가지는 지역 상점, 프랜차이즈, 지점, 딜러 또는 서비스 회사(이하, 서비스 위치라 칭함)를 위한 "1-800" 번호류로 형성되는 전화 호출을 자동으로 루팅하려는 시도가 이루어져 왔다. 예를 들면, 어떤 사람은 미국내의 어떤 전화로부터 1-800-이탈리언을 다이얼링할 것이고, 상기 전화는 호출 전화의 위치로 피자를 배달하는 Mypizza(가상 서비스) 서비스 위치에서 울릴 것이다.
호출자에게 지리적으로 가까운 서비스 위치로 호출을 자동으로 루팅하려는 몇몇 극단적으로 단순한 시도가 있었다. 이런 루팅 기술은 동일한 5-디짓 zip 코드로, 동일한 도시명을 가지는 모든 zip 코드로, 또는 이들의 조합으로 최초 호출로서 동일한 전화 지역 코드와 시내국번을 갖는 소정 위치로 부재중 호출을 루팅하 는데 기초한다. 10-디짓 전화 번호의 여러가지 구성요소를 기술하는데 사용되는 많은 서로 다른 용어가 있다. 원격통신 산업분야에서, 그것은 NPA-NXX-XXXX로 칭해지고, 여기에서 상기 NPA는 지역 코드이고, NXX는 시내국번 또는 교환국이고, XXXX는 접미부 또는 라인 번호이다. 예를 들면, 10-디짓 전화번호 619-942-9999에서, 619는 NPA 또는 지역 코드이고; 942는 NPX, 시내국번 또는 교환국이며; 9999는 XXXX, 접미부 또는 라인 번호이다. 통상적으로 동일한 지역 코드와 시내국번을 갖는 모든 전화번호는 동일한 전신국에 의해 서비스된다. 전신국은 단일 전화 회사 영업소에 의해 서비스되는 지리적인 지역이다. 상기 전신국은 보통 1개의 교환국이지만, 다중 교환국이 될 수 있으며, 보통 약 10개의 교환국으로 서비스를 제공한다. 전화 회사의 한정에 의해, 전신국은 중복되지 않는다.
A. 종래 루팅 시스템 구조
지구는 구형이고, 그 표면상의 어떤 지점은 수세기 이전에 개발된 위도와 경도 구면 좌표계에 의해 정의될 수 있다. 이런 좌표계, 구면 삼각법 및 컴퓨터를 사용하여, 지구상의 어떤 두 위치사이의 거리를 계산하는 것이 가능하고 어떤 위치가 다른 위치의 지정된 반경내에 놓이는지를 결정하거나 또는 어떤 위치가 구면 다각형으로서 정의된 불연속 서비스 지역내에 포함되었는지를 결정한다.
수년전, AT&T는 빌링을 용이하게 하기 위해 자동 번호 식별(ANI : Automatic Number Identification)을 사용함으로써 전화망에 따라 호출 전화 번호를 전달하는 기술을 개발했다. 일부 전화망에 유용한 "호출자 ID" 형태는 호출 가입자의 전화번호를 식별하기 위하여 ANI 기술을 사용한다. 모뎀 전화 교환국이 단지 특별한 목적의 컴퓨터이기 때문에, 호출을 취급하는 교환국이 레코드 테이블(100,000,000 이상의 레코드로 이루어진)에서 할당된 서비스 위치 전화 번호를 갖는 호출 전화 번호를 검색하고 서비스 전화 번호로 호출을 루팅하도록 하는 간단한 프로세스이다.
그러나, 이런 루팅 서비스가 상업적으로 눈에 띄고 실용적 서비스가 되기 이전에 해결해야 할 어떤 분명히 굉장한 문제가 있다. 첫번째 문제는 처음에 미국내의 모든 전화 번호의 경도와 위도를 결정하고 소비 인구중 20%가 매년 이동하고 상점이 지속적으로 위치를 개점하고 폐업할때 갱신되는 이들을 저장하는 것이다. 두번째 문제는 서비스 위치 전화 번호 테이블에 대한 호출 전화 번호를 형성하고 자주 변화하는 환경에서 갱신되는 이들을 저장하는데 요구되는 오늘날 가장 강력한 컴퓨터의 범위를 넘어서 수등급 크기가 되는 다수의 구면 삼각법 계산을 수행하는 것이다.
수개의 중요한 데이터베이스와 기술이 이런 문제를 해결하는데 필요하다. 미국 인구조사국은 1990년 인구조사의 일부로서 TIGER(Topological Integrated Geographical Encoding and Referencing)로 불리우고 미국내의 거의 모든 거리 링크를 포함하는 미국의 국가 위도와 경도 지도를 만들었다. 거리 링크는 각각의 끝에서 다른 거리에 의해 교차되는 거리 구획이다. 모든 거리 링크에 대한 TIGER 레코드는 대부분의 거리 구획에 대해 ±30피트로 정밀한 거리 구획의 각각의 끝에서의 위도와 경도 좌표를 포함하고, 거리의 각각의 측면에 대한 시작 및 종결 주소 범위를 포함한다. 인구조사국이 상기 주소 범위를 완성시키지 않았지만, 사설 회 사들은 새로운 거리가 만들어질때 차이를 보충하고 TIGES를 갱신하고 있다.
과거에, 미국 우정공사는 우편 배달의 자동화를 위하여 zip(구역 개선 계획 : zone improvement plan) 코드(이하, zip 코드라 칭함)로 불리우는 우편 배달 지역으로 미국을 분할했다. 9-디짓 레벨(소위 "zip+4")에서, 이런 zip 코드는 통상적으로 거리 링크의 단일면에 대응한다. 지리적으로 미국을 작은 우편 배달 지역으로 분할하는 이외에, 또한 우정공사는 장소와 거리의 명명을 위한 표준을 마련했다. 디스카운트를 받는 직통 우편물 발송자를 위해, 이들은 우정공사의 명명 규정을 일치하기 위해 이들의 우편 주소를 표준화하고 zip+4 코드를 제공하였다.
우편 주소 표준화와 zip+4 코딩을 촉진하기 위하여, 우정공사는 국가 zip+4 주소 코딩 가이드를 제공하고 정확하게 주소를 표준화하는 보증된 독자적인 상업적으로 이용가능한 소프트웨어 패키지와 우정공사 테스프파일상의 주소 레코드가 99%가 더해진 zip+4 코드를 가지고 있다.
최근에, 우정공사와 일부 사설 회사들은 우정공사의 Zip+4 주소 코딩 가이드를 TIGER와 일치시켰고 위도와 경도를 갖는 zip+4 코드(zip+4 중심궤적은 zip+4 코드의 유사한 지리학적 중점이 된다)를 포함하는 파일을 만들었다. 이런 타입의 파일은 zip+4 위도와 경도 중심궤적 파일(100)(도 1a 참조)로서 참조된다. 이런 중심궤적은 소정 zip+4 코드에 할당된 거리 주소에서 우편물을 수신하는 집 또는 상점과 관련하여 ±105피트내에서 95% 정확하다. 오늘날, 그것은 주소 표준화 및 본 발명의 전화 번호에 대한 마스터 리스트와 같이 물리적 위치를 식별하는 리스트와 같이 물리적 위치를 식별하는 리스트인 zip+4 코드에 매우 신뢰성있고 경제적인 프 로세스이다.
자동화된 전화 호출 루팅 프로세스가 상업적으로 두드러진 실용적인 서비스가 되도록 하는데 원격통신 기술에서의 다른 변화와 개선이 요구되었다. 미국에서의 원격통신 기반의 개선은 원격통신 비용 구조로 변화되었다. 현재 로스앤젤레스로부터 뉴욕까지의 전화 호출 비용은 로스앤젤레스로부터 샌디에고까지의 호출에 대한 비용과 거의 비슷하다. 그러므로, 중앙 루팅 시스템 하드웨어와 설비의 물리적 위치는 더이상 중요하지않고, 또는 다시말해서 미대륙 어디에서나 될 수 있다.
원격통신 기술의 다른 개선은 공통적으로 GIS로 불리우는 지리 정보 시스템의 도래이다. 상기 시스템은 상호작용 지도에 의해 미국 어디에서나 대부분 어떤 지역에 대한 어떤 데이터, 어떤 크기 또는 모양의 집합과 표시를 허용한다. 그런 시스템의 인기는 지리학적으로 기반한 정보를 취급하기 위해 세련된 기술과 알고리즘의 발전에 이르렀다. 우선 관심있는 것은 특히 10-디짓 레벨에서 전화번호에 대한 지리 정보의 연결이다.
수십억의 가능한 치환에 대한 구면 삼각법 거리 계산의 복잡한 프로세스는 상기 프로세스가 컴퓨터에 덜 의존하도록 함으로써 완화되었다. 복잡한 구면 삼각법 계산을 수행하는 대신에, 1천보다 덜 컴퓨터에 의존하는 기술이 사용된다. 이 기술은 각각의 서비스 위치로부터 폴리코닉(polyconic) 예측을 수행하고 단순한 2차원 거리 평방 테스트를 수행하는 것에 기초하고 있다. 대략 위도당 68.9404 마일이 있다. 그러나, 경도당 마일은 위도와 관련하여 변화한다. 소정 위도에서, 경도당 마일은 68.9404를 곱한 경도의 코사인과 동일하다. 위도점으로서 서비스 위치를 사용하고 호출 지점의 위도와 경도를 알게 됨으로써, 델타 위도와 경도을 얻기가 쉽고, 이들을 마일로 변환하며, 간단한 거리 계산, 예를 들어 "거리(X**2 + Y**2)"을 수행한다. 이런 폴리코닉 예측 기술은 40위도에서 100마일 떨어진 두 위치에 대해 약 12피트의 거리 계산 에러를 초래한다. 그러나, 계산 노력의 부가적인 감소가 높은 호출량 적용을 위해 실용적이고, 효율적이며, 상업적으로 두드러진 루팅 프로세스를 가지도록 하는데 필요하다.
B. 종래 루팅 시스템 동작
서비스 위치에 대해 "1-800" 전화번호 호출을 루팅하기 위한 종래 기술은 다음과 같은 3가지 문제중 하나 이상을 가진다.
(1) 많은 그런 루팅 시스템은 이들의 정밀도에서 매우 거칠고 피자 배달 프랜차이즈처럼 특별히 정의된 프랜차이즈 지역 경계와 관련한 작은 서비스 지역을 다룰 수 없다. 상기 프랜차이즈 지역은 예를 들어 불규칙적으로 모양지어진 다각형이 될 수 있다. 약 10 마일 범위까지 정확성을 가지는 종래 시스템보다 약 105 피트내에서도 정확한 더욱 더 정밀한 시스템이 요구된다. 그런 시스템은 아마 미국내에 있는 거의 모든 고정 전화의, 가장 전형적으로 위도와 경거리서 표현되는, 물리적 위치를 앎으로써 만들어지는 매우 정밀한 측정법을 사용할 것이다. 다른 좌표계가 다른 국가에서 사용될 수 있다.
(2) 루팅 시스템의 다른 문제는 미국을 매우 크게 독단적으로 정의된 지역으로 분할하고 가장 가까운 위치가 동일한 독단적으로 형성된 영역에 위치되지않는다 면 가장 가까운 서비스 위치에 어떤 호출을 루팅하는 능력이 없다는 것이다. 많은 보기에서, 교환 지역의 범위 또는 5-디짓 zip 코드에 인접하게 위치한 호출자는 거기에 루팅되는 것보다 다른 zip 코드 또는 시내국번을 갖는 서비스 위치에 휠씬 더 가깝다. 호출이 단지 이들의 지역내에서 루팅될 수 있는 전신국, 시내국번, 또는 5-디짓 zip 코드와 같은 인위적으로 형성된 지역을 사용하지않는 심레스(seamless) 시스템이 요구된다. 어떤 상점은 호출자의 위치를 포함하는 예를 들어 5마일과 같이 미리 결정된 반경 또는 호출자의 위치를 포함하는 불규칙적으로 모양지어진 다각형에 의해 정의될 수 있는 가장 가까운 지점으로 호출을 루팅하는 선택 옵션을 원할 수 있다. 더욱이, 어떤 상점은 호출자의 위치를 포함하는 미리 결정된 반경 또는 가장 가까운 지점보다는 호출자의 위치를 포함하는 불규칙적으로 모양지어진 다각형에 의해 정의될 수 있는 서비스 지역을 가지는 어떤 지점으로 호출을 루팅하는 선택 옵션을 원할 수 있다.
(3) 최종적으로, 공지의 루팅 시스템은 종종 출판, 키 입력 및 광학식 문자인식(OCR) 스캐닝 시간 지연 때문에 항상 부정확하고 리스트에 없는 번호를 포함하지 않는 제3자 전화 디렉토리에 의존한다. 단지 한 라인이 리스팅되는 상점과 가구로 가는 공중전화와 다중 라인을 포함하여 미국 전화 번호중 30% 이상은 리스트에 없다. 그런 디렉토리의 정보는 리스팅된 소비자와 상점의 위치와 관련 정보가 변화함에 따라 급속히 퇘색되고 있다. 그러므로, 종래 시스템보다 훨씬 더 높은 호출 비율을 정확히 루팅하는 어떤 시스템이 요구된다. 미국에서, 그런 시스템은 전화번호의 AT&T 유니버스에 직접 접근을 요구할 것이다. 그런 시스템은 바람직하 게 매일 갱신되고 리스트에 없는 전화번호를 사용할 것이고 전화 회사에 의해 유지되는 조정된 전화 데이터베이스와 제3자에 의해 유지되는 클라이언트 데이터베이스 사이의 경과 정보를 포함할 것이다.
이미 논의된 3가지 단점들은 더 낮은 소비자 서비스와 만족 및 다양한 이유, 잘못된 루팅, 및 높은 전진 유지 비용 때문에 루팅될 수 없는 수동 예외 취급에 기인한 더 높은 비용을 초래한다. 수동 예외 취급은 일반적으로 "1-800" 호출에서 오퍼레이터 개입을 요구한다.
다른 종래 시스템은 고객이 상기 시스템으로부터 음성 안내에 응답하여 터치 톤 키보드상에서 이들의 zip 코드 또는 시내번호를 입력할 것을 요구한다. 키보드상에서 호출자 입력한 데이터에 기초하여, 상기 전화 호출은 목적지 전화로 보내진다. 다른 유사한 시스템은 고객에게 음성 메시지에 의해 지역 딜더를 위한 다른 전화 번호를 알려줄 것이고, 상기 시스템은 호출을 자동으로 보내기보다는 수동으로 다이얼링해야한다. 어떤 부가적 고객 개입 또는 입력을 요구하지않는 어떤 시스템이 요구된다. 그런 시스템은 국가 원칙에 관련하여 조정된 전화 회사에 의해 단지 접근되고 사용될 수 있는 표준 전화 패킷에서 최소 10-디짓 전화번호를 사용함으로써 전적으로 자동화될 것이다. 상기 전화 패킷은 완전한 출처와 목적지 전화 번호를 포함한다.
자동 전화 루팅 시스템의 원칙은 호출 가입자의 전화번호를 자동으로 식별하는 수단을 포함해야 한다. 그런 시스템은 미국특허 제5,163,087호에서 카프랜에 의해 개시되었다. 이런 시스템은 호출 가입자의 자동 번호 인식(ANI)을 호출된 가 입자에 의해 미리 정의된 고객 데이터베이스로 변환한다. 다음에, 호출된 상점에서의 컴퓨터가 룩업될 키와 상점의 관리자에 대한 현재 고객 정보를 처리하도록 상기 데이터베이스 키, 예를 들어 고객 과금 번호가 ANI 정보 대신에 호출된 가입자에게 제공된다. 이런 시스템은 호출자가 고객 레코드 또는 다른 유사한 정보를 형성하기 위해 상점의 관리자에게 정보를 제공하도록 이전에 그런 상점을 호출하였다고 가정한다. 상기 카플랜 시스템은 나라 곳곳의 다수의 서비스 위치라기보다는 하나의 상점으로 데이터베이스 키를 운반한다. 상점으로의 데이터베이스 키 운반은 상점에 추가 부담이 되는 통합 서비스 디지털망(ISDN) 또는 유사한 설비를 요구한다.
자동 루팅 시스템은 데이터베이스 키 또는 메시지를 최종 목적지로 운반할 필요가 없지만, 단순히 우편 서비스 zip+4 코드와 같이 작은 지리적 지역으로 나라의 구획을 포함하는 테이블에 대한 인덱스로서 ANI 정보를 이용할 것이다. 이런 구획은 상기 나라 어디에나 있을 수 있는 다수의 서비스 위치중 하나에 접근하는데 추가로 사용될 것이다. 전화 호출 루팅을 위한 현재 시스템은 리스킨에 의해 미국 특허 제4,757,267호에 개시되어 있다. 리스킨은 호출자로부터 호출자와 같이 동일한 지역 코드와 시내번호(10-디짓 전화번호중 첫번째 6-디짓, "6-디짓 번호")내에 위치한 딜러에게 호출을 루팅하기 위해 자동 번호 식별(ANI)을 사용한다. 6-디짓 번호에 의해 식별되는 지역이 꽤 크고 상기 지역내에 여러 딜러가 있을 수 있기 때문에, 상기 딜러 위치는 통상적으로 임의 선택에 기초한 몇몇 위치 리스트, 또는 각각의 위치에 할당되는 가중된 비율로부터 선택된다. 대안적으로, 호출자는 상기 시스템이 서비스 위치가 다른 서비스 위치보다 더 가까운지를 모르기 때문에 큰 지리적 지역에 대해 가능한 딜러 위치 리스트를 제공받는다. 리스킨은 호출자와 서비스 위치에 대한 둘다의 위치를 결정하기 위해 6-디짓 번호를 사용한다. 리스킨은 호출자의 위치가 호출의 6-디짓 교환(실제 위치로부터 0 내지 5 마일이 될 수 있는)을 서비스하는 중앙 교환국의 위치가 될 것이고, 딜러 위치가 ±2300 피트까지 정확한 좌표계를 사용하는 딜러 위치의 6-디짓 교환(실제 위치로부터 0 내지 5 마일이 될 수 있는)을 서비스하는 중앙 교환국의 위치가 될 것이라고 가정한다. 요구되는 것은
호출과 목적지 전화의 위치에 대해 105피트내에서도 지리적 정밀도를 제공하기 위해 GIS 타입 데이터베이스(30피트내에서도 정확한 좌표계와 연관된 좌표 데이터를 사용하는)와 관련하여 호출과 서비스 위치 전화번호와 상기 번호의 물리적 거리 주소의 모든 10-디짓 번호를 사용하는 시스템이다.
결국, 어떤 인간 개입없이 단일 국가 전화 번호로 형성되어진 매우 고비율의 호출을 루팅함으로써 비용을 감소시키는 능력; 즉 단일, 기억하기 쉽고, 무료 장거리 전화 액면가 국가 전화 번호의 클라이언트를 위한 마케팅 장점; 지리적으로 정밀한 결과; 및 어떤 요구된 크기와 모양의 각각의 서비스 위치 근처의 고객 서비스 지역을 한정하기 위한 상점 능력을 제공하는 자동화된 전화 루팅 시스템이 필요하다. 바람직하게, 클라이언트는 어떤 크기의 반경 또는 어떤 크기와 모양의 다각형을 갖는 지역으로서 각각의 위치 서비스 영역을 한정할 수 있다.
빈번하게, 호출자는 서비스 상점 위치로 사실상 완료된 전화 호출에 시간을 낭비할 필요가 없고, 오히려 호출자는 상기 상점에 관한 정보를 필요로 한다. 예를 들면, 호출자는 3개의 가장 가까운 서비스 위치를 결정하기를 원할 수 있고, 또는 더욱 상세하게 호출자는 상점이 여전히 열려있는지 알고 싶어하거나 또는 요구된 항목 등의 목록을 갖기를 원한다.
C. 종래 음성 응답 유니트 사용
전통적으로, 수천의 서비스 위치를 갖는 상점, 비영익 기구 및 정보기관은 고객에게 각 서비스 위치, 부와 개인에 대해 적어도 하나의 전화번호로 접촉하는 다중 전화 번호 포인트를 제공한다. 이것은 찾고, 기억하고 다이어링하여 요구된 위치 또는 서비스에 대한 올바른 내부 실체 전화번호로 접속하는 고객들 및 가망있는 고객에게 주요 부담을 안겨준다. 전자 상거래의 새로운 세계에서, 이런 실체는 고객 접촉의 바람직한 단일 초기 시점으로서 배니티(vanity) 전화 번호를 장려하기 시작했다. 이런 배니티 번호는 상점에 의해 선택되는 전화 번호(예를 들어, 1-800-FLORIST)를 기억하기 쉽다. 상기 배니티 전화 번호는 전형적으로 지역 코드로서 "800" 또는 "900" 또는 지역 교환 시내번호 "555" 또는 "950를 가진다.
이런 배니티 번호로 가고있는 대량의 호출에 기초하여, 고객은 1주 7일 및 하루 24시간의 확장된 지원 시간을 요구하며, 감소된 전화번호는 통화중이고 통화중 시간이 음성 응답 유니트(VRU : Voice Response Units)를 사용하여 배니티 번호 호출에 응답하는 많은 배니티 광고자를 초래하였다. 소위 지능형 호출 프로세싱이 있더라도 더 높은 호출 비율이 VRU에 의해 응답되어지더라도, 배니티 번호의 확산과 VRU의 사용은 자동화할 필요가 형성되었다.
이런 정황에서, 자동화된 지능형 호출 프로세싱은 ANI와 다이얼링 번호 식별 서비스(DNIS: dialed number identification servie)와 같은 네트워크 지원되는 데이터 및 터치 톤 전화 키패드 또는 VRU에서 직접 전하는 호출자를 통해 듀얼 톤 다중주파수(DTMF)에 의해 기입되는 데이터와 같은 호출자 제공된 데이터의 획득으로서 정의된다. 상기 지능형 VRU는 추가로 미리 기록된 메시지를 플레이하고, 특정한 테스트 메시지 호출을 형성하고 이들을 호출자에게 전하고, 및/또는 서비스 위치로 호출자를 루팅하여 연결함으로써 호출자의 요구를 판독하고, 확인하고, 처리하며, 실행한다.
대조적으로, 반자동화된 지능형 호출 프로세싱 수단은 고객 요구의 구성요소가 지능형 호출 프로세싱을 통해 자동화될 수 있지만, 상기 요구의 일부는 여전히 오퍼레이터에 의한 호출동안의 지원을 요구한다.
자동화된 지능형 호출 프로세싱의 추가 카테고리는 클라이언트가 음성 응답 설비를 사용하지 않기를 원하지만 상기 시스템의 자동화된 루팅 형태를 사용하는 상황을 포함한다. 그런 상황에서, 상기 VRU는 음성/말하기 형태를 가지지않는 네트워크 터미네이팅 포인트 인터페이스(NTPI : network terminating point interface) 박스에 의해 대체될 수 있다.
VRU 또는 NTPI 박스가 더 높은 비율의 호출자 요구를 취급하기 위하여, 더 많은 정보가 VRU 또는 NTPI 박스에 즉시 접근가능하여야 한다. 이것은 서로다른 컴퓨터 시스템에 저장된 많은 서로 다른 데이터베이스에 대한 실시간 접근을 요구한다. 컴퓨터 네트워킹 기술의 최근 진보, 네트워킹 표준, 속도와 대역폭의 증가, 및 먼 거리 데이터 통신을 위한 비용 감소는 공통 지역을 광범위 네트워킹으로 만들었다. 이것은 부분적으로 컴서브, 아메리카 온라인, 마이크로소프트 네트워크 및 인터넷과 같이 컴퓨터 네트워크 서비스에 의해 지원되는 다양한 컴퓨터 인터페이스 애플리케이션에 의해 증명된다.
거의 200만 접근 지점을 갖는 국가 원격통신 네트워크에서, 대부분 단지 기본 터치 톤 또는
이런 타입의 접근은 현존 고객 호출과 관련한 많은 애플리케이션에 대해 만족스럽게 동작한다. 그러나, 서로다른 타깃 마켓을 서비스하는 새로운 고객, 새로운 상점 또는 새로운 애플리케이션에 대해, 이런 내부 데이터베이스는 경제적인 VRU 데이터베이스 룩업 애플리케이션을 형성하는 적용분야에서 너무 희박하다. 한편, 전화 번호를 포함하지않는 GDT Zip+4 위도와 경도 파일과 같은 국가 데이터베이스가 있다. 따라서, 이런 데이터베이스, 및 전화번호 필드를 포함하지않는 이런 데이터베이스의 파생물은 VRU 전화 호출 프로세싱 애플리케이션에서 사용되고 있지않다.
VRU 또는 NTPI 박스에 즉시 이용가능한 거의 제한되지않은 양의 데이터를 형성하는데 있어서의 오류 링크는 표준화되고 정밀하고 유니버설한 데이터베이스 결합 키를 형성한다. 이런 키는 전화번호와 공간, 지리적 클라이언트 서비스 위치 데이터베이스 사이의 직접 및/또는 자동중계 결합 매커니즘으로서 기능하는데 필요하며, 여기에서 상기 서비스 지역은 어떤 한정된 크기와 모양이 될 수 있다. 상기 언급한 데이터베이스중 공유되는 공통 특성은 이들의 지리적 위치, 한정 및/또는 관계이기 때문에, 필요한 것은 여기에서 공간 키로 불리우는 유니버설 하이어아치컬 지리학적 결합 키의 로버스트 솔루션이다. 상기 공간 키를 사용하여, 호출자에게 정보를 제공하고 및/또는 서비스 위치와 호출자를 연결하는많은 VRU 애플리케이션을 자동화하는데 쓸모있게 되었다.
VRU 또는 NTPI 박스와의 공간 결합 또는 공간 키 결합의 여러 실시예중에서 선택된 옵션이 바람직할 것이다. 이것은 다음과 같은 것들을 포함한다. (1) 연관된 공간 키를 갖는 호출자 제공된 전화 번호를 가지는 마스터 테이블과 클라이언트 서비스 위치 정보에 대해 공간 키를 링킹하는 자동적으로 발생된 클라이언트 테이블의 사용. (2) 루팅 속도가 매우 중요하거나 호환성이 현재 원격통신 네트워크와 관련하여 필요할 때 다른 전화 번호로 전화 번호를 링킹하는 단일 테이블의 사용. 원격통신 네트우ㅝ크는 일반적으로 새로운 기술을 사용하기 위해 긴 도입 시간을 요구한다. 그런 실시예가 단일 테이블을 사용하기 때문에, 원격통신 네트워크 견지로부터 수행되는 더 간단한 실시예가 될 것이다. (3) 대량 호출 및 트랜잭션 프로세싱 속도가 문제가 되지않고 및/또는 컴퓨터 저장장치가 제한된 리소스이고 애플리케이션이 다른 공간 키 인덱싱 데이터베이스에 대한 공간 키 결합을 요구하지않을 때의 상황에서 정밀한 서비스 위치로 정밀한 호출자 위치를 관계시키기 위한 실시간 공간 프로세싱의 사용. 그런 시스템은 갱신하는데 더 간단한 실시예가 될 것이고 요구된 파일들은 독립적으로 유지될 수 있다.
실시간 호출 프로세싱에서의 종래 시도는 정밀도가 떨어진다. 전형적인 종래 시도는 미국 전화번호의 모든 10-디짓보다는 오히려 지역 코드와 교환 번호(6- 디짓)을 사용한다. 예를 들면, 리스킨 특허는 ±5마일 정밀도로 호출자 위치와 서비스 위치를 식별하기 위하여 벨코어의 V & H 좌표계를 사용한다. 이런 종래 시스템은 서비스 위치에 대한 정밀한 서비스 지역 한정을 사용하지않고, 오히려 호출자 위치 근처의 클라이언트 한정된 서치 반경을 사용한다. 그러나, 호출자의 위치는 호출자의 전화가 물리적으로 연결되는 전화국의 V & H 좌표에 의해 정의되고, 그래서 상기 서치 반경은 사실상 각각의 전화국 근처에 있다. 상기 서치 반경은 잠재적 서비스 위치 리스트를 얻기 위하여 V & H 좌표 인터리브 인덱스를 서비스 위치 파일에 접근시키는데 사용된다. 다음에, 호출자의 교환국 위치와 잠재적 서비스 위치에 대한 교환국 위치 사이의 거리를 결정하기 위한 계산이 수행된다. 이런 정보는 최종 서비스 위치 리스트를 개발하는데 사용된다.
필요한 것은 호출자 또는 호출자 제공된 전화번호의 위치 및 서비스 장소의 위치를 정밀하게 결정할 수 있는 시스템이다. 또한 필요한 것은 클라이언트가 각 서비스 장소 근처의 서비스 지역을 정밀하게 한정하는 능력이다. 게다가 필요한 것은 호출자가 알아채지 못하도록 빠르게 전화 호출을 루팅하는 능력이다. 서비스 위치를 결정하기 위한 종래 시스템에 의해 사용되는 호출자 위치로부터 서비스 위치까지의 부정확한 거리 계산은 이런 목적을 위해 더이상 요구되지않는다. 상기 2개의 언급된 지점 사이의 거리를 정밀하게 결정하기 위해 여기에 개시된 시스템의 능력은 다중 호출자 서비스 위치들 사이의 추가로 선택하고 호출자에 대한 서비스 위치의 근접성을 고려한 정보를 제공하기 위한 유효한 아이템 정보를 제공한다.
또한 필요한 것은 상기 시스템에서의 실시간 프로세스의 사용에 의해 하나 이상의 호출자 서비스 위치를 식별하기 위해 좌표에 의해 한정되는 이동 또는 휴대 전화의 순간 위치를 사용하는 능력이다. 상기 실시간 프로세스는 실시간으로(공중으로) 호출자를 위해 하나 이상의 서비스 위치를 계산할 수 있다. 일실시예에서, 상기 시스템은 전화망으로부터 이동 전화의 위도와 경도와 같은 좌표를 얻을 수 있다. 다른 실시예들은 실시간 프로세스 이외의 다른 좌표 타입 또는 프로세스를 사용할 수 있다.
모든 바람직한 실시예에서, 어떤 요구된 크기와 모양의 클라이언트 서비스 위치와 연관된 서비스 지역을 사용하는 것이 바람직할 것이다. 게다가, 선택적으로 클라이언트가 서비스 지역 정보를 호출자에게 제공하는 것이 바람직할 것이다. 그런 옵션은 바람직하게 예를 들어 서비스 위치 ID 또는 전화 번호에 의한 클라이언트 서비스 정보를 포함하는 파일에 링크되는 음성/말하기 특성을 가지는 NTPI 박스를 사용할 것이다. 상기 선택적 클라이언트 서비스 위치 정보는 예를 들어 우송을 위한 서비스 위치의 주소와 같은 것들을 호출자에게 제공하고, 선택된 서비스 위치에 대해 어떤 것을 픽업 및/또는 떨어뜨리고; 호출자에게 서비스 위치에 대한 미리 저장된 미세지역 방향을 제공하고; 또는 상기 위치의 개점 시간, 폐점 시간 또는 픽업 시간을 제공하는 것을 포함할 수 있다.
본 발명은 호출자를 서비스 위치에 연결하고 및/또는 서비스 위치를 고려한 호출자 정보를 제공함으로써 자동적으로 전화 호출을 처리하기 위한 시스템과 방법을 포함한다.
본 발명은 리스트에없는 번호, 2차 공표되지않은 비즈니스 라인, 이동전화 및 공중전화를 포함하는 모든 공표되고 공표되지않은 전화 번호를 루팅하는 방법을 제공한다. 또한 본 발명은 고객의 호출을 정밀하게 정확한 합법 프랜차이즈 지역으로 루팅함으로써 프랜차이즈와 프랜차이즈 사이에 실행되는 계약된 프랜차이즈 구역 한정에 합법적으로 따르는 방법을 제공한다. 부가적으로, 본 발명은 우편 지리학, 인구조사 지리학, 원격통신 지리학, 특별한 격자 좌표 지리학 및 모든 고객 지리학을 포함하는 어떤 지리학적 한정에 기초하여 정밀하게 루팅하는 방법을 제공한다.
본 발명은 프리셋 클라이언트 프로토콜에 부합되지 않는 고객 호출을 자동적으로 루팅하고 처리하기 위한 방법을 제공한다. 이런 "예외 취급" 프로세스는 프리셋 예외 취븍 프로토콜을 실행하는 "라이브" 오퍼레이터로 루팅한다. 또한 본 발명은 관계가 없는 지리학적 정보 시스템과 데이터베이스 기술, 원격통신 시스템 및 데이터베이스 기술, 우편 시스템과 데이터베이스 기술, 및 컴퓨터 기술을 공통 애플리케이션 구동 구조로 통합하는 방법을 제공한다. 부가적으로, 본 발명은 시간지연없이 클라이언트와 마스터 테이블을 동적이고 순간적으로 갱신하고 통합하는 방법을 제공한다. 게다가, 본 발명은 전화 호출을 고객 요구된 목적지로 자동으로 루팅하는 고객 인터페이스를 사용하여 고객에 의해 입력되는 정보의 처리를 자동화하는 방법을 제공한다.
본 발명은 호출자의 전화번호를 사용하고, 상기 위치에 대한 공간 키를 결정하며, 어떤 크기 또는 모양으로서 한정될 수 있는 서비스 지역을 갖는 서비스 위치 와 상기 키를 공간적으로 관련시킴으로써 호출자와 연관된 전화의 정밀한 위치를 결정하기 위해 2개의 테이블 시스템을 사용한다. 대안적으로, 호출자 제공된 전화 번호가 호출자 전화번호로 대체될 수 있고, 이런 경우에 상기 위치는 호출자 제공된 전화번호와 연관된 전화가 된다. 이런 프로세스는 제1 테이블로부터 연관된 공간 키를 갖는 원격통신 네트워크 획득된 호출자 10-디짓 전화번호를 검색함으로써 시작한다. 다음에, 연관된 공간 키를 갖는 레코트가 공간 키와 어떤 한정된 크기와 모양의 서비스 지역 사이의 공간 중첩 관계를 수학적으로 형성하는 자동화된 프로세스에 의해 형성되는 제2 테이블로부터 검색된다. 최종적으로, 검색된 서비스 위치 의존성 데이터는 호출자를 선택된 서비스 위치로 연결시키기 위해 또는 추가 네트워킹 프로세싱을 위해 다시 원격통신 네트워크로 전달된다.
상기 시스템의 키 구성요소는 호출자, 또는 공간 키와 루팅 커넬을 갖는 호출자 제공된 전화 번호의 정밀한 공간 및 지리학적 위치를 식별하기 위해 호출자 위치 식별자를 포함한다. 상기 루팅 커넬은 지리학적으로 한정된 클라이언트 서비스 영역이 호출자 제공된 전화 번호의 위치를 포함하는지를 능률적으로 결정하기 위해 다이얼링된 번호를 사용하고 호출자 위치로부터 각각의 이런 서비스 위치로의 거리와 방향을 결정한다.
본 발명은 자동화된 테이블 형성 프로세스 대 종래 시스템에서 사용된 서비스 위치 전화 테이블로 호출자 전화 번호를 형성하고 유지하는 수동 프로세스의 형성 및 유지 장점을 제공한다. 자동적으로 형성된 클라이언트 테이블은 공간 키(예를 들면, ZIP+4)가 각각의 서비스 지역내에 있는지를 동시에 결정하기 위해 서비스 지역 리스트에 접근하고, 각각의 ZIP+4로부터 서비스 위치까지의 거리를 계산하고, 각각의 포함된 ZIP+4에 대한 레코드를 파일로 기록하며, ZIP+4를 참조하고 거리를 오름차순함으로써 상기 파일을 소팅 및 인텍싱한다.
하나의 히트타임(Heat-Time) 프로세싱 실시예에서, 상기 시스템은 호출자의 위도와 경도를 결정하고, 이런 위도와 경도에 기초하여 상기 시스템은 호출자 위치를 잠재적으로 서비스하는 위치 리스트를 공간적으로 결정한다. 다음에 상기 시스템은 호출자의 위도와 경도가 서비스 위치의 서비스 지역내에 있는지 결정하기 위해 상기 리스트내의 각각의 잠재적 위치에 대해 상세한 공간 테스트를 수행한다. 서비스 지역내에 있다면, 호출자로부터 서비스 위치까지의 거리가 결정되고 서비스 위치의 리스트에 부가된다. 모든 잠재적 위치가 처리되어진후, 상기 서비스 리스트는 거리에 기초한 오름차순 순서로 저장되고 호출을 루팅하고 있는 전화망에 의한 사용을 위해 애플리케이션 역할 스트림으로 다시 전달된다.
능률적 실시간 프로세싱을 조장하기 위하여, 서비스 지역 윈도우 파일이 사용된다. 이런 파일내의 각각의 레코드는 적용할 수 있는 바와 같은 서비스 위치 전화 번호 또는 ID 및 재다이얼링 정의된 서비스 지역 또는 다각형 정의된 서비스 지역의 위도와 경도 말항으로부터 결정된 위도/경도 윈도우를 포함한다.
2 테이블 시스템(마스터와 클라어언트 테이블)의 추가 파생물은 클라이언트 위치 테이블을 사용하는 3개 테이블 시스템이다. 대안적으로, 상기 클라이언트 서비스 위치 테이블은 1 테이블 시스템 또는 실시간 프로세스 시스템으로 통합될 수 있다. 그러므로, 상기 클라이언트 서비스 위치 테이블은 이런 시스템중 어느 것으 로든 증대된다.
2 테이블 시스템에서, 상기 마스터 테이블과 클라이언트 테이블은 호출자 제공된 전화 번화와 서비스 위치의 공간 서비스 관계를 결정하는데 사용된다. 그러나, 호출자를 서비스하는 다중 서비스 취치가 있는 호출 처리에서, 호출자를 위해 최상의 서비스 위치를 선택하는데 필요로 되는 어떤 공간적 특성을 갖지않는 다른 서비스 위치 의존성 데이터(예를 들어, 개점 시간, 개점일, 제품 목록)가 있다. 이런 데이터는 클라이언트 서비스 위치 테이블로 불리우는 제3 테이블내에 가장 효률적으로 저장된다. 이런 테이블에는 서비스 위치 식별(ID)에 의해 또는 서비스 위치 전화 번호에 의해 인덱싱되는 서비스 위치당 하나의 레코드가 있다. 또한 이런 테이블은 음성 응답 유니트에 의해 호출자에게 말해줄 수 있는 서비스 위치, 이름, 주소, 서비스 위치에 대한 일반적인 방향, 말단 전화 번호, 팩스 번호 등과 같은 정보 데이터를 포함할 수 있다.
본 발명의 특징은 다이얼링된 번호를 수신할 수 있는 호출 디코딩 모듈과 호출자 전화의 순간 위치에 대응하는 호출자 공간 좌표를 가지는 전화망 호출 프로세싱 시스템과; 선택된 서비스 위치에 대응하는 클라이언트 서비스 위치 전화 번호를 제공하기 위해 다이얼링된 번호와 호출자 공간 좌표에 반응하는 실시간 프로세싱 모듈을 포함하는데, 상기 서비스 위치는 호출자 공간 좌표가 어떤 요구된 모양과 크기의 클라이언트 정의된 지리적 구성을 가지는 서비스 영역내에 포함된다면 제공되며; 제공된 클라이언트 서비스 위치 전화번호를 전화망으로 전송하기 위한 아웃바운드 호출 모듈을 포함한다.
본 발명의 다른 특징은 전화망에서 사용하기 위한 호출 프로세싱 실시간 방법을 포함하며, 상기 방법은 다이얼링된 전화 번호와 호출자 전화의 순간 위치에 대응하는 호출자 공간 좌표를 수신하는 단계와; 상기 다이얼링된 전화 번호와 호출자 공간 좌표에 응답하여 선택된 서비스 위치에 대응하는 클라이언트 서비스 위치 전화 번호를 제공하는 단계를 포함하는데, 상기 서비스 위치는 호출자 공간 좌표가 어던 요구된 모양과 크기의 클라이언트 정의된 지리적 구성을 가지는 서비스 지역에 포함된다면 선택되며; 상기 제공된 클라이언트 서비스 위치 전화 번호를 전화망으로 전송하는 단계를 포함한다.
본 발명의 또다른 특징은 이동 전화와 사용하기 위한 호출자 위치에 기초한 루팅을 수행할 수 있는 자동화된 호출 프로세싱 시스템 및 방법을 포함한다. 상기 시스템의 일실시예는 호출자 전화의 순간 위치에 대응하는 호출자 공간 좌표를 수신할 수 있는 호출 디코딩 모듈; 선택된 클라이언트 서비스 위치에 대응하는 호출자 공간 좌표 의존성 데이터를 검색할 수 있는 중앙 교환 프로세스를 포함하는데, 상기 중앙 교환 프로세스는 클라이언트 데이터베이스를 사용하고 상기 클라이언트 데이터베이스는 다수의 클라이언트 서비스 위치에 기초하여 형성되고, 각각의 클라이언트 서비스 위치는 어떤 요구된 모양과 크기의 연관되는 클라이언트 정의된 서비스 지역을 가지며; 호출자 공간 좌표 의존성 데이터를 전화망으로 전송하기 위한 아웃바운드 호출 모듈을 포함한다.
본 발명의 또다른 특징은 전화망에서 이동 전화와 사용하기 위한 호출자 위치에 기초한 루팅을 수행할 수 있는 자동화된 호출 처리 시스템을 포함하는데, 상 기 시스템은 이동 전화 호출자의 순간 위치에 대응하는 호출자 공간 좌표를 수신할 수 있는 인바운드 수신용 모듈과; 클라이언트 서비스 위치 전화번호를 제공하기 위해 호출자 공간 좌표에 응답하는 호출 프로세싱 프로세스를 포함하는데, 서비스 위치는 호출자 공간 좌표가 어떤 요구된 모양과 크기의 클라이언트 정의된 지리학적 구성을 가지는 서비스 영역내에 포함된다면 제공되며; 상기 제공된 클러이언트 서비스 위치 전화번호를 전화망으로 전송하기 위한 아웃바운드 호출 모듈을 포함한다.
도 1a는 본 발명의 바람직한 클라이언트 테이블 형성 프로세스에서 사용되는 파일의 블록 다이아그램.
도 1b는 도 1a의 테이블 형성 프로세스의 결과를 사용하는 본 발명의 동적 중앙 교환 링킹 프로세스의 일부에 대한 블록 다이아그램.
도 1c는 본 발명의 호출 전화와 목적지를 상호연결하는 중앙 교환 링킹 프로세스의 바람직한 실시예에 대한 시스템 레벨 다이아그램.
도 2는 도 1c의 시스템을 위한 루팅 네트워크의 보기를 설명하는 맵 다이아그램.
도 3은 도 1c의 시스템을 위한 반경 한정된 서비스 영역을 사용하는 클라이언트 테이블을 형성하는 프로세스에 대한 가장 중요한 흐름도.
도 4는 도 3에 도시된 프로세스의 설명에 사용되는 모범 지역을 설명하는 맵 다이아그램.
도 5는 도 3에서 182로 표시된 zip 윈도우 리스트 펑션의 흐름도.
도 6은 도 5에서 262로 표시된 zip 윈도우 펑션의 흐름도.
도 7은 도 3에서 184로 표시된 초기 zip 리스트 펑션의 흐름도.
도 8은 도 7에서 322로 표시된 zip 리스트 펑션으로부터 사본을 제거하는 흐름도.
도 9는 도 3에서 186으로 표시된 최종 zip 리스트 펑션의 흐름도.
도 10은 도 3에서 188로 표시된 가장 가까운 서비스 위치의 흐름도.
도 11은 도 3에서 196으로 표시된 호출자 펑션에 가장 가까운 서비스 위치의 흐름도.
도 12a는 도 1의 시스템을 위한 다각형 정의된 서비스 지역을 사용하는 클라이언트 테이블을 형성하는 프로세스의 가장 중요한 흐름도.
도 12b는 도 12a의 프로세스에서 사용된 파일의 블록 다이아그램.
도 13은 도 12a에 도시된 프로세스의 셜명에 사용된 모범 지역을 설명하는 다이아그램.
도 14는 도 12a에서 612로 표시된 zip 윈도우 리스트 펑션의 흐름도.
도 15는 도 14에서 680으로 표시된 zip 윈도우 리스트 펑션의 흐름도.
도 16은 도 12a에서 614로 표시된 초기 zip 리스트 펑션의 흐름도.
도 17은 도 16에서 752로 표시된 zip 리스트 펑션으로부터 사본을 제거하는 흐름도.
도 18은 도 12a에서 616으로 표시된 최종 zip 펑션의 흐름도.
도 19a와 도 19b는 도 12a에서 618로 표시된 라인 인덱스 파일 펑션의 흐름도.
도 20은 도 12a에서 620으로 표시된 zip+4 사이트 다각형 체크 펑션의 흐름도.
도 21은 도 20에서 930으로 표시된 다각형 테스트 펑션에서의 지점에 대한 흐름도.
도 22는 클라이언트 테이블이 1 테이블 시스템의 제1 실시예를 위한 전화번호 대 전화번호 테이블이 되는 클라이언트 테이블 형성 프로세스에 사용된 파일과 프로세스를 설명하는 블록 다이아그램.
도 23은 1 테이블 시스템의 제2 실시예를 위한 머지 동작에서 사용된 파일과 프로세스를 설명하는 블록 다이아그램.
도 24는 도 23에서 1040으로 표시된 매칭 및 부가 펑션의 흐름도.
도 25는 도 24에 도시된 마스터 테이블 리스트 서브루틴(1050)을 형성하는 흐름도.
도 26은 도 24에 도시된 클라이언트 테이블 리스트 서브루틴(1052)을 형성하는 흐름도.
도 27은 어떤 교환국에서 사용되는 네트워크 구성을 포함한, 1 테이블 시스템의 블록 다이아그램.
도 28은 도 22 또는 도 23의 테이블과 도 27의 네트워크 구성을 사용하여 호출 전화와 목적지 전화에서 호출자를 상호연결하기 위한 호출 프로세싱 링킹 프로 세스의 일실시예에 대한 흐름도.
도 29는 상기 시스템의 실시간 프로세스 실시예에서 사용된 파일과 프로세스의 블록 다이아그램.
도 30은 호출 프로세싱 센터에서 사용되는 네트워크 구성을 포함한, 실시간 프로세스 시스템의 블록 다이아그램.
도 31은 도 29에서 1212로 표시된 서비스 지역 윈도우 파일 형성 프로세스의 흐름도.
도 32는 도 31에서 1250으로 표시된 반경 위도/경도 펑션의 흐름도.
도 33은 도 31에서 1252로 표시된 다각형 위도/경도 펑션의 흐름도.
도 34는 도 31에서 1254로 표시된 기록 서비스 지역 윈도우 레코드 펑션의 흐름도.
도 35는 서비스 지역이 호출자 위치를 포함하는 서비스 위치의 리스트를 형성하기 위하여 도 29에서 1220으로 표시된 실시간 프로세스의 가장 중요한 흐름도.
도 36은 도 35에서 1346으로 표시된 초기 서비스 지역 리스트 퍼연의 흐름도.
도 37은 도 35에서 1348로 표시된 호출자 위치 내부 서비스 지역 말항의 흐름도.
도 38은 도 37에서 1380으로 표시된 호출자 내부 서비스 영역 테스트 펑션의 흐름도.
도 39는 도 29의 테이블과 도 30의 네트워크 구성을 사용하여 호출 전화와 목적지 전화에서의 호출자를 상호연결하기 위한 호출 처리 링킹 프로세스의 실시예에 대한 흐름도.
도 40은 도 29의 테이블과 도 30의 네트워크 구성을 사용하여 고정된 위치 호출 전화 또는 이동 호출 전화에서의 호출자를 상호연결하기 위한 호출 처리 링킹 프로세스의 실시예에 대한 흐름도.
본 발명의 바람직한 실시예의 상세한 설명은 청구범위를 이해하는 것을 돕는 어떤 특별한 실시예의 설명을 제공한다. 그러나, 본 발명은 청구범위에 의해 한정되고 범위가 정해지는 다수의 다른 방법으로 구현될 수 있다.
이제 동일한 부호가 동일한 부분으로 참조되는 도면이 언급된다.
편리함을 위하여, 바람직한 실시예의 논의는 다음 16개 주요한 섹션으로 정리될 것이다.
Ⅰ. 시스템 개요;
Ⅱ. 루팅 보기;
Ⅲ. 일반적 클라이언트 테이블 형성 프로세스;
Ⅳ. 반경 한정된 서비스 지역에 대한 클라이언트 테이블 형성 프로세스;
Ⅴ. 호출자에 가장 가까운 서비스 위치에 대한 클라이언트 테이블 형성 프로세스;
Ⅵ. 다각형 한정된 서비스 지역에 대한 클라이언트 테이블 형성 프로세스;
Ⅶ. 1 테이블 시스템의 개요;
Ⅷ. 1 테이블 시스템 테이블 형성 프로세스;
Ⅸ. 1 테이블 시스템을 위한 컴퓨터-전화 통합 네트워크 구성도;
Ⅹ. 1 테이블 시스템 보기;
XI. 실시간 프로세스 시스템의 개요;
XII. 실시간 프로세스 시스템을 위한 컴퓨터-전화 통합 네트워크 구성도;
XIII. 실시간 프로세스: 서비스 지역 윈도우 파일을 형성하는 오프라인 프로세스;
XIV. 실시간 프로세스: 호출자 제공된 전화 번호의 위치를 포함하는 서비스 지역을 가지는 서비스 위치 리스트를 형성하는 호출 프로세스 동안;
XV. 실시간 프로세스 시스템 보기;
XVI. 이동 전화와 관련한 실시간 프로세스;
XVII. 다른 이동 전화 실시예; 및
XVIII. 요약.
Ⅰ. 시스템 개요
본 발명은 AT & T 및 AT & T 아메리칸 트랜스테크와 같은 공통 캐리어로부터 입력을 수신하는 자동화된 전화 루팅 시스템을 포함한다. 이런 입력은 갱신된 국가 전화 번호의 리스트, 원격통신 인프러스트럭처, 및 예외 취급 지원부를 포함한다.
호출 전화로부터의 전화 호출을 클라이언트에 의해 선택된 목적지 전화로 자동적으로 심리스하게 루팅하기 위한 시스템 및 방법이 개시된다. 클라이언트 서비 스 위치에 관한 선택 정보는 특별한 클라이언트가 정말로 원한다면 호출자에게 제공될 수 있다. 부가적으로, 또한 클라이언트에 의해 형성된 기준에 따라 루팅 시스템에 의해 사용되는 테이블을 형성하는 방법이 개시될 것이다. 또한 이하에서 논의되는 테이블은 파일 또는 데이터베이스로 참조될 것이다.
도 1a를 참조하면, 수행될 계산과 테스트되어야할 순열의 수는 본 발명의 "1-800" 루팅에 사용된 호출 전화 번호 대 서비스 위치 전화 번호 테이블 형성에서 감소된다. 따라서, Zip 윈도우 파일(104)(도 1a 참조)과 이런 파일에 공간적으로 접근하고 작용하는 프로세스(105)는 본 발명의 일부이다. 상기 Zip 윈도우 파일(104)은 단지 다른 타입의 공간 키를 포함할 수 있는 공간 윈도우 파일의 일실시예라고 이해될 것이다. 상기 Zip 윈도우 파일(104)은 잠재적으로 (0.1˚) 위도와 경도 공간 윈도우에 도달하는 모든 zip 코드 리스트를 포함한다. 프로세스(105)에서 서비스 지역을 위한 위도와 경도 말항(최소값 및 최대값) 세트를 사용함으로써, 상기 서비스 지역과 중첩할 수 있는 5-디짓 zip 코드 리스트가 형성된다. 다음에 단지 각각의 서비스 위치에 대한 "인사이드 서비스 지역" 테스트를 수행할 필요가 있고, 작은 zip+4 코드 서브세트가 각각의 서비스 지역의 복귀된 5-디짓 zip 코드에 포함된다.
자동화된 전화 루팅 시스템을 사용하는 각각의 상점 또는 클라이언트를 위한 1억 이상의 레코드, 전화번호 대 전화번호 테이블을 지속적으로 갱신하고 주기적으로 재형성하는 것과 관련된 갱신 문제와 비용은 일실시예에서 동적으로 링크된 갱신가능한 시스템을 형성함으로써 해결된다. 각각의 클라이언트에 대한 전화번호 대 전화번호 테이블을 형성하는 대신에, 도 1b에 도시된 바와 같은 zip+4에 의해 링크되는 2 테이블이 형성된다. 대응하는 물리적 거리 주소를 갖는 전화번호가 zip+4 코드에 할당되며, 마스터 전화번호 대 Zip+4 테이블(107)(도 1b 참조)("마스터 테이블")이 우편 서비스 Zip+4 주소 코딩 가이드, 상업적으로 이용가능한 소프트웨어, 예를 들어 GROUP1 소프트웨어사로부터 입수가능한 CODE-1(메인프레임과 큰 머신을 위한) 또는 AccuMail23(개인 컴퓨터 또는 작은 머신을 위한)를 사용하여 형성된다. 현재 AT&T 아메리컨 트랜스테크에 의해 유지되는 바람직한 마스터 테이블은 전화 번호에 의해 인덱싱 또는 키잉되며, 하루 기준으로 갱신된다. 전화번호가 부가되고, 변경되거나 또는 삭제될 때, 상기 테이블이 갱신된다. 또한 이런 테이블은 분기당 약 1백 5-디짓 zip 코드 변경을 취급하기 위해 주기적으로 갱신되는데, 예를 들어 새로운 zip 코드가 형성될 때 새로운 코드 영역내의 전화 번호는 새로운 zip+4 코드에 할당되어야 한다. 이것은 미국에서의 43,000 zip 코드(5-디짓)에 대한 꽤 작은 양의 변화를 나타낸다. 또한 이런 테이블은 NPA-NXX 스플리트를 취급하도록 주기적으로 갱신되어야 한다. 루팅 시간에, 본 시스템은 모든 클라이언트가 동일한 마스터 전화번호 대 Zip+4 테이블(107)을 사용하도록 한다.
독립적으로, 개별 클라이언트를 기초로, 2천 8백만 이상의 zip+4 코드가 각각 이들의 위도와 경도 중심궤적 좌표를 바탕으로 표준 "인사이드 서비스 지역" 결정 프로세스를 사용하여 하나 이상의 서비스 위치에 할당된다.
그러므로, 본 발명은 서비스 위치 전화 번호 테이블(106)("클라이언트 테이 블", 도 1a와 도 1b)에 대한 클라이언트 Zip+4를 형성한다. 다른 테이블은 각각의 클라이언트 또는 클라이언트가 가질 수 있는 모든 "1-800" 전화 번호에 대해 형성된다. 상기 클라이언트 테이블은 동시에 한 클라이언트 위치 레코드를 처리하는 프로세스를 형성한다. 각각의 레코드를 처리하는데 요구되는 상기 루틴은 위치 서비스 지역 한정: 반경 또는 다각형의 펑션이다. 중간 클라이언트 파일이 형성될 때, 상기 디스크 기억장치 요구가 호출자에 대해 가장 가까운 위치가 아닌 위치들을 제거함으로써 감소될 수 있다. 반경과 다각형 클라이언트 테이블 레코드의 형성 뿐만 아니라 "가장 가가운 위치" 클라이언트 파일을 형성하는 후형성 프로세스가 이후에 개시될 것이다.
다음에 상기 클라이언트 테이블(106)이 바람직하게 호출 처리 센터에서의 중앙집중화된 루팅을 위한 AT&T 아메리컨 트랜스테크에 제공된다. 이런 테이블은 zip+4 코드에 의해 인덱싱 도는 키잉되고 이들이 위치를 부가하고 삭제할 때 그리고 이들이 전화 번호를 변경할때 주기적으로 우체국 zip 코드 변경과 전화망 NPA-NXX 스플리트를 취급하기 위하여 각각의 클라이언트에 대해 갱신된다.
상기 바람직한 시스템을 사용하여, 상기 마스터 테이블(107)과 클라이언트 테이블(106)은 개별 구조에 의해 독립적으로 유지된다. 공간 키 결합으로서 상기 zip+4 코드를 사용하여, 다음에 상기 마스터 테이블(107)의 호출 전화번호가 도 1b에 도시된 바와 같이 클라이언트 테이블(106)의 서비스 위치 전화 번호에 동적으로 결합되고 상기 호출이 자동으로 루팅된다. 상기 공간 키는 특정 지리적으로 한정된 지역, 라인, 도는 한 세트의 좌표에 의해 한정되는 지점을 식별하는 단일 번호 이다. 점 및 사각형과 같은 간단한 지형에 대해 상기 공간 키는 지형에 대한 좌표 설명의 코딩된 버전이 될 수 있다.
상기 우편 zip+4 코드는 마스터 테이블을 클라이언트 테이블에 결합하는데 사용되지만, zip+6 코드 지역, 인구조사 블록 또는 매우 작은 위도/경도 격자, 타일, 윈도우 또는 쿼드-트리(quad-tree)와 같은 단일 공간 키를 가질 수 있는 다른 작은 지리적 영역이 있다. 이런 2 테이블 인덱싱 시도는 고객이 지속적으로 이동하고 상점이 개점, 폐점 및/또는 이동하는 환경에서 더 높은 자동화된 루팅 속도와 더 높은 비율의 정확한 루팅된 호출을 제공한다. 부가적으로, 상기 2 테이블 인덱싱 시도는 또한 정부 규정을 만족하기 위해 조정된 전화 번호 정보와 클라이언트 마켓팅 정보 사이의 "방화벽" 또는 버퍼로서 기능한다.
본 발명의 시스템은 전화 호출을 호출자로부터 AT&T 원격통신 네트워크를 사용하여 약 40ms내에 가장 가까운 서비스 위치로 루팅한다. 리스킨에 의해 개시된 시스템은 상기 호출을 사설 교환으로 인터셉트하고, 가장 가까운 서비스 위치를 탐색한 다음에 서비스 위치로 호출을 보내는데 약 15,000ms 걸리는 동안 상기 호출에 클라이언트 레코딩된 메시지로 응답하고 호출자에게 기다릴 것을 요청한다.
호출을 루팅하기 위하여, 본 발명의 시스템은 100,000,000 이상의 레코드 마스터 테이블에서 호출자의 10-디짓 전화 번호를 조사하고, 호출자 번호의 위치를 식별하는 공간 키를 검색하고, 28,000,000 이상의 레코드 클라이언트 테이블에서 상기 공간 키를 조사하고, 호출자의 공간 키 또는 위치를 서비스하는 위치의 전화 번호를 검색한다. 리스킨에 의해 개시된 시스템은 단지 18,000 단일 좌표를 가지 는 64,000 레코드 변환 파일에서 호출자의 6-디짓 교환을 조사하고, 상기 교환의 V-H(수직-수평) 좌표를 검색하고, V-H 좌표를 인터리빙하고, N 레코드 클라이언트 서비스 위치 데이터베이스의 2진 반복적 V-H 키에 기초한 크기 탐색을 시작한다. 상기 리스킨 시스템은 미리 결정된 범위내에 떨어지는 다수의 서비스 위치를 검색할 때까지 탐색된 지리적 영역의 크기를 조절하는 프로세스를 반복한다. 다음에 리스킨은 각각의 서비스 위치에 대한 거리를 계산한다. 하나 이상의 위치가 가장 가까운 거리라고 고려될 기준에 부합한다면 어떤 위치가 가장 가까운 서비스 위치로서 임의로 선택된다.
Ⅱ. 루팅 보기
더욱 상세한 클라이언트 테이블의 형성을 논의하기 이전에, 우선 "1-800" 루팅 보기에서 이런 테이블과 마스터 테이블의 사용을 논의하는 것이 도움이 될 것이다. 도 1c에 도시된 중앙 교환국 프로세스(108)와 도 2에 도시된 루팅 네트워크를 참조하여, 전화 호출 루팅의 보기가 제공될 것이다. 이런 보기에서, 92076-2064 캘리포니아 솔라나 비치의 498 스티븐 애브뉴에 위치되는 전화(619-755-5666)으로부터 "MyPizza" 피자를 주문하기 위해 호출자가 1-800-이탈리언을 다이얼링한다. 물론, 본 발명은 다른 번호가 다른 실시예에서 사용될 수 있기 때문에 "800" 전화 번호의 사용에 국한되지않는다.
도 1c는 평행사변형 블록에 의해 표시된 114, 132 및 146에서의 프로세스 상태와 데이터를 포함한다. 또한, 상기 중앙 교환 프로세스는 이후에 설명되는 바와 같이 어떤 교환국 내부에서 취급된다.
이런 호출이 호출자의 지역 MyPizza 레스토랑으로 자동으로 루팅되는 것에 포함된 단계들은 다음과 같다.
1. "위치 A"(도 2)에 있는 호출자가 예를 들어 피자를 주문하기 위하여 블록(110)(도 1c)에서 1-800-이탈리언을 다이얼링한다.
2. 다이얼링된 1-800과 호출자의 긴 거리 캐리어에 기초하여, 상기 호출은 여러 전화 회사에 의해 "위치 B"(162)에 의해 도 2에서 표시된 플로리다 잭슨빌에 있는 지능형 중앙 교환국으로 루팅된다. 상기 교환국과 연관된 프로세스는 점선 바로 이전 상태(112)와 점선 바로 이후 상태(148)가 있는 바와 같은 도 1c에 도시된다. 상기 중앙 교환국(111)은 바람직하게 AT&T로부터 입수가능한 "ESST" 디지털 교환국이다. 상기 교환국은 메모리를 갖는 네트워크 제어 포인트 컴퓨터와 같은 일반적인 목적 컴퓨터(도시되지않음)를 포함한다.
3. 잭슨빌 교환국이 호출될 때, 상기 교환국은 자동 번호 인식(ANI)을 수행하는 호출 디코딩 하드웨어(112)에 의해 호출 정보 패킷(114)으로부터 호출자의 전화번호를 검색한다. 바람직한 정보 패킷(114)은 교환국9111)에 유용한 SS7 TCAP 메시지의 동작 파라미터 필드에 대응한다. ANI를 수행하는 하드웨어는 카플랜의 미국특허 제5,163,087호에 개시되어 있다. 1-800-이탈리언의 번호 동등물은 1-800-482-5426이고, 정보 패킷은 다음과 같이 보인다.
패킷:_________619755666____18004825426____
"1-800" 번호는 IN-WATS(인바운드 와이드 지역 전화 서비스 : inbound wide area telephone service) 번호이고 와이드 지역 캐이러에 의해 교환국(111)으로 루 팅되는 POTS(plain old telephone service) 번호에 의해 전송된다. 상기 POTS 번호를 수신할 때, 상기 교환국(111)은 상기 번호를 다시 WATS 포맷으로 전송한다.
4. 다음에, 결정 상태(116)에서, 상기 프로세스(108)는 클라이언트가 호출자에게 터치 톤 전화 키보드 또는 다른 수단에서 전화 번호를 입력하기 위한 옵션을 제공했는지를 결정한다. 다른 실시예에서, 예를 들어 신용카드 번호, 계좌번호, 또는 제품 주문 정보와 같은 다른 문자가 상기 시스템의 다른 특징을 부여하도록 입력된다. 바람직한 실시예에서, 상기 전화번호는 호출자가 요구하는 위치, 예를 들어 배달될 제품 또는 수행될 서비스를 나타낸다. 보기로서, 클라이언트가 800-FLORIST와 같은 전화 번호를 가지고 옵션 입력 형태를 원한다면, 호출자는 호출자 입력된 전화 번호에 대응하는 주소로 운반되는 꽃을 가지기 위해 선택할 수 있다. 상기 결정 상태(116)가 참으로 결정되면, 상기 프로세스(108)는 호출자에 의해 입력된 전화 번호를 획득하기 위해 상태(118)로 이동한다. 이런 번호는 추가 취급을 위해 정보 패킷내의 호출 번호 대신에 사용된다. 그러나, 결정 상태(166)가 거짓으로 결정되면, 최초 호출 번호는 변경되지않으며, 상기 프로세스(108)는 결정 상태(120)로 이동한다.
5. 결정 상태(120)에서, 상기 프로세스(108)는 정보 패킷의 호출 번호가 있는 전화의 것인지를 결정한다. 이동 전화를 나열하는 교환국(111)의 컴퓨터에서의 파일은 현재 AT&T 아메리컨 트랜스테크에 의해 유지되고 요구된 바와 같은 원리에 기초하여 갱신된다. 그러므로, 이동 전화 번호 파일은 단지 호출 번호가 이동 전화의 것인지를 식별하기 위하여 영역 코드와 프리픽스 조합(6-디짓)를 포함할 필요 가 있다. 상기 이동 전화 사용자가 결정 상태(120)에서 결정된 바와 같이 고정 위치와 연관되지 않기 때문에, 상기 프로세스(108)는 루팅할 수 없는 예외를 취급하기 위해 상태(128)로 이동한다. 다음에 오퍼레이터는 이동 전화 호출자로부터 위치 정보를 요구할 것이다. 상태(128)에 대한 부가 정보가 아래에서 제공될 것이다. 호출자가 이동 전화를 상ㅇ하지 않는다면, 상기 프로세스(108)는 상태(120)로부터 상태(122)로 지속한다.
6. 상태(122)에서, 상기 프로세스(108)는 룩업 펑션을 수행하는데, 예를 들어 일실시예에서 바람직하게 공지된 인덱싱 순차적 접근 방법(ISAM : Indexed Sequential Access Method)을 사용하여 마스터 전화 번호를 Zip+4 테이블(107)(도 1b 참조)로 인덱싱하기 위해 호출자의 전화 번호를 검색한다. ISAM은 피터슨과 실버스케츠에 의한 블록 동작 시스템 개념에 개시된 공지된 서치 방법이다. 다른 실시예에서, 결정기 펑션이 적당한 공간 키이를 결정하는데 사용된다, 다른 검색 또는 결정 기술이 다른 실시예에서 사용될 수 있다. 상기 마스터 테이블(107)은 시스템 개요 섹션에서 개시되고 있다. 보기로서, 마시터 테이블(107)의 세그먼트가 표 1에 도시되어 있다. 이런 테이블은 전화 번호에 의해 인덱싱되고 호출 전화가 물리적으로 배치되는 물리적 주소의 zip+4 코드(132)를 포함한다.
보기: 마스터 전화 번호 대 zip+4 테이블 세그먼트
전화# zip+4
. .
. .
6197555664 920751111
> 6197555665 920141313
6197555666 920752064
6197555668 920071234
7. 상기 호출 번호가 마스터 테이블(10)에서 리스팅되었는지 결정하기 위해 소정의 테스트가 결정 단계(126)에서 수행된다. 그렇지않다면, 상기 프로세스(108)는 상태(128)로 이동하는데, 오퍼레이터 보조가 상기 호출을 루팅하기 위해 제공된다. 상태(128)에서 루팅할 수없는 예외 취급이 이루어지는데, 마스터 테이블(107) 또는 클라이언트 테이블(도 1a) 기입이 빠지고, 부정확하고 또는 호출자가 이동 전화를 사용한다. 바람직한 실시예에서, 오퍼레이터 보조가 AT&T 아메리컨 트랜스테크에 의해 제공된다. 일반적으로, 단지 낮은 비율의 호출 번호가 마스터 테이블(107)에 리스팅되지않는다. 호출 번호가 마스터 테이블(107)에 리스팅된다면, 상기 프로세스(108)는 패킷(114)내의 호출 번호에 대응하는 ZIP+4 코드(132)가 있는지 결정하기 위해 결정 상태(130)로 전진한다. 그렇지않다면, 상기 프로세스(108)는 오퍼레이터 보조가 이전에 언급한 바와 같이 호출을 루팅하도록 상태(128)로 이동한다. ZIP+4 코드(132)가 마스터 테이블(107)에 배치된다면, 상기 프로세스(108)는 상태(134)로 이동한다.
8. 상기 정보 패킷(114)이 상태(134)에서 다이얼링된 번호를 포함하기 때문에, 상기 프로세스(108)는 전화번호 800-48205426을 가지는 클라이언트와 연관되는 서비스 위치 테이블 A(106)에 대해 클라이언트 Zip+4를 오픈한다. 상기 클라이언트 테이블(106)은 호출자에 의해 다이얼링된 전화 번호에 기초하여 다수의 클라이 언트 테이블로부터 선택된다. 필요한 바와 같은 클라이언트 테이블 B(106b)와 부가 테이블이 다른 클라이언트 또는 동일한 클라이언트의 다른 전화 번호, 예를 들어 "800" 번호가 된다. 상기 클라이언트 테이블은 본 발명의 양수인, 클라이언트, 또는 양수인의 지정에 따른 제3자에 의해 형성된다. 2개 타입의 클라이언트 테이블이 있다. 호출이 비중첩 다각형 거래 지역을 서비스하는 가장 가까운 위치 또는 서비스 위치로 로팅될 수 있다면, 제1 타입의 클라이언트 테이블은 대응하는 서비스 전화번호(146)와 거리를 갖는 zip+4 코드당 단일 기입만을 포함한다. 클라이언트가 호출자를 보조하거나 또는 호출자에게 선택을 제공하는 서비스 지역을 가지는 다중 섹션으로부터 무작위 또는 가중된 선택을 원하는 경우에, 제2 타입의 클라이언트 테이블은 zip+4당 다중 레코드를 가질 수 있고, 각각의 레코드는 다른 서비스 전화 번호와 거리를 갖는다. 상기 프로세스(108)는 인덱싱된 순차적 접급 방법을 사용하여 Mypizza 클라이언트 테이블에서 호출자의 zip+4 코드를 검색한다.
9. 상기 zip+4 코드가 크라이언트 테이블(106a)애 리스팅되는지 결정하기 위해 결정 상태(140)에서 소정의 테스트가 수행된다. 그렇지않다면, 상기 프로세스(128)는 오퍼레이터 보조가 호출을 루팅하도록 제공되는 상태(128)로 이동한다. 상기 zip+4 코드가 클라이언트 테이블(106a)에 있다면, 상기 프로세스(108)는 zip+4 코드(132_에 대한 클라이언트 전화 리스팅이 있는지 결정하기 위해 결정 상태(142)로 진행한다. 그렇지 않다면, 상기 프로세스(108)는 오퍼레이터 보조가 호출을 루팅하고 정보를 제공하거나, 또는 클라이언트에 의해 결정된 바와 같은 동작을 취하는 상태(144)로 이동한다. 호출부의 위치를 포함하는 서비스 지역을 가지 는 서비스 위치가 없다면 예를 들어 상태(142)에서 결정된 음성 테스트 결과가 발생할 것이다. 상태(144)에서의 예외 취급이 수행되는데, 호출은 올바르게 루팅되지만, 호출부는 무엇이 예측되는지 모르고, 호출은 만족스럽게 완료되지않는다(단계 142, 152 및 154에서와 같이). 이런 상황에서, 클라이언트는 자동화된 프로세스에 의해 취급될 수 있는 대안 세트로부터 선택될 수 있다. 보기 예외 취급 메시지는 다음과 같다: "죄송하지만, 현재 당신 위치를 서빙하는 서비스 위치가 없습니다. 대표와 말하기를 원한다면, 0을 누르세요."
ZIP+4 코드(132)와 연관된 클라이언트 전화 번호가 있다면, 상기 프로세스(108)는 상태(148)로 진행한다. 보기로서, 클라이언트 테이블(106A)의 세그먼트는 표2에 도시되어 있다.
보기: 800-482-5426 클라이언트 테이블 세그먼트
zip+4 전화# 거리(마일)
920752060 619423366 3.1456
920752062 619423366 2.1682
> 920752064 6194817777 1.2864
920752065 6197591111 0.1234
10. 호출자의 zip+4 코드(132)와 대응하는 서비스 전화 번호(146)를 찾은후, 상태(148)에서 교환국은 번호 619-481-7777과 연관된 전화에서 벨을 울리기 위해 전화망을 거쳐 정보 패킷을 전송한다.
11. 블록(150)에서, 캘리포니아 92014-1909, 델마에 있는 2688 비아 데 라 발리에 위치한 Mypizza(도 2)에 있는 전화가 울린다.
12. 상기 클라이언트 서비스 위치에 있는 전화가 통화중(152)인 경우 또는 대답이 없는 경우(154), 상기 프로세스(108)는 이전에 개시된 바와 같이 예외 취급 상태(144)로 진행한다. 클라이언트 요구에서, 상기 상태(144)에서의 예외 취급은 예를 들어 다음의 가장 가까운 서비스 위치로 호출을 루팅할 수 있다. 마찬가지로, 통화중 또는 응답이 없는 상태가 거짓인 경우, 전화 호출은 답하게 되고 호출자는 예를 들어 피자를 주문할 것이다.
Ⅲ. 일반적 클라이언트 테이블 형성 프로세스
이제 클라이언트에 대해 각각의 클라이언트 또는 각각의 "800", 또는 유사한 번호에 대해 클라이언트 테이블(106)를 형성하는 프로세스(105)(도 1a)가 개시될 것이다. 이런 프로세스는 AT&T 3600 유닉스 박스와 같은 일반적 목적 컴퓨터에서 수행된다. 이전에 언급한 바와 같이, 본 발명은 2개 타입의 서비스 지역 한정: 반경과 다각형을 포함한다. 어떻게 이런 2개 한정이 클라이언트 테이블 형성 프로세스에 통합되는지가 이하에서 설명될 것이다. 부가적으로, 또한 호출자에 대해 가장 가까운 서비스 위치만을 포함하는 클라이언트 테이블을 형성하기 위해 클라이언트 테이블로부터 더 먼 레코드를 제거하는 후형성 프로세스가 설명될 것이다. 이것은 호출자에게 선택을 제공할 의미가 없고 단지 하나의 서비스 위치 전화 번호가 원격통신망으로 전달될 수 있는 애플리케이션에서 디스크 기억장치를 감소시키는데 사용된다. 상기 프로세스 단계의 보기는 가상 음식 서비스 상점을 이용하여 주어질 것이다.
각 타입의 서비스 지역 한정을 위한 프로세스는 도 1a에 도시된 바와 같은 4개의 입력 파일을 사용한다. 상기 zip+4 중심궤적 파일과 Zip 윈도우 파일은 간략 히 시스템 개요 섹션에서 설명되었다. 이제 각각의 입력 파일이 상세히 설명될 것이다. 다음 논의는 다시 도 1a를 참조한다.
A. 클라이언트 서비스 위치 파일
제1 파일은 클라이언트에 의해 제공되는 서비스 위치의 리스트를포함하는 클라이언트 서비스 위치 파일(109)이다. 상기 서비스 위치와 이들의 서비스 지역은 위도/경도 위치 및 반경 또는 위도/경도 위치와 위도/경도 다각형중 어느 하나에 의해 정의된다. 파일(109)에 대한 추가 상세는 도 3의 상태(174)(반경) 및 도 12a의 상태(604)(다각형)와 관련하여 제공된다.
B. ZIp+4 위도/경도 중심궤적 파일
제2 파일은 zip+4 위도와 경도 중심궤적 파일(100) 또는 이전에 개시된 Zip+4_lat_lon 중심궤적 파일이다. 이런 파일은 미국 우편 서비스 또는 예를 들어 지오그래픽 데이터 테크놀로지사(GDT)로부터 입수가능하다.
C. Zip 어레이 파일
제3 파일은 Zip+4 위도와 경도 중심궤적 파일(100)로부터 형성되고 처리 효율을 개선하기 위하여 3가지 이익을 제공한다.
제1 이익은 열번호 어레이가 5-디짓 zip 코드와 동등한 어레이를 형성하는 것이다. 이것은 5-디짓 zip 코드 번호가 열번호 어레이가 되는 5-디짓 zip 코드로 인덱싱하는 매우 효율적인 방법을 제공한다.
제2 이익은 5-디짓 zip 코드가 어레이로 접근될 때, 5-디짓 zip 코드에 대한 제1 zip+4 코드가 Zip+4 위도와 경도 중심궤적 파일(100)에서 시작하는 정확한 바 이트 오프셋이 알려진다는 것이다. 이런 방법을 사용하여, 제1 zip+4 레코드의 위치로 진행하여 28,000,000 이상의 레코드 Zip+4 위도와 경도 중심궤적 파일(100)내의 5-디짓 zip코드에 대한 모든 zip+4 레코드를 판독하기에 매우 효율적이다.
Zip 어레이 파일(103)의 제3 이익은 각각의 5-디짓 zip코드에 대해 상기 파일이 5-디짓 zip 코드내에 위도와 경도 최소 및 최대값을 포함한다는 것이다. 반경 또는 다각형 서비스 지역 말항 세트가 5-디짓 zip코드 말항과 중첩하는지 체킹함으로써, 5-디짓 zip 코드와 반경 또는 다각형 서비스 지역내의 zip+4 말항 사이의 공간 중첩이 없다고 미리 결정된다면 5-디짓 zip코드내의 각각의 zip+4 테스트가 제거된다.
상기 Zip 어레이 파일(103)은 GDT 또는 우체국 공급된 Zip+4 위도와 경도 중심궤적 파일(100)을 사용하여 형성된다. 중심궤적 파일(100)내의 각각의 레코드는 zip+4 번호, 및 각각의 zip+4에 대한 위도와 경도 정의된 중심궤적을 포함한다. 4단계인, Zip 어레이 파일 형성 프로세스(101)가 다음가 같이 Zip 어레이 파일(103)을 형성하는데 사용된다:
1) 99,999열과 6행의 32비트 정수 어레이가 0으로 초기화된다. 1행은 5-디짓 zip 코드로서 사용되는 열 번호로 초기화된다.
2) 5-디짓 zip 코드에 대해, Zip+4 위도와 경도 중심궤적 파일(100)내의 모든 zip+4 레코드가 순차적인 방식으로 판독된다. 5-디짓 zip 코드내의 제1 zip+4를 위한 바이트 오프셋이 표시된다. 임시 변수가 초기화되고 다음에 현재 5-디짓 zip 코드에 대한 zip+4 코드의 위도와 경도 최소 및 최대값을 결정 하는데 사용된 다. 다음에 현재 5-디짓 zip 코드에 대한 모든 zip+4 코드중 최대 및 최소 위도와 경도가 다음 단계로 전달된다.
3) 5-디짓 zip 코드에서의 각각의 변화로, 5-디짓 zip 코드내의 zip+4에 대한 바이트 오프셋 및 5-디짓 zip 코드내의 모든 zip+4에 대한 위도와 경도 최소 및 최대값이 Zip 어레이 파일(103)의 위치에 대해 이전 5-디짓 zip 코드에 대해 메모리에 기록된다. 상기 위도와 경도 최소 및 최대값은 다음에 재초기화되며, 이전 및 현재 단계는 zip+4 중심궤적 파일(100)이 도달될 때까지 다음 5-디짓 zip 코드로 반복된다.
4) Zip+4 중심궤적 파일(100)의 끝에 도달할 때, 최종 5-디짓 zip 코드 레크드가 메모리에 기록되며, 다음에 메모리에 저장된 Zip 어레이 파일은 자기 디스크와 같은 대용량 저장 장치로 기록된다.
상기 Zip 어레이 파일(103)의 각 열에 대한 행 정의는 다음과 같다:
행(1)은 5-디짓 zip 코드 번호이다;
행(2)는 상기 열의 5-디짓 zip코드에 대한 최저 넘버링된 zip+4의 위치의 Zip+4_lat_lon 중심귀적 파일(100)으로의 바이트_오프셋이다;
행(3)은 열(zip_lat_min)의 zip 코드에 대한 최소 위도이다;
행(4)는 최대 위도(zip_lat_max)이다;
행(5)는 최소 경도(zip_lon_min)이다;
행(6)은 최대 경도(zip_lon-max)이다.
D. Zip 윈도우 파일
제4 파일은 Zip_윈도우 파일(104)이다. 이런 파일의 목적은 이론적으로 이런 지역을 터치할 수 있는 지구와 zip 코드에 대한 위도와 경도 정의된 영역 사이의 결합을 형성하는 것이다. 이런 결합은 휠씬 더 빠르고 휠씬 더 효율적인 우편 지리적 공간 컴퓨터 서치를 형성하는 이익을 제공한다.
상기 Zip_ 윈도우 파일(104)은 5-디짓 zip 코드내의 Zip+4 말항으로부터 형성된 위도와 경도 5-디짓 zip코드 말항을 사용하여 GDT 또는 우체국 Zip+4 위도와 경도 중심궤적 파일(100)로부터 형성된다. 일반적 개념은 지구를 0.1°위도와 경도 직사각형으로 분할하는 것인데, 예를 들어 40°위도에서 6.9 마일 X 5.2마일하고, 다음에 각각의 사각형에 중첩하는 모든 zip 코드를 표로 만든다.
상기 zip_ 위도우 파일(104)은 28,000,000 이상의 레코드 Zip+4 중심궤적 파일(100)로부터 각각의 레코드를 판독하고 위도와 경도(lat/lon) 위도와 5-디짓 zip 코드를 포함하는 대응하는 레코드를 기록하는 Zip 윈도우 파일 형성 프로세스(102)에 의해 형성된다. lat_lon 윈도우 파일은 위도에 10을 곱하고, 제품의 정수부(INT)를 취하고, 정수부에 10,000를 곱하며, 위도의 제품의 정수부에 10를 곱하여 형성된다.
예를 들면, 입력 zip+4 코드 레코드가 920141909라면, 위도는 북위 32,9862이고 경도는 서위 117.2522이고, 출력 zip_윈도우 레코드는 lat/lon 윈도우와 92014의 zip 코드가 될 것이다. 모든 레코드가 초기 또는 임시 Zip_윈도우 파일(도시되지않음)으로 기록되어진후, 상기 파일은 5-디짓 zip코드를 갖는 lat/lon 윈도우값 또는 키에 의해 소팅되며, 중복 레코드가 제거된다. 다음에 얻어지는 최종 Zip_윈도우 파일(104)이 lat/lon 윈도우 키와 대응하는 5-디짓 zip 코드로 구성되는 각각의 레코드로 기록된다. 4개의 lat/lon 윈도우(210, 212, 213, 214)는 도 4에 도시된 바와 같이 개별적으로 zip윈도우 키이(331172, 3301171, 3291172, 3291171에 대응한다.
클라이언트 테이블 형성 프로세스에 의해 사용된 입력 파일이 설명되었고, 이제 각각의 3개의 다른 서비스 지역 한정 형성 프로세스가 설명될 것이다.
Ⅳ. 반경 정의된 서비스 지역에 대한 클라이언트 테이블 형성 프로세스
도 3과 도 4를 참조하여, 반경 정의된 서비스 지역에 대한 클라이언트 테이블 프로세스(170)가 설명될 것이다. 프로세스(170)는 도 1a에 도시된 클라이언트 테이블 형성 프로세스(105)의 특별한 변형이다.
상기 프로세스(17)는 시작 상태(172)에서 시작하고 클라이언트가 표 3에 도시된 바와 같은 정보와 포맷을 갖는 기계 판독가능한 서비스 위치 파일(109)(도 1a)을 제공하는 상태(174)로 이동한다. 상기 파일(109)은 예를 들어 공통 이용가능한 워드 프로세싱 프로그램 또는 데이터베이스 프로그램에 의해 형성될 수 있으며, 플로피 디스크 또는 다른 적당한 매체에 보내진다. 표 3은 Mypizza 레스토랑으로 명명된 서비스 위치(218)에 대한 보기 정보를 포함한다. 도 4의 지도는 서비스 지역으로서 Mypizza 레스토랑으로부터 2.5마일 반경을 도시하는 원(220)을 포함한 동일 정보의 일부를 도시한다.
아스키 문자로의 레코드 레이아웃
서비스 위치(30) 바이트의 이름 Mypizza 레스토랑
주소(36)바이트 2688 비아 델 라 발리
시(30)바이트 델 마
주(2)바이트 CA
Zip 코드99)바이트 92014
전화(10)바이트 619481777
1/10 마일에서의 반경(4)바이트 25
물론, 다른 형태, 정보 및 포맷이 다른 실시예에서 대체될 수 있다.
상기 프로세스(170)는 파일(109)의 서비스 위치 리스트가 그룹 I과 지오그래픽 데이터 기술과 같은 회사를 통해 상업적으로 이용가능한 서비스를 사용하여 주소 표준화되고, zip+4코딩되고, 위도와 경도 재코딩되는 상태(176)으로 이동한다. 표 4는 위도와 경도로 표준화된 레코드가 적용되는 보기이다.
서비스 위치의 명칭(30)바이트 Mypizza 레스토랑
주소 (36) 바이트 2688 비아 데 라 발리
시 (30) 바이트 델 마
주 (30) 바이트 CA
Zip 코드 (9) 바이트 920141909
전화# (10) 바이트 6194817777
1/10 마일 반경 (4) 바이트 25
위도 (10) 바이트 32.9862
경도 (12) 바이트 117.2522
상태(178)로 이동하여, 상기 프로세스(17)는 위도당 68.9404 마일의 상수를 형성하고 컴퓨터의 메모리내의 Zip 어레이 파일(103)을 판독한다. 상태(180)에서, 상기 프로세스(170)는 서비스 위치 레코드의 파일로부터 소정의 레코드를 판독하고 서비스 위치에 대한 경도당 마일수를 계산한다. 위도당 마일 =68.9404 * 코사인(경도)이다. 표 4에서 주어진 보기에 대해, 위도 32.9862에서, 결과는 경도당 57.8297마일이다.
상기 프로세스91700)는 위치 터치를 서비스하는 ZIP 윈도우 리스트를 형성하 는 펑션(182)으로 진행한다. ZIP 윈도우의 터칭은 서비스 지역의 적어도 일부가 ZIP 윈도우내에 있거나 또는 중첩한다는 것을 의미한다. 상기 표 4에서 주어진 보기에 대한 ZIP 윈도우(210, 212, 214, 216)는 도 4에 도시되어 있다. 상기 펑션(182)은 이후에 도 5와 관련하여 추가로 설명될 것이다.
펑션(184)으로 ㅣ동하여, 상기 프로세스(170)는 펑션(182)에 의해 식별되는 ZIP 운도우중 어떤 것에 터칭하는 5-디짓 zip 코드 리스트를 발생시킨다. 상기 zip 리스트는 오름차순 순서로 저장되고 중복 zip 코드가 펑션(184)에서 제거된다. 상기 펑션(184)은 이후에 도 7과 관련하여 추가로 설명될 것이다.
상기 프로세스(17)는 펑션(186)으로 진행하는데, 상태(174)에서 지정되는 서비스 위치 사이트 반경내에 있지않은 5-디짓 ZIP 코드가 펑션(184)에 의해 발생된 ZIP 리스트로부터 제거되고, 최종 zip 리스트가 형성된다. 펑션9186)은 이후에 도9와 관련하여 추가로 설명될 것이다.
펑션(188)에 따르면 상기 프로세스917)는 최종 zip 리스트(펑션 186에 의해 발생되는)내의 zip 코드에 대응하는 모든 zip+4 레코드를 검색하고, zip 포인터 리스트(또한 펑션 186에 의해 발생된)와 관련하여 사용되며, zip+4가 서비스 지역 반경애 또는 안쪽에 있는지 결정한다. 또한 이런 결정은 서비스 위치로부터 zip+4 중심궤적(zip+4 중심궤적 파일 100에 저장되는 zip+4 중심궤적을 재호출하여)까지의 거리를 산출한다. zip+4가 서비스 지역 반경내에 있다면, 로 클라이언트 테이블레코드가 zip+4 코드, 순간 서비스 위치에 대한 클라이언트 전화 번호, 및 서비스 위치에 대한 zip+4 중심귀적의 거리를 포함하여 기록된다. 상기 펑션(188)은 이후에 도 10과 연관하여 추가로 설명될 것이다.
상기 프로세스(170)는 부가적 클라이언트 서비스 레코드가 처리되어야 하느지 결정하기 위해 결정 상태(190)으로 이동한다. 그렇다면, 상태의 루프(180 내지 10)가 다음 서비스 위치 레코드에 대해 반복된다. 모든 서비스 위치 레코드가 순간 클라이언트 테이블에 대해 처리되었다면, 상기 프로세스(170)는 상태(192)로 전진한다. 상태(192)에서, 상기 프로세스(170)는 로 레코드를 소팅하고, zip+4 코드를 올림차순한 다음에 동일한 zip_4 코드가 한번이상 리스팅되면 거리를 내림차순함으로써 펑션(188)에 의해 기입된다. 상기 동일한 zip+4 코드는 zip+4에 중첩하는 서비스 영역을 가지는 다중 서비스 위치가 있다면 한번이상 리스팅될 수 있다.
결정 상태(194)로 이동하여, 클라이언트가 호출자에게 가장 가까운 서비스 위치에 대한 클라이언트 테이블을 형성하는 후형성 옵션을 선택했는지를 결정한다. 그렇지않다면, 클라이언트 테이블 형성 프로세스는 상태(198)에서 제품 시스템 컴퓨터로의 파일 로딩을 제외하고 완료된다. 그러나, 클라이언트가 "가장 가까운 서비스 위치"의 후형성 옵션을 선택했다면, 겨정 상태(194)에서 결정된 바와 같이, 상기 프로세스(170)는 클라이언트 테이블 형성 프로세스를 종결하기 위해 펑션(196)으로 이동한다. 상기 펑션(196)은 이후에 도 11과 관련하여 추가로 설명될 것이다.
상기 클라이언트가 결정 상태(194)에서 "가장 가까운 위치" 옵션을 선택하지않았다면, 상기 프로세스(170)는 상태(192)로부터 소팅된 클라이언트 테이블이 전화망 교환국(111)(도 1c)의 컴퓨터로 로딩되는 상태(198)로 이동하며, zip+4 코드 에 관한 인덱스 키가 형성된다. 펑션(196) 또는 상태(198)의 완료때, 상기 클라이언트 테이블 형성 프로세스는 상태(200)에서 종결한다.
도 5를 참조하여, 도 3에서 정의된 펑션(182)이 설명될 것이다. 펑션(182)은 우선 사이트 위도와 경도 말항을 계산함으로써 사이트 터치되는 zip 윈도우의 리스트를 발생시킨다. 이런 계산을 위해, 절대값이 위도와 경도 둘다에 대해 사용된다.
본 발명의 다른 실시예에서, 접두부는 위도 또는 경도의 사인에 기초하여 윈도우 키에 할당된다. 미국은 북서 사분면에 위치되며, 이런 사분면에 대한 키는 0이 된다. 제로의 유도는 번호 키의 값에 영향을 미치지않는다. 다른 사분면은 그리니치 자오선의 동쪽인, 북동, 북반구에서 영국; 남반구의 그리니치 자오선의 서쪽인, 남서; 및 남반구의 그리니치 자오선의 동쪽인, 남동이 있다.
세계의 거의 모든 국가가 단지 1개의 사분면에 있기 때문에, 위도와 경도의 절대값의 사용이 잘 적용된다. 예외가 있는(2개의 사분면에 있는) 약간의 국가에서, 다른 좌표계가 사용될 수 있는데, 예를 들어 미국에서 오디언스 측량계가 사용된다.
도 5에 도시된 시작 상태(252)에서 시작하여, 상기 프로세스(170)는 서비스 지역의 위도 말항을 계산하기 위하여 상태(254)로 이동한다. 수개의 생략이 이후에 사용될 것이다: 최소값에 대해 "min", 최대값에 대해 "max", 위도에 대해 "lat", 경도에 대해 "lon", 및 서비스 위치의 사이트 또는 위치에 대해 "site".
site_lat_min = site_lat·반경(마일)/lat당 마일;
site_lat + 반경(마일)/lat당 마일.
표 4에 주어진 서비스 위치 및 반경의 보기에 대한 계산은 다음을 산출한다:
site_lat_min = 32.9862 · 2.5/68.9404 = 32.9499;
site_lat_max = 32.9862 + 2.5/68.9404 = 33.0228.
상기 프로세스는 서비스 지역의 경도 말항이 계산되는 상태(256)로 지속한다.
site_lon_min = site_lon ·반경(마일)/lon당 마일;
site_lon_max= site_lon + 반경(마일)/lon당 마일.
표 4에 주어진 서비스 위치와 반경의 보기에 대한 계산은 다음을 산출한다:
site_lon_min = 117.2522·2.5/57.8297 = 117.2089;
site_lon_max = 117.2522 + 2.5/57.8297 = 117.2954.
상태(258과 260)로 이동하여, 상기 프로세스(170)는 사이트 위도와 경도에 기초한 zip 윈도우 최소값 및 최대값을 형성한다. 상기 보기와 결과를 사용한 계산은 다음을 산출한다:
site_lat_window_min = Int(10*site_lat_min) = 329;
site_lat_window_max = Int(10*site_lat_max) = 330;
site_lon_window_min = Int(10*site_lon_min) = 1172;
site_lon_window_max = Int(10*site_lon_max) = 1172;
펑션(262)으로 이동하여, 상기 프로세스(170)는 위도 최소와 최대값, 및 경도 최소와 최대값에 기초하여 zip 윈도우를 형성하며, zip_ 윈도우 파일(104)(도 1a)과 구별되는 zip_윈도우_리스트로 이들을 저장한다. 펑션(262)은 도 6과 관련하여 이후에 추가로 설명될 것이다. 상기 펑션(182)은 도 3에 대한 상태(264)로 복귀한다.
도 6를 참조하면, 도 5에서 정의된 펑션(262)이 설명될 것이다. 펑션(262)은 서비스 위치에 대한 실제 zip_윈도우_리스트를 형성한다. 상기 펑션은 시작 상태(270)에서 시작하고 변수 I가 0과 동일하게 설정되고 변수 J가 사이트 위도 윈도우 최소값과 동일하게 설정되는 상태(272)로 이동한다. 상태(272)의 초기화후, 상기 프로세스(170)는 변수 K가 사이트 위도 윈도우 최소값과 동일하게 설정되는 상태(274)로 이동한다. 상태(276)으로 이동하여, 변수 I의 값은 1만큼 증분된다.
상태(278)에서, 변수 I에 의해 식별되거나 어드레싱되는 zip_윈도우_리스트의 값은 변수 J의 값에 10000 곱하고 변수 K의 값을 더함으로써 계산된다. 상태(280)는 K값이 최대값에 도달했는지를 결정하고, 그렇지않다면 K값은 상태(282)에서 1만큼 증분되고, 상태(276)까지의 루프가 수행된다. K가 최대 사이트 경도값에 도달한다면, 상기 프로세스9170)는 J값이 최대값에 도달하는지 결정하기 위해 상태(284)로 지속하고, 그렇지않다면 J값이 상태(286)에서 1만큼 증분되며, 상태(274)까지의 루프가 수행된다. J가 최대 사이트 위도값에 도달한다면, 상기 펑션(262)은 도 5에 대한 상태(288)로 복귀한다.
도 5와 관련하여 주어진 보기를 게산하여, 펑션(262)의 결과는 다음과 같다.
Zip_window_list(1) = 3291172
Zip_window_list(2) = 3301172
도 7를 참조하면, 도 3에 정의된 펑션(174)이 설명될 것이다. 펑션(184)은 펑션(182)(도 5)에 의해 식별되는 zip 윈도우에 터칭하는 5-디짓 zip 코드의 리스트를 형성한다. 시작 상태(300)에서 시작하여, 상기 프로세스(170)는 상태(302)로 이동하고 이전에 개시된 Zip_윈도우 파일(104)(도 1a)을 검색하고 펑션9182)으로부터 zip_윈도우_리스트를 검색한다. 상기 Zip_윈도우 파일(104)은 zip 윈도우 키에 의해 인덱싱되고 zip 윈도우에 인접하는 모든 zip 코드의 리스트를 포함한다. Zip_윈도우 파일(104)의 샘플은 도 4에 대응하는 표 5로 주어진다.
윈도우 Zip_코드
- -
3291172 92014
3291172 92075
3291172 92130
- -
3301172 92007
3301172 92014
3301172 92024
3301172 92029
3301172 92075
상태(304)에서 계속하여, 상기 프로세스(170)는 변수 K를 0의 값으로 초기화하고 변수 J를 1의 값으로 초기화한다. 다음에, 상태(306)에서 상기 프로세스(170)는 변수 J에 의해 지정되는 zip_윈도우_리스트의 값에 동등한 키를 가지는 Zip_윈도우 파일(104)내의 레코드로 전진한다. 상태(308)에서, 상태(306)에서 접근된 레코드가 zip_윈도우와 연관된 zip 코드를 얻기 위해 판독된다. 상태(310)으로 이동하여, 번수 K는 1만큼 증분되고 상태(308)에서의 zip 코드 판독이 변수 K에 의해 지정되는 zip_리스트로 기입되는 상태(312)가 수반된다. 다음에 상태(308)로부터 zip_윈도우의 값이 변수 J에 의해 지정된 zip_윈도우_리스트의 값 보다 더 큰지를 결정하기 위해 결정 상태(314)에서 체크가 수행된다. 그렇지않다면, Zip_윈도우 파일(104)내의 다음 레코드가 다시 상태(308)로 돌아감으로써 판독된다.
상기 결정 상태(314) 테스트가 참이라면, 상기 프로세스는 J의 값이 zip_윈도우_리스트의 윈도 번호와 동일한지를 결정하기 위해 결정 상태(316)로 이동한다. 그렇지않다면, J값은 1씩 증분되고 상태(306)으로 돌아가는 루프가 다음 윈도우를 처리하기 위해 수행된다. 상기 결정 상태(316)가 참이라면, zip_윈도우_리스트내의 모든 윈도우가 처리되어지고, 펑션(184)은 5-디짓 zip 코드의 zip_리스트가 오름차순 순서로 소팅되는 상태(320)로 지속한다. 계속되는 보기에 대해, 상태(320)후, 상기 zip_ 리스트는 다음과 같다:
92007
92014
92014
92024
92029
92075
92075
92130
펑션(322)로 이동하여, 상기 프로세스(170)는 deduped_zip_list를 형성하기 위해 zip_list내의 중복 엔트리를 제거한다. 펑션(322)은 이하 도 8를 참조하여 추가로 설명될 것이다. 상기 펑션(184)은 도 3에 대한 상태(324)로 복귀한다.
도 8를 참조하면, 도 7에서 정의된 펑션(322)이 설명될 것이다. 펑션(322)은 도 7의 상태(320)에서 소팅된 바와 같으 zip_리스트로부터 중복 5-디짓 zip 코드를 제거한다. 시작 상태(340)에서 시작하여, 상기 프로세스(170)는 상태(342)로 이동하며, zip_리스트의 제1 엔트리가 deduped_zip_list의 제1 엔트리가 될 수 있도록 정의된다. 상태(344)로 진행하여, 변수 L은 1의 값에 할당되고 변수 J는 2의 값에 할당된다. 다음에 결정 상태(346)에서, 상기 프로세스(170)는 J에 의해 지정된 zip_list의 값이 "J-1"에 의해 지정된 zip_list의 값과 동등한지의 여부를 결정한다. 그렇지않다면, 변수 L은 상태(348)에서 1씩 증분되며, L에 의해 지정된 바와 같은 deduped_zip_list내의 다음 엔트리가 J에 의해 지정된 바와 같은 zip_lsit내의 엔트리와 동등하도록 기입된다.
상기 결정 상태(346)이 거짓이거나 또는 상태(350)의 완료에서, 상기 프로세스(170)는 변수 J값이 zip_list내의 zip 코드 번호와 동일한지를 결정하기 위해 결정 상태(352)로 이동한다. 그렇지않다면, 변수 J는 상태(354)에서 1식 증분되며, 상기 프로세스(170)는 zip_list내의 다음 엔트리를 체킹하기 위해 다시 상태(346)으로 돌아간다. 그러나, zip_list내의 모든 zip 코드가 체킹된다면, 상태(352)에 의해 결정된 바와 같이, 상기 펑션(322)은 도 7에 대한 상태(356)로 복귀한다. 계속되는 보기에 대해, 펑션(322)의 완료에서의 deduped_zip_list는 다음과 같다.
92007
92014
92024
92029
92075
92130
도 9는 도 3에 설명된 펑션(186)을 설명한다. zip 경계 극한을 체크하고 Zip Array 파일(103)로 부터 zip+4_lat_lon Centroid 파일(100)의 시작에서 오프셋을 취득하여 zip_final 리스트와 zip_pointer 리스트를 생성한다. 이 처리는 서비스 지역의 반경에 커버되지 않는 지역의 zip 코드를 제거한다. 시작 상태(370)의 초기에 프로세스(170)는 상태(372)로 이동하고 Zip Array 파일(103)(도 1a)을 액세스한다. 펑션(186)은 상기한 바와 같이 Zip Array 파일(103)(도 1a)의 모든 칼럼을 활용한다. 상태(374)로의 이동은, 변수 I가 0으로 세팅되고, 변수 J는 1의 값으로 세팅된다. 상태(376)의 진행은 변수 M이 J에 의해 어드레스된 펑션(184)로부터, deduped_zip_list의 엔트리과 동일하게 세팅된다.
펑션(182)에서 산술된 사이트 정보와 Zip Array 테이블로부터의 정보 이용은, 일련의 체크들은 결정 상태 378부터 384에 의해 수행된다. 결정 상태(378)에서 프로세스(170)는 변수 M에 의해 어드레스된 Zip Array 파일 엔트리의 zip_lat_min 보다 site_lat_max가 더 작은가를 측정한다. 만일 그렇다면, 프로세스(170)는 결정 상태(386)로 이동한다. 만일 그렇지 않다면, 프로세스 결정 상태(380)에서 계속된다. 결정 상태(380)에서, 프로세스(170)은 변수 M에 의해 어드레스된 Zip Array 파일 엔트리의 zip_lat_max 보다 site_lat_min이 더 큰가를 측정한다. 만일 그렇다면 프로세스(170)는 결정 상태(386)로 이동한다. 만일 그렇지 않다면 프로세스는 결정 상태(382)에서 계속된다.
결정 상태(382)에서, 프로세스(170)는 변수 M에 의해 어드레스된 Zip Array 파일 엔트리의 zip_lon_min 보다 site_lon_max가 더 작은가를 측정한다. 만일 그렇다면, 프로세스(170)는 결정 상태(386)로 이동한다. 만일 그렇지 않다면, 프로세스는 결정 상태(384)에서 계속된다. 결정 상태(384)에서, 프로세스(170)은 변수 M에 의해 어드레스된 Zip Array 파일 엔트리의 zip_lon_max 보다 site_lon_min이 더 큰가를 측정한다. 만일 그렇다면, 프로세스(170)는 결정 상태(386)로 이동한다. 만일 그렇지 않다면, 프로세스는 상태(392)에서 계속된다. 상태(392)를 얻으려면, 측정은 사이트의 반경에 커버되어 터치되지 않는 zip코드로 만들어 진다. 상태(392)에서, 변수 I는 1 증가하고, 상태 (394)에서 프로세스(170)은 I에 의해 어드레스된 zip_final 리스트 엔트리에 M의 값을 기록한다. 상태(396)으로의 이동은, 프로세스(170)이 변수 M에 의해 어드레스된 Zip Array 파일 엔트리로부터 I에 의해 어드레스된 zip_pointer 리스트 엔트리를 byte_offset에 기록하고, 프로세스는 상태(386)으로 이동한다.
만일 결정 상태 378에서 384의 어느 하나가 참이면, deduped_zip_list로부터 커런트 집 코드 엔트리는 더이상 사용되지 않는다. 결정 상태(386)에서, 측정은 deduped_zip_list내의 모든 엔트리가 체크되었는가에 만들어진다. 만일 그렇지 않다면, J는 상태(388)에서 1로 증가되고, 프로세스(170)는 다음 엔트리를 체크하기 위해 상태(376)로 루핑 백한다. 상태 (386)에 의한 측정과 같이 만일 모든 엔트리 가 체크되었으면, 펑션(186)은 그림 3에서 상태(398)로 복귀한다. 계속되는 예로서, 펑션(186)의 완료에서 zip_final 리스트는 다음과 같다:
92007
92014
92075
92130
도 10은 도 3에 설명된 펑션(188)을 설명한다. 펑션(188)은 만일 zip+4 Centroid가 사이트 반경내에 있으면 zip_final 리스트와 zip_pointer 리스트의 조화에 의해 일치된 모든 zip+4 레코드를 읽고, 측정한다. 시작 상태(420)에서 시작은, 프로세스(170)가 상태(422)로 이동하고 zip_final 리스트, zip_pointer 리스트, 및 zip+4 Centroid 파일(100)을 취득한다. 상태(424)에서, 변수 J는 1의 값으로 세팅된다. 상태(426)로의 이동은, 프로세스(170)가 변수 J에 의해 어드레스된 zip_pointer 리스트를 포함하는 주소로 zip+4 Centroid 파일을 제공한다. 그러면, 상태(428)에서 zip+4 위도/경도 레코드는 상태(426)로 부터 주소에서 읽혀진다. zip+4 Centroid 파일(100)(도 1a)는 zip+4 오더를 오름정렬하고, 이 파일내의 각 레코드는 세 필드를 포함한다: zip+4 코드, 위도 범위, 경도 범위. 상태(430)로의 이동은, 프로세스(170)이 서비스 로케이션으로 부터 zip+4 Centroid 까지의 거리를 산출한다. zip+4 경도 및 위도는 상태(428)로부터의 변수인 반면 사이트 경도 및 위도는 상태(176)으로부터의 변수이다. 상태(432)로의 이동은, 프로세스(170)가 상태(430)로부터 거리 스퀘어가 반경 스퀘어(상태(174)로부터의 변수)보다 큰가를 측 정한다. 만일 그렇지 않다면, zip+4 코드는 사이트 반경내이고, 프로세스(170)는 로 클라이언트 테이블 zip+4 전화번호 레코드를 기록하기 위해 상태(434)로 이동한다. 이 레코드는 zip+4 코드, 클라이언트 서비스 로케이션의 전화번호, 및 거리 스퀘어의 스퀘어 룻트를 포함한다.
만일 거리 스퀘어가 반경 스퀘어보다 크면, zip+4 코드는 사이트 반경외이고, 프로세스는 결정 상태(436)로 이동한다. 상태(436)에서, 프로세스(170)는 커런트 zip+4 코드가 변수 J에 의해 어드레스된 zip_final 리스트 엔트리의 값에 10000을 곱하고 9999를 더한 값보다 큰가를 측정한다. 커런트 zip+4는 9999에 5-디짓 zip코드 부가에 의한 커런트 zip 코드를 위한 최상의 가능한 번호 zip+4의 값인가 비교된다. 예를 들어, 만일 zip코드가 92007이면, 이 zip코드를 위한 zip+4의 최상위 가능 넘버는 920079999이다. zip 코드 92007을 위한 zip+4 레코드를 읽는 동안에, 만일 읽은 zip+4 레코드가 92007999보다 크면, 92007을 위한 zip+4 레코드의 끝이 되어 zip코드가 패스되며, 프로세스(170)가 zip_final 리스트의 다음 zip코드로 이동한다. 만일 결정 상태(436)가 거짓이면, 프로세스(170)는 상태(438)로 이동하고 다음 zip+4 레코드를 zip+4 Centroid 파일(100)의 동일한 5-디짓 zip코드로 제공한다. 다음 레코드는 상태(428)로 루핑 백되어 읽혀진다.
만일 결정 상태(436)이 참이면, 프로세스(170)는 zip_final 리스트의 모든 레코드가 읽혀졌는가 측정하기 위해 결정 상태(440)으로 이동한다. 만일 그렇지 않다면, 변수 J는 상태(442)에서 1로 증가하며, 프로세스는 상태(426)로 루프 백하고 zip_final 리스트의 다음 5-디짓 zip코드를 위해 반복 수행된다. 만일 모든 5-디짓 zip코드가 상태(440)에서 측정된 것같이 프로세스되었으면, 펑션(188)은 도 3의 상태(444)로 복귀한다. 계속되는 예로, 상태(434)의 완료에서 로 클라이언트 테이블의 샘플 레코드는 다음과 같다:
샘플 레코드: 920752064 6194817777 1.2865
V. 콜러와 가장 가까운 서비스 로케이션을 위한 클라이언트 세이블 빌드 프로세스
"클로지스트" 프로세스, 펑션 196(도 3), 는 서비스 지역 경계 반경, 서비스 지역 경계 다각형 또는 서비스 지역의 양 타입의 혼합으로부터 생성되는 클라이언트 테이블(106)을 만들기 위한 포스트 빌드 프로세스이다. "클로지스트" 프로세스의 최초의 펑션은 디스크 스토리지를 줄이고 논-오버래핑 서비스 지역의 마이너 오버랩을 생성하는 다각형 디지타이징 에러를 제거하는 것이다. 래디어스 프로세스의 상태(172에서 194(도 3)) 또는 다각형 프로세스의 상태(602 내지 624)(도 12a 참조)는 크기를 줄일 수 있고 또는 후형성 프로세스(196)에 의해 제거될 수 있는 인터미디에이트 클라이언트 테이블의 생성이 완성되어야 한다.
도 11은, 도 3에서 설명된 펑션(196)을 설명한다. 펑션(196)은 zip-4 코드의 다중 할당을 이동시키고 최단거리로 하나를 유지한다. 시작 상태(500)에서 시작은, 펑션(196)이 상태(192)의 완료에서 가능한 정렬된 인터미디에이트 클라이언트 테이블(도시 안함)을 엑세스한다. 상태(504)로의 이동은, 변수 "last_zip+4"가 0의 값과 동일하게 세팅되는 것이다. 그러면, 상태(506)에서, 최초의 레코드의 시작인, 레코드는 인터미디에이트 클라이언트 테이블로부터 읽혀진다. 결정 상태(508)로의 이동은, 상태(506)로부터 곧 읽은 zip+4가 last_zip+4의 값과 동일한가에 따라 결정된다. 만일 그렇지 않다면, 커런트 레코드는 상태(510)에서 클라이언트 테이블(106)에 기록되고, 따라서 상태(512)에서 변수 last_zip+4 는 커런트 zip+4와 동일한 값으로 세팅된다.
상태(512)의 완성에서, 결정 상태(514)는 정열된 인터미디에이트 클라이언트 테이블의 마지막에 도달했는가 측정한다. 만일 그렇지 않다면, 펑션(196)은 다음 zip+4 코드를 인터미디에이트 클라이언트 테이블에 제공하고 다음 레코드를 프로세스하기 위하여 상태(506)으로 루프 백한다. 만일 상태(514)에서 측정된 바와 같이 인터미디에이트 클라이언트 테이블의 마지막에 도달되었으면, 클라이언트 테이블(106)은 텔레폰 스위치(111)의 컴퓨터에 로드되고 zip+4의 인덱스 키가 생성된다. 펑션(196)은 상태(520)에서 "클로지스트" 프로세스의 끝인 도 3의 상태(200)으로 복귀한다.
VI. 다각형 한정된 서비스 지역을 위한 클라이언트 테이블 빌드 프로세스
일반적으로, 다각형 한정된 서비스 지역에는 두 타입이 있다. 첫째 타입은 익스클러시브 또는 논-오버래핑 트레이드 지역이고, 둘째 타입은 논-익스클러시브 또는 오버래핑 트레이드 지역이다.
논-오버래핑 다각형 한정된 서비스 지역을 위해, 각 가맹점은 트레이드 지역을 정한다, 그들이 물건을 배달하는 지역처럼. 다음의 상황은 이 개념을 설명하는 것이다. 소비자가, 말하자면, 가맹점 A보다 가맹점 B와 더 가까이 위치해 있으나 만일, 소비자가 가맹점 A의 다각형 지역에 있다면, 가맹점 A를 위한 전화번호는 소 비자의 지역에 따르는 클라이언트 테이블 106 (도 1a) 레코드에 존재한다. 그러나, 만일 가맹점 A 및 가맹점 B의 서비스 지역이 오버래핑되면, 클라이언트 테이블(106)은 가맹점 A의 전화번호와 거리로써 하나의 레코드와, 가맹점 B의 텔러폰 넘버와 거리로써 다른 레코드를 가진다. 따라서, 클라이언트 테이블 빌드 프로세스(105)는 다각형 한정된 서비스 지역의 두 타입을 수용한다.
도 12a, 12b, 및 13에서, 다각형 한정된 서비스 지역을 위한 클라이언트 테이블 프로세스(600)를 설명한다. 프로세스(600)는 도 1a에 보인 일반적 프로세스(105)의 다른 특별한 버젼이다. 다각형 한정된 서비스 지역 프로세스(600)(또한 다각형 프로세스와 관련된)의 많은 부분은 래디어스 한정된 서비스 지역 프로세스(170)의 그것들과 동일하다. 몇몇 펑션은 약간의 차이가 있다. 다른 펑션들은 전체적으로 다르다. 대부분의 동일한 펑션들은 단지 차이점만 나타내고 중복 설명은 피한다. 새로운 펑션은 보다 상세히 설명된다.
프로세스(600)는 시작 상태(602)에서 시작되고 상태(604)로 이동한다. 클라이언트는 앞서 테이블 3에 보인 바와 같은 정보와 포맷으로 기계가 읽을 수 있는 폼의 서비스 로케이션의 클라이언트 서비스 로케이션 파일(109)을 제공한다. 클라이언트는 또한 다각형 서비스 지역내에 기록된 서비스 로케이션의 전화번호와 함께 스트리트 맵에 그려진 서비스 로케이션의 다각형 서비스 지역과 함께 상세한 스트리트 맵을 제공한다. 도 13의 맵은 다각형 서비스 지역(640)의 예를 설명한다.
프로세스(600)는 상태(606)로 이동하는데 파일(109)의 서비스 로케이션의 리스트는, zip-4 코드된, 주소 규격화된다. 그리고 위도 및 경도 지오코드는 그룹 I 및 지리정보기술과 같은 회사들을 통해 상업적 서비스로 이용한다. 테이블(4)은 위도 및 경도를 첨가한 규격화된 레코드의 예이다. 부가적으로, 스트리트 맵에 그려진 다각형 서비스 지역의 위도 및 경도 교점은 양자화되어 이퀴팩스 내셔널 결정 시스템으로부터 윈도우즈에 사용가능한 인포마크와 같이 상업적으로 활용이 가능한 GIS 시스템에 사용한다. 상태(606)의 디지타이징 프로세스는 다각형의 교점을 위해 위도 및 경도 좌표를 할당하고 도 12b에 보인 다각형 파일(607)을 생성한다. 다각형 파일(607)의 예는 다음의 데이터 아이템으로써 표 6에 보인다.
Geocode: 6194817777
Name: MyPizza Del Mar
Number of verices: 5
Lat/Lon vertex pairs: 33.0170-117.2910
32.9503-117.2874
32:9623-117.2132
33.0187-117.2084
33.0170-117.2910
마지막 위도/경도 교점쌍은 다각형을 닫는 최초의 교점쌍과 동일해야 한다. 이 예는 매우 간단한 다각형을 위한 것이다. 전형적인 프랜차이즈 다각형은 매우 복잡하다: 다각형은 비선형 스트리트 경계 및 수백개의 교점을 을 포함할 수 있다. 지오코드는 서비스 지역의 전화번호이다. 다각형 파인 데이터는 클라이언트 서비스 로케이션 파일(109)의 레코드와 일치하는 그것의 마지막에 첨가되어, 가변 레코드를 생성한다.
상태(608)로의 이동은, 프로세스(600)가 68.9404 마일/위도의 수치를 설정하고 컴퓨터의 메모리에서 Zip Array 파일(103)(도 1a)을 읽는다. 상태(610)에서, 프로세스(600)는 클라이언트 서비스 로케이션 파일(109)로부터 레코드를 읽고 서비스 로케이션의 경도당 마일의 수치를 산출한다. 경도당 마일 = 68.9404*COSINE(위도). 테이블 4에 제공된 예로써, 위도 32.9862에서 그 결과는 57.8297 마일/경도이다.
프로세스(600)는 서비스 로케이션이 미치는 zip 윈도우즈의 리스트를 생성하는 펑션(612)을 수행한다. zip 윈도우의 터칭은 적어도 서비스 지역의 내부 또는 zip 윈도우의 오버랩을 의미한다. 테이블 4에 재공된 예를 위한 zip 윈도우즈는 도 13에 설명된다. 펑션(612)은 이하 도 14와 함께 더 설명된다.
펑션(614)으로의 이동은, 프로세스(600)가 펑션(614)에서 확인된 zip 윈도우즈에 관계된 5-디짓 zip 코드의 리스트를 생성한다. 이 zip 리스트는 오름정렬되고 유플리케이트 zip 코드는 펑션(614)에서 제거된다. 펑션(614)은 이하 도 16과 함께 더 설명된다.
프로세스(600)는 평션(616)을 수행하는데 5-디짓 zip 코드는 상태(604)에서 특정된 다각형 서비스 지역내가 아닌 펑션(614)에 의해 생성된 zip 리스트로부터 제거되고, zip 파이널 리스트가 생성된다. 펑션(616)은 이하 도 18과 함께 더 설명된다.
펑션(618)으로 진행되면서, 프로세스(600)는 다각형을 한정하는 불연속 위도 및 경도 포인트의 도 12b에 보인 라인 인덱스 파일(619)을 생성한다. 펑션(618)은 이하 도 19a 및 19b와 함께 더 설명된다.
펑션(620)이 계속되면서, 프로세스(600)는 펑션(616)에 의해 생성된 zip 파이널 리스트의 zip 코드에 일치하는 모든 zip+4 레코드를 검색한다. 만일 그렇다면, 레코드는 zip+4 코드, 인스턴트 서비스 로케이션의 클라이언트 전화번호 및 서 비스 로케이션의 zip+4 Centroid의 거리를 포함하는 로 클라이언트 테이블 (도시 안함)에 기록한다. 펑션(620)은 이하 도 20과 함께 더 설명된다.
프로세스(600)는 부가 클라이언트 서비스 레코드가 프로세스 되었는가를 측정하기 위해 결정 상태(622)로 이동한다. 만일 그렇다면, 상태(610부터 620)의 루프는 다음 서비스 로케이션 레코드를 위해 반복된다. 만일 모든 서비스 로케이션 레코드가 인트선트 로 클라이언트 테이블을 위해 프로세스 되었다면, 프로세스(600)는 상태(624)로 진행된다. 상태(624)에서, 프로세스(600)는 로 레코드를 정렬한다, 펑션(620)에 의해 기록된, 오름차순의 zip+4에 의해 그리고 만일 동일한 zip+4 코드가 하나 이상 리스트 되었다면 거리의 감소에 의해. 동일 zip+4 코드는 만일 다수의 오버래핑 다각형 서비스 로케이션이 있으면 각각 다른 클라이언트 전화번호로써 하나 이상 리스트될 수 있다.
프로세스(600)는 상태(624)로 이동하는데 상태(624)로부터 정렬된 클라이언트 테이블은 전화 네트워크 스위치(111)의 컴퓨터에 로드되고, zip+4 코드 위에 인덱스 키가 생성된다. 상태(626)가 완료되자마자, 다각형 한정된 서비스 지역을 위한 클라이언트 테이블 빌드 프로세스(600)는 상태(628)에서 끝난다.
일반적으로 도 14에서, 도 12에서 정의된 펑션(612)을 설명한다. 펑션(612)은 사이트 위도 및 경도 극값의 최초 산출에 의해 다루어지는 사이트인 zip 윈도우즈를 생성한다. 이 펑션에서는, 절대적인 값이 위도 및 경도 모두에게 사용된다.
시작 상태(670)에서의 시작은, 프로세스(600)가 서비스 지역의 위도 경계를 생성하는 상태(672)로 이동한다. 다각형 파일(607)은 다각형 교점 위도 최소값 및 최대값을 검색하도록 액세스된다.
site_lat_min = polygon_lat_min;
site_lat_max = polygon_lat_max.
표 6에 제공된 서비스 로케이션 및 다각형의 예로서, 그 결과는 다음과 같다:
site_lat_min = 32.9503;
site_lat_max = 33.0187.
상태(674)에서 프로세스가 계속되면서 서비스 지역의 경도 극값들은 설정된다. 다각형 교점의 경도 최소값 및 최대값은 다각형 파일(607)로부터 검색된다.
site_lon_min = polygon_lon_min;
site_lon_max = polygon_lon_max.
표 6에 제공된 서비스 로케이션 및 다각형의 예로서, 그 결과는 다음과 같다:
site_lon_min = 117.2084;
site_lon_max = 117.2910.
상태(676 및 678)는 펑션 182(도 5)의 상태(258 및 260)와 동일하다. 도 14에 정의된 바와 같이, 펑션(680)(도 15)은 펑션(262)(도 6)과 동일하다. 펑션(612)은 상태(682)에서 도 12a로 복귀한다.
도 12a에 정의된 바와 같이, 펑션(614)(도 16)은 펑션(184)(도 7)과 동일하다. 도 16에 정의된 바와 같이, 펑션(752)(도 17)은 펑션(322)(도 8)와 동일하다. 도 12a에 정의된 바와 같이, 펑션(616)(도 18)은 펑션(186)(도 9)과 동일하다.
도 19a 및 19b에서, 도 12a에서 정의된 펑션(618)이 설명된다. 펑션(618)은 정수값으로 수정된 모든 다각형 교점 위도 및 경도 정수값으로 라인 인덱프 파일(619)을 생성한다. 여기서 다각형 파일(607)에 리스트된 연결 이접된 교점들로 생성된 라인을 따라 모든 이산 포인트의 레코드를 생성한다. 다각형 교점의 변경 수행은 아래에 보인 바와 같이 site_lat_min 또는 site_lon_min을 뺀다.
시작 상태(830)의 시작은, 프로세스(600)가 상태(832)로 이동되고 변수 J를 1의 값으로 초기화 한다. 상태(834)로의 이동은, 프로세스(600)가 0의 값과 동일한 변수 J에 의해 어드레스된 탄젠트 (도 19에 "T"로 표기) 어레이 엘리먼트를 초기화 한다. 상태(836)에서, J에 의해 어드레스된 위도 어레이 (도 19에 "LAT"로 표기) 엘리먼트는 산술된 값으로 기록된다: 다각형 파일(607)(상태(606)로부터 사용 가능한)의 J에 의해 어드레스된 교점 위도(lat_교점)로부터 site_lat_min(도 14, 펑션(612)으로부터 사용 가능한)을 뺌으로써, 그 결과에 10,000을 곱하고, 그리고 결과의 정수 (INT) 부분을 취함으로써. 상태(838)의 진행에서, J에 의해 어드레스된 경도 어레이 (도 19에서 "LON"으로 표기) 엘리먼트는 산술된 값으로 기록된다: 다각형 파일(607)(상태(606)로부터 사용 가능한)의 J에 의해 어드레스된 교점 경도(lon_교점)로부터 site_lon_min(도 14, 펑션(612)으로부터 사용 가능한)을 뺌으로써, 그 결과에 10,000을 곱하고, 그리고 결과의 정수 (INT) 부분을 취함으로써.
결정 상태(840)에서, 프로세스(600)는 다각형 파일(607)의 모든 교점이 프로 세스되었는지 측정한다. 교점의 수는 표 6의 예에 보인 것처럼 상태(606)로부터 이용 가능하다. 만일 그렇지 않다면, 변수 J는 상태(842)에서 1 증가하고, 프로세스(600)는 다음 교점 프로세스를 위해 상태(834)로 루프 백한다. 만일 모든 교점이 프로세스되었으면, 변수 J는 상태(844)에서 두값과 동일하게 세팅된다.
상태(846부터 860)는 위도 라인의 탄젠트인 교점을 찾는데 이용된다. 상태(846부터 854)는 결정 상태(846 또는 850)가 만나는가의 상태를 측정하기 위한 LAT 어레이의 모든 엘리먼트를 통해 시퀀스 루프를 이룬다. 만일 그렇다면 J에 의해 어드레스된 산젠트 어레이의 엘리먼트는 1과 동일하게 세팅된다. 만일 그렇지 않다면, 다음 엘리먼트가 체크된다. 상태 854에서 J가 증가하고 상태(846)로 루핑 백함으로써, LAT 어레이의 끝에 도달할 때까지, 즉, 모든 교점은 테스트 되고, 결정 상태(852)는 참이다. 결정 상태(846)는 어레이 LAT 직전 및 직후 커런트 엘리먼트의 엘리먼트 값이 커런트 엘리먼트의 값보다 큰가를 측정한다. 다른 말로, 결정 상태(846)는 위도 라인이 교점(J)의 탄젠트인지 측정한다. 결정 상태(850)는 어레이 LAT 직전 및 직후 커런트 엘리먼트의 엘리먼트 값이 커런트 엘리먼트의 값보다 작은가를 측정한다. 다른 말로, 결정 상태(850)는 위도 라인이 교점(J)의 탄젠트인지 측정한다.
J가 교점-1 수와 동일할 때, 프로세스(600)는 다음의 테스트를 수행하는 상태(856부터 860)으로 이동한다:
결정 상태(856): 만일 LAT(1)>LAT(2) 그리고 LAT(1)>LAT(수_교점-1) 그러면 T(J) =1;
결정 상태 860: 만일 LAT(1)<LAT(2) 그리고 LAT(1)<LAT(수_교점-1) 그러면 T(J) = 1.
수_교점은 상태(606)으로부터 사용 가능하듯이 교점의 수를 나타내는데 사용된다. 결정 상태(856 내지 860)은 교점(1)이 위도 라인의 탄젠트인가를 측정하는 상기 상태(846 내지 854)의 특별한 경우를 테스트한다. 만일 그렇다면, J에 의해 어드레스된 탄젠트 어레이의 엘리먼트는 1과 동일하게 세팅된다.
상태(862)에서, 프로세스(600)는 변수 J를 1과 동일하게 세팅한다. 블록(864)은 도 19a부터 도 19b의 오프 페이지 커넥터이다. 도 19b의 블록(864)으로부터 계속되는, 프로세스(600)는 다각형 교점을 연결하는 이산 위도 포인트의 가상-라인을 생성한다. 라인을 정의하는 각 포인트는 X, Y 좌표로써 나타낸다. 각 Y 좌표 또는 위도 포인트는 Y축 상에 위도 분리는 10,000이다.
결정 상태(866)는 병력 위도 라인을 체크하고, 만일 참이면, 프로세스(600)는 모든 교점이 프로세스되었는가를 측정하기 위한 결정 상태(886)로 이동한다. 만일 그렇지 않다면, J는 상태(888)에서 1로 증가되고, 프로세스는 어레이 LAT의 다음 엘리먼트를 체크하는 결정 상태 866으로 루프 백한다. 만일 LAT(J)가 결정 상태(866)에 의해 측정된 LAT(J+1)과 다르면, 프로세스(600)는 상태(868)로 이동하고, 변수 K를 LAT(J)의 값으로 동일하게 세팅하고, 상태(870)로 이동한다.
상태(870)는 위도 산젠트 교점 포인트를 버리는데 이용된다. 상태(870)는 K가 LAT(J)와 동일하고 T(J)가 1과 동일한가를 측정한다. 만일 그렇다면, 프로세스(600)는 K가 상태(884)에서 1로 증가해야 하는지, 또는 K가 "LAT(J+1)-1" 값에 도달하고 결정 상태(886)가 수행되었는지 측정하는 결정 상태(882)로 이동한다. 만일 K가 상태(884)에서 증가되었으면, 프로세스(600)는 결정 상태(870)로 루프 백한다.
만일 결정 상태(870)가 거짓이면, 프로세스(600)는 변수 "delta_lat"를 "LAT(J)-LAT(J+1)"로 산출하는 상태(872)로 이동한다. 상태(874)에서, 변수 "delta_lon"은 J에 의해 어드레스된 어레이 LON 엘리먼트의 값과 J+1에 의해 어드레스된 어레이 LON 엘리먼트 값 사이의 차를 산출한다. 상태(876)로의 이동은, 변수 "lat_point"가 변수 K의 값과 동일하게 세팅된다. 상태(878)는 아래 등식에 사용하는 위도 라인 포인트를 위한 경도 (변수 "lon_point")를 산출하는데 사용한다:
lon_point = INT((K-LAT(J)/delta_lat)*delta_lon+LON(J)).
상태(880)로의 이동은, 프로세스(600)가 라인 인덱스 파일에 lat_point와 lon_point 값을 기재하고, K의 값을 체크하는 결정 상태(882)로 루프 백한다.
결정 상태(886)에서, 만일 J가 교점-1의 수와 동일하면, 모든 교점은 프로세스되고, 프로세스(600)는 상태(890)로 이동한다. 상태(890)에서, 프로세스(600)는 오름 위도 포인트에 따라 라인 인덱스 파일을 정렬하고, 그러면 위도 포인트 내에 오름 경도 포인트에 따라 라인 인텍스 파일을 정렬한다. 상태(894)로의 이동은 프로세스(600)가 인덱싱 키와 같은 위도 포인트를 이용하여 다각형 라인 인덱스 파일(619)을 생성한다.
도 20에서, 도 12a에서 정의된 펑션(620)이 설명된다. 펑션(620)은 zip_final 리스트와 zip_pointer 리스트의 조화에 의해 정의되는 모든 zip+4 레코 드를 읽고, zip+4 Centroid가 다각형 서비스 지역내인지를 측정한다.
시작 상태(910)에서 시작은, 상태(912 내지 918)은 펑션 188(도 10)의 상태(422 내지 428)와 동일하다. 게다가 상태(920)로부터 상태(926)에서의 시작은, 프로세스(600)가 zip+4 Centroid의 위도 및 경도과 펑션(612)(도 14 참조)로부터 사용 가능한 사이트 위도 및 경도의 최대치 및 최소치를 비교한다. 다른 말로, 프로세스 600은 zip+4 Centroid가 다각형 서비스 지역의 위도 및 경도 극값내인지를 측정한다. 만일 그렇지 않다면, 상태 928에서 프로세스 600은 다음 zip+4 레코드에 포인트를 제공하고, 이후 zip+4 레코드를 읽는 상태 918로 루프 백한다.
그러나, 만일 zip+4 Centroid는 상태 920부터 926에 의해 다각형 서비스 지역의 위도 및 경도 극값 내인것이 측정이 되면, 프로세스 600은 펑션 930으로 이동한다. 펑션 930은 zip+4 Centroid가 정말 다각형내인가를 측정하는 마지막 테스트이다. 펑션 930의 point-in-polygon은 "인사이드" 플래그 또는 "아웃사이드" 플래그로 복귀한다. 만일 zip+4 Centroid가 다각형내가 아니면, "아웃사이드" 플래그는 펑션 930에 의해 세팅되고, 프로세스 600은 다음 zip+4 레코드에 제공되는 상태 928로 이동한다. 그러나, 만일 zip+4 Centroid가 다각형 내이면, "인사이드" 플래그는 펑션 930에 의해 세팅되고, 프로세스 600은 거리 산출을 행하는 상태 932로 이동한다. 상태 932는 펑션 188 (도 10)의 상태 430과 동일하다. 상태 934부터 940 및 928은 펑션 188의 상태 434부터 442와 동일하다. 펑션 620은 상태 942에서 도 12a로 복귀한다.
도 21에서, 도 20에서 정의된 펑션 930이 설명된다. 펑션 930은 zip+4 Centroid가 다각형 내에 있는지 측정하기 위해 테스트한다. 펑션 930은 음의 음의 경도 방향내의 zip+4 위도로부터 라인을 개념적으로 그리고, 다각형 경계를 라인이 교차되는 횟수를 계산한다. 만일 라인이 홀수번 교차하면 zip+4 Centroid는 다각형 내이고, 그러나 라인 교차의 짝수이면 zip+4 Centroid는 다각형 외부인 것으로 측정한다.
시작 상태 960에서 시작은, 프로세스 600이 변수 "lat"의 값을 산출하는 상태 962로 이동한다: zip+4_lat(zip+4 Centroid 파일로부터 사용가능한) site_lat_min(도 14, 펑션 612로부터 사용 가능한)를 뺌으로써, 그 결과에 10,000을 곱하고, 그리고 결과의 정수 (INT) 부분을 취함으로써. 상태 964로의 이동은, 프로세스 600이 변수 "lon"의 값을 산출한다: zip+4_lon(zip+4 Centroid 파일 100으로부터 사용 가능한)으로부터 site_lon_min(펑션 612로부터 사용가능한)을 뺌으로써, 그 결과에 10,000을 곱하고, 그리고 결과의 정수 (INT) 부분을 취함으로써.
상태 966으로의 이동은, 프로세스 600이 0의 값으로 변수 "카운트"를 초기화하고 라인 인덱스 파일 619를 액세스하는 상태 968로 진행한다. 상태 970에서, 프로세스 600은 변수 "lat_point"와 "lon_point"의 값을 검색하기 위해 다각형 라인 인덱스 파일 619(도19, 펑션 618로부터 사용가능한)를 읽는다. 프로세스 600은 파일 ISAM 인덱스의 사용으로 파일에 "lat"의 최초 발생하는 다각형 라인 인덱스 파일 619에 제공한다. 결정 상태 972로의 이동은, 프로세스 600이 "lat_point"가 "lat"보다 큰가를 측정한다. 만일 "lat_point"가 "lat"보다 크면, 다각형 라인 인덱스 파일 619내의 모든 레코드가 읽혀진 것이다. 만일 그렇지 않다면, 테스트는 "lon_point"가 "lon"보다 작은가를 측정하기 위해 결정 상태(974)에서 수행된다. 만일 "lon_point"가 "lon"보다 작으면, zip+4 Centroid로부터 그려진 라인은 다각형 라인을 교차하기 위해 정의된 음의 무한대를 향한다. 상태(976)에서, "카운트"는 라인 교차 존재를 나타내기 위해 1로 증가되고, 프로세스(600)는 상태(970)로 루프 백한다. 그러나, 만일 결정 상태(974)가 거짓이면, 프로세스(600)는 라인 인덱스 파일(619)의 다음 읽기를 수행하는 결정 상태(970)로 루프 백한다.
만일 프로세스(600)가 "lat_point"가 "lat"보다 큰가를 결정 상태(972)에서 측정하면, 프로세스(600)는 "카운트 모듈러스 2"가 0과 같은지 체크하는 결정 상태(978)로 이동한다. 만일 그렇다면, 라인 교차 존재의 짝수, "아웃사이드" 플래그는 세팅되고, 펑션(930)은 상태(980)에서 도 20으로 복귀한다. 만일 결정 상태(978)이 거짓이면, 즉, "카운트 모듈러스 2"가 0과 같지 않으면, 라인 교차 존재의 홀수는 zip+4 Centroid가 다각형내에 있음을 나타낸다. 프로세스(600)는 "인사이드" 플래그를 세팅하고, 펑션(930)은 상태(982)에서 도 20으로 복귀한다.
VII. 1 테이블 시스템의 개요
도 1b 및 도 1c 에 보인 유도된 주 세이블 시스템(마스터 및 클라이언트 테이블)은 1 테이블 시스템(1000)(도 27)이다. 1 테이블 시스템은 전화 호출 라우트의 가장 빠른 길을 제공한다. 그것은 싱글 테이블에 근거하기 때문에, 그것은 원격통신 네트워크내의 가장 간편한 수단이다.
1 테이블 시스템의 수단은 클라이언트 서비스 로케이션 변경 및 전화 번호와 각 클라이언트의 서비스 로케이션간의 관계, 전화 변호 변경을 동기화하는데 요구 되는 오프-라인 보수의 규모 때문에 일반적이지 않다. 때문에 클라이언트당 1 테이블이며, 각 전화변호 변경은 각 클라이언트의 서비스 로케이션과 함께 재연결되어야 한다. 1개월에 전국적으로 수백만 전화번호가 변경된다. 테이블로 변경된 결과적인 수는 테이블의 전화번호 변경횟수의 수이다. 각 테이블은 물lon 서비스 로케이션의 추가 및 삭제를 위한 업데이트되여야 하며, 서비스 로케이션 서비스 지역 정의의 변경 또는 전화번호들 뿐만 아니라 이들은 포텐셜 콜러 전화번호와 함께 재연결 되어야 한다. 더우기, 시스템에서 지원되는 보다 많은 클라이언트, 요구되는 보다 많은 테이블들은 큰 규모의 저장 요구의 결과이다.
1 테이블 시스템에서, 서비스 로케이션 전화번호 또는 원격통신 네트워크내로 결합되는 ID 테이블을 위한 전화번호를 생성하는 방법으로 두가지가 있다. 한번 싱글 테이블이 생성되면, 1 테이블 시스템은 오직 단일 대용량 저장장치를 필요로 한다. 즉, 디스크, 희망하는 서비스 로케이션의 전화번호를 정의하는 검색 명령, 그리고, 가장 빠른 호출 루팅 임바디먼트를 제공한다.
1 테이블 시스템에서 콜러 전화번호에서 딜러 전화번호 테이블을 생성하는 첫번째 방법은 상기 설명한 클라이언트 테이블 빌드 프로세스의 확대이다. 테이블을 생성하는데 사용되는 파일 및 프로세스는 이하 도 22와 함께 더 설명한다.
1 테이블 시스템에서 콜러 전화번호에서 딜러 전화번호 테이블을 생성하는 두번째 방법은 오프-라인 프로세스를 사용하는 2 테이블 시스템의 마스터 테이블 및 클라이언트 테이블로부터 레코드를 결합하는 것이다. 이 프로세스는 이하 도 23과 함께 개략적으로 설명된다. 빌드 마스터 테이블 리스트 펑션 및 빌드 클라이언 트 테이블 리스트 펑션은 도 24의 참조에 의해 둘다 설명되고 일반적으로 각각 1050과 1052를 참조하고, 각각 도 25 및 26과 함께 더 논의된다.
콜러 전화번호부터 딜러 전화번호 테이블은 1 테이블 시스템을 위한 전화 네트워크를 이용된 상기 언급된 테이블 생성 의 두가지 방법으로부터 결과된다. 1 테이블 시스템 및 이의 네트워크 구성은 도 27의 참조로 설명되고, 일반적으로 1000에서 참조된다. 1 테이블 시스템에 사용되는 하드웨어 콤포넌트, 테이블 및 파일은 도 27과 함께 보다 상세히 설명된다. 1 테이블 시스템의 명령 순서는 도 28의 참조로써 설명되고, 일반적으로 1160으로 참조된다.
VII. 1 테이블 시스템 테이블 빌드 프로세스.
두개의 자동화 방법의 설명예에 따르면, 서비스 위치 전화번호 또는 원격통신 네트워크 안에서 합병될 수 있는 ID 테이블을 위한 생성 및 유지되는 전화번호이다. 이러한 방법은 두 테이블 시스템 생성에 사용되는 유사한 값와 비슷한 1 테이블 시스템을 이용한 기술로 만들어 졌다.
클라이언트 테이블 빌드의 특별 케이스
첫번째 방법은, 두 테이블 시스템에서 공동으로 상기 설명된 클라이언트 테이블 빌드 프로세스의 특별 케이스 프로세스의 통화자 폰 넘버와 딜러 폰 넘버 테이블이다. 이 새로운 프로세스는 도면 22를 참조하여, 일반적으로 1002에서 언급한다. ZIP+4 센트로이드 파일을 가지고 시작하는 프로세스 (1002)는, 상기 두 테이블 시스템에서 공동으로 설명된다. ZIP+4는 미국에서 스페셜 키를 택한다. 우리의 스페셜 키와같이 ZIP+4는 10-디지탈 전화번호의 대용에 의하여 생성된 10-디지탈 전 화번호 위도와 경도 센트로이드 파일(1010)이다. 활용파일(1010)과 같은 입력의 클라이언트 테이블 빌드 프로세스(1020)은, 폰 어레이 파일(1016) 그리고 폰 윈도우즈 파일(1018)과 함께, 결과적으로 통화자 폰 넘버로 부터 서비스 위치 전화번호 테이블(1022)인 클라이언트 테이블이다. 클라이언트 테이블 빌드 프로세스(1020)은, 유사한 클라이언트 테이블 빌드 프로세스(105)(도면 1a, 그리고 도면 3과 12a와 공동으로 설명), 프로세스(1020)의 입력과 같은 다른 파일 이름과 필드 이름으로 사용되는 것을 제외하고는 여기서 확인할 수 있다. 파일(1010)은 이하 설명된 두개의 다른 파일 빌드 프로세스 1012와 1014로 또한 사용된다.
처음 전화번호 위도와 경도 센트로이드 파일(1010)은 주소와 전화번호의 마스터 리스트로 부터, 어쿠메일(AccuMail) 또는 코드-1(CODE-1)과 같은 ZIP+4 표준 주소와 코딩 소프트웨어, 그룹 1 소프트웨어로 부터 이용할 수 있고, 메취마커/2000(MatchMaker/2000)과 같은 위도와 경도 코딩 소프트웨어, 지리적 데이타 기술 주식회사로 부터 이용할 수 있게 생산되었다(GDT). 전화번호의 위도와 경도 파일 생산을 위해 택해진 프로세스는 이하 설명된것 처럼 두 단계의 프로세스이다.
전화번호 주소 파일에 의한 시작에서, 파일의 첫번째 프로세스 단계에 의한 표준 주소 USPS 어쿠메일 또는 그룹-1 으로부터 코드-1 소프트웨어, 표준 주소, 그리고 ZIP+4를 각각의 주소 파일에 할당한다. 어쿠메일 소프트웨어는, 만일 파일 생산 프로세스가 개인 컴퓨터 또는 다른 작은 기계 상에서 수행될때 사용되고, 또는 다른 대안으로 코드-1 소프트웨어는 만일 프로세스가 메인프레임 또는 큰 기계 상 에서 수행 되어질 때 사용된다. 두번째 단계, 표준 주소와 ZIP+4 코드 결과 파일은, GDT의 메취마케/2000 소프트웨어에 의한 프로세스이다. 각각의 리코드은 스트리트 주소 데이타베이스 GDT의 디나맵/2000(Dynamap/200)인 주소를 첫번째로 찾는다. 현재 리코드된 주소를 찾는다면, 그것은 리코드의 스트리트 넘버 위도와 경도의 할당이다. 만약 현재 리코드된 주소를 찾지 못한다면, 위도와 경도로 부터 GDT의 ZIP+4 위도와 경도 센트로이드 파일 100(도면 1a)의 리코드에 할당한다.
폰 어레이 파일 빌드 프로세스(1012)는, 리절턴트 폰 어레이 파일(1016)에 ZIP 어레이 파일(103)과 같은 5 디짓 ZIP 코드 필드 대신에 6 디짓(NPANXX) 전화번호 필드를 제외하고 ZIP 어레이 파일 빌드 프로세스(101)(도면 1a)와 유사하다. 이와같이, 그것들은 파일(1016)에 엔트리가 가능한 999,999 이다. 그러나, 지역 코드는 현재 할당된 모든 숫자 결합이 아니기 때문에 모두 사용되지는 않는다. 게다가, 위도/ 경도 최소와 최대는 파일(1030)의 5 디짓 ZIP 코드 지역 보다 오히려 파일(1016)에 전화번호의 처음 6 디짓에 의한 지역 명시이다.
폰 윈도우즈 파일 빌드 프로세스 1014는 리절턴트 폰 윈도우즈 파일(1018)은 ZIP 윈도우 파일(104)과 같은 5 디짓 ZIP 코드 필드 대신에 6 디시트(NPANXX) 전화번호 필드를 제외하고 ZIP 윈도우 파일 빌드 프로세스(102)(도면 1a)와 유사하다.
오프-라인 머지 프로세스
도면 23을 참조하여, 마스터 테이블(107)과 클라이언트 테이블(106)으로 부터 ZIP+4로의 오프라인 머지를 포함한는 딜러 전화번호 테이블은 빌딩 통화자 전화번호 빌딩에 사용되는 두번째 방법이 사용된다. 마스타 테이블(107)과 클라이언트 테이블(106)은 상기 두 테이블 시스템을 가지고 결합된 앞에서 설명한 것과 같은 생성이다. 도면 23에서 보인바와 같이, 마스터 테이블(107)과 클라이언트 테이블(106)은 정렬된 마스터 테이블(1032)과 정렬된 클라이언트 테이블(1036)을 각각 생산하는 상태 1030과 1034에 의하여 올라가는 ZIP+4의 순서에 독립적으로 정열된다. 두개의 소프트 테이블 1032와 1036은 서비스 위치 전화번호 테이블(1022')에 통화자 전화번호 생산의 메취 프로세스(1040)에 의해 머지된다. 마스터 테이블의 각 ZIP+4 리코드는, 도면 24 아래에 결합된(1040) 과정이 세밀하게 설명된 예와 같이 텔레폰 테이블(1022')은 전화번호의 클라이언트 테이블과 생성 리코드의 메취 프로세스(1040)는 바람직하게 메칭 ZIP+4를 찾는 것이다. 전화번호 테이블(1022')에 전화번호는, 구조내에서 다시 오리지널 클라이언트 테이블 (106)과 동의한다. 그러나 더 많은 리코더와 전화번호는 ZIP+4s를 위하여 대신된다.
도면 24를 참조하여, 메취와 어팬드(또는 머지)프로세스(1040)은 도면 23과 동일하게 설명할 것이다. 상태 1042와 상태 1044의 진행에 프로세스 (1040)의 시작은, 파일 변수 MT_ EOF와 CT_EOF는 0으로 마스터 테이블과 클라이언트 테이블 끝을 초기화 한다. 프로세스(1040)는 이후 마스터 테이블 전화번호 (MTPHONE)와 마스터 테이블 스페셜 키(MTSK)의 처음 마스터 테이블 리코드를 포함하여 읽혀지는 상태(1046)로 진행된다. 프로세스(1040)는 이후 클라이언트 테이블 스페셜 키(CTSK)와 클라이언트 테이블 전화번호(CTPHONE)의 처음 클라이언트 테이블 리코드를 포함하여 읽혀지는 상태(1048)로 진행된다.
프로세스(1040)는 이후 현재 스페셜 키의 모든 마스터 테이블 리코드의 메모 리 레지던트 리스트로 빌드되는 펑션 MTLIST_BUILD(1050)으로 호출한다. 펑션 (1050)은 이하 도면 25를 가지고 더 세부적으로 설명된다. 펑션(1050)의 완료와 동시에, 커런트 스페셜 키를 가지고 모든 클라이언트 테이블 리코드의 메모리 레지던트 리스트의 빌드되는 프로세스(1040)는 펑션 CTLIST_ BUILD(1052)로 호출한다. 펑션(1052)은 도면 26에서 더 자세하게 설명된다. 펑션(1052)의 완료는, 결정 상태(1054)로 진행되는 프로세스(1040)과 마스터 테이블 리스트의 첫번째 스페셜 키(MTL_LIST(1))와 클라이언트 테이블 리스트의 첫번째 스페셜 키(CTL_LIST(1))를 비교한다. 이 비교의 결과 세개가 가능하다.
(1) 클라이언트 테이블 스페셜 키는 마스터 테이블 스페셜 키보다 더 크다;
(2) 마스터 테이블 스페셜 기는 클라이언트 스페셜 키보다 더 크다; 또는
(3) 마스터 테이블 스페셜 키와 클라이언트 테이블 스페셜 키는 같다.
세개의 가능성 결과는 다음에서 설명된다.
(1) 클라이언트 테이블 스페셜 키는 마스터 테이블 스페셜 키보다 더 클때, 결정 상태(1054) 결정 처럼 프로세스(1040)은 결정 스테이션(1056)로 진행된다. 만약 파일 컨디션 MT-EOF의 마스터 테이블 끝이 1과 같으면, 즉 머징 프로세스는 완료된다. 머지 프로세스(1040)은 상태(1060)로 종결된다. 만약 파일 컨디션 MT_EOF의 마스터 테이블 끝이 1과 같지 않다면, 마스터 테이블 리스트로 다시공급하고 결정 상태(1054)로 전환되는 프로세스(1040)는 펑션 MTLIST_BUILD (1050)으로 호출한다(도면 25과 함께 더 자세하게 설명된다).
(2) 마스터 테이블 스페셜 키가 클라이언트 테이블 스페셜 키보다 클때, 결 정 상태(1054)결정 처럼 프로세스(1040)은 결정 스테이션(1062)로 진행된다. 만약 파일 컨디션 CT-EOF의 클라이언트 테이블 끝이 1과 같으면, 즉 머징 프로세스는 완료된다. 머지 프로세스(1040)은 상태(1066)로 종결된다. 만약 파일 컨디션 CT_EOF의 클라이언트 테이블 끝이 1과 같지 않다면, 클라이언트 테이블 리스트로 다시 공급하고 결정 상태(1054)로 전환되는 프로세스(1040)은 펑션 CTLIST_ BUILD 1052으로 호출한다(도면 26과 함께 더 자세하게 설명된다).
(3) 마스터 테이블 스페셜 키와 클라이언트 테이블 스페셜 키가 같을때, 결정 상태(1054) 결정 처럼 프로세스(1040)은 폰 넘버 리코드 펑션(1068)의 리이트 폰 넘버로 진행된다. 펑션(1068)은 폰 테이블(1022)에서 폰에 리코드 J곱하기 K로 기록한다. 여기서 J의 값는 펑션(1050)(도면 25)로부터 얻고 K의 값는 펑션(1052)(도면 26)으로 부터 얻어진다. 펑션(1068)은 마스터 테이블 리스트를 위한 I는 1에서 J까지에서 클라이언트 테이블 리스트를 위한 L은 1에서 K까지 네스팅에 의해 각각의 MTL_폰(I)과 CTL_폰(L) 리코드 조합의 기록에 의한 이 명령을 수행한다.
펑션(1068)의 완료는, 마스터 테이블 리스트로 다시 공급하고 상기 설명된 프로세스(1040)은 펑션(1050)으로 진행된다. 프로세스(1040)은 이후 클라이언트 테이블 리스트로 다시 공급되고, 또한 상기 설명된 펑션(1050)으로 진행된다. 마스터 테이블 리스트 뿐만아니라 클라이언트 테이블 리스트도 다시 공급한 후에 프로세스(1040)은 계속해서 머지 프로세스의 결정 상태(1054)로 전환된다.
도면 25를 참조하여, 마스터 테이블 리스트 빌드 펑션(1050)은 도면 25과 동일하게 셜명할 것이다. 펑션(1050)은 상태(1080)로 시작되고 상태(1082)로 진행되 며 여기서 J의 값은 1로 세팅한다. 펑션(1050)은 이후 마스터 테이블 리코드 스페셜 키(MTSK)와 그것들에 일치된 요소인 마스터 테이블 전화번호 (MTPHONE)로 이동하는 상태(1084)로 진행된다.: 메모리 레지던트 클라이언트 테이블 리스트의 J번째 열 MTL_SK(J)와 MTL_PHONE(J)
펑션(1050)은 이후 마스터 테이블 전화번호(MTPHONE)와 마스터 테이블 스페셜 키(MTSK)를 다음 마스터 테이블 리코드를 포함하여 읽혀지는 상태(1086)로 진행된다. 펑션(1050)은 이후 만약 파일 컨디션의 마스터 테이블 엔드에 도달했는가를 측정하는 결정 상태(1088)으로 진행된다. 만약 파일 컨디션의 엔드에 도달했다면, 상태(1090)에서 파일 변수 MT_EOF의 마스터 테이블은 1로 펑션(1050) 세팅된다. 그리고, 펑션(1052)(도면 24)에서 1040 진행은 상태( 1092)로 컨트롤 전환된다. 만약 파일 컨디션의 엔드에 도달하지 않았다면, 결정 상태(1088)에서 측정된것 처럼 결정 상태(1094)에 펑션(1050)으로 진행된다. 결정 상태(1094)에서, 두 스페셜 키가 같은가를 측정하기 위해 펑션(1050)은 커런트 마스터 테이블 스페셜 키(MTSK) 값과 마스터 테이블 리스트 (MTL_LIST(1))에 처음 스페셜 키를 비교한다. 만약 그것들이 같이 않다면, 1040 진행은 상태(1092)에서 평션(1050)은 컨트롤 전환된다(도면 24). 만약 두 스테셜 키가 같다면, 상태(1096)과 상기 설명한 상태(1084) 복귀에서 평션(1050)은 1로 J의 값을 증가시킨다.
도면 26을 참조하여, 클라이언트 테이블 리스트 빌드 펑션(1052)은 도면 42와 동일하게 설명할 것이다. 평션 CTLIST_BUILD(1052)은 마스터 테이블과 펑션(1050)(도면 25)처럼 클라이언트 테이블과 함께 동일하게 프로세스한다.
펑션(1052)은, 상태(1102)에서 시작되고 상태(1104)로 진행되며 여기서 J의 값은 1로 세팅한다. 펑션(1052)은 이후, 커런트 클라이언트 테이블 리도즈 스페셜 키(CTSK)와 그것들과 일치된 요소인 클라이언트 테이블 전화번호 (CTPHONE)로 이동하는 상태(1106)로 진행된다.: 메모리 레지던트 클라이언트 테이블 리스트의 K번째 열 CTL_SK(K)와 CTL_PHONE(K). 펑션(1052)은 이후 클라이언트 테이블 전화번호(CTPHONE)와 클라이언트 테이블 스페셜 키(CTSK)를 다음 클라이언트 테이블 리코드를 포함하여 읽혀지는 상태(1108)로 진행된다.
펑션(1052)은 이후 파일 컨디션의 클라이언트 테이블 엔드에 도달했는가를 측정하는 결정 상태(1110)으로 진행된다. 만약 파일 컨디션의 엔드에 도달했다면, 상태(1112)에서 파일 변수 CT_EOF의 클라이언트 테이블은 1로 펑션(1052) 세팅된다. 그리고, 1040(도면 24) 진행은 상태(1114)로 컨트롤 전환된다. 만약 파일 컨디션의 엔드에 도달하지 않았다면, 결정 상태(1110)에서 측정된것 처럼 결정 상태(1116)에 펑션(1052)으로 진행된다. 결정 상태(1116)에서, 두 스페셜 키가 같은가를 측정하기 위해 펑션(1052)은 클라이언트 테이블 스페셜 키(CTSK) 값과 클라이언트 테이블 리스트(CTL_LIST(1))에 처음 스페셜 키를 비교한다. 만약 그것들이 같이 않다면, 1040 진행은 상태(1114)에서 평션(1052)은 컨트롤 전환된다(도면 24). 만약 두 스테셜 키가 같다면, 결정 상태(1116)에서 측정되는것 처럼 상태(1118)과 상기 설명한 상태(1106) 진행에서 평션(1052)은 1로 K의 값을 증가시킨다.
IX. 1 테이블 시스템을 위한 컴퓨터-텔레폰 통합(CTI) 네트워크 구성
도면 27를 참조하여, 1 테이블 시스템(1000)을 위한 선호하는 CTI 네트워크 구성을 설명할 것이다. 네트워크 구성은 도면 22 또는 도면 23과 결합하여 도시된 테이블을 이용한다. 콜링 텔레폰(110)으로부터 놓여진, 텔레폰 통화는 먼저 통화자와 가까운 패시픽 벨 또는 사우스웨스트 벨과 같은 로컬 익스체인지 캐리어(LEC)에서 스위치(도시되지 않음)에 의해 처리된다. LEC에 있는 스위치는 사용된 전화의 형태와 독립된 오토메틱 넘버 아이덴티피케이션(ANI)을 할당한다. 통화자 ID 기술은 통화자 넘버를 얻기 위한 다른 방법을 제공하나 그 기술은 현재 유용성을 조율하는 상태이다. 그리고 이 기술은 어떤 환경하에서는 블록화 될 수 있다. AT&T에 따르면, 현재 모든 스위치의 98% 이상이 할당되어 10 디짓 ANI를 통과한다. 그리고 나서 콜, ANI 그리고 다이얼 넘버 아이덴티비케이션 서버스(DNIS) 넘버들은 AT&T, MCI 또는 스프린트(Sprint)와 같은 국제 장거리 네트워크 케리어를 통해 장거리 네트워크(LDN) 터미네이팅 스위치(111)를 지난다. LDN 터미네이팅 스위치(111)는 터미네이팅 위치를 서비스 하는 LEC에 있는 다른 스위치(도시되지 않음)와 연결될 수 있으며, 또는 콜 프로세싱 센터 인터페이스 포인트(1130)에 직접 연결된 AT&T MEGACOM 800 스위치 또는 AT&T MULTIQuest 900 스위치와 같은 스위치에 연결 될 수 있다. 이러한 컴퓨터 텔레폰 인테그래이션 네트워크에서의 선호하는 인플리먼테이션은 AT&T 4 ESS 디지털 스위치(111)를 사용한 AT&T MEGACOM 800 서비스를 이용하여 AT&T 장거리 네트워크에 직접 연결하는 것이다.
터미네이팅 스위치(111)는 콜, ANI 그리고 DNIS를 네트워크와 콜 센터 사이의 인터페이스 박스(1130)로 전달한다. 인터페이스 박스(1130)은 가급적 AT&T 컨버 젼트 시스템과 같은 VRU 또는 인터액티브 보이스 리스펀스 유닛(IVRU)이며 CTI를 제공하는 허브이다. 다른 구현은 보이스/스피치 특성 없는 인터페이스 박스(130)를 이용한다. 이 인터페이스 박스(1130)은 보이스, ANI 그리고 DNIS를 받아들임으로써, 통화자의 기록된 보이스 메시지를 말함으로써, 통화자 DTMF 키패드 인풋을 받아들임으로써, 통화자 보이스 인풋 및 "1", "2", "3", "A", "B", "C", "Yes" 그리고 "No" 등의 명령어를 컴퓨터 데이터 코드로 해석함으로써, 컴퓨터 텍스트를 합성 스피치로 해석함으로써 그리고 합성된 스피치를 통화자에게 말함으로써 콜 프로세싱을 컨트록하는 능력이 있다. 인터페이스 박스(1130)는 또한 콜을 프로세싱하기 위해 필요한 추가 정보를 얻기 위해 근거리 통신망(LAN) 상의 ISDN 및 TCP/IP과 같은 커뮤니케이션 프로토콜을 통한 다른 텔레폰 및 컴퓨터 네트워크 시스템들과 커뮤티케이트 한다. 인터페이스 박스(1130)는 선택적으로 통화자를 서비스 지역에서 서비싱 위치 텔레폰 등에 연결하거나 통화자를 AT&T의 트랜스퍼 커넥트와 같은 앞선 네트워크 특성을 사용하여 서비싱 지역으로 옮긴다. LAN(1132)는 여분을 위해 이중선이다.
인터페이스 박스(1130)는 먼저 스트럭쳐드 퀴리 랭귀지(SQL) 데이터베이스 서버(1134)와 통화자가 제공한 전화번호의 형태를 업데이트, 유효화 및 결정하기 위해 커뮤니케이트 한다. 전화번호의 이러한 타입은 U.S. POTS 전화번호인지 아닌지 등에 따라 관련되며, non-POTS의 넘버는 페이저, 셀룰러 폰 또는 개인 통신 서비스(PCS) 텔레폰과 상응할 수 있으며, non-POTS의 넘버는 캐나다 텔레폰 일 수 있다. 통화자가 제공한 전화번호는 일반 통화자의 초기 콜의 산물이거나 컬러가 다른 전화번호를 제공한 주(도면 28의 118)의 산물이다. 이러한 선호하는 SQL 서버 소프트웨어 제공자는 오라클 회사(Oracle Corporation)이다. 선호하는 서버는 AT&T 3600 유닉스 박스이다. 다른 서버 또는 데이터베이스 소프트웨이 타입들은 다른 구현에서 사용되어 질 수 있다.
데이터베이스 서버(1134)는 정보를 업데이트, 유효화 그리고 전화번호를 분류하는 두 개의 데이터베이스를 가지고 있다. 첫 번째는 벨코어 NPANXX 스플릿 파일(1136) 이다. 이 "NPANXX"는 열 개의 숫자 전화번호의 첫 번째 여섯 개 숫자를 나타내며 이는 지역번호와 텔레폰 교환기에 상응한다. 만약 NPANXX를 제공한 통화자가 이 리스트에 있고 현재 데이터가 파일로부터 검색한 스플릿과 관련된 범위에 있다면, 통화자가 제공한 전화번호는 스플릿 파일(1136)내의 데이터에 따라 업데이트된다. 다음 통화자의 NPANXX는 NPANXX에 의해 제공되는 모든 유용한 NPANXX들과 서비스 타입들의 리스트인 벨코어의 V&H 코오디네이트 파일 1136과 대조된다. NPANXX 스플릿 파일(1136)과 V&H 코오디네이트 파일(1138)은 벨코어의 로컬 익스체인지 루팅 가이드(Local Exchange Routing Guide:LERG)에서의 발췌본이다. LERG는 모든 일반 케리어들에 의해 노오스 아메리칸 다이얼링 플랜 텔레커뮤니케이션스 네트워크(North American Dialing Plan telecommunications network) 내에서 루팅 콜하기 위해 사용되는 마스터 데이터베이스이다. 만약 NPANXX를 제공한 통화자가 U.S. 플랜 올드 텔레폰 서비스(Plain Old Telephone Service:POTS) 넘버처럼 V&H file 내에 리스트된다면 통화자의 타임 존 및 데이라잇 세이빙 타임 인디케이터의 이익이다. 반면에 만약 통화자의 NPANXX가 유효하지 않다면, 인터페이스 박스(1130)은 통화자에게 다른 전화번호의 제공을 요구한다. 만약 NPANXX가 유효하다면, 그러나 non-U.S. 또는 "NPN_555"와 같은 특별한 목적의 전화번호, 통화자의 전화번호 타입과 관련된 미리 기록된 메시지는 통화자를 위해 수행되어질 것이며 통화자는 다른 전화번호를 입력하길 요청받을 것이다. 그렇지 않으면 통화자는 익셉션 콜 핸들링 오퍼레이터(1146)과 연결될 것이다.
통화자의 NPANXX는 유용한 U.S. POTS 넘버를 결정시키면, 인터페이스 박스(1130)는 통화자가 제공한 전화번호와 DNIS를 포함하는 인터프로세서 커뮤니케이션 리퀘스트를 루팅 프로세서(1150)(또한 루팅 컴퓨터로 언급되어짐)에 보낸다. 하나의 구현에서, 라이팅 프로세서(1150)은 AT&T 3600과 같은 유닉스를 기본으로 한 컴퓨터로 DNIS에 상응하는 전화번호 테이블(1022)의 전화번호를 억세스 한다. 루팅 프로세서(1150)는 클라이언트 전화번호의 데이터에 의존하는 통화자가 제공한 전화번호를 전화번호 테이블에서의 검색을 통해 리퀘스트를 처리하고, 만약 성공한다면, 상태 코드, 서비스 위치 전화번호의 리스트 또는 IDs를 반환한다. 만약 반환 상태 코드가 비성공 타입이면, 인터페이스 박스(1130)는 미리 기록한 메시지를 통화자에게 보내거나 통화자를 익셉션스 콜 오퍼레이터(1146)에 연결한다.
만약 루팅 프로세서 리퀘스트가 성공적으로 반환되면, 인터페이스 박스(1130)은 통화자의 DNIS와 관련된 클라이언트 서비스 위치(Clients Service Location) 테이블(1140)에 있는 데이터베이스 억세스 펑션을 수행하고 루팅 프로세서(1150)에 의해 리턴된 서비스 위치 IDs와 관련된 기록들에서 검색하는 데이터베이스 서버(1134)에 인콰이어 한다. 테이블(1140)은 표시된 온라인 버전의 클라이언 트 서비스 위치 테이블(109)(도면 22)이다. 이러한 검색된 기록들은 서비스 위치 텔레본 넘버, 작동 날짜 및 시간, 이름, 주소 및 미세 지역 위치, 타임 존, 테이라잇 세이빙 인디케이터 등과 같은 정보를 포함한다. 다음, 인터페이스 박스(1130)은 통화자의 리퀘스트를 처리하기 위해 이용 가능한 서비싱 위치이 어떤 것인가를 결정한다. 클라이언트 어플리케이션에 의존하여, 인터페이스 박스(1130)는 기록된 보이스 또는 스피치 된 합성된 텍스트를 통해 통화자에게 서비스 위치 정보를 제공하며/또는 통화자를 바로 가장 가까운 혹은 현재 선택된 이용 가능한 서비스 위치에 연결한다.
콜은 오퍼페이터 익셉션 핸들링을 요구하면, 인터페이스 박스(1130)은 CTI 일반 블랜치 교환(PBX)/자동 콜 분배기(ACD)(1142)와 호스트 시스템(1144)을 통해 통화자를 비디오 디스플레이를 사용하여 오퍼레이터(1146)에 연결한다. AT&T에 유용한 시스템(75)과 같은 PBX/ACD(1142)은 통화자의 보이스를 오퍼레이터(1146)에 제공한다. 호스트 시스템은 바람직하게 IBM에 유용한 3090 메인 프레임 컴퓨터이다. 호스트 시스템(1144)은 데이터베이스의 데이터를 오퍼레이터의 비디오 디스플레이 상의 서버(1134)에 제공한다. 호스트 시스템(1144)은 FL의 젝손빌의 AT&T 어메리칸 트렌스테크(American Transtech)에 의해 유지된다. 오퍼레이터(1148)는 리퀘스트를 처리하고 통화자를 서비스 딜러에 연결하기 위해 요구되는 정보를 통과시키거나 인터페이스 박스(1130)에 미리 기록된 메시지를 가진 콜을 종결시킨다.
통화자를 서비싱 딜러에 연결하는 두 가지 방법이 있다. 인터페이스 박스(1130)는 인터페이스 박스(1130)에서 서비싱 위치 등 위치(150a)에 두 번째 콜을 발생시킬 수 있으며 통화자를 인터페이싱 박스(1130)를 통해 서비싱 위치에 연결한다. 선택적으로, 인터페이싱 박스(1130)는 콜을 직접 서비싱 딜러에 전달하기 위한 AT&T에 의해 판매된 앞선 네트워크 픽쳐 "트랜스퍼 커넥터(Transfer Connect)"를 사용할 수 있다. 두 번째는 선호하는 인플레이먼테이션(Implementation)으로 이는 텔레커뮤니케이션의 비용 및 인터페이스 박스 포트 캐피탈 리콰이어먼트를 줄일 수 있기 때문이다.
서비싱 위치는 상용화된 텔레폰(150a) 또는 기계 장치를 한 다른 텔레폰 콜을 사용한 콜에 응답한다. 그리고 나서 서비싱 위치은 통화자의 리퀘스트를 처리할 수 있다.
X. 1 테이블 시스템의 예
도면 28을 참조하여(도면 27과 결합한), 콜 프로세싱 프로세서(1160)를 설명할 것이다. 1 테이블 시스템(1000)은 콜 프로세싱 프로세서(1160)의 플로 다이아 그램에 의해 보여진 플로우 프로세스를 실행한다. 프로세스는 통화자의 텔레폰 콜을 단일한 루팅 테이블을 사용하여 클라이언트의 목적지 서비스 위치(destination service location)을 루팅 하는데 사용된다. 프로세스(1160)는 도면 27과 결합되어 도시된 1 테이블 시스템(1000)을 위한 네트워크 형상을 사용한다.
프로세스(1160)은 일 예로 통용화 된 텔레폰(110)을 사용한 예를 들어 "800" 타입 전화번호의 통화자 다이얼링으로 시작된다. 콜은 네션럴 텔레커뮤니케이션 네트워크에 의해 응답하는 콜 프로세싱 센터에 있는 네트워크 인터페이스 박스(1130)(도면 27)에 바람직하게 루팅 된다. 네트워크 인터페이스 박스(1130)의 모듈 또는 구성요소(112)를 복호화 한 콜은 네트워크 인포메이션 패킷(114)을 복호화 한다. 이는 ANI에 의해 제공된 통화자의 전화번호 및 다이얼 된 넘버 등 DNIS 넘버가 포함되어 있다.
그리고 나서 프로세서(1160)는 결정 상태(116)를 처리하고 콜 어플리케이션이 선택적 통화자의 인풋을 위해 제공하는 지를 결정한다. 그렇지 않으면 결정 상태(1162)를 처리한다. 그러나, 만약 콜 어플리케이션이 선택적 통화자의 인풋을 위해 제공한다면, 프로세스(1160)는 상태(118)로 이동한다. 이 상태(118)는 통화자가 보통 ANI와 결합된 위치과 다른 위치과 결합한 다른 사람 또는 기업의 전화번호를 제공한다. 전화번호는 만약 예를 들어, 통화자가 집에서 떨어진 곳에서 텔레폰 콜을 하였을 때 역시 통화자의 집 전화번호 일수 있다. 새로운 전화번호는 터치 톤 텔레폰에 DTMF 키 패드 등을 사용한 통화자에 의해, 터치 톤 사운드를 제공할 수 있는 컴퓨터 또는 다른 장치에 의해 또는 정보를 인터페이스 박스(1130)(도면 27)에 말함으로서 인풋될 수 있다. 상태(118)은 벨코어 NPANXX 스플릿 파일(Bellcore NPANXX Split file)(1136)(도면 27)과 벨리드 전화번호 파일(Valid Telephone Number file)(1138)에 대비하는 전화번호를 제공한 통화자를 체크하고 만약 넘버를 제공한 통화자가 유효하지 않다면 통화자에게 다른 전화번호를 유발한다.
인풋 전화번호가 유효한지를 결정하자마자, 또는 통화자가 유용한 넘버를 제공하기 위해 클라이언트 전용의 넘버의 시도를 만든 후에 넘버가 여전히 유효하다면, 프로세스(1160)는 결정 상태(1162)을 처리한다. 결정 상태(1162)에서, 프로세스(1160)은 통화자의 전화번호 또는 통화자가 제공한 전화번호가 유용한 U.S. POTS 넘버인지를 결정한다. 만약 아니면, 프로세스(1160)은 도면 1c와 결합한 상태(128)에 도시된 논 라우터블 콜 익셉션 핸들링을 위해 상태(128)로 이동한다. 만약 통화자가 제공한 전화번호가 디스젼 상태(1162)에서 결정된 것처럼 유용한 U.S. POTS 넘버이면 프로세스(1160)는 통화자가 제공한 넘버가 전화번호를 위한 인덱스를 통화자의 DNIS와 결합된 전화번호 테이블(1022)로 사용되어 진 스테이크(1164)로 이동한다.
결정 상태(1166)로 이동하여 프로세스(1160)는 통화자의 전화번호가 발견되었는지를 결정한다. 만약 발견되지 않았다면 프로세스(160)는 앞서 설명한 것과 같이 논 라우터블 콜 익셉션 핸들링을 위한 상태(128)를 진행한다. 만약 통화자가 제공한 전화번호가 발견되면, 상응하는 전화번호의 기록은 검색되어 프로세스(1160)는 결정 상태(1168)를 검색된 기록이 서비싱 위치 전화번호를 포함하는 지를 결정하기 위해 진행한다. 만약 어떤 서비싱 위치 전화번호가 존재하지 않다면, 프로세스(1160)은 도면 1c와 결합된 상태(144)에 앞서 도시된 것처럼, 라우티드 콜 익셉션 핸들링 상태(144)를 처리한다.
서비싱 위치 전화번호가 현존하다면, 결정 상태(1168)에 결정된 것처럼, 프로세스(1160)는 상태(146)에서 클라이언트 로컬 서비스 위치의 전화번호를 추출하여 검색된 서비스 위치 전화번호를 다이얼 하는 상태(148)로 이동한다. 상태(148)에 유용한 국외 콜링 모듈 또는 하드웨어는 인터페이스 박스(1130)(도면 27)의 네트워크 종결 지점의 한 부분일 수 있다. 만약 다이얼 된 넘버도 통화중이라면, 결정 상태(152)에서 결정된 것처럼, 또는 아무런 응답이 없다면, 결정 상태(154)에서 결정된 것처럼, 그러면 콜은 라우티드 익셉션 콜 핸들(144)을 상기 설명한 것처럼 순서를 정한다. 만약 콜이 통화중 신호를 만나지 않아 응답이 있으면, 통화자는 서비싱 위치(150)과 연결되어 서비싱 위치은 통화자의 리퀘스트를 처리한다.
XI. 실시간 프로세서 시스템의 개요
하이콜 볼륨과 거래 프로세싱의 속도는 문제가 없고, 다른 공간 키코드 데이터베이스에 연결할 필요없고, 및/또는 디스크 저장장치가 한정된 자원인 응용에서는, 클라이언트는 콜 프로세싱 동안에 임의의 규정된 크기 또는 형상의 위치를 서비스하기 위해 통화자 프로바이드 전화번호에 대응하는 정확한 위치를 연상하는데 필요한 계산을 수행하는 것을 선택할 수 있다. 위치 연상을 서비스하는 실시간 통화자 프로바이드 전화번호를 실행하기 위해 요구되는 일반적인 요소와 기술은 이 2개의 테이블 시스템과 관련하여 상기에 이미 설명하였다. 실시간 프로세싱 구성에서 이런 기술을 변경하는 것은 실시간 연상 프로세스를 위한 효율면에서 더 나은 향상을 제공한다. 다음의 설명은 위도와 경도 중심 파일(1010)(도면 29)과 클라이언트 서비스 위치 파일(109)에 마스터 10 디짓 전화번호를 요구하는 실시간 프로세스를 설명한다. 클라이언트 서비스 위치 서비스 지역, 파일의 각 레코드 부분(109)은 복수의 규정한 서비스 지역으로 정밀한 위도와 경도 서비스 위치 주소로서, 또는 일련의 위도와 경도에 의해 규정된 다각형 서비스 지역으로서 설명된다.
복수개 및 다각형 클라이언트 테이블에 대한 이 2 개의 테이블 시스템 클라이언트 테이블 빌드 프로세스에서, 이 시스템은 하나씩 서비스 지역의 리스트를 판독하고, 각 서비스 지역내부에 있는 ZIP+4s를 결정하고, 각 ZIP+4s로부터 서비스 위치까지의 거리를 계산하고, 각 ZIP+4s를 포함한 레코드를 파일에 쓰고, ZIP+4s에 의해 그리고 더 나아가 오름차순 거리에 의해 이 파일을 정열하고 색인한다.
도면 29을 참조하여, 실시간 프로세스 시스템(1200)(도면 30)에서 요구되는 이 파일과 프로세스를 설명할 것이다. 실시간 프로세스 모듈 (1220) 은 실시간으로 텔레폰 콜을 발송하기 위해 시스템(1200)(도면 30)의 일련의 루팅 프로세서(1150)(도면 30)중의 하나를 실행한다. 또한 위도와 경도 중심 파일(1010)과 클라이언트 서비스 위치 파일(109)로 마스터 10 디짓 전화번호, 실시간 프로세싱 모듈(1220)은 클라이언트 서비스 지역 어레이 파일(1214), 클라이언트 서비스 지역 윈도우 파일(1216) 및 DNIS(1218)로 통화자 또는 통화자 프로바이드 전화번호를 활용한다. 모듈(1220)의 산출은 서비스 위치 전화번호 EH는 IDS의 정열된 리스트(1220)이다. 이 모듈(1220)은 그림(35)과 관련하여 더 상세히 설명하겠다.
위도 및 경도 중심 파일(1010)과 클라이언트 서비스 위치 파일(109)로 마스터 10 디짓 전화번호는 상기에 하나의 테이블 시스템과 관련하여 이미 설명했다. 클라이언트 서비스 어레이 파일(1214) 및 클라이언트 서비스 에어리어 윈도우 파일(1216)은 이하 설명되는 바와 같이 클라이언트 서비스 위치 파일(109)내의 반경 및 다각형 서비스 둘다의 위도/경도 말단을 사용하기 위한 구성이다.
특히, 클라이언트 서비스 에어리어 윈도우 파일(1216)은 클라이언트 서비스 위치 파일(109)를 활용하는 오프-라인 서비스 지역 윈도우 파일에 의해 생성된다. 프로세스(1212)는 이하 도면 31과 관련지어 좀 더 상세히 설명하겠다.
클라이언트 서비스 에어리어 어레이 파일(1214)은 클라이언트 서비스 위치 파일(109)를 활용하는 오프라인 서비스 에어리어 파일 빌딩 프로세스(1210)에 의해 생성된다. 이 서비스 지역 파일 빌딩 프로세스(1210)는 Zip 어레이 파일(103)로서의 5 디짓 Zip 코드 필드 또는 폰 어레이 파일(1016)에 대한 6 디짓(NPANXX) 전화번호 필드 대신에 클라이언트 서비스 위치 ID 필드를 갖는 합성 클라이언트 서비스 에어리어 어레이 파일(1214)를 제외한 Zip 어레이 파일 빌딩 프로세스(101)(도면 1a) 및 폰 어레이 파일 빌딩 프로세스(1012)(도면 22)와 비슷하다. 파일(1214)의 바이트 오프셋 필드는 중심 파일(100)(도면 1a) 또는 중심 파일(1010)(도면 22) 내부에 오프셋을 포함하기 보다 오히려 클라이언트 서비스 위치 파일(109)의 색인 버전(테이블 1140, 도면 30) 내부에 오프셋을 포함한다. 게다가, 위도/경도 최소값 및 최대값은 파일(103) 5디짓 zip 코드 에어리어 또는 파일(1016)의 첫 번째 6 디짓에 의해 규정된 지역보다 오히려 클라이언트 서비스 지역에 대한 것이다. 클라이언트 서비스 지역 어레이 파일(1214)는 통화자 프로바이드 전화번호에 대응하는 위치의 위도 및 경도를 둘러싸지 않는 위도 및 경도 서비스 지역 발단의 서비스 위치를 제거하는데 사용된다. 파일(1214)은 이하에서 설명되는 프로세스(1212)에 의해 또한 생성되는 단지 바이트 오프셋 인덱스와 위도 및 경도 말단만 포함하기 때문에, 프로세스(1210)는 더 상세히 설명하지 않는다.
실시간 프로세싱에서, 이 시스템은 통화자 프로바이드 전화번호의 위치를 포함하는 서비스 지역의 전화번호로 서비스 위치의 리스트를 구성하는 실시간 "콜프로세스동안" 모듈을 실행한다. 이하 도면 35를 참조하여 이 실시간 프로세스(1220)를 더 상세히 설명한다. 실시간 프로세스(1220)는 마스터 전화번호로부터 위도 및 경도 테이블(1010)까지 통화자 프로바이드 전화번호 레코드를 검색함으로써 통화자 프로바이드 전화번호에 대응하는 위치의 위도/경도를 결정한다. 이 위도 및 경도와 DNIS 의존 클라이언트 서비스 에어리어 윈도우 파일(1216)에 기초하여 실시간 프로세스(1220)는 발신자의 위치를 잠재적으로 서비스하는 클라이언트 위치의 리스트를 공간적으로 결정한다. 이 리스트 결정 단계를 도면 35를 참조하여 설명하고 일반적으로 1334 및 1346을 참조하며, 이하 도면 36과 관련하여 좀 더 상세히 설명한다.
그 후, 실시간 프로세스(1220)는 통화자의 위도/경도가 서비스 위치의 서비스 에어리어 내부에 있는지의 여부를 결정하기 위한 리스트에서 각 잠재 위치상에 상세한 공간 테스트를 실행한다. 만약 내부에 있다면, 이 시스템은 통화자로부터 서비스 지역까지의 거리를 계산하고, 그것을 서비스 지역의 리스트에 첨가한다. 이 상세한 공간 테스트와 거리 단계를 도면 35를 참고로 설명하고, 일반적으로 1348을 참조하며, 더 나아가 도면 37 및 38과 관련지어 설명한다. 모든 잠재적 위치가 프로세스된 후, 이 서비스 리스트는 거리에 기초하여 오름 차순으로 정열되고, 텔레폰 콜을 발신하기 위해 사용되는 콜 프로세스 어플리케이션 잡 스트림으로 되돌아 통과한다.
2개의 테이블 시스템과 같이, 실시간 프로세스는 2개의 테이블 시스템 클라이언트 테이블 빌드 프로세스에서 설명했던 다각형 및 반경 서비스 지역 모두를 지원한다. 실시간 프로세스에 대해서, 반경 및 다각형 "내부 서비스 지역" 프로세스는 동일한 콜 프로세스 커널 시스템의 일부이지만, 통화자의 위치가 복수개의 서비스 위치 또는 서비스 지역으로 규정된 다각형 내부에 있는지 또는 외부에 있는지의 여부를 결정하기 위해 그것의 낮은 레벨 함수(도면 38에서) 를 각각 요구한다.
몇 가지 실시예 중에서, 실시간 프로세스 시스템은 업데이트하기에 가장 간단하고 최소한의 기억장치를 필요로 한다. 클라이언트의 서비스 위치로 통화자 프로바이드 전화번호의 공간적 관계는 콜 시간으로 결정된다. 위도와 경도를 가진 전화번호의 마스터 테이블과 각 클라이언트의 서비스 위치 파일은 독립적으로 유지될 수 있으며, 다른 기계상에 속할 수 있다.
VII. 리얼-타임 프로세스 시스템을 위한 컴퓨터-전화 통합 네트워크 환경
도 30에서, 리얼-타임 디터미네이션 시스템 네트워크 환경을 설명한다. 이 네트워크 환경과 콜 프로세싱 로직은 루팅 프로세서(1150)에 의해 액세스된 프로세싱 로직과 데이터베이스를 제외한, 1 테이블 시스템을 위한 도 27에 보인 바와 동일하다. 중복을 피하기 위하여, 오직 이러한 차이점만을 논의한다. 도 30에서, 도 27에서와 같이, 루팅 프로세서(1150)는 콜러 제공 전화번호와 DNIS를 받아들인다. 인터페이스 박스(1130)로부터 입력하고 프로세싱 상태 코드를 반송하고, 만일 성공적이라면, 서비스 지역이 콜러 제공 전화번호의 로케이션을 포함하는 DNIS로 연결된 서비스 로케이션의 리스트.
이 펑션의 수행에서, 루팅 프로세서(1150)(도 30)은 최초에 위도 및 경도 테이블(1010)에서 마스터 전화번호의 콜러 제공 전화번호를 검색한다. 만일 전화번호가 찾아지지 않으면, 상태 코드는 "실패, 마스터 테이블에 전화번호 존재안함"에 해당하는 값으로 세팅되고 이 정보는 인터페이스 박스(1130)로 반송한다. 반면에, 만일 전화번호가 찾아지면, 위도 및 경도는 테이블(1010)로부터 검색된다.
다음, 프로세서(1150)는 검색된 위도 및 경도를 다음 등식에 따라 lat/lon (위도 및 경도) 윈도우로 변환한다: lat/lon 윈도우 = ((콜러 로케이션 X 10)의 정수) X 10,000 + ((콜러 로케이션 X 10)의 정수). 프로세서(1150)는 이후 콜러의 DNIS와 연결된 서비스 지역 윈도우즈 파일(1216) 내의 lat/lon 윈도우를 검색한다. 만일 lat/lon 윈도우가 찾아지지 않으면, 상태 코드는 "실패, lat/lon 윈도우 찾을 수 없음"에 해당하는 값으로 세팅되고 이 정보는 인터페이스 박스 1130으로 반송한다. 만일 lat/lon 윈도우가 찾아지면, 포텐셜 서비스 로케이션 ID 또는 전화번호의 리스트는 반송된다.
포텐셜 리스트의 각 서비스 로케이션 ID 또는 전화번호를 위해, 프로세서(1150)은 콜러의 DNIS와 연관되고, 서비스 지역의 위도 및 경도 경계와 서비스 로케이션 테이블(109)내의 서비스 로케이션 레코드의 시작을 나타내는 바이트 오프셋을 검색하는 서비스 에어리어 어레이 파일(1214) 내의 ID를 검색한다. 다음, 프로세서(1150)은 콜러 제공 전화 번호에 따른 로케이션의 위도 및 경도가 테스트된 커런트 서비스 지역의 위도 및 경도 경계내인가를 측정한다. 만일 그렇지 않으면, 프로세서(1150)는 포텐셜 리스트내의 다음 로케이션으로 진행한다. 다르게는, 콜러 제공 전화번호의 위도 및 경도가 현재 테스트된 서비스 지역의 경계내이고, 프로세서(1150는 콜러의 DNIS와 연관된 클라이언트 서비스 로케이션 테이블(1140)로부터 상세한 서비스 지역 정의를 검색한다. 적절한 클라이언트 서비스 로케이션 테이블(1140)은 소프트웨어 셀렉터의 사용으로 복수의 DNIS 및/또는 클라이언트를 위한 복수의 클라이언트 서비스 로케이션 테이블로부터 선택된 콜러에 의해 다이얼 된 DNIS와 연관된다. 테이블(1140)은 인덱스되고 클라이언트 서비스 로케이션 테이블(109)의 온-라인 버젼이다. 상세한 레코드의 검색과 연관된 서비스 지역의 타입에 근거한, 즉, 반경 또는 다각형, 프로세서(1150)는 콜러 제공 전화번호의 로케이션이 현재 계산되는 서비스 지역내에 위치했는가를 측정하기 위해 적절한 로우 레벨 펑션 호출을 수행한다. 만일 그렇지 않으면, 프로세서(1150)은 포텐셜 리스트내의 다음 로케이션으로 진행한다. 만일 로케이션이 내부이면, 프로세서 1150은 콜러 로케이션으로부터 서비스 로케이션까지의 거리를 산출하고, 레코드에 "인사이드 서비스 에어리어" 리스트에 추가하고 포텐셜 리스트의 다음 레코드로 진행한다.
포텐셜 리스트내의 모든 레코드를 프로세싱한 후, 프로세서(1150)는 "인사이드 서비스 에어리어" 리스트가 널인가, 즉, 포함하는 레코드가 없는가, 를 측정한다. 만일 리스트가 널이면, 상태코드값은 메시지로, "실패, 서비스 에어리어 리스트내에 레코드가 없음", 세팅되고 이 정보는 인터페이스 박스 1130으로 반환된다. 만일 "인사이드 서비스 에어리어" 리스트가 레코드를 포함하면, 리스트는 오름차순 거리로 정렬되고, 상태 플래그 값은 "성공"으로 세팅되고, 이 정보는 도 27의 1 테이블 시스템에 설명된 것처럼 같은 방법으로 정확하게 다루어지는 인터페이스 박스(1130)으로 반환된다.
XIII. 리얼-타임 프로세스: 오프-라인 클라이언트 서비스 에어리어 윈도우즈 파일 빌드 프로세스
도 31-34는 클라이언트 서비스 에어리어 윈도우즈 파일(1216)을 생성하는 프로세스(1212)를 나타낸다. 이 파일은 각 위도 및 경도 윈도우 레코드와 로케이션의 서비스 지역이 잠재적으로 위도 및 경도 윈도우와 겹치는 서비스 로케이션 콤비네이션를 포함하는 인덱스된 위도 및 경도 윈도우 리스트를 포함한다. 파일(1216)은 콜러 제공 전화 번호의 그것과 동일한 위도 및 경도 윈도우와 함께 레코드의 검색에 의해콜러 제공 전화번호의 로케이션이 겹치는 서비스 로케이션의 잠재적 리스트를 신속히 측정하는데 사용된다. 클라이언트 서비스 에어리어 어레이 파일 1214는 위도 및 경도 서비스 지역 경계가 콜러 제공 전화번호에 따른 로케이션의 위도 및 경도를 둘러싸지 않는 서비스 로케이션을 제거하는데 사용된다.
도 31은 클라이언트 서비스 에어리어 윈도우즈 파일 빌드 프로세스(1212)의 개요를 보인다. 프로세스(1212)는 시작 상태(1240)에서 시작하고 클라이언트 로케이션 파일(109)로부터 레코드를 읽는 상태(1242)로 진행된다. 결정 상태(1244)로의 이동에서, 프로세스(1212)는 파일 컨디션의 끝을 체크한다. 만일 파일 컨디션의 끝이 "예"이면, 즉, 파일 109내에 있는 모든 레코드가 일혀진 것이고, 프로세스(1212)는 프로세스를 종료하는 상태(1258)로 진행한다. 만일 파일 컨디션의 끝이 "아니오"이면, 즉, 파일(109)의 모든 레코드가 읽혀지지 않은 것이고, 프로세스(1212)는 파일(109)로부터 방금 읽혀진 레코드가 서비스 지역을 정의하는 반경 또는 다각형을 가지고 있는가를 측정하는 결정 상태(1246)에서 테스트를 수행한다. 파일(109)은 서비스 지역의 타입을 표시하는 필드를 가진다.
만일 결정 상태(1246)가 서비스 지역 타입이 반경인가를 측정하면, 프로세스(1212)는 현재 서비스 로케이션의 위도에서 수 마일/경도를 산출한다. 상태(1248)로 진행한다. 68.9404 마일/위도 이다. 수 마일/경도는 위도의 함수이고 다음 펑션으로써 측정된다: 마일/경도 = 68.9404 * COSINE(위도). 이 산술을 수행한 후에, 프로세스(1212)는 반경 타입 서비스 지역의 위도 및 경도의 최소값 및 최대값을 측정하는 펑션(1250)을 호출한다. 펑션(1250)은 도 32와 함께 보다 상세히 설명된다.
만일 결정 상태(1246)가 서비스 지역 타입이 다각형임을 측정하면, 프로세스(1212)는 펑션(1252)의 호출을 진행한다. 펑션(1252)는 다각형 타입 서비스 지역의 위도 및 경도의 최소값 및 최대값을 측정한다. 펑션 1252는 도 33과 함께 보다 상세히 설명된다.
원형 서비스 지역을 위한 펑션(1250) 또는 다각형 서비스 지역을 위한 펑션(1252)의 완료에서, 프로세스(1212)는 라이트 서비스 에어리어 윈도우 레코드 펑션(1254)으로 계속된다. 라이트서비스 에어리어 윈도우 레코드 펑션(1254)은 로우 서비스 윈도우즈 파일(1254) 내의 레코드를 생성한다. 펑션(1254)은 도 34와 함께 보다 상세히 설명된다. 펑션(1254)의 완료에서, 프로세스(1212)는 클라이언트 서비스 로케이션 파일(109) 내의 다음 레코드를 읽는 상태(1242)로 루프 백한다.
결정 상태(1244)로의 복귀는, 파일 컨디션의 끝에 다다른 후, 프로세스(1212)는 상태(1258)로 진행한다. 상태(1258)에서, 로 서비스 윈도우즈 파일(1256)은 lat/lon (위도/경도) 윈도우 및 lat/lon 윈도우 내의 로케이션 ID를 오름차순으로 정렬 및 인덱스된다. 정렬 및 인덱스의 결과는 클라이언트 서비스 에어리어 윈도우즈 파일(1216)에 기록되고 프로세스(1212)는 종료한다.
도 32에서, 원형 타입 서비스 지역을 위한 캘큘레이트 위도 및 경도 최소값 및 최대값 펑션(1250)이 설명된다. 펑션(1250)은 시작 상태(1270)에서 시작되고 커런트 로케이션을 위한 서비스 지역의 위도 최소값 및 최대값을 산출하는 상태(1272)로 진행한다. 커런트 서비스 지역의 최소 위도는 커런트 로케이션의 위도 빼기 마일/위도에 의해 나뉘어진 서비스 지역 반경 마일과 같다. 커런트 서비스 지역의 최대 위도는 커런트 로케이션의 위도 더하기 마일/위도에 의해 나뉘어진 서비스 지역 반경 마일과 같다. 펑션(1250)은 커런트 로케이션을 위한 서비스 지역의 경도 최소값 및 최대값을 산출하는 상태(1274)로 진행한다. 커런트 서비스 지역의 치소 경도는 커런트 로케이션의 경도 빼기 마일/경도에 의해 나뉘어진 서비즈 지역 반경 마일과 같다. 커런트 서비스 지역의 최대 경도는 커런트 로케이션의 경도 더하기 마일/경도에 의해 나뉘어진 서비스 지역 반경 마일과 같다.
다음으로, 펑션(1250)은 서비스 로케이션 및 그의 서비스 지역과 연관된 lat/lon 윈도우즈의 최소 및 최대 위도 컴포넌트를 생성하는 상태(1276)로 이동한다. 최소 위도 윈도우 콤포넌트는 10 곱하기 서비스 지역 위도 최소값의 정수와 같고, 위도는 각도로 표시하며 각도의 십진 부분이다. 최대 위도 윈도우 콤포넌트는 10 곱하기 서비스 지역 위도 최대값의 정수와 같고, 위도는 각도로 표시하며 각도의 십진 부분이다. 펑션(1250)은 서비스 로케이션 및 그의 서비스 지역과 연관된 lat/lon 윈도우즈의 최소 및 최대 경도 컴포넌트를 생성하는 상태(1278)로 계속한다. 윈도우 경도 경계를 생성하는 과정은 위도 경계를 생성하기 위한 과정과 정확하게 동일하다, 위도 값이 경도값으로 대치되는 것을 제외하고는. 상태(1278)의 완료에서, 펑션(1250)은 상태(1280)으로 진행하고 펑션(1254)(도 31)에서 프로세스(1212)로 복귀한다.
도 33에서, 다각형 서비스 지역을 위한 캘큘레이트 위도 및 경도 최소 및 최대 펑션(1252)이 설명된다. 펑션(1252)은 시작 상태(1290)에서 시작하고 커런트 로케이션을 위한 서비스 지역의 위도 최대값 및 최소값을 측정하는 상태(1292)로 진행한다. 커런트 서비스 지역의 최소 및 최대 위도는 서비스 로케이션 파일(도 29, 31)로부터 다각형 서비스 지역을 위한 다각형 헤더로부터 읽은 것같이 커런트 로케이션을 위한 서비스 지역의 최소 및 최대 위도와 동일하다. 상태(1294)로 진행되면서, 펑션(1252)은 커런트 로케이션을 위한 서비스 지역의 경도 최소값 및 최대값을 측정한다. 다시 이 정보는 파일(109)의 다각형 헤더 부분으로부터 얻어진다.
다음, 펑션(1252)은 서비스 로케이션 및 그것의 서비스 지역과 연관된 lat/lon 윈도우즈의 최소 및 최대 위도 콤포넌트를 생성하는 상태(1296)로 진행한다. 최소 위도 윈도우 콤포넌트는 10 곱하기 서비스 지역 위도 최소값의 정수와 동일하고, 위도는 각도로 표시되며 각도의 십진 부분이다. 최대 위도 윈도우 콤포넌트는 10 곱하기 서비스 지역 위도 최대값의 정수와 동일하고, 위도는 각도로 표시되며 각도의 십진 부분이다. 상태(1298)로의 진행에서, 펑션(1252)이 커런트 서비스 로케이션 및 그것의 서비스 지역과 연관된 lat/lon 윈도우즈의 최소 및 최대 경도 콤포넌트를 생성한다. 윈도우 경도 경계를 생성하는 과정은 위도 경계를 생성하기 위한 과정과 정확하게 동일하다, 위도 값이 경도값으로 대치되는 것을 제외하고는. 상태(1298)의 완료에서, 펑션(1252)은 상태(1300)로 진행하고 펑션(1254)(도 31)에서 프로세스(1212)로 복귀한다.
도 34에서, 크리에이트 서비스 에어리어 파일 레코드 펑션(1254)이 설명된다. 펑션(1254)은 서비스 지역 윈도우 레코드 세트를 생성하고 그것들을 로우 서비스 에어리어 윈도우즈 파일(1256)(도 31)에 기록하는 펑션(1250)(원형 서비스 지역을 위한) 또는 펑션(1252)(다각형 서비스 지역을 위한)에서 측정된 값을 이용한다. 펑션(1254)은 서비스 지역의 최소 위도 윈도우 값으로부터 최대 경도 윈도우값으로 가로지르는 외부 루프내에 자리잡은 서비스 지역의 최소 경도 윈도우값으로부터 최대 경도 윈도우 값을 가로지르는 내부 루프를 활용한다.
펑션(1254)은 시작 상태(1310)에서 시작하고 상태(1312)로 진행하는데 변수 J는 커런트 서비스 지역의 최소 위도 윈도우 값과 동일하게 세팅된다. 펑션(1254)은 상태(1314)로 진행하는데 변수 K는 커런트 서비스 지역의 최소 경도 윈도우 값과 동일하게 세팅된다. 상태(1316)로의 이동에서, 펑션(1254)은 J의 값에 10,000을 곱하고 K의 값을 더함으로써 윈도우 레코드를 생성한다. 다음, 펑션(1254)은 상태(1318)로 진행하고 로우 서비스 에어리어 윈도우즈 파일(1256)(도 31)에 윈도우 레코드를 기록한다.
펑션(1254)은 결정 상태(1320)로 진행하고 K의 값이 커런트 로케이션을 위한 서비스 지역의 최대 위도 윈도우 콤포넌트 값과 동일한가의 측정을 테스트한다. 만일 그들이 동일하지 않다면, 펑션(1254)은 상태(1322)에서 K의 값을 1로 증가시키고 다른 레코드를 생성하기 위해 상태(1316)로 복귀한다. 만일 값들이 동일하면, 결정 상태(1320)에서 측정된 것같이, 펑션(1254)은 결정 상태(1324)에서 계속한다. 결정 상태(1324)에서, 펑션(1254)은 J의 값과 커런트 로케이션을 위한 서비스 지역 의 최대 위도 윈도우 콤포넌트 값을 비교한다. 만일 값들이 다르면, J의 값은 상태(1326)에서 1로 증가되고 펑션(1254)은 새로운 외부 루프 위도 값을 시작하는 상태(1314)로 복귀한다. 만일 값이 같으면, 결정 상태(1324)에서 측정된 것처럼, 펑션(1254)은 상태(1328)로 복귀하고 상태(1242)(도 31)에서 프로세스(1212)로 복귀한다.
XIV.리얼-타임 프로세스: 서비스 지역이 콜러 제공 전화번호의 로케이션을 확장하는 서비스 로케이션의 리스트를 생성하는 "듀링 콜 프로세스"
도 35-38은 서비스 지역이 콜러 제공 전화번호의 로케이션을 확장하는 서비스 로케이션의 리스트를 생성하는 "듀링 콜 프로세스"(1220)를 설명한다. 시스템(1200)(도 30)은 프로세스(1220)의 플로우 다이어그램으로써 표시된 플로우 프로세스를 수행한다. 도 35는 앞서 도 29에서 소개된 프로세스(1220)의 개요를 제공한다.
도 35에서, 프로세스(1220)은 시작 상태(1340)에서 시작하고 콜러 제공 전화번호, DNIS 그리고 콜러 제공 전화번호의 로케이션의 위도 및 경도를 엑세스하는 메모리를 가진 상태(1342)로 진행한다. 위도 및 경도는 위도 및 경도 테이블(1010)(도 29)의 마스터 전화번호내의 콜러 제공 전화번호를 감색함으로써 얻어진다. 상태(1344)로의 이동에서, 프로세스(1220)는 상태(1342)로부터 위도 및 경도를 활용하고 콜러 제공 전화번호의 로케이션을 포함하는 lat/lon (위도 및 경도) 윈도우를 측정한다. 윈도우는 공식 lat/lon 윈도우 = 10,000 곱하기 콜러 위도 곱하기 10의 정수 더하기 콜러 경도 곱하기 10의 정수로 측정된다. 예로써, 위도 40도에서, lat/lon 윈도우가 대략 5.3 마일 바이 6.9 마일의 치수로 X, Y의 직좌표로 표시된다. 다음, 프로세스(1220)는 서비스 지역이 잠재적으로 콜러 제공 전화번호의 lat/lon 윈도우와 겹쳐지는 포텐셜 서비스 로케이션의 초기 리스트를 생성하는 펑션(1346)을 호출한다. 펑션(1346)은 이하 도 36과 함"께 보다 상세히 설명된다.
펑션(1346)의 완료 후, 프로세스(1220)는 포텐셜 서비스 로케이션 리스트내의 모든 서비스 로케이션 레코드를 프로세스하고 서비스 지역이 콜러 제공 전화번호의 로케이션과 겹치는가를 측정하는 펑션(1348)에서 계속한다. 펑션(1348)은 이하 도 37과 함께 보다 상세히 설명된다. 펑션(1348)의 완료와 동시에, 프로세스(1220)은 오름차순 거리로써 서비스 로케이션의 최종 리스트를 정렬하는 상태(1349)에서 계속한다, K의 값이 2 또는 그이상일 경우. K의 값은 펑선(1348)(도 37)에서 측정되고 서비스 지역이 콜러 제공 전화번호의 로케이션으로 확장하는 최종 리스트 내의 서비스 로케이션의 최종번호를 나타낸다. 만일 K가 0이면, 프로세스(1220)은 서비스 지역이 코럴 제공 전화번호의 로케이션으로 확장하는 로케이션이 없는 것을 나타내는 플래그를 생성한다. 물lon, 만일 K의 값이 1이면, 정렬은 필요없다. 마지막으로, 리스트 빌딩 프로세스(1220)는 상태(1350)에서 끝난다.
상태(1355)에서 계속되는, 펑션(1346)은 클라이언트 서비스 에어리어 (lat/lon) 윈도우즈 파일(1216)로부터 lat/lon 윈도우 레코드를 읽는다. 결정 상태(1356)로의 이동에서, 펑션(1346)은 상태(1355)에서 읽혀진 레코드가 콜러 제공 전화번호 lat/lon 윈도우 값과 동일한 lat/lon 윈도우 값을 가지는가 측정한다. 만일 두 값이 동일하면, 펑션(1346)은 K의 값을 1 증가하는 상태(1358)로 진행한다. 그런후 펑션(1346)은 클라이언트 서비스 에어리어 (lat/lon) 윈도우 파일(1216)로부터 읽은 커런트 레코드의 서비스 로케이션 ID를 "포텐셜 서비스 로케이션 리스트" 내의 K번째 엘리먼트로 이동하는 상태(1359)로 진행한다. 그런후 펑션(1346)은 클라이언트 서비스 에어리어 윈도우즈 파일(1216)로부터 레코드를 계속 읽는 상태(1355)로 복귀한다. 결정 상태(1356)으로의 복귀에서, 만일 클라이언트 서비스 에어리어 윈도우즈 레코드와 콜러 제공 전화번호로부터의 위도 및 경도 윈도우즈 값이 다르면, 펑션(1346)은 상태(1357)에서 프로세스(1220)(도 35)로 복귀한다.
도 37에서, 콜러 로케이션 인사이드 서비스 에어리어 익스트림 펑션(1348)이 설명된다. 펑션(1348)은 시작 상태(1360)에서 시작하고 클라이언트 서비스 에어리어 어레이 파일(1214)와 콜러 DNIS와 관련된 클라이언트 서비스 로케이션 파일(109)를 오픈하는 상태(1362)로 진행한다. 클라이언트 서비스 어레이 파일(1214)은 클라이언트 로케이션 파일(109)에서 특화된 인덱스로 고려할 수 있다. 펑션(1346)에서 생성된 포텐셜 서비스 로케이션 리스트는 상태(1362)에서 펑션(1348)을 위한 메모리 내에서 사용가능하다.
그러면 펑션(1348)은 변수 J의 값을 1로 세팅하고 K의 값을 0으로 세팅하는 상태(1346)로 진행한다. 상태(1366)로의 이동에서, 펑션(1348)은 포텐셜 서비스 로케이션 리스트의 로케이션(J)내의 ID 값으로써 인덱스된 서비스 에어리어 어레이 파일(1214)로부터 레코드를 읽는다. 펑션(1348)은 클라이언트 서비스 로케이션 파 일(109) 및 서비스 에어리어 어레이 파일(1214)로부터 서비스 로케이션의 위도 및 경도 경계로의 바이트 오프셋을 얻는다. 펑션(1348)은 결정 상태(1368)로 진행하며 그런후 컬러 제공 전화번호 위도 또는 경도가 서비스 로케이션을 위한 서비스 지역 최소 위도 또는 경도보다 작은가 또는 서비스 로케이션을 위한 서비스 지역 최대 위도 또는 경도보다 큰가를 측정하는 결정 상태(1370, 1372 및 1374)로 진행한다. 상태(1368, 1370, 1372 또는 1374)에서 이러한 테스트의 어떤 결과가 "예"이면, 콜러 로케이션은 "아웃사이드" 커런트 서비스 로케이션의 서비스 지역이며 펑션(1348)은 상태(1388)로 진행한다. 상태(1388)에서, 펑션(1348)은 J의 값을 1 증가하고 다음 서비스 로케이션으로 진행하기 위해 상태(1366)로 복귀한다.
만일 다른 방법에서, 결정 상태(1368, 1370, 1372 및 1374)내의 모든 테스트 결과가 "아니오"이며, 펑션(1348)은 상태(1376)로 진행하는데 그것은 서비스 로케이션 파일(109)내의 바이트 오프셋으로 진행하고 서비스 로케이션의 서비스 지역의 보다 상세한 정의를 포함하는 서비스 로케이션 레코드를 읽는다. 바이트 오프셋은 상태(1366)에서 서비스 에어리어 어레이 파일(1214)을 읽음으로써 얻어진 서비스 로케이션 파일(109)내의 적절한 레코드를 위치시키는데 사용된다.
상태(1376)의 완료에서, 펑션(1348)은 "콜러 인사이드 서비스 에어리어 테스트"를 수행하는 펑션(1380)을 호출한다. 펑션(1380)은 이하 도 38과 함께 보다 상세히 설명된다. 펑션(1380)의 완료와 동시에, "내부" 또는 "외부"로 표시되는 리턴 플래그가 세팅된다. 만일 리턴 플래그 값이 외부이면, 펑션(1348)은 상태(1388)로 진행하는데 J의 값은 1 증가된다, 앞서 설명했듯이. 만일 리턴 플래그 값이 내부이 면, 펑션(1348)은 상태(1382)로 진행하는데 K의 값은 1 증가된다. 상태(1348)로의 진행에서, 펑션(1348)은 커런트 서비스 로케이션 ID 또는 전화번호(서비스 로케이션 파일(109)로부터 얻어진) 및 산출된 거리를 서비스 로케이션의 파이널 리스트의 K번째 위치로 이동시킨다. 결정 상태(1386)로의 진행에서, 펑션(1348)은 포텐셜 리스트내의 모든 로케이션이 계산되었는가 측정한 것을 테스트한다. 만일 그렇지 않다면, 펑션(1348)은 상태(1388)로 진행하고, J의 값을 1 증가한후 상태(1366)로 진행한다. 만일 포텐셜 리스트내의 모든 로케이션이 계산되었으면, 결정 상태(1386)에서 정의했듯이, 펑션(1348)은 스비스 지역이 콜러 제공 전화번호의 로케이션을 확장하는 모든 서비스 로케이션의 파이널 리스트를 생성한다. 펑션(1348)은 그런후 프로세스(1220)(도 35)내의 상태(1349)로 복귀한 곳으로부터 상태(1390)로 복귀한다.
도 38에서, 콜러 인사이드 서비스 에어리어 테스트 펑션(1380)이 설명된다. 펑션(1380)은 시작 상태(1402)에서 시작하고 커런트 서비스 로케이션이 서비스 지역을 정의하는 반경 또는 다각형을 가지는가를 측정하는 결정 상태(1404)로 진행한다. 이 정보는 먼저 클라이언트 서비스 로케이션 파일(109)로부터 검색된다. 그것이 측정되면, 결정 상태(1404)에서, 서비스 지역은 반경에 의해 정의되고, 펑션(1380)은 콜러 제공 전화번호 로케이션으로부터 서비스 로케이션까지 거리의 면적을 산출하는 상태(1426)로 진행한다. 거리 면적은 머신 타임이 수의 제곱근을 요구하기 때문에 거리 대신 사용된다.
다음, 펑션(1380)의 원형 브랜치(상태(1404)에서 정의된)는 커런트 서비스 지역이 원형으로 정의되었는가를 측정하는 결정 상태(1428)로 진행한다. 이것이 원형 브랜치를 위한 참이면, 펑션(1380)은 결정 상태(1430)로 진행하고 상태(1426)에서 산출된 거리 면적과 서비스 로케이션을 위한 서비스 지역 원형 면적을 비교한다. 서비스 로케이션의 반경은 서비스 로케이션 파일(109)로부터 얻어진다. 만일 거리 면적이 원형 면적보다 크면, 결정 상태(1430)에서 측정된, 펑션(1380)은 리턴 상태(1424)에서 리턴 플래그 값을 "외부"로 세팅하고, 펑션(1348)(도 37)으로 복귀한다. 그러나, 만일 거리 면적이 원형 면적보다 크지 않으면, 결정 상태(1430)에서 측정된, 펑션(1380)은 리턴 상태(1432)에서 리턴 플래그 값을 "내부"로 세팅하고 펑션(1348)(도 37)으로 복귀한다.
도 38의 결정 상태(1404)로의 복귀에서, 만일 서비스 지역이 다각형으로 정의되어 측정되면, 펑션(1380)은 상태(1406)로 진행한다. 펑션(1380)의 다각형 브랜치 부분은 근본적으로 주 테이블 시스템을 위한 클라이언트 테이블 빌드 프로세스의 다각형 부분을 위한 펑션(930)(도 21)과 동일한 프로세스이다. 상태(1406)에서, 펑션(1380)은 콜러 제공 전화번호의 로케이션을 위한 정수 상대 값 위도를 산출한다. 콜러 제공 전화번호의 위도는 이 폼으로 변경되어, 이하 설명되는, 라인 인덱스 파일내의 서비스 지역 위도로 변환되어 비교될 수 있다. 다음, 펑션(1380)은 상태(1408)로 진행하는데 그것은 상태(1406)에서 위도로써 행한 것같이 콜러 제공 전화번호의 로케이션을 위한 경도에서 동일한 변환을 수행한다. 상태(1408) 내의 경도 변환 수행 후, 펑션(1380)은 상태(1410)로 진행하는데 그것은 변수 "카운트"의 값을 0으로 세팅한다.
상태(1412)로의 진행에서, 펑션(1380)은 라인 인덱스 파일을 얻는다. 라인 인덱스 파일은 펑션(618)에서 생성되어 주 테이블 시스템내의 다각형 서비스 에어리어 빌드 프로세스에 사용된다. 펑션(618)은 도 19a 및 19b네서 상세히 보여진다. 상기 상태(1412)에서 라인 인덱스 파일을 생성한 후, 또는 클라이언트 로케이션 파일(109)의 확장된 버젼내에 저앙된 라인 인덱스 파일의 이미 만들어진 버젼을 읽은 후, 클라이언트 로케이션 파일(1140)(도 29에 보임)과 같은, 펑션(1380)은 상태(1414)로 이동하고 라인 인덱스 파일로부터 최초 레코드를 읽는다.
결정 상태(1416)로의 진행에서, 펑션(1380)은 라인 인덱스 파일로부터 읽은 변환된 위도 포인드가 콜러 제공 전화번호(상태(1406)으로부터)의 로케이션을 위한 변환도니 위도 포인트보다 큰가를 테스트한다. 만일 결정 상태(1416)로부터의 결과가 "아니오"이면, 펑션(1380)은 결정 상태(1418)로 진행하고 라인 인덱스 파일로부터 읽은 변환된 경도 포인트가 콜러 제공 전화번호(상태(1408)로부터)의 로케이션을 위한 변환된 경도 포인트보다 작은가 측정을 테스트 한다. 만일 결정 상태(1418)로부터의 결과가 "아니오"이면, 펑션(1380)은 라인 인덱스 파일로부터 다음 레코드를 읽는 상태(1414)로 복귀한다. 만일 결정 상태(1418)로부터의 결과가 "예"이면, 펑션(1380)은 상태(1420)로 진행하고 변수 "카운트"를 1 증가한 후 상태(1414)로 복귀한다.
다른 방법으로, 만일 결정 상태(1416)의 결과가 "예"이면, 펑션(1380)은 결정 상태(1422)로 진행하고 상태(1420)내에 테이블된 변수 "카운트"의 값이 짝수 또는 홀수인지 테스트한다. 만일 결과가 "짝수"이면, 펑션(1380)은 리턴 상태(1424) 에서 리턴 플래그 값을 "외부"로 세팅하고 펑션(1348)(도 37)의 상태(1388)로 복귀한다. 만일 도 38의 결정 상태(1422)의 결과가 "홀수"(콜러 제공전화번호의 로케이션이 커런트 서비스 지역의 내부이다)이면, 펑션(1380)은 상태(1426)로 진행하고 콜러 제공 전화번호의 로케이션과 커런트 서비스 로케이션사이의 거리 면적을 산출한다. 다음 펑션(1380)의 다각형 브랜치는 결정 상태(1428)를 통해 진행하고 "아니오" 에 따라 리턴 상태(1432)로 나뉜다. 상태(1432)에서, 펑션(1380)은 리턴 플래그 값을 "내부"로 세팅하고 펑션(1348)(도 37)의 상태(1382)로 복귀한다.
XV. 실시간 처리 시스템 실시예
도면 39를 참조하면 (그림 30과 조합하여), 시스템 레벨 실시간 호 프로세싱 처리 (1450)은 설명될 것이다. 상기 실시간 처리 시스템 (1200)은 상기 실시간 호 프로세싱 처리 (1450)의 상기 플로우 다이어그램에 의해 보여지는 상기 플로우 처리를 수행한다. 상기 처리는 실시간 결정에 의해 클라이언트의 목적지 서비스 위치에 호출자의 전화 호의 루트를 정하는데 사용된다. 처리 (1450)은 도면 30과 연계하여 설명된 상기 실시간 처리 시스템 (1200)을 위한 상기 네트워크 구성을 이용한다.
도면 39에서, 실시간 처리 (1450)의 시작단계(110에서 118까지, 1451)는 1 테이블 시스템 처리 (1160)에서의 첫단계(110에서 118, 1162)와 일치한다. 게다가, 실시간 결정 처리 (1450)에서 상기 최종단계(1464에서 150)는 1 테이블 시스템 처리 (160)의 끝단계(1168에서 150)와 동일하다. 이러한 동일한 단계는 이미 1 테이블 시스템의 예로 설명되어 왔다. 오직 단계 (1452)에서 (1462)까지는 아래에 설명 될 것이다.
도면 39의 (1452) 단계에서, 처리 (1450)은 경도와 위도 테이블 (1010)의 마스터 전화번호에 전화번호가 제공된 상기 호출자의 위치를 위한 경도와 위도를 찾는다. 결정 단계 (126)으로 이동하여, (1450) 처리는 마스터 테이블 (1010)에서 전화번호가 제공된 호출자의 룩업이 성공적이였는지 아니였는지를 결정한다. 만약 아니였다면, 처리 (1450)은 도면 1c와 부합하는 단계 (128)에서 위에 설명되었던 것처럼, 핸들링을 제외한 루트가 정해지지 않은 호를 위한 단계 (128)을 계속한다. 만일 번호가 제공된 상기 호출자가 결정 단계 (126)에서 결정된 것처럼, 마스터 테이블 (1010)에 있다면, 처리 (1450)은 결정단계 (1454)를 계속하고 경도와 위도가 단계 (1452)에서 검색되는지를 결정한다. 만일 경도와 위도가 검색되지 않는다면, 처리 (1450)은 위에서 설명된 것처럼, 핸들링을 제외한 루트가 정해지지 않은 호를 위한 단계 (128)을 계속한다. 만일 경도와 위도가 단계 (1452)에서 검색된다면, 처리 (1450) 은 정보 패킷 (1456)에서 모듈 (1220)을 처리하는 것을 가능하게 만든다.
처리 모듈 (1220)은, 루팅 처리 (1150)(도면 30)을 진행할 수 있다, 처리 모듈 (1220)은 도면 29와 연계하여 개념적으로 설명되고, 도면 35에서 38과 연계하여 세부사항이 설명된다. 요약하면, 처리 (1220)은 검색되는 위도와 경도 윈도우 키에 전화 번호가 제공된 상기 호출자의 위치와 연계된 상기 검색된 경도와 위도(단계 (1452)로부터)를 변형한다. 그 다음에 클라이언트 서비스 지역 윈도우 파일 (1216)(도면 29와 30, 그러나 도면 39에는 나타나지 않음)에 의존하는 DNIS로 부터 의 ID들 또는 가능한 서비스 지역 전화 번호의 리스트를 검색하기 위해서 이 키를 사용한다. 처리 (1220)은 클라이언트 서비스 지역 어레이 파일 (1214) (도면29와 30, 그러나 도면 39에는 나타나지 않음)에 의존하는 DNIS로 부터 서비스 지역의 경도와 위도의 최대값과 최소값과 바이트 오프셋을 검색하기 위해서 이러한 검색된 서비스 지역 ID들을 사용한다. 전화번호의 위도와 경도가 제공된 상기 호출자가 서비스 지역의 최대와 최소의 경도와 위도 직각의 경계에 의해 정의된 경계들의 안에 있는 각각의 가능한 서비스 지역에서, 처리 (1220)은 서비스 위치 파일 (109)에 의존하는 DNIS로 부터 서비스 지역을 위한 서비스 지역의 세분화된 정의를 검색하기 위하여 상기 바이트 오프셋을 하용한다. 각각의 파일 (109)는, 인텍싱후에, 다수의 테이블 (1140) (도면 30)의 하나로서 보여진다. 소프트웨어 선택기는 DNIS를 기초로 하는 다수의 서비스 위치 파일 (109)의 하나를 선택한다. 처리 (1220)은 그 다음에 정확한 "서비스 지역안의" 테스트를 수행하고 거리(전화번호가 제공된 상기 호출자의 위치로 부터 서비스 지역에까지)에 의해 분류된 전화 번호들 또는 서비스 지역 ID들의 마지막 리스트(단계 (1460)에서 보여지는)를 세운다. 상기 최종 리스트는 역시 도면 29의 리스트 (1222)로서 보여진다.
단계 (1462)를 처리하면서, 단계 (1450)은 단계 (1460)로부터의 상기 리스트가 어떤 기록들을 포함하는지 아닌지를 결정한다. 만일 상기 리스트가 존재하지 않는다면, 즉, 기록들을 포함하지 않는다면, 그땐 단계 (1450)은 핸들링을 제외한 루트가 정해지지 않은 호를 위한 단계 (128)을 처리하며, 그렇지 않은 경우, 만일 상기 리스트가 하나 또는 그 이상의 기록을 포함하면, 그 다음에 단계 (1450)은 단 계 (1464)를 처리한다. 도면 39의 단계 (1464)에서 (150)까지는 단계 (1160)에서 이미 설명되어진 도면 28의 단계 (1168)에서 (150)까지와 동일하며, 상기 단계 (1450)의 마지막에서 나머지 단계의 설명은 반복되지 않는다.
XVI. 이동 전화에서의 실시간 처리
도면 40을 참조하면(도면 30과 연계하여), 이동 전화를 지지하는 시스템 레벨 실시간 호 프로세싱 처리(1500)는 설명될 것이다. 상기 실시간 처리 시스템 (1200)은 상기 실시간 호 프로세싱 처리 (1500)의 플로우 다이어그램에 의해 보여지는 상기 플로우 단계를 수행한다. 상기 처리 (1500)은 호출자의 전화 호의 루트를 정하는데 사용되고, 상기 전화 호출은 이동전화로부터, 실시간 결정에 의하여 클라이언트의 목적 서비스 위치까지 존재할 것이다. 이 글속에서 사용된 것처럼, 이동전화는 시간에 따라 고정된 위치를 갖지 않는 전화를 가리킨다. 상기 이동전화는 여러 다양한 종류의 전화, 셀룰러 전화, PCS전화, 위성전화, 해수용전화를 포함하지만, 이러한 종류로 제한되지는 않는다, 그리고 우열을 다투기 힘든 휴대용 전화기일 것이다. 개인용 디지탈 어시스턴트(PDA) 또는 다른 휴대용 컴퓨터와 같은 컴퓨터는 마이크로소프트 폰과 같은, 전화 경쟁 소프트웨어와 함께, 마이크로폰과 스피커, 또는 헤드셋을 갖추고 있다. 그리고 무선 모뎀을 경유하여 전화 네트워크에 연결된다. 처리 (1500)은 도면 30과 연계하여 설명된 상기 실시간 처리 시스템 (1200)을 위하여 상기 네트워크 구성을 사용한다.
상기 실시간 처리 시스템 (1200)의 일실시예에서, 상기 전화 네트워크는 미리 정해진 시간의 간격에서 호출자의 전화 위치의 공간적인 좌표를 제공한다. 그래 서, 어떤 특별한 시간간격에서도, 상기 호출자의 전화의 순간 위치를 얻는다. 물론, 상기 호출자가 시속 65마일의 속도로 움직일수 있기 때문에, 예를 들어, 상기 호출자의 위치가 급속하게 변화할수도 있다. 그래서, 상기 순간의 위치는 상기 호출자의 전화의 위치를 충분하게 측정하여 고려하여야한다.
위에서 미리 언급된바와 같이, 상기 본 발명은 우편 지형, 인구조사 지형, 무선통신 지형, 특별한 격자 좌표 지형, 관습적 지형을 포함하는 어떠한 지리적인 정의에 기초한 전화 호를 루팅하기 위한 방법을 제공한다. 시스템 (1200)에 사용된 지형의 종류에 의존하여, 여러 종류의 좌표 시스템은 사용될 수 있다. 상기 호출자의 공간적인 좌표는 zip+6 코드지역, 인구조사 블럭, 또는 매우 작은 경도/위도 눈금, 타일즈, 윈도우즈, 또는 퀘드-트리(quad-tree)와 같은 유일한 공간적인 좌표를 갖을 수 있는 다른 작은 지리적 지역을 제외한 우편 zip+4 코드로서 단 한개의 수가 될 수 있다. 양자택일로, 상기 호출자의 공간적인 좌표는 경도와 위도와 같이, 또는 V 와 H, 또는 각도과, 반지름 벡터, 또는 상기 호출자의 순간적인 위치를 확인하는 심지어 다른 방법과 같은 한쌍의 수가 될 것이다. 다른 가능한 호출자의 공간적인 좌표 시스템은 오드넌스(Ordnance)좌표와, 상태-프래인 (state-plane)좌표를 포함한다.
이동전화 공간 좌표가 상기 전화 네트워크로부터 얻어질 때, 처리 (1500)은 상기 처리 (1450) (도면 39)와 비교하여 단순화된다. 몇몇 단계(단계 (1451), (1452), (126),그리고 (1454))는 수행되는 것이 필요하지 않으며 상기 마스터 테이블 (1010)은 이 상황에서 이용되지 않는다.
도면 40에서, 실시간 처리 (1500)의 상기 단계 (110), (112), (1451), (1452), (126), (128), (1454), (1460)·(1464) 와 (144)·(154)는 실시간 처리 (1450) (도면 39)에서 부합하는 단계 ((110), (112), (1451), (1452), (126), (128), (1454), (1460)·(1464) 와 (144)·(154))와 동일하다. 이 동일한 단계는 이미 전의 실시간 처리 (1450) 예에서 설명되었기 때문에, 단계 (1502)에서 (1510)까지만 아래에 설명될 것이다.
도면 40의 단계 (1502)에서, 처리 (1500)은 상기 호 디코딩 하드웨어 모듈 (112)로부터 정보 패킷을 획득한다. 상기 발명의 일실시예에서, 상기 정보 패킷은 전화하는 전화번호와 전화걸린 전화번호를 포함하며, 다른 일실시예에서, 상기 정보 패킷은 상기 전화걸린 전화번호와 상기 전화하는 사람의 전화의 순간 공간좌표를 포함한다. 그러나 다른 일실시예에서, 상기 정보 패킷은 모든 세가지 데이타 아이템을 포함할 것이다. 결정단계 (116)으로 이동하여, 처리 (1500)은 상기 호 어플리케이션이 임의의 호출자 입력을 요구하는지를 결정한다. 만일 요구하지 않는다면, 처리 (1500)은 결정단계 (1504)를 처리한다. 그러나, 만일 상기 호 어플리케이션이 임의의 호출자 입력을 요구한다면, 결정 단계 (116)을 결정하면서, 처리 (1500)은 단계 (118)로 이동하며, 거기서 상기 호출자는 상기 호출자과 연계되어 있는 지역과는 다른 지역과 대개 연계되어 있는 다른 사람이나 또는 회사의 전화번호를 제공한다. 상기 새로운 전화번호는 DTMF 키패드를 사용하는 상기 호출자에 의해, 예를들면, 누름단추식 전화기, 컴퓨터 또는 누름단추식 사운드를 제시할 수 있는 다른 장치에 의하여, 또는 상기 인터페이스 박스 (1130) (도면 30)에 정보를 말 함으로써 입력될 수 있다. 단계 (118)은 역시 상기 벨코어 엔피에이엔엑스엑스(NPANXX) 스플릿(Split) 파일 (1136) (도면 30) 그리고 상기 벨리드(Valid)와 이동 전화번호 파일 (1138) (도면 30)에 대항하는 전화번호가 제공된 상기 전화하는 사람을 체크하며, 그리고 만일 번호가 제공된 상기 호출자가 무효이면 다른 전화 번호를 위해 상기 호출자를 촉구한다.
상기 입력 전화 번호가 유효로 결정되면, 또는 만일 상기 번호가 상기 호출자가 유효한 수를 제공하는 시도의 클라이언트-스페셜파이드 수를 만든 후에도 여전히 무효이면, 처리 (1500)은 결정 단계 (1504)로 처리하고 만일 호출자의 공간 좌표가 상기 전화 네트워크로부터 제공되는지와 임의의 호출자의 입력이 단계 (118)에서 제공되지 않는지를 결정한다. 만일 그렇다면, 단계 (1500)은 실시간 프로세싱 모듈 (1510)은 계속되며 거기서 상기 호출자의 공간좌표는 정보 패킷 (1506)에서 유용하게 만들어진다. 상기 시스템 (1200)의 일실시예에서, 상기 호출자의 공간좌표는 위도와 경도 한쌍이다.
일실시예에서, 모듈 (1510)은 도면 29와 연계하여 개념적으로 설명되는 그리고 도면 35에서 38까지 연계하여 세부사항이 설명되는 모듈 (1220)과 본질적으로 비슷하다. 요약하면, 모듈 (1220)은 상기 호출자의 공간좌표를 변형한다. 예를 들면, 위도와 경도, (정보패킷 (1502)로부터) lat/lon 윈도우 키에서 상기 호출자의 전화의 위치에 연계된 것이 있다. 그 다음에 클라이언트 서비스 지역 윈도우 파일 (1216)(도면 29 와 30, 그러나 도면 40에서는 보여지지 않음)을 의존한 DNIS로부터의 ID들 또는 하나 또는 그 이상의 가능한 서비스 지역 전화 번호들의 리스트를 검 색하기 위해 이 키를 사용한다. 모듈 (1220)은 이 검색된 서비스 지역 ID들을 클라이언트 서비스 지역 어레이 파일 (1214) (도면 27와 30, 그러나 도면 40에는 보여지지 않음)에 의존하는 DNIS로 부터 서비스 지역 위도와 경도의 최소 최대값과 바이트 오프셋을 검색하기 위해 사용한다. 상기 호출자의 전화의 상기 위도와 경도는 서비스 지역의 최소와 최대 위도와 경도 직각 경계에 의해 정의된 경계선 안에 있는 각각의 가능한 서비스 지역에서, 모듈 (1220)은 서비스 지역 파일 (109)에 의존하는 DNIS로부터 상기 서비스 지역을 위한 서비스 지역의 세분화된 정의를 검색하기 위하여 상기 바이트 오프셋을 사용한다. 그 다음에 모듈 (1220)은 정확한 "서비스 지역안에서" 테스트를 수행하고, 서비스 지역 ID들의 최종 리스트(단계 (1460)에서 보여지는) 또는 거리(전화번호를 조건으로 하여 상기 호출자의 위치로 부터 서비스 지역에까지)에 의해 분류된 전화번호를 구축한다. 상기 최종 리스트는 역시 도면 29의 리스트 (1222)로서 보여진다.
상기 실시간 프로세싱 모듈 (1510) 의 또다른 실시예에서, 위도와 경도외에 호출자의 공간좌표가 이용되었다. 상기 모듈 (1510)과 도면 29에서 보여지는 상기 파일들은 상기 이용된 좌표 시스템으로 수정된다.
도면 40의 단계 (1504)로 돌아가서, 만일 호출자의 공간좌표가 상기 전화 네트워크로부터 획득되지 못하거나 또는 만일 임의의 호출자의 입력이 단계 (118)에서 수신되면, 단계 (1500)은 위에서 미리 설명된 결정 단계 (1451) 을 진행한다. 예를 들어, 만일 호출자가 자동차에서 셀룰러 전화로 전화 호를 만들고, 상기 호출자의 집으로 피자가 배달되게 하기 위해서 집 전화번호를 입력하면, 단계 (1500)은 단계 (1451)로 진행될 것이다. 양자택일의 예에서, 만일 상기 호출자가 피자 레스토랑에서 저녁식사를 하기위해 또는 즉석요리를 위해 자동차의 현재 위치에서 가까운 피자 레스토랑의 위치로 주문하기 위해서 이동전화를 사용한다면, 처리 (1500)은 결정단계 (1504)로부터 패킷 (1506)의 좌표정보를 가진 모듈 (1510)까지 직접적으로 진행할 것이다.
처리 (1500)의 또다른 일실시예에서, 서비스 위치에 상기 호출자를 연결하는 것 대신에, 상기 서비스 위치에 대한 정보는 위의 도면 27과 30과 연계되어 설명되어진 상기 호출자에게 제공될 수 있다. 이 정보는 상기 서비스 지역 전화 번호, 작동 시간과 날짜, 이름, 주소와 마이크로 지역 방향, 시간지역, 일광절약지침 등등 으로서 이러한 아이템을 포함할 수 있다.
XVII.다른 이동전화 실시예들
이동전화는 상기 자동화된 호 프로세싱 시스템의 다른 실시예에 사용될 수 있다. 이 실시예들은 선택적 마스터 터이블을 갖는 두 테이블 시스템에 있는 이동전화의 사용과 양자택일의 클라이언트 테이블을 갖는 하나의 테이블 시스템의 사용을 포함할 수 있다.
두 테이블 시스템에서, 결정기 펑션 또는 공간 키 모듈의 좌표는 상기 호출자의 상기 순간의 위치에 연계하는 공간 좌표들을 수신하고 연계한 공간 키를 결정한다. 미리 설명된 것처럼, 상기 공간 키는 zip+4 코드와 같은 다양한 종류가 존재할 수 있다. 상기 결정된 공간 키는 그 다음에 다수의 클라이언트 테이블중에 하나에 접속할 수 있으며, 상기 결정된 공간 키는, 위에서 미리 논의한 바와 같이, 전화걸린 전화 번호를 기초로 선택되어질 수 있다.
공간 키 모듈에 대한 좌표는 일실시예에서 윈도우 코드 펑션에 대한 호출자 공간 촤표를 포함할 수 있다. 다음에, 상기 윈도우 코드는 레코드가 윈도우 코드와 대응하는 공간 키를 포함하는 대안적 마스터 테이블에 접근하는 사용된다. 상기 호출자 좌표는 예를 들어 전화망에 의해 제공되는 위도와 경도가 될 것이다. 호출자 공간 좌표가 위도와 경도라면, 윈도우 코드 펑션에 대한 호출자 공간 좌표는 위도에 100를 곱하고, 상기 곱의 정수부(INT)를 취하고 정수부를 100,000으로 나누며, 위도의 곱의 정수부에 100를 더한다. 일실시예에서, 상기 결과는 9-디짓 윈도우 코드이다. 만일 다른 호출자의 공간 좌표가 상기 시스템의 다른 예로 제공된다면, 윈도우 코드 펑션의 상기 호출자의 공간 좌표는 좌표 형태로 수정된다.
일실시예에서, 상기 대안적 마스터 테이블은 계수화된 zip 코드 경계들을 사용하여 중심궤적 파일(100)과 우체국 zip+4 위도 또는 상기 GDT를 사용하여 생성된다. 상기 일반적인 개념은 지구를 0.01˚위도와 경도 사각형으로 나누는 것이다. 예를 들어, 위도와 경도를 직각으로 나눈 것은 40°도 위도에서 디멘젼(dimension)으로 0.5마일에 의해 대략 0.7마일이다. 그리고 그 다음에 각각의 직사각형을 오버랩한 모든 zip+4 코드를 평면으로 한다. 이 크기의 직사각형은, 예를 들면, 시골 지역에서는 하나의 zip+4 코드를, 중간 밀도의 거주 도시 지역에서는 20개의 zip+4 코드와 큰 도시의 밀집한 도심지에서는 이백개의 zip+4 코드를 포함할 것이다.
상기 대안적 마스터 테이블은 28,000,000 이상의 레코드 zip+4 중심궤적 파일(100)로부터 각각의 레코드를 판독하고 위도와 경도(lat/lon) 윈도우 코드와 zip+4 코드를 포함하는 대응하는 레코드를 기록하는 프로세스에 의해 형성된다. 상기 lat/lon 윈도우 코드 필드는 경도(zip+4 중심궤적 파일 100으로부터)에 100를 곱하고, 상기 곱의 정수부(INT)를 취하고, 상기 정수부를 100,000로 나누고, 경도의 곱의 정수부에 100를 더함으로써 형성된다.
예를 들어, 만일 상기 입력 zip+4 자료가 920141909이면, 상기 위도는 32.9862 북쪽이며, 상기 경도는 117.2522 서쪽이며, 상기 결과 얼터네이티브 마스터 테이블 레코드는 920141909의 상기 집 코드와 상기 lat/lon 윈도우 코드로서 329811725가 될 것이다. 모든 레코드는 시작 또는 임시 파일(보여지지 않음)에 쓰여져 온후, 그 이후에 상기 파일은 상기 lat/lon 윈도우 코드 값 또는 상기 부합하는 zip +4 코드의 키에 의해 분류되었으며, 중복된 레코드는 삭제되었다. 상기 결과로서 생기는 최종 얼터네이티브 마스터 테이블은 그 이후에 상기 lat/lon 윈도우 키와 상기 부합하는 zip+4코드러 구성된 각각의 자료로 쓰여졌다.
상기 대안적 마스터 테이블은 동일한 lat/lon 윈도우(그러나, 다른 zip+4 코드)를 가지는 대안적 마스터 테이블내의 다중 레코드를 가져오는 특별한 lat/lon 윈도우와 연관된 다중 zip+4 코드를 가질 수 있다. 이미 개시된 바와 같이 lat/lon 윈도우는 특히 중첩 서비스 지역이 특별한 클라이언트에 의해 사용된다면 하나 이상의 서비스 영역 부분(각각 그것의 자체 서비스 위치와 연관된 전호번호를 가지는)을 포함할 것이다. 상기 시스템의 일실시예에서, 하나 이상의 서비스 지역이 lat/lon 윈도우와 연관된다면, 상기 시스템 소프트웨어는 수개의 가능한 개념중 하나에 의해 서비스 위치에 대한 서비스 지역과 그것의 연관된 전화번호를 선택한 다. 예를 들면, 한가지 개념은 예를 들어 적어도 최근에 호출된 특별한 lat/lon 윈도우를 서빙하는 서비스 위치와 같이 회전 원리에 전화 호출을 할당할 수 있다. 다른 개념은 특별한 lat/lon 윈도우를 서빙하는 서비스 위치중 호출 볼륨을 균등화기키는 호출 볼륨의 지식을 사용할 수 있다. 다른 개념은 우선 다중 서비스 위치가 호출 시간에 상점이 오픈되는지 결정하고 이전 개념 또는 또다른 유사한 개념중 하나를 사용하여 상기 호출을 할당한다.
상기 시스템의 또다른 일실시예에서, 상기 얼터네이티브 마스터 테이블에 있는 각각의 lat/lon 윈도우는 상기 lat/lon 윈도우를 나타내기 위해서 상기 zip+4 코드 중 하나를 선택하여 더 먼저 진행된다. 상기 선행 처리는 효율성과, 더 빠른 호 루팅과, 그리고 상기 얼터네이티브 마스터 테이블의 감소한 저장 장치를 제공한다. 몇몇 단계에는 각 lat/lon 윈도우를 위한 상기 테이블의 선행처리가 포함된다. 우선, 상기 lat/lon 윈도우의 중심은, 예를들면, 상기 윈도우의 다른 코너를 접속하는 상기 두개의 대각선의 교차점을 결정함으로써 계산되어진다. 다음으로, 각 lat/lon 윈도우를 위한 zip+4 코드의 각각의 중심을 사용함으로써, 상기 중시의 각각의 상기 lat/lon 윈도우의 상기 중심으로부터의 상기 거리가 계산된다. 이러한 거리 계산법은 도면 10, 단계 (430)과 연계하여 위에서 설명되어졌다. 가장 짧은 거리와 연계된 상기 zip+4 코드가 그 후에 상기 얼터네이티브 마스터 테이블에 존재하는 것에 선택된다. 그리고 동일 윈도우의 상기 다른 zip+4코드의 상기 다른 자료는 삭제된다. 이 단계들은 그 후에 상기 얼터네이티브 마스터 테이블의 각각의 lat/lon 윈도우에서 반복된다. 이 단계가 완료되면, 상기 선행 처리된 얼터네이티 브 마스터 테이블은 각각의 lat/lon 윈도우를 위해 오직 하나의 레코드를 갖는다, 상기 레코드는 윈도우에서 가장 중앙의 zip+4코드를 포함한다.
실시중에, 이동 전화 능력을 갖는 상기 두 테이블 시스템은 상기 호출자의 공간좌표, 예를들면, 위도와 경도를 전화 네트워크로부터 수신한다. 상기 좌표는 위에서 설명된 것과 같이 윈도우 코드로 전환된다. 상기 윈도우 코드는 상기 테이블로부터 공간 키, 예를 들면, zip+4코드,를 얻기 위해 상기 얼터네이티브 마스터 테이블에 접속하곤 한다. 상기 공간 키는 그 이후에 클라이언트 서비스 위치 ID 또는 클라이언트 서비스 위치 전화 번호를 얻기 위하여, 상기 전화걸린 전화 번호에 기초하여, 상기 클라이언트 테이블 (106)의 하나에 접속하곤 한다.
하나의 테이블 시스템에서, 위에서 설명된 상기 얼터네이티브 마스터 테이블은 도면 23과 연계하여 설명되어지고 보여진 것과 비슷한 처리를 사용하여 클라이언트 테이블 (106) (도면 1)과 병합된다. 상기 마스터 테이블과 분류된 마스터 테이블은 실시중에 클라이언트 전화번호 테이블에 윈도우 코드를 생성하기 위하여 상기 전화 번호 필드 대신에 윈도우 코드 필드를 사용한다. 이동 전화 능력을 가진 상기 1 테이블 시스템은 상기 전화 네트워크로부터 상기 호출자의 공간 좌표, 예를 들면, 위도와 경도를 수신한다. 상기 좌표는 위에서 설명된 것처럼 윈도우 코드로 전환된다. 상기 윈도우 코드는 클라이언트 서비스 위치 전화 번호 또는 클라이언트 서비스 위치 ID를 얻기 위하여 클라이언트 전화 번호에 윈도우 코드를 접속하곤 한다. 클라이언트 전화 번호 테이블의 다수의 윈도우 코드중 하나는 전화걸린 전화번호를 기초로 하여 상기 시스템에 의해 선택된다.
세개의 테이블 시스템에서 또는 1 테이블 시스템에서 추보의 테이블의 사용을 위해 검색된 클라이언트 서비스 지역 ID는, 위에서 미리 설명된 것 같이, 클라이언트 서비스 지역 정보를 제공하는 상기 세번째 테이블 또는 추보의 테이블에 인덱스되곤 했다. 상기 호출자에게는 클라이언트 서비스 지역 정보 또는 상기 클라이언트 서비스 위치로 상기 호출자가 루트를 정하는 것에 대한 청취의 선택권이 제공될 수 있다.
XVIII. 요약
상기 본 발명은 소규모의 지리적 지역 또는 지점, 우편 서비스 zip+4 코드나, 위도와 경도 등등과 같은, 에 있는 나라의 구획을 포함하는 테이블에 대한, 인덱스로서 전화번호를 이용한다. 이 구획은 더 나아가 상기 나라 안에 있는 모든 다수의 서비스 지역 중 하나에 접속하기 위해 이용된다.
상기 본 발명의 상기 자동화된 전화 루팅 시스템은 어떠한 인간의 개입이 없고 각각의 클라이언트를 위한 상기 마케팅 이득과, 기억하기 쉽고, 수신자부담 또는 국내 기본 통화 요금으로 개개의 국가 전화 번호에 만들어진 매우 높은 퍼센트의 호를 루팅함으로써 비용절감의 능력을 제공한다. 상기 시스템은 이 번호의 위치를 위한 위도와 경도 또는 상기 zip+4 코드와 부합하는 상기 전화하거나 전화걸린 전화번호의 모든 열개의 숫자를 사용하기 때문에 역시 지형적으로 정확한 결과를 제공한다. 상기 자동화된 루팅 시스템은 서비스 위치 서비스 지역 정의 사이의 다른 종류 가운데 선택하는 사업 능력을 제공한다. 보다 바람직하게, 클라이언트는 어떤 크기와 모양의 다각형 또는 어떤 크기의 범위를 갖는 지역으로서 각 위치의 서비스 지역을 한정해도 좋다. 클라이언트는 서비스 지역을 오버랩핑하거나 논오버랩핑하는 것뿐만이 아니라 범위와 다각형 한정을 혼합할 수 있다.
유연성은 개개의 클라이언트 위치가 어떻게 호를 종결시키는가를 한정하는 것에서 제공된다. 클라이언트는 각각의 지역에 대하여 어떤 거리(일마일당 열개의)의 미리 지정된 범위안에 있는 호출자가 연결되어지는 것을 열거할 수 있다; 또는 상기 호출자에게 가장 가까운 서비스하는 클라이언트 위치가 연결되어지는 것; 개개의 클라이언트 위치에 대하여 미리 지정된 다각형 안의 호출자에게 연결되어지는 것, 거기서 상기 다각형 가장자리는 어떤 길이도 될 수 있다. 상기 다각형 지역은 독점지역을 나타낼 수 있거나, 만일 상기 지역이 독점적이지 않는다면 다른 다각형 또는 다른 클라이언트 위치의 범위들로 오버랩될 수 있다. 게다가, 각각의 클라이언트 위치는 만일 필요하다면, 다른 범위와 디멘젼(dimension)을 가진 다른 지역 종류를 가질 수 있다. 추가된 유연성은 독점지역의 다각형 종류 또는 범위 종류 지역들안에서 제공된다. 거기서 상기 지역안의 다수의 위치로부터 무작위적이거나 무게있는 선택이 가능하다.
상기 본 발명은 모든 사용되어지거나 사용되어지지 않은 전화번호, 목록에 포함하지 않은 번호를 포함하고, 부가의 사용되어지지 않은 사업 라인, 이동 전화, 그리고 공중 전화로부터 생겨난 호의 루트를 정하는 방법을 제공한다. 상기 본 발명은 상기 정확하게 열거된 체인점 영업권 지역에서 정확하게 소비자의 호의 루트를 정하는것에 의해 종판권을 주는 사람과 종판권을 사는 사람사이에서 수행되는 계약한 체인점 영업권 독점 한정을 법률적으로 수행하는 방법을 제공한다. 게다가, 상기 본 발명은 우편의 지역, 인구조사 지역, 원격통신 지역, 공간 격자 좌표지역, 그리고 모든 소비자 지역을 포함하는 어떤 지역적인 한정에 기초로한 전화 호를 정확하게 루트를 정하기 위한 방법을 제공한다.
상기 본 발명은 상기 미리 정해진 클라이언트 프로토콜과 만나지 못하는 소비자 호를 자동적으로 루팅하고 처리하는 방법을 제공한다. 이 "예외 취급" 처리는 상기 호출을 "라이브" 루트를 정한다. 상기 본 발명은 연관되지 않은 지형적 정보 시스템과 데이타 베이스 기술, 무선통신 시스템 그리고 데이타 베이스 기술, 포스탈 시스템 그리고 데이타베이스 기술, 공통 애플리케이션 구동되는 구조로 그리고 컴퓨터 기술 을 통합하는 방법을 제공한다. 게다가, 상기 본 발명은 상기 클라이언트와 마스터 테이블 두개와 그리고 즉시로 그리고 동적으로 호 프로세싱 동안 링크되는 이 두 테이블이 자동적이고 독립적으로 업데이트하기 위한 방법을 제공한다. 게다가, 상기 본 발명은 전화 호가 소비가가 요구한 목적지에 자동적으로 루팅되는 소비자 인터페이스를 사용하여 소비자에 의해 입력되는 상기 정보의 프로세싱을 자동화하는 방법을 제공한다.
상기 두 테이블 시스템은 다수의 클라이언트에게 지워하기 위해 단 하나의 업데이트하는 마스터 테이블(공간적인 키의 전화번호)을 제공한다. 각 클라이언트 테이블은 다른 클라이언트 테이블과 다른 마스터 테이블로 부터 독립적으로 업데이트 된다. 이 계획은 거래 처리 능력을 상기 클라이언트 테이블이 상기 서비스 ID로서 상기 서비스 지역 전화 번호를 포함할 때 서비스 하는 지역에 연결될 수 있는 초당 호출에 의하여 극대화한다.
상기 두 테이블 시스템은 상기 루팅 핵심, 전화걸린 번호를 기초로 하고, 실질상 어떤 크기나 형태의 지형적으로 한정된 클라이언트 서비스 지역은 상기 호출자의 위치 또는 호출자의 제공된 전화 번호 포함한다. 효율적으로 계산하는 의 일실시예이다.
루팅 핵심의 또다른 일실시예, 상기 1 테이블 시스템, 호 페스터의 경로를 정하는 것과 더하는 상기 두 테이블 시스템과 같이 많은 동일한 효과들을 제공한다. 상기 1 테이블 시스템은 상기 서비스지역의 상기 전화번호를 결정하는 단 하나의 디스크 룩업만을 요구하기 때문에, 상기 1 테이블 시스템은 상기 호 루팅 처리동안 가장 빠르다. 네트워크 펄스펙티브(perspective)로부터, 오직 단 하나의 테이블이 존재하는 단순함때문에, 상기 1 테이블 시스템은 무선통신 네트워크에서 실행하는 것이 가장 간단하다.
그러나 루팅 핵심의 또다른 일실시예, 상기 실시간 처리 시스템, 최소의 저장용량을 요구하고 업데이트 하는 가장 단순한 예이다. 클라이언트의 서비스하는 지역에 호출자의 제공된 전화번호 또는 상기 호출자의 상기 공간적인 관계는 상기 호의 시간에 결정된다. 위도와 경도를 가진 전화번호의 상기 마스터 테이블, 그리고 각 클라이언트의 서비스 지역 파일들은 독립적으로 얻어질 수 있고, 다른 기계에 존재할 수 있다. 상기 시스템은 능률적이게 된다. 그리고 만일 상기 호출자의 공간 좌표가 종결하는 스위치에 정보 패킷에서 수신된다면 마스터 테이블 룩업은 수행되지 않는다. 만일 상기 호출자가 이동전화로부터 전화하는 중이라면 이 상황은 발생한다.
상기 1 테이블 시스템의 향상에 따라, 상기 2 테이블 시스템과 상기 실시간 처리 시스템, 인덱싱된 클라이언트 위치 테이블은 서빙 위치와 관련한 더많은 정보에 대한 접속을 제공하도록 부가될 수 있다. 클라이언트 위치 테이블이 이미 호출 처리동안 사용되고 사용자에게 부가적 정보를 제공하는데 손쉽게 추가로 사용될 수 있기 때문에 실시간 시스템을 충족시키기에 상대적으로 수월하다. 1 테이블 시스템과 2 테이블 시스템에 대해, 본질적으로 1 테이블 시스템과 2 테이블 시스템 둘다에 대해 처음부터 사용되는 바와 같이 동일한 클라이언트 테이블 형성 프로세스가 클라이언트 위치의 ID가 클라이언트 위치의 전화번호를 대체한다는 점만 제외하고 인덱싱된 클라이언트 서비스 위치 테이블을 통합하는데 사용된다.
이상 본 발명의 바람직한 실시예에 대해 상세히 기술하였지만, 본 발명이 속하는 기술분야에 있어서 통상의 지식을 가진 사람이라면, 첨부된 청구범위에 정의된 본 발명의 정신 및 범위를 벗어나지 않으면서 본 발명을 여러가지로 변형 또는 변경하여 실시할 수 있음을 알게 될것이다. 따라서 본 발명의 앞으로 실시예들의 변경은 본 발명의 기술을 벗어날 수 없을 것이다.

Claims (30)

  1. 전화망 호출 처리 시스템에 사용하기 위한 무선 호출자 전화의 순간 위치를 공간적으로 포함하는 클라이언트 서비스 지역을 실시간 식별하는 방법에 있어서,
    임의 요구된 모양과 크기로 이루어지는 클라이언트 서비스 지역 파일을 제공하는 단계를 포함하는데, 각각의 서비스 지역은 공간 좌표 윈도우에 의해 지리적으로 인덱싱되고, 각각의 서비스 지역은 서비스 위치와 연관되며;
    무선 호출자 전화의 순간 위치에 대응하는 호출자 공간 좌표를 얻는 단계와;
    상기 호출자 공간 좌표에 대응하는 위치를 잠재적으로 포함하는 서비스 지역을 가지는 적어도 하나의 서비스 위치의 잠재적 리스트를 발생시키기 위하여 상기 클라이언트 서비스 지역 파일의 공간 좌표 윈도우 인덱스내의 호출자 공간 좌표를 인덱싱하는 단계와;
    서비스 지역이 상기 호출자 공간 좌표에 대응하는 위치를 포함하는지 결정하는 단계와;
    상기 호출자 공간 좌표에 대응하는 위치를 포함하는 서비스 지역을 가지는 서비스 위치의 리스트를 발생시키는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1항에 있어서, 상기 결정 단계는 호출자 전화의 순간 위치에 대한 공간 좌표와 상기 잠재적 리스트내의 클라이언트 서비스 지역의 공간 한정을 사용하는 것을 특징으로 하는 방법.
  3. 제 1항에 있어서, 상기 호출자 전화의 순간 위치로부터 서비스 위치까지의 거리를 결정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  4. 제 3항에 있어서, 거리를 오름차순함으로써 호출자 전화의 순간 위치를 포함하는 서비스 지역을 가지는 서비스 위치의 리스트를 소팅하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  5. 이동 호출자 전화의 순간 위치를 공간적으로 포함하는 클라이언트 서비스 지역의 실시간 결정을 위한 전화망 호출 처리 시스템에 있어서,
    임의 요구된 모양과 크기의 클라이언트 서비스 지역 파일을 포함하는데, 각각의 서비스 지역은 공간 좌표 윈도우에 의해 지리적으로 인덱싱되고, 각각의 서비스 지역은 서비스 위치와 연관되며;
    이동 호출자 전화의 순간 위치에 대응하는 호출자 공간 좌표를 얻을 수 있는 호출 디코딩 하드웨어와;
    상기 호출자 공간 좌표에 대응하는 위치를 잠재적으로 포함하는 서비스 지역을 가지는 적어도 하나의 잠재적 서비스 위치 리스트를 발생시키기 위해 상기 클라이언트 서비스 지역의 공간 좌표 윈도우 인덱스의 호출자 공간 좌표를 인덱싱할 수 있는 초기 서비스 지역 리스트 펑션과;
    클라이언트 서비스 지역이 상기 호출자 공간 좌표에 대응하는 위치를 포함하는지 결정하고 호출자 공간 좌표에 대응하는 우치를 포함하는 서비스 지역을 가지는 서비스 위치 리스트를 결정할 수 있는 호출자 위치 인사이드 서비스 지역 말항을 포함하는 것을 특징으로 하는 전화망 호출 처리 시스템.
  6. 제 5항에 있어서, 상기 호출자 위치 인사이드 서비스 지역 말항 펑션은 호출자 전화의 순간 위치에 대한 공간 좌표와 잠재적 리스트의 클라이언트 서비스 지역 에 대한 공간 한정을 사용하는 것을 특징으로 하는 전화망 호출 처리 시스템.
  7. 제 5항에 있어서, 호출자 전화의 순간 위치로부터 서비스 위치까지의 거리를 결정하는 프로세스를 더 포함하는 것을 특징으로 하는 전화망 호출 처리 시스템.
  8. 제 7항에 있어서, 거리를 오름차순함으로써 호출자 전화의 순간 위치를 포함하는 서비스 지역을 가지는 서비스 위치 리스트를 소팅하기 위한 프로세스를 더 포함하는 것을 특징으로 하는 전화망 호출 처리 시스템.
  9. 전화망 호출 처리 시스템에 있어서,
    다이얼링된 번호와 이동 호출자 전화의 순간 위치에 대응하는 호출자 공간 좌표를 수신할 수 있는 호출 디코딩 모듈과;
    선택된 서비스 위치에 대응하는 클라이언트 서비스 정보를 제공하기 위해 다이얼링된 번호와 호출자 공간 좌표에 응답하는 실시간 처리 모듈을 포함하는데, 상기 서비스 위치는 호출자 공간 좌표가 임의 요구된 모양과 크기의 클라이언트 한정된 지리적 구성을 가지는 서비스 지역내에 포함되며;
    상기 제공된 클라이언트 서비스 정보를 전화망으로 전송하기 위한 아웃바운드 호출 모듈을 포함하는 것을 특징으로 하는 전화망 호출 처리 시스템.
  10. 제 9항에 있어서, 다수의 클라이언트 서비스 위치 파일을 더 포함하는 것을 특징으로 하는 전화망 호출 처리 시스템.
  11. 제 10항에 있어서, 상기 실시간 처리 모듈은 상기 다이얼링된 번호에 의해 식별된 클라이언트에 대응하는 클라이언트 서비스 위치 파일중 하나를 선택하기 위하여 상기 다이얼링된 번호를 사용하는 것을 특징으로 하는 전화망 호출 처리 시스템.
  12. 제 10항에 있어서, 상기 클라이언트 서비스 위치 파일중 하나는 다수의 레코드를 포함하는데, 각각의 레코드는 클라이언트 서비스 위치 식별 (ID), 전화번호 및 상기 서비스 위치에 대한 서비스 지역의 한계 상세를 포함하는 것을 특징으로 하는 전화망 호출 처리 시스템.
  13. 제 12항에 있어서, 다각형 서비스 지역의 한계 상세는 다각형의 각각의 꼭지점을 포함하는 것을 특징으로 하는 전화망 호출 처리 시스템.
  14. 제 12항에 있어서, 반경 한정된 서비스 지역의 한계 상세는 중심점과 반경을 포함하는 것을 특징으로 하는 전화망 호출 처리 시스템.
  15. 제 9항에 있어서, 상기 호출자 전화는 이동 셀룰러전화를 포함하는 것을 특징으로 하는 전화망 호출 처리 시스템.
  16. 제 9항에 있어서, 상기 셀룰러전화는 이동 개인 통신 시스템 전화를 포함하는 것을 특징으로 하는 전화망 호출 처리 시스템.
  17. 제 9항에 있어서, 상기 클라이언트 서비스 정보는 호출이 선택된 클라이언트 서비스 위치로 루팅될 수 있도록 하는 루팅 정보를 포함하는 것을 특징으로 하는 전화망 호출 처리 시스템.
  18. 제 9항에 있어서, 음성 응답 유니트를 더 포함하는데, 상기 음성 응답 유니트는 전화망에 대한 상기 선택된 클라이언트 서비스 위치에 대응하는 클라이언트 서비스 정보의 제공을 용이하게 하는 것을 특징으로 하는 전화망 호출 처리 시스템.
  19. 제 9항에 있어서, 상기 클라이언트 서비스 정보는 상기 선택된 클라이언트 서비스 위치에 대응하는 식별 (ID)을 포함하는 것을 특징으로 하는 전화망 호출 처리 시스템.
  20. 이동 전화망에 사용하기 위한 호출 처리 실시간 방법에 있어서,
    다이얼링된 전화번호와 이동 호출자 전화의 순간 위치에 대응하는 호출자 공간 좌표를 수신하는 단계와;
    상기 다이얼링된 전화번호와 호출자 공간 좌표에 응답하여 선택된 서비스 위치에 대응하는 클라이언트 정보를 제공하는 단계를 포함하는데, 상기 호출자 공간 좌표가 임의 요구된 모양과 크기의 클라이언트 한정된 지리적 구성을 가지는 서비스 지역내에 포함된다면 서비스 위치가 선택되며;
    상기 제공된 클라이언트 서비스 정보를 전화망으로 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
  21. 제 20항에 있어서, 다수의 서비스 위치 파일을 공급하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  22. 제 21항에 있어서, 상기 서비스 정보의 제공은 상기 다이얼링된 전화번호에 의해 식별되는 클라이언트에 대응하는 클라이언트 서비스 위치 파일중 하나를 선택하기 위하여 상기 다이얼링된 전화번호를 사용하는 것을 특징으로 하는 방법.
  23. 제 21항에 있어서, 상기 클라이언트 서비스 위치 파일중 하나는 다수의 레코드를 포함하는데, 각각의 레코드는 클라이언트 서비스 정보 식별(ID), 전화번호 및 서비스 위치에 대한 서비스 지역 한계 상세를 가지는 것을 특징으로 하는 방법.
  24. 제 23항에 있어서, 다각형 서비스 지역의 한계 상세는 다각형의 각각의 꼭지점을 포함하는 것을 특징으로 하는 방법.
  25. 제 23항에 있어서, 반경 한정된 서비스 지역의 한계 상세는 중심점과 반경을 포함하는 것을 특징으로 하는 방법.
  26. 제 20항에 있어서, 상기 호출자 전화는 셀룰러전화를 포함하는 것을 특징으로 하는 방법.
  27. 제 20항에 있어서, 상기 셀룰러전화는 개인통신 시스템 전화를 포함하는 것을 특징으로 하는 방법.
  28. 제 20항에 있어서, 상기 클라이언트 서비스 정보는 상기 호출이 선택된 클라이언트 서비스 위치로 루팅될 수 있도록 하는 루팅 정보를 포함하는 것을 특징으로 하는 방법.
  29. 제 20항에 있어서, 상기 선택된 클라이언트 서비스 위치에 대응하는 클라이언트 서비스 정보는 음성 응답 유니트에 의해 전화망으로 전송되는 것을 특징으로 하는 방법.
  30. 제 20항에 있어서, 상기 클라이언트 서비스 정보는 상기 선택된 클라이언트 서비스 위치에 대응하는 식별 (ID)을 포함하는 것을 특징으로 하는 방법.
KR1020007014488A 1998-06-19 1999-06-18 이동 전화 서비스용 자동 루팅 및 정보 시스템 KR100557819B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/100,567 1998-06-19
US09/100,567 US6385312B1 (en) 1993-02-22 1998-06-19 Automatic routing and information system for telephonic services

Publications (2)

Publication Number Publication Date
KR20010083058A KR20010083058A (ko) 2001-08-31
KR100557819B1 true KR100557819B1 (ko) 2006-03-15

Family

ID=22280416

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007014488A KR100557819B1 (ko) 1998-06-19 1999-06-18 이동 전화 서비스용 자동 루팅 및 정보 시스템

Country Status (12)

Country Link
US (6) US6385312B1 (ko)
EP (1) EP1088457A1 (ko)
JP (1) JP2002518953A (ko)
KR (1) KR100557819B1 (ko)
CN (1) CN100342735C (ko)
AU (1) AU4825299A (ko)
BR (1) BR9911852A (ko)
CA (1) CA2335128C (ko)
MX (1) MXPA00012751A (ko)
NO (1) NO20006379L (ko)
PL (1) PL345259A1 (ko)
WO (1) WO1999066738A1 (ko)

Families Citing this family (141)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US6236365B1 (en) 1996-09-09 2001-05-22 Tracbeam, Llc Location of a mobile station using a plurality of commercial wireless infrastructures
US7764231B1 (en) 1996-09-09 2010-07-27 Tracbeam Llc Wireless location using multiple mobile station location techniques
US9134398B2 (en) 1996-09-09 2015-09-15 Tracbeam Llc Wireless location using network centric location estimators
US6560461B1 (en) 1997-08-04 2003-05-06 Mundi Fomukong Authorized location reporting paging system
US7606359B1 (en) * 1997-09-16 2009-10-20 Verizon Services Corp. Methods and apparatus for automating the servicing of telephone calls including requesting directional and/or other types of information
US7548610B2 (en) * 1998-04-14 2009-06-16 Alaven, Inc. Voice-activated geographically based telephone routing system and method
EP2316475B1 (en) 1998-08-06 2017-10-04 Mountain View Pharmaceuticals, Inc. Isolated tetrameric uricase
US7769620B1 (en) 1998-09-01 2010-08-03 Dennis Fernandez Adaptive direct transaction for networked client group
US7966078B2 (en) 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
WO2001075551A2 (en) * 2000-03-30 2001-10-11 Mccarty John M Address presentation system
US7353295B1 (en) * 2000-04-04 2008-04-01 Motive, Inc. Distributed services architecture through use of a dynamic service point map
JP2001292226A (ja) * 2000-04-10 2001-10-19 Matsushita Electric Ind Co Ltd 情報表示装置
US6956941B1 (en) * 2000-04-12 2005-10-18 Austin Logistics Incorporated Method and system for scheduling inbound inquiries
EP1275105A1 (en) * 2000-04-19 2003-01-15 Broadcom Corporation Apparatus and method for persistent display interface
US10684350B2 (en) 2000-06-02 2020-06-16 Tracbeam Llc Services and applications for a communications network
US10641861B2 (en) 2000-06-02 2020-05-05 Dennis J. Dupray Services and applications for a communications network
US9875492B2 (en) 2001-05-22 2018-01-23 Dennis J. Dupray Real estate transaction system
JP2001350947A (ja) * 2000-06-05 2001-12-21 Japan Crescent Co Ltd 寿司宅配システム
US7103173B2 (en) 2001-07-09 2006-09-05 Austin Logistics Incorporated System and method for preemptive goals based routing of contact records
US7142662B2 (en) 2000-07-11 2006-11-28 Austin Logistics Incorporated Method and system for distributing outbound telephone calls
IL137783A0 (en) * 2000-08-09 2001-10-31 Mapco Ltd Communication system
US8600783B2 (en) 2000-08-18 2013-12-03 The Crawford Group, Inc. Business to business computer system for communicating and processing rental car reservations using web services
US7899690B1 (en) 2000-08-18 2011-03-01 The Crawford Group, Inc. Extended web enabled business to business computer system for rental vehicle services
EP1197888A1 (en) * 2000-10-10 2002-04-17 Digital Rum Ltd. Method and computer system for calculating a relative match value for a product offer
US8209257B2 (en) 2000-10-19 2012-06-26 Peter K. Trzyna System for transfering an inbound communication to one of a plurality of credit-counseling agencies
US7376640B1 (en) * 2000-11-14 2008-05-20 At&T Delaware Intellectual Property, Inc. Method and system for searching an information retrieval system according to user-specified location information
US20020161756A1 (en) * 2001-02-28 2002-10-31 Fesq William Mcbride System and method for performing local searhces across user defined events
DE10118127A1 (de) * 2001-04-11 2002-10-17 Philips Corp Intellectual Pty Verfahren zum Betrieb eines automatischen Branchen-Auskunftssystems
EP1263200B1 (en) * 2001-05-25 2004-05-12 Lucent Technologies Inc. Geographical number portability
US7715546B2 (en) * 2001-07-09 2010-05-11 Austin Logistics Incorporated System and method for updating contact records
US7054434B2 (en) * 2001-07-09 2006-05-30 Austin Logistics Incorporated System and method for common account based routing of contact records
US7088685B2 (en) * 2001-09-24 2006-08-08 Meyerson Robert F Modular multi-media communication management system with an integrated service for wide area network wireless telephones
US7164922B2 (en) * 2001-10-05 2007-01-16 Intellisist, Inc. Local phone number lookup and cache
DE10201859B4 (de) * 2002-01-18 2004-01-29 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren zur Versorgung eines programmgestützten Informationssystems mit gezielten Ortsinformationen
US20040039612A1 (en) 2002-06-14 2004-02-26 Neil Fitzgerald Method and apparatus for customer direct on-line reservation of rental vehicles
US8108231B2 (en) 2002-06-14 2012-01-31 The Crawford Group, Inc. Method and apparatus for improved customer direct on-line reservation of rental vehicles
US7707594B1 (en) * 2002-08-20 2010-04-27 At&T Intellectual Property I, L.P. System and method for providing a routing service in distributed computing environment
ATE358376T1 (de) * 2003-09-29 2007-04-15 Ibm Routingverfahren basierend auf den räumlichen koordinaten der netzwerkteilnehmer
EP1519523B1 (en) * 2003-09-29 2007-03-28 International Business Machines Corporation Routing method based on the spatial coordinates of the network users
EP1721417A4 (en) * 2004-03-03 2010-09-15 Otman A Basir WIRELESS DISTRIBUTION NETWORK
US20050220288A1 (en) * 2004-03-31 2005-10-06 Huey Christopher A Technique for routing a call to a call center based on the geographic origin of the call
US7606236B2 (en) * 2004-05-21 2009-10-20 Intel Corporation Forwarding information base lookup method
US7536468B2 (en) * 2004-06-24 2009-05-19 International Business Machines Corporation Interface method, system, and program product for facilitating layering of a data communications protocol over an active message layer protocol
US7460872B2 (en) * 2004-07-06 2008-12-02 International Business Machines Corporation Method and application for automatic tracking of mobile devices for computer network processor systems
US20060023858A1 (en) * 2004-07-30 2006-02-02 Crockett Susanne M Subscriber alterable locator service
WO2006034284A1 (en) * 2004-09-20 2006-03-30 Claude Charles Buchert System and method for control of air time of communication devices
JP4995416B2 (ja) * 2004-10-05 2012-08-08 パナソニック株式会社 Ip通信装置およびip通信方法
US7346152B2 (en) * 2004-10-14 2008-03-18 Sbc Knowledge Ventures, L.P. Intelligently providing dialup access numbers using an automated voice response system
GB0423326D0 (en) * 2004-10-21 2004-11-24 Nortel Networks Ltd Improvements in or relating to call polarisation methods in a call center
US20070269038A1 (en) * 2004-12-22 2007-11-22 Metro Enterprises, Inc. Dynamic routing of customer telephone contacts in real time
US7499702B2 (en) * 2004-12-27 2009-03-03 Sbc Knowledge Ventures, L.P. Methods and apparatus to perform wireless peering in communication systems
US7627545B2 (en) * 2005-02-02 2009-12-01 At&T Intellectual Property Ii, Lp. Geocoding method using multidimensional vector spaces
US20060190424A1 (en) * 2005-02-18 2006-08-24 Beale Kevin M System and method for dynamically linking
US20080159976A1 (en) * 2005-04-11 2008-07-03 Jacob Hartman Methods for lowering elevated uric acid levels using intravenous injections of PEG-uricase
US8148123B2 (en) * 2005-04-11 2012-04-03 Savient Pharmaceuticals, Inc. Methods for lowering elevated uric acid levels using intravenous injections of PEG-uricase
EP1871877A2 (en) 2005-04-11 2008-01-02 Savient Pharmaceuticals, Inc. A variant form of urate oxidase and use thereof
EP2947145A1 (en) 2005-04-11 2015-11-25 Crealta Pharmaceuticals LLC Variant forms of urate oxidase and use thereof
US8036374B2 (en) 2005-05-16 2011-10-11 Noble Systems Corporation Systems and methods for detecting call blocking devices or services
EP1883425A1 (en) * 2005-05-23 2008-02-06 Universite De Geneve Injectable superparamagnetic nanoparticles for treatment by hyperthermia and use for forming an hyperthermic implant
US9129289B2 (en) * 2005-10-03 2015-09-08 Drew Vaughn Systems and methods for providing remote ordering capabilities
US9288317B2 (en) 2005-10-20 2016-03-15 NobelBiz, Inc. System and method for modifying communication information (MCI)
US8108201B2 (en) * 2005-11-17 2012-01-31 International Business Machines Corporation Method for emulating a native device on a host computer system
US8233609B2 (en) 2005-11-30 2012-07-31 Noble Systems Corporation Systems and methods for managing call processing for a specific agent
US20070127661A1 (en) * 2005-12-06 2007-06-07 Microsoft Corporation Global directory registering telephony dialing information
US7894579B1 (en) * 2006-01-12 2011-02-22 AT&T Intellectual Propert II, L.P. Managing emergency services on a per-telephone-number basis
US8532096B2 (en) * 2006-02-01 2013-09-10 Cisco Technology, Inc. Local exchange routing guide information maintenance system and method
US8271309B2 (en) 2006-03-16 2012-09-18 The Crawford Group, Inc. Method and system for providing and administering online rental vehicle reservation booking services
JP5033177B2 (ja) * 2006-04-12 2012-09-26 サビエント ファーマセウティカルズ インク. 陽イオン界面活性剤によるタンパク質の精製
US20070294116A1 (en) * 2006-06-14 2007-12-20 Scott Paul Stephens Method and system for an online rental vehicle reservation-booking website including a travel agent path
CA2656817A1 (en) * 2006-06-20 2007-12-27 Nameber Ltd. Intelligent dialing system and method
US7925982B2 (en) * 2006-09-01 2011-04-12 Cheryl Parker System and method of overlaying and integrating data with geographic mapping applications
JP4410236B2 (ja) * 2006-11-28 2010-02-03 株式会社東芝 電話システムとその呼制御方法
US8364689B2 (en) * 2006-12-22 2013-01-29 Verizon Patent And Licensing Inc. Methods and apparatus for providing a location based search
CN101647040A (zh) * 2006-12-26 2010-02-10 维萨美国股份有限公司 使用别名的移动支付系统和方法
US9940627B2 (en) 2006-12-26 2018-04-10 Visa U.S.A. Inc. Mobile coupon method and system
US8615426B2 (en) 2006-12-26 2013-12-24 Visa U.S.A. Inc. Coupon offers from multiple entities
US20080162125A1 (en) * 2006-12-28 2008-07-03 Motorola, Inc. Method and apparatus for language independent voice indexing and searching
AU2008204838B2 (en) 2007-01-09 2012-11-01 Visa U.S.A. Inc. Mobile phone payment process including threshold indicator
WO2009100444A1 (en) * 2008-02-08 2009-08-13 Verbal World, Inc. Methods and apparatus for exhange of electronic communications
US20090232032A1 (en) * 2007-01-17 2009-09-17 Verbal World, Inc. Methods and Apparatus for the Manipulation of Conferenced Data
US8731163B1 (en) * 2007-01-18 2014-05-20 Aol Inc. Identifying callers
US20080297378A1 (en) * 2007-05-31 2008-12-04 Wei-Chou Su Numeral input method
US8170527B2 (en) 2007-09-26 2012-05-01 Visa U.S.A. Inc. Real-time balance on a mobile phone
EP2215557A2 (en) * 2007-10-11 2010-08-11 Vonage Network LLC Method and apparatus for fulfilling information requests in a networked environment
US20100166154A1 (en) * 2007-10-17 2010-07-01 Vixxi Solutions, Inc. System and method for flexible forwarding of emergency call information
US20090103687A1 (en) * 2007-10-17 2009-04-23 Vixxi Solutions, Inc. Geographic referenced telephone switching
TWI358647B (en) * 2007-12-28 2012-02-21 Ind Tech Res Inst Data classification system and method for building
US8165570B2 (en) * 2008-01-15 2012-04-24 West Corporation System, apparatus and method for availing a mobile call of caller name information
US20090271305A1 (en) * 2008-04-23 2009-10-29 Raghav Lal Payment portfolio optimization
US20090271327A1 (en) * 2008-04-23 2009-10-29 Raghav Lal Payment portfolio optimization
US7987218B2 (en) * 2008-05-05 2011-07-26 West Corporation Method and system for establishing a spatial street address data set
US8503643B2 (en) * 2008-05-07 2013-08-06 Verizon Patent And Licensing Inc. Location- and presence-based media session routing
US9715709B2 (en) 2008-05-09 2017-07-25 Visa International Services Association Communication device including multi-part alias identifier
US8346662B2 (en) * 2008-05-16 2013-01-01 Visa U.S.A. Inc. Desktop alert with interactive bona fide dispute initiation through chat session facilitated by desktop application
US20090290688A1 (en) * 2008-05-22 2009-11-26 Vixxi Solutions, Inc. System and method for selectively connecting denied calls
US8208909B2 (en) * 2008-06-02 2012-06-26 West Corporation System, apparatus and method for availing a mobile call of address information
US8478692B2 (en) * 2008-06-26 2013-07-02 Visa International Service Association Systems and methods for geographic location notifications of payment transactions
US9542687B2 (en) * 2008-06-26 2017-01-10 Visa International Service Association Systems and methods for visual representation of offers
US10706402B2 (en) 2008-09-22 2020-07-07 Visa International Service Association Over the air update of payment transaction data stored in secure memory
US9824355B2 (en) 2008-09-22 2017-11-21 Visa International Service Association Method of performing transactions with contactless payment devices using pre-tap and two-tap operations
US8977567B2 (en) 2008-09-22 2015-03-10 Visa International Service Association Recordation of electronic payment transaction information
AU2009296822B2 (en) * 2008-09-24 2015-03-26 Visa International Service Association Intelligent alert system and method
CA2738457A1 (en) 2008-09-25 2010-04-01 Visa International Service Association Systems and methods for sorting alert and offer messages on a mobile device
US9449327B2 (en) 2009-04-28 2016-09-20 Visa International Service Association Merchant alert based system and method including customer presence notification
US20100274653A1 (en) * 2009-04-28 2010-10-28 Ayman Hammad Notification social networking
US10387885B2 (en) * 2009-04-28 2019-08-20 Visa International Service Association SKU level control and alerts
US9710802B2 (en) 2009-04-28 2017-07-18 Visa International Service Association Merchant competition alert
SG10201408480RA (en) 2009-06-25 2015-02-27 Crealta Pharmaceuticals Llc Methods for preventing or predicting infusion reactions or antibody-mediated loss of response, by monitoring serum uric acid levels during pegylated uricase therapy
US20110055013A1 (en) * 2009-08-28 2011-03-03 Ayman Hammad Secure alert system and method
US20110087685A1 (en) * 2009-10-09 2011-04-14 Microsoft Corporation Location-based service middleware
US20110209091A1 (en) * 2010-02-24 2011-08-25 Visteon Global Technologies, Inc. System and method to measure bandwidth in human to machine interfaces
US9152727B1 (en) 2010-08-23 2015-10-06 Experian Marketing Solutions, Inc. Systems and methods for processing consumer information for targeted marketing applications
US9538493B2 (en) 2010-08-23 2017-01-03 Finetrak, Llc Locating a mobile station and applications therefor
US8412235B1 (en) 2010-11-08 2013-04-02 West Corporation Method and apparatus of requesting customized location information at a mobile station
US20130183967A1 (en) * 2012-01-13 2013-07-18 Tim J. Olker Lawful Intercept Of Mobile Units In Proximity To A Target Mobile Unit
US8879708B2 (en) * 2012-01-24 2014-11-04 Genesys Telecommunications Laboratories, Inc. Service control point functionality implemented at communication endpoints
CN103377585B (zh) * 2012-04-25 2017-02-08 腾讯科技(深圳)有限公司 基于经纬度定位行政区划的方法
US9521171B2 (en) * 2013-03-13 2016-12-13 Microsoft Technology Licensing, Llc Action processing in information exchange services
US9544728B2 (en) * 2013-03-15 2017-01-10 Intel Corporation Systems and methods for approximating geo-fencing locations
US9282197B2 (en) * 2013-03-22 2016-03-08 Viavi Solutions Uk Limited Method and apparatus for managing call data
US9197758B2 (en) * 2013-03-22 2015-11-24 Jdsu Uk Limited Method and apparatus for managing call data
US9094537B2 (en) * 2013-03-22 2015-07-28 Jdsu Uk Limited Method and apparatus for managing call data
US9288309B1 (en) * 2013-09-25 2016-03-15 Amazon Technologies, Inc. Quality-based phone routing
US11205153B1 (en) 2013-11-15 2021-12-21 Grubhub Holdings, Inc. System and method for determining time of delivery of order
CN104754505B (zh) * 2013-12-27 2018-09-28 中国移动通信集团公司 一种号码信息推送方法、快速拨号方法以及装置和系统
US10007947B2 (en) 2015-04-16 2018-06-26 Accenture Global Services Limited Throttle-triggered suggestions
US9239987B1 (en) 2015-06-01 2016-01-19 Accenture Global Services Limited Trigger repeat order notifications
US10650437B2 (en) 2015-06-01 2020-05-12 Accenture Global Services Limited User interface generation for transacting goods
US9338289B1 (en) 2015-06-26 2016-05-10 Velocify, Inc. Automatic determination of caller identification data in outgoing calls
MX2018000751A (es) * 2015-07-17 2018-08-15 Get It Tech Holdings Llc Suministro bajo demanda.
US9602674B1 (en) 2015-07-29 2017-03-21 Mark43, Inc. De-duping identities using network analysis and behavioral comparisons
CN107241484A (zh) * 2016-03-29 2017-10-10 中兴通讯股份有限公司 呼叫方法、装置、系统及呼叫管理系统
US10482035B1 (en) * 2016-06-07 2019-11-19 Jpmorgan Chase Bank, N.A. Standard address key system and method
US11055491B2 (en) 2019-02-05 2021-07-06 International Business Machines Corporation Geographic location specific models for information extraction and knowledge discovery
CA3130893A1 (en) 2019-02-20 2020-08-27 Level 3 Communications, Llc Service area determination in a telecommunications network
CA3130892A1 (en) 2019-02-20 2020-08-27 Level 3 Communications, Llc Systems and methods for communications node upgrade and selection
US11258904B2 (en) 2020-01-28 2022-02-22 American Tel-A-Systems, Inc. Communications processing
US11715056B2 (en) 2021-03-16 2023-08-01 Bank Of America Corporation Performance monitoring for communication systems
US11595527B2 (en) 2021-03-16 2023-02-28 Bank Of America Corporation Dynamic routing for communication systems

Family Cites Families (224)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US171581A (en) * 1875-12-28 Improvement in runners for railroad-cars
US1737520A (en) 1928-02-03 1929-11-26 Electric Directory Corp Directory board
US2455209A (en) 1947-05-26 1948-11-30 Joseph B Anderson Apparatus for disseminating weather information
US2455210A (en) 1947-12-23 1948-11-30 Joseph B Anderson Apparatus for disseminating weather information
US3614328A (en) 1969-06-24 1971-10-19 Kenneth Eugene Mcnaughton Automatic subscriber answering service
US3881060A (en) 1973-06-04 1975-04-29 Bell Telephone Labor Inc Emergency reporting system
US3928724A (en) 1974-10-10 1975-12-23 Andersen Byram Kouma Murphy Lo Voice-actuated telephone directory-assistance system
US3968573A (en) 1974-10-24 1976-07-13 Allen Grossman Method and means for information presentation
JPS53124003A (en) 1977-04-06 1978-10-30 Nissan Motor Automotive audio instantaneous communication device
US4139739A (en) 1977-07-05 1979-02-13 Tdx Systems, Inc. Telecommunications call back system
US4164025A (en) 1977-12-13 1979-08-07 Bell Telephone Laboratories, Incorporated Spelled word input directory information retrieval system with input word error corrective searching
US4178476A (en) 1978-05-26 1979-12-11 Frost Edward G Automatic nationwide paging system
US4191860A (en) 1978-07-13 1980-03-04 Bell Telephone Laboratories, Incorporated Data base communication call processing method
US4313035A (en) 1980-01-18 1982-01-26 Bell Telephone Laboratories, Incorporated Method of providing person locator service
US4310727A (en) 1980-02-04 1982-01-12 Bell Telephone Laboratories, Incorporated Method of processing special service telephone calls
US4310726A (en) 1980-02-04 1982-01-12 Bell Telephone Laboratories, Incorporated Method of identifying a calling station at a call terminating facility
US4341929A (en) 1980-03-20 1982-07-27 Zelex, Inc. Memory accessing system
US4484192A (en) 1981-12-17 1984-11-20 The Bendix Corporation Moving map display
US4672660A (en) 1983-02-14 1987-06-09 Amtel Communications, Inc. Method and system for identifying telephone callers
US4788643A (en) 1983-08-29 1988-11-29 Trippe Kenneth A B Cruise information and booking data processing system
US4577062A (en) 1983-09-02 1986-03-18 Butler National Corporation Method for dispensing information
US4611096A (en) 1983-12-01 1986-09-09 At&T Bell Laboratories Telephone office service assist and handoff
US4611094A (en) 1983-12-01 1986-09-09 At&T Bell Laboratories Method for customer definable telephone capability
US4782509A (en) 1984-08-27 1988-11-01 Cognitronics Corporation Apparatus and method for obtaining information in a wide-area telephone system with multiple local exchanges and multiple information storage sites
US5375161A (en) 1984-09-14 1994-12-20 Accessline Technologies, Inc. Telephone control system with branch routing
US4608460A (en) 1984-09-17 1986-08-26 Itt Corporation Comprehensive automatic directory assistance apparatus and method thereof
US4645873A (en) 1985-01-23 1987-02-24 Telecue Systems Transactional telecommunication system
JPH0644185B2 (ja) 1985-04-26 1994-06-08 日本電装株式会社 車両用走行案内装置
JPS61250671A (ja) 1985-04-27 1986-11-07 株式会社デンソー 地図表示装置
JPS61251888A (ja) 1985-04-30 1986-11-08 株式会社デンソー 地図表示装置
JPS61251889A (ja) 1985-04-30 1986-11-08 株式会社デンソー 電子地図表示装置
JPH0690596B2 (ja) 1985-04-30 1994-11-14 日本電装株式会社 電子地図表示装置
JPH0627973B2 (ja) 1985-05-16 1994-04-13 日本電装株式会社 地図表示装置
JP2664665B2 (ja) 1985-06-27 1997-10-15 ソニー株式会社 利用者端末装置
US5898762A (en) 1985-07-10 1999-04-27 Ronald A. Katz Technology Licensing, L.P. Telephonic-interface statistical analysis system
US5259023A (en) 1985-07-10 1993-11-02 First Data Resources Inc. Telephonic-interface statistical analysis system
US4766555A (en) 1985-09-03 1988-08-23 The Singer Company System for the automatic generation of data bases for use with a computer-generated visual display
US4737983A (en) 1985-10-02 1988-04-12 American Telephone And Telegraph Company Communications, Inc. Automatic call distributor telephone service
US4870576A (en) 1986-03-19 1989-09-26 Realpro, Ltd. Real estate search and location system and method
US5032989A (en) 1986-03-19 1991-07-16 Realpro, Ltd. Real estate search and location system and method
JP2717652B2 (ja) 1986-06-02 1998-02-18 モトローラ・インコーポレーテッド 連続音声認識システム
US5027384A (en) 1986-09-22 1991-06-25 Dytel Corporation Personalized automatic call routing
JPS6381574A (ja) 1986-09-25 1988-04-12 Toshiba Corp 図形デ−タベ−ス入力装置
US4827500A (en) 1987-01-30 1989-05-02 American Telephone And Telegraph Company, At&T Bell Laboratories Automatic speech recognition to select among call destinations
JP2735187B2 (ja) 1987-03-17 1998-04-02 株式会社東芝 情報検索方法
US4797818A (en) 1987-03-26 1989-01-10 Jeno F. Paulucci Food order/delivery system
JPH0616320B2 (ja) 1987-04-08 1994-03-02 株式会社日立製作所 自動車運転案内装置および方法
US4757267A (en) 1987-06-17 1988-07-12 Applied Telematics, Inc. Telephone system for connecting a customer to a supplier of goods
US5023904A (en) 1987-08-04 1991-06-11 Science Dynamics Corporation Direct telephone dial ordering service
US4873513A (en) 1987-08-26 1989-10-10 Geodisplay Technology Limited Partnership Automated map display system
US4908850B1 (en) 1988-01-11 1995-02-07 American Communications & Engi Voice services network with automated billing
US4974170A (en) 1988-01-21 1990-11-27 Directional Data, Inc. Electronic directory for identifying a selected group of subscribers
US4817043A (en) 1988-06-28 1989-03-28 Brown Johnny M Information kiosk
US5054082A (en) 1988-06-30 1991-10-01 Motorola, Inc. Method and apparatus for programming devices to recognize voice commands
US5029196A (en) 1988-07-11 1991-07-02 Dytel Corporation Automated call screening
US4954958A (en) 1988-08-19 1990-09-04 Hacowie Corporation Directional information system
US4924491A (en) 1988-11-18 1990-05-08 American Telephone And Telegraph Company Arrangement for obtaining information about abandoned calls
US4924510A (en) 1988-12-28 1990-05-08 American Telephone And Telegraph Company Telecommunications database accessing method
US4942599A (en) 1989-02-02 1990-07-17 Alphanet Technology Corporation Location identification
US5018191A (en) 1989-10-23 1991-05-21 At&T Bell Laboratories Special service call routing
US5033079A (en) 1989-05-30 1991-07-16 At&T Bell Laboratories Establishment of facsimile calls
US4987587A (en) 1989-07-26 1991-01-22 International Business Machines Corporation Method and apparatus for providing 800 number service
US5109399A (en) 1989-08-18 1992-04-28 Alamo City Technologies, Inc. Emergency call locating system
US4953204A (en) 1989-10-17 1990-08-28 At&T Bell Laboratories Multilocation queuing for telephone calls
US5001710A (en) 1989-10-24 1991-03-19 At&T Bell Laboratories Customer programmable automated integrated voice/data technique for communication systems
US5008930A (en) 1989-10-24 1991-04-16 At&T Bell Laboratories Customer definable integrated voice/data call transfer technique
US5046088A (en) 1989-10-31 1991-09-03 Dialogic Corporation Converter for in-band routing and/or origination information
US5036535A (en) 1989-11-27 1991-07-30 Unifi Communications Corporation Switchless automatic call distribution system
US5168515A (en) 1989-11-27 1992-12-01 Unifi Communications Corporation Switchless automatic call distribution system
US5058152A (en) 1989-12-12 1991-10-15 The Telephone Connection Anonymous interactive telephone system having direct connect feature
US5179652A (en) 1989-12-13 1993-01-12 Anthony I. Rozmanith Method and apparatus for storing, transmitting and retrieving graphical and tabular data
US5197009A (en) 1990-01-24 1993-03-23 Mid America Technologies, Inc. Apparatus for and method of creating delivery route maps
US5095505A (en) * 1990-02-28 1992-03-10 Mci Communications Corp. Efficient flexible special service call processing
US5253288A (en) 1990-03-28 1993-10-12 At&T Bell Laboratories Alternate destination call redirection for telecommunications systems
US5255183A (en) 1990-05-29 1993-10-19 Interactive Voice Data System Inc. Telephone-based personnel tracking system
US5214688A (en) 1990-06-05 1993-05-25 Inventions, Inc. Method and apparatus for dynamic and interdependent processing of inbound calls and outbound calls
US5293163A (en) 1990-06-06 1994-03-08 Mazda Motor Corporation Navigation apparatus for vehicles
US5389935A (en) 1990-06-13 1995-02-14 Thomson-Csf Automatic system for locating and identifying vehicles in distress
US5043736B1 (en) 1990-07-27 1994-09-06 Cae Link Corp Cellular position location system
US5161180A (en) 1990-10-19 1992-11-03 Chavous Robert O Call interceptor for emergency systems
JPH04174890A (ja) 1990-11-08 1992-06-23 Sanden Corp 位置認識システム及び位置座標変換装置
JP2857490B2 (ja) 1990-11-21 1999-02-17 株式会社日立製作所 学習機能をもつ地図システム
US5327554A (en) 1990-11-29 1994-07-05 Palazzi Iii Michael A Interactive terminal for the access of remote database information
US5163087A (en) 1990-12-31 1992-11-10 At&T Bell Laboratories Delivery of customer data base key using automatic number identification
CA2056203A1 (en) 1990-12-31 1992-07-01 Craig A. Reading Method and circuitry for routing a call from a calling station to a desired nearby destination station
US5155689A (en) 1991-01-17 1992-10-13 By-Word Technologies, Inc. Vehicle locating and communicating method and apparatus
US5136636A (en) 1991-02-07 1992-08-04 At&T Bell Laboratories Telephone connection to a nearby dealer
US5097528A (en) 1991-02-25 1992-03-17 International Business Machines Corporation System for integrating telephony data with data processing systems
JPH04275684A (ja) 1991-03-01 1992-10-01 Fuji Xerox Co Ltd 図形情報データベース構築方法およびその方法が適用される装置
US5640319A (en) 1991-03-18 1997-06-17 Lucent Technologies Inc. Switch control methods and apparatus
WO1992017975A1 (en) 1991-03-26 1992-10-15 Litle & Co. Confirming identity of telephone caller
US5287498A (en) 1991-04-02 1994-02-15 Rolm Company Message transmitting system wherein recipient site is determined using information concerning the relationship between the sender and recipient sites
US5235630A (en) 1991-04-17 1993-08-10 Telident, Incorporated Emergency call station identification system and method
CA2112101C (en) 1991-06-21 1998-08-18 David A. Wysocki Real time three dimensional geo-referenced digital orthophotograph-basedpositioning, navigation, collision avoidance and decision support system
JP3058942B2 (ja) 1991-06-27 2000-07-04 三菱電機株式会社 ナビゲーション装置
JP2780521B2 (ja) 1991-07-11 1998-07-30 三菱電機株式会社 地図表示制御装置
JPH0520365A (ja) 1991-07-12 1993-01-29 Fujitsu Ltd 地理情報管理システムにおける複数の図面の管理方式
US5379337A (en) 1991-08-16 1995-01-03 U S West Advanced Technologies, Inc. Method and system for providing emergency call service
US5289527A (en) 1991-09-20 1994-02-22 Qualcomm Incorporated Mobile communications device registration method
US5311572A (en) 1991-10-03 1994-05-10 At&T Bell Laboratories Cooperative databases call processing system
US5237499A (en) 1991-11-12 1993-08-17 Garback Brent J Computer travel planning system
FR2684214B1 (fr) 1991-11-22 1997-04-04 Sepro Robotique Carte a indexation pour systeme d'information geographique et systeme en comportant application.
US5546445A (en) * 1991-12-26 1996-08-13 Dennison; Everett Cellular telephone system that uses position of a mobile unit to make call management decisions
US5235633A (en) 1991-12-26 1993-08-10 Everett Dennison Cellular telephone system that uses position of a mobile unit to make call management decisions
US5812654A (en) 1992-01-27 1998-09-22 Sprint Communications Co. L.P. Telecommunications network routing
US5734709A (en) 1992-01-27 1998-03-31 Sprint Communications Co. L.P. System for customer configuration of call routing in a telecommunications network
JP2810818B2 (ja) 1992-01-27 1998-10-15 シャープ株式会社 測位表示装置
US5334974A (en) 1992-02-06 1994-08-02 Simms James R Personal security system
CA2089123A1 (en) 1992-03-04 1993-09-05 Robert Edwin Penny, Jr. Position locating transceiver
CA2086694C (en) 1992-03-05 1996-12-31 Steven K. Miller System, data processing method and program to provide a programmable interface between a workstation and an archive server to automatically store telephone transaction information
US5452350A (en) 1992-03-09 1995-09-19 Advantis Subscriber call routing processing system
US5333266A (en) 1992-03-27 1994-07-26 International Business Machines Corporation Method and apparatus for message handling in computer systems
US5329578A (en) 1992-05-26 1994-07-12 Northern Telecom Limited Personal communication service with mobility manager
JP3187582B2 (ja) * 1992-06-15 2001-07-11 京セラ株式会社 静電潜像用現像剤および画像形成方法
US5729600A (en) 1992-06-25 1998-03-17 Rockwell International Corporation Automatic call distributor with automated voice responsive call servicing system and method
US5432841A (en) 1992-07-10 1995-07-11 Rimer; Neil A. System for locating and communicating with mobile vehicles
US5588048A (en) * 1992-07-31 1996-12-24 800 Adept, Inc. Geographically mapped telephone routing method and system
US5805689A (en) 1992-07-31 1998-09-08 800 Adept, Inc. Geographically mapped telephone routing method and system
ES2134855T3 (es) 1992-08-26 1999-10-16 Bellsouth Corp Sistema de comunicaciones de numero personal.
US5430782A (en) 1992-08-28 1995-07-04 At&T Corp. Caller directed routing of toll free calls using variable prefixes
US5289371A (en) 1992-09-11 1994-02-22 Memorylink, Inc. System and method for routing data and communications
US5715299A (en) 1992-09-25 1998-02-03 Mosley; Jeffery Brian Method and apparatus for telecommunications network routing
US5680448A (en) 1992-10-05 1997-10-21 Advantis Call routing selection method
JPH06237300A (ja) 1992-12-23 1994-08-23 American Teleph & Telegr Co <Att> 電気通信網内における位置に固有なメッセージサービス
US5390232A (en) 1992-12-28 1995-02-14 At&T Corp. System for control of subscriber progragmmability
US5982868A (en) 1993-02-22 1999-11-09 Murex Securities, Ltd. Automatic routing and information system for telephonic services
US5848131A (en) 1993-02-22 1998-12-08 Murex Securities, Ltd. Automatic information and routing system for telephonic services
US5506897C1 (en) 1993-02-22 2001-12-11 Murex Securities Ltd Automatic routing system for telephonic services
CA2091658A1 (en) 1993-03-15 1994-09-16 Matthew Lennig Method and apparatus for automation of directory assistance using speech recognition
EP0624965A3 (en) 1993-03-23 1996-01-31 Us West Advanced Tech Inc Method and system for searching an on-line phone book in a phone station.
US5805688A (en) 1993-04-01 1998-09-08 U.S. West Advanced Technologies, Inc. Automated system and method for call handling
WO1994027398A1 (en) * 1993-05-07 1994-11-24 Everett Dennison Cellular telephone system that uses position of a mobile unit to make call management decisions
GB9311580D0 (en) 1993-06-04 1993-07-21 Phonelink Data Limited Data retrieval system
BR9405399A (pt) * 1993-06-14 1999-09-08 Motorola Inc Radiotelefone celular remoto, sistema de comunicação e processo para operar transceptor de localização remota
AU677393B2 (en) 1993-07-08 1997-04-24 E-Talk Corporation Method and system for transferring calls and call-related data between a plurality of call centres
US5481594A (en) 1993-08-06 1996-01-02 Aastra Corporation Audio caller identification unit
JP3514264B2 (ja) 1993-08-17 2004-03-31 松下電器産業株式会社 電子地図表示装置
US5422809A (en) 1993-08-25 1995-06-06 Touch Screen Media, Inc. Method and apparatus for providing travel destination information and making travel reservations
US5548637A (en) * 1993-09-09 1996-08-20 Precision Tracking Fm, Inc. Method and apparatus for locating personnel and objects in response to telephone inquiries
US5481603A (en) 1993-09-28 1996-01-02 At&T Corp. Intelligent call processing based upon complete identification of calling station
BR9407719A (pt) 1993-10-29 1997-02-12 Ronald D Keithley Sistema multimidia interativo de comunicaçoes que acessa informaçoes específicas de indústria
US5436965A (en) 1993-11-16 1995-07-25 Automated Systems And Programming, Inc. Method and system for optimization of telephone contact campaigns
US5590186A (en) 1993-12-22 1996-12-31 At & T System and method for redirecting a telephone call with call merging
US5528672A (en) 1993-12-29 1996-06-18 At&T Corp. Telephone system with subscriber selected audio and image announcements
US5524169A (en) 1993-12-30 1996-06-04 International Business Machines Incorporated Method and system for location-specific speech recognition
US5642410A (en) 1994-02-18 1997-06-24 Aurora Systems, Inc. Call processor for a computer telephone integration system
US5533107A (en) 1994-03-01 1996-07-02 Bellsouth Corporation Method for routing calls based on predetermined assignments of callers geographic locations
US5470233A (en) 1994-03-17 1995-11-28 Arkenstone, Inc. System and method for tracking a pedestrian
US5729731A (en) 1994-03-18 1998-03-17 Hitachi, Ltd. Method of retrieving in a database through image information
US5488652A (en) 1994-04-14 1996-01-30 Northern Telecom Limited Method and apparatus for training speech recognition algorithms for directory assistance applications
SV1994000033A (es) 1994-04-21 1995-10-30 Blen Georgina Borbon Publitel internacional.
US5754850A (en) 1994-05-11 1998-05-19 Realselect, Inc. Real-estate method and apparatus for searching for homes in a search pool for exact and close matches according to primary and non-primary selection criteria
US5465286A (en) * 1994-05-24 1995-11-07 Executone Information Systems, Inc. Apparatus for supervising an automatic call distribution telephone system
US5559707A (en) 1994-06-24 1996-09-24 Delorme Publishing Company Computer aided routing system
US5848373A (en) 1994-06-24 1998-12-08 Delorme Publishing Company Computer aided map location system
US5553119A (en) 1994-07-07 1996-09-03 Bell Atlantic Network Services, Inc. Intelligent recognition of speech signals using caller demographics
US5784059A (en) 1994-09-16 1998-07-21 Aisin Aw Co., Ltd. Vehicle navigation system with destination selection using hierarchical menu arrangement with selective level skipping
US5528518A (en) 1994-10-25 1996-06-18 Laser Technology, Inc. System and method for collecting data used to form a geographic information system database
CN1249667C (zh) 1994-10-25 2006-04-05 英国电讯公司 声控服务
US5570283A (en) 1994-11-18 1996-10-29 Travelnet, Inc. Corporate travel controller
EP0715480B1 (en) 1994-11-29 2005-09-14 Nec Corporation Mobile telephone device having steal prevention function
US5596634A (en) 1994-12-13 1997-01-21 At&T Telecommunications system for dynamically selecting conversation topics having an automatic call-back feature
US5867563A (en) 1994-12-16 1999-02-02 Canon Kabushiki Kaisha Location display apparatus
US5602901A (en) 1994-12-22 1997-02-11 Motorola, Inc. Specialized call routing method and apparatus for a cellular communication system
US5727057A (en) 1994-12-27 1998-03-10 Ag Communication Systems Corporation Storage, transmission, communication and access to geographical positioning data linked with standard telephony numbering and encoded for use in telecommunications and related services
US5682525A (en) 1995-01-11 1997-10-28 Civix Corporation System and methods for remotely accessing a selected group of items of interest from a database
US5668852A (en) 1995-01-18 1997-09-16 Holmes; Terry M. Automatic caller-associated information provision system, improvement and method for paging system
US6163597A (en) 1995-02-10 2000-12-19 Bell Atlantic Network Services, Inc. Method and apparatus for routing calls placed to a virtual telephone number
US5721832A (en) 1995-05-12 1998-02-24 Regal Greetings & Gifts Inc. Method and apparatus for an interactive computerized catalog system
US5592541A (en) 1995-05-31 1997-01-07 Southwestern Bell Technology Resources, Inc. Apparatus and method for forwarding incoming calls
JPH08335970A (ja) 1995-06-06 1996-12-17 Brother Ind Ltd 電話装置
US6035280A (en) 1995-06-16 2000-03-07 Christensen; Scott N. Electronic discount couponing method and apparatus for generating an electronic list of coupons
US5710886A (en) 1995-06-16 1998-01-20 Sellectsoft, L.C. Electric couponing method and apparatus
US5970131A (en) 1995-06-30 1999-10-19 Siemens Information And Communication Networks, Inc. Method for providing location/geographic portability in a system having different service providers within a common numbering plan area
US5680446A (en) 1995-08-24 1997-10-21 Southwestern Bell Technology Resources, Inc. Advanced intelligent network screening
US5966695A (en) 1995-10-17 1999-10-12 Citibank, N.A. Sales and marketing support system using a graphical query prospect database
US5802163A (en) 1996-04-05 1998-09-01 Genesys Telccommunications Laboratories, Inc. Methods and apparatus for implementing an outbound network call center
US5771283A (en) 1995-10-26 1998-06-23 Lucent Technologies Inc. Method for delivering enhanced caller identification service in a telecommunications network
US5812950A (en) 1995-11-27 1998-09-22 Telefonaktiebolaget Lm Ericsson (Publ) Cellular telephone system having prioritized greetings for predefined services to a subscriber
US5878126A (en) 1995-12-11 1999-03-02 Bellsouth Corporation Method for routing a call to a destination based on range identifiers for geographic area assignments
US5633922A (en) 1995-12-29 1997-05-27 At&T Process and apparatus for restarting call routing in a telephone network
JP3216514B2 (ja) 1996-01-31 2001-10-09 株式会社デンソー 情報サービス装置
US5802513A (en) 1996-02-01 1998-09-01 Bellsouth Corporation Method and system for distance determination and use of the distance determination
US6097802A (en) 1996-02-28 2000-08-01 Sbc Technology Resources, Inc. Advanced intelligent single telephone number routing
US5822416A (en) 1996-03-04 1998-10-13 Mosaix, Inc. System and method for real-time screening and routing of telephone calls
US6085085A (en) 1996-03-27 2000-07-04 Qualcomm Incorporated Method and apparatus for performing preferred system selection
US5905773A (en) 1996-03-28 1999-05-18 Northern Telecom Limited Apparatus and method for reducing speech recognition vocabulary perplexity and dynamically selecting acoustic models
US5963861A (en) 1996-04-05 1999-10-05 Lucent Technologies Inc. Dealer-locator service and apparatus for mobile telecommunications system
US6041103A (en) 1996-04-16 2000-03-21 Lucent Technologies, Inc. Interactive call identification
US5974133A (en) 1996-04-30 1999-10-26 Southwestern Bell Technology Resources, Inc. Method and apparatus for facilitating communication across multiple locations
US5850433A (en) 1996-05-01 1998-12-15 Sprint Communication Co. L.P. System and method for providing an on-line directory service
US5731991A (en) * 1996-05-03 1998-03-24 Electronic Data Systems Corporation Software product evaluation
US6148289A (en) 1996-05-10 2000-11-14 Localeyes Corporation System and method for geographically organizing and classifying businesses on the world-wide web
US5901214A (en) 1996-06-10 1999-05-04 Murex Securities, Ltd. One number intelligent call processing system
US6028537A (en) 1996-06-14 2000-02-22 Prince Corporation Vehicle communication and remote control system
KR20000022231A (ko) * 1996-06-27 2000-04-25 조나단 피. 메이어 통신 시스템에서의 위치 결정
US6202023B1 (en) 1996-08-22 2001-03-13 Go2 Systems, Inc. Internet based geographic location referencing system and method
US5839088A (en) 1996-08-22 1998-11-17 Go2 Software, Inc. Geographic location referencing system and method
US6185427B1 (en) * 1996-09-06 2001-02-06 Snaptrack, Inc. Distributed satellite position system processing and application network
US5948061A (en) 1996-10-29 1999-09-07 Double Click, Inc. Method of delivery, targeting, and measuring advertising over networks
US5946618A (en) 1996-11-04 1999-08-31 Qualcomm Incorporated Method and apparatus for performing position-based call processing in a mobile telephone system using multiple location mapping schemes
US6456852B2 (en) * 1997-01-08 2002-09-24 Trafficmaster Usa, Inc. Internet distributed real-time wireless location database
US6075853A (en) 1997-03-31 2000-06-13 Sbc Technology Resources, Inc. Apparatus and method for intelligent call routing and call return
US5961569A (en) 1997-04-01 1999-10-05 Bellsouth Corporation System and method for identifying a geographic point within a geographic section
US5796634A (en) 1997-04-01 1998-08-18 Bellsouth Corporation System and method for identifying the geographic region of a geographic area which contains a geographic zone associated with a location
US5961572A (en) 1997-04-01 1999-10-05 Bellsouth Intellectual Property Corporation System and method for identifying the geographic region of a geographic area which contains a geographic point associated with a location
US6078657A (en) 1997-05-30 2000-06-20 Telcordia Technologies, Inc. Method and system for providing local telephone number portability using geographic unit building blocks
US5897616A (en) 1997-06-11 1999-04-27 International Business Machines Corporation Apparatus and methods for speaker verification/identification/classification employing non-acoustic and/or acoustic models and databases
US6108533A (en) 1997-08-22 2000-08-22 Telefonaktiebolaget Lm Ericsson (Publ) Geographical database for radio system
US6269369B1 (en) * 1997-11-02 2001-07-31 Amazon.Com Holdings, Inc. Networked personal contact manager
US5991739A (en) 1997-11-24 1999-11-23 Food.Com Internet online order method and apparatus
JP3235562B2 (ja) 1998-03-30 2001-12-04 日本電気株式会社 終端抵抗値調整回路
KR100270211B1 (ko) * 1998-04-09 2000-10-16 윤종용 디램 셀 커패시터 및 그의 제조 방법
US6154535A (en) 1998-05-15 2000-11-28 Bellsouth Corporation Methods and system for obtaining processing information relating to a communication
US6247043B1 (en) * 1998-06-11 2001-06-12 International Business Machines Corporation Apparatus, program products and methods utilizing intelligent contact management
US6108650A (en) 1998-08-21 2000-08-22 Myway.Com Corporation Method and apparatus for an accelerated radius search
US7036128B1 (en) 1999-01-05 2006-04-25 Sri International Offices Using a community of distributed electronic agents to support a highly mobile, ambient computing environment
US6314402B1 (en) 1999-04-23 2001-11-06 Nuance Communications Method and apparatus for creating modifiable and combinable speech objects for acquiring information from a speaker in an interactive voice response system
US6684219B1 (en) * 1999-11-24 2004-01-27 The United States Of America As Represented By The Secretary Of The Navy Method and apparatus for building and maintaining an object-oriented geospatial database
US6314365B1 (en) 2000-01-18 2001-11-06 Navigation Technologies Corp. Method and system of providing navigation services to cellular phone devices from a server
JP3659318B2 (ja) * 2000-05-09 2005-06-15 インターナショナル・ビジネス・マシーンズ・コーポレーション 空間データマイニング装置
US20020069312A1 (en) * 2000-07-10 2002-06-06 Jones Gad Quentin System and method for the storage, management and sharing of spatial-temporal based information
US6729731B2 (en) * 2001-06-11 2004-05-04 Info Valley Corporation Untethered laser pointer for use with computer display
JP2005038381A (ja) * 2003-06-30 2005-02-10 Toshiba Corp データ分析装置、データ分析プログラム及び携帯端末

Also Published As

Publication number Publication date
US7203300B2 (en) 2007-04-10
CN100342735C (zh) 2007-10-10
US6608892B2 (en) 2003-08-19
US6385312B1 (en) 2002-05-07
BR9911852A (pt) 2001-09-25
US20060008067A1 (en) 2006-01-12
EP1088457A1 (en) 2001-04-04
AU4825299A (en) 2000-01-05
US6570975B2 (en) 2003-05-27
US20030228009A1 (en) 2003-12-11
NO20006379L (no) 2001-02-19
MXPA00012751A (es) 2003-07-14
CA2335128A1 (en) 1999-12-23
US8363814B2 (en) 2013-01-29
KR20010083058A (ko) 2001-08-31
CN1314060A (zh) 2001-09-19
JP2002518953A (ja) 2002-06-25
US20070165815A1 (en) 2007-07-19
NO20006379D0 (no) 2000-12-14
US20020106069A1 (en) 2002-08-08
US7136474B2 (en) 2006-11-14
WO1999066738B1 (en) 2000-02-03
CA2335128C (en) 2010-08-10
PL345259A1 (en) 2001-12-03
US20020076029A1 (en) 2002-06-20
WO1999066738A1 (en) 1999-12-23

Similar Documents

Publication Publication Date Title
KR100557819B1 (ko) 이동 전화 서비스용 자동 루팅 및 정보 시스템
US6091810A (en) Automatic routing and information system for telephonic services
US5848131A (en) Automatic information and routing system for telephonic services
US5506897A (en) Automatic routing system for telephonic services
US4757267A (en) Telephone system for connecting a customer to a supplier of goods
US6661884B2 (en) One number, intelligent call processing system
US6445775B1 (en) Computer-based system and method for identifying an unidentified caller
JP2948225B2 (ja) フレキシブルな共用通話料金データ導出
US20040153444A1 (en) Technique for effectively providing search results by an information assistance service
US8175250B2 (en) Dialed number service routing in a telephone network by reference to a database
US20040202302A1 (en) Telephone number with extension distribution system and method
US20070036288A1 (en) Personalized telephone number
KR20030096810A (ko) 업소 정보 제공 시스템 및 그 방법
JP2003174506A (ja) 回線網接続方法

Legal Events

Date Code Title Description
N231 Notification of change of applicant
N231 Notification of change of applicant
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee