專利名稱:用于移動(dòng)電話業(yè)務(wù)的自動(dòng)傳送和信息系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及電話業(yè)務(wù)和傳送技術(shù),更具體地說(shuō),涉及自動(dòng)傳送電話呼叫以及可選地提供關(guān)于客戶位置的信息的系統(tǒng)。
背景技術(shù):
在競(jìng)爭(zhēng)日益激烈的商界中,常常需要自動(dòng)傳送撥向一個(gè)“1-800”號(hào)碼或等效號(hào)碼的電話呼叫,該號(hào)碼對(duì)應(yīng)一個(gè)本地商店、特許經(jīng)營(yíng)店、分支機(jī)構(gòu)、經(jīng)銷商或服務(wù)公司(下文的服務(wù)位置),其服務(wù)區(qū)域包括需要該“1-800”號(hào)碼相關(guān)的產(chǎn)品或服務(wù)的主叫位置。例如,一個(gè)人可以從美國(guó)的任何一部電話撥打1-800-Italian,而向主叫電話位置送比薩餅的MyPizza(一個(gè)假想公司)服務(wù)位置處的電話就將會(huì)振鈴。
以前有好幾種簡(jiǎn)單的方式自動(dòng)把呼叫傳送到地理位置上鄰近主叫的一個(gè)服務(wù)位置處。這些傳送技術(shù)基于向與始發(fā)呼叫具有相同電話區(qū)號(hào)和前綴的位置、具有相同5位郵區(qū)代碼的位置、具有相同城市名稱的所有郵區(qū)、或以上位置的組合傳送呼叫。有許多不同的術(shù)語(yǔ)用于描述一個(gè)10位電話號(hào)碼的各個(gè)組成部分。在通信行業(yè)內(nèi),它被稱為NPA-NXX-XXXX,其中NPA是區(qū)號(hào),NXX是前綴或局號(hào),XXXX是后綴或線路號(hào)碼。例如,在10位電話號(hào)碼619-942-9999中,619是NPA或區(qū)號(hào);942是NXX、前綴或局號(hào);9999是XXXX、后綴或線路號(hào)碼。通常具有同一區(qū)號(hào)和前綴的所有電話號(hào)碼由同一線路中心提供服務(wù)。一個(gè)線路中心是由單個(gè)電話公司支局提供服務(wù)的地理區(qū)域。線路中心通常是一臺(tái)交換機(jī),但也可以是多臺(tái)交換機(jī),通常可為大約十個(gè)局號(hào)提供服務(wù)。通過(guò)電話公司的定義,線路中心不會(huì)出現(xiàn)重疊。
A.現(xiàn)有的傳送系統(tǒng)地球是一個(gè)球體,它表面上的任何點(diǎn)都可以通過(guò)幾個(gè)世紀(jì)以前發(fā)明的一種緯度和經(jīng)度球面坐標(biāo)系統(tǒng)來(lái)定義。使用這種坐標(biāo)系統(tǒng)、球面三角學(xué)和一臺(tái)計(jì)算機(jī),可以計(jì)算出地球上任何兩個(gè)位置之間的距離,并確定一個(gè)位置是否在另一個(gè)位置的指定半徑之內(nèi),或確定一個(gè)位置是否包含在定義為球面多邊形的一個(gè)不規(guī)則服務(wù)區(qū)域內(nèi)。
幾年前,AT&T實(shí)現(xiàn)了通過(guò)使用自動(dòng)號(hào)碼標(biāo)識(shí)(ANI)沿電話網(wǎng)傳送主叫電話號(hào)碼的技術(shù),以便于計(jì)費(fèi)。某些電話網(wǎng)具有的“主叫ID”特性使用ANI技術(shù)識(shí)別主叫方的電話號(hào)碼。由于一臺(tái)現(xiàn)代電話交換機(jī)只不過(guò)是一臺(tái)專用計(jì)算機(jī),因此對(duì)于處理呼叫的交換機(jī)來(lái)說(shuō),在一個(gè)記錄表(具有上億條記錄)中查找具有指定服務(wù)位置電話號(hào)碼的主叫電話號(hào)碼、并向服務(wù)電話號(hào)碼傳送呼叫是一種簡(jiǎn)單的處理過(guò)程。
不過(guò),在這種傳送系統(tǒng)經(jīng)濟(jì)可行和成為實(shí)用業(yè)務(wù)之前,還有幾個(gè)非常棘手的問(wèn)題需要解決。第一個(gè)問(wèn)題首先是確定美國(guó)任何一個(gè)電話號(hào)碼的緯度和經(jīng)度,并在每年有百分之二十的消費(fèi)人群移動(dòng)和公司不斷有營(yíng)業(yè)點(diǎn)開張和關(guān)閉的情況下保持?jǐn)?shù)據(jù)更新。第二個(gè)問(wèn)題是為了產(chǎn)生到服務(wù)位置電話號(hào)碼表的主叫電話號(hào)碼并在一個(gè)不斷變化的環(huán)境中保持其更新,需要進(jìn)行大量的球面三角計(jì)算,其計(jì)算量超出當(dāng)前速度最快的計(jì)算機(jī)幾個(gè)數(shù)量級(jí)。
為了解決這些問(wèn)題,需要幾種關(guān)鍵數(shù)據(jù)庫(kù)和技術(shù)。作為1990調(diào)查的一個(gè)部分,美國(guó)人口普查局建立了一個(gè)被稱為TIGER(地志學(xué)綜合地理編碼和索引)的美國(guó)國(guó)內(nèi)緯度和經(jīng)度繪制地圖,它幾乎包含了美國(guó)的每個(gè)街區(qū)。一個(gè)街區(qū)是每一端都與其他街道相交的一段街道。所有街區(qū)的TIGER記錄包含一段街道每個(gè)端點(diǎn)的緯度和經(jīng)度坐標(biāo),其精確度在正負(fù)三十英尺內(nèi),而且對(duì)于大部分街區(qū)來(lái)說(shuō),包括街道每一側(cè)的起點(diǎn)和終點(diǎn)地址范圍。在人口普查局沒有完成地址范圍設(shè)定的地方,私人公司已填補(bǔ)上了空白,并在新的街道產(chǎn)生時(shí)更新TIGER。
過(guò)去,美國(guó)郵政業(yè)務(wù)(“郵政局”)把美國(guó)分成了稱為郵區(qū)(區(qū)域改進(jìn)規(guī)劃,zip)代碼的投遞區(qū)域,以便于自動(dòng)分發(fā)郵件。在九位數(shù)字(zip+4)的級(jí)別上,這些郵區(qū)代碼通??梢詫?duì)應(yīng)每段街區(qū)的一個(gè)單側(cè)。除了在地理區(qū)域上把美國(guó)劃分成小的郵政投遞區(qū)域之外,郵政局還制定了地點(diǎn)和街道的命名規(guī)則。對(duì)于希望其郵費(fèi)打折的直接郵寄者來(lái)說(shuō),他們必須規(guī)范化自己的郵寄地址,以符合郵政局的命名規(guī)則,并提供一個(gè)zip+4代碼。為了簡(jiǎn)化郵政地址規(guī)范化和zip+4編碼處理,郵政局提供了一種國(guó)內(nèi)Zip+4地址編碼規(guī)則,并保證幾種商用軟件包可以正確地規(guī)范化地址,并且有略多于99%的地址記錄在郵政局的測(cè)試文件上。
近來(lái),郵政局和一些私人公司完成了郵局Zip+4地址編碼規(guī)則與TIGER的映射,生成的文件包含帶有緯度和經(jīng)度重心的zip+4代碼(一個(gè)zip+4重心大致是一個(gè)zip+4代碼的地理中心)。這種類型的文件被稱為zip+4緯度和經(jīng)度重心文件100(
圖1a)。這些重心在95%的時(shí)間內(nèi)都是正確的,它與根據(jù)特定zip+4代碼的街道地址接收郵件的房屋或公司的距離在正負(fù)105英尺之內(nèi)。目前,規(guī)范化地址和產(chǎn)生由zip+4代碼組成的識(shí)別物理位置的清單(例如本發(fā)明的電話號(hào)碼主清單)已經(jīng)是一種非??煽亢徒?jīng)濟(jì)的處理。
為了使自動(dòng)電話呼叫傳送處理成為一種經(jīng)濟(jì)可行和實(shí)用業(yè)務(wù),還利用了通信技術(shù)的其他變化和改進(jìn)。美國(guó)電信基礎(chǔ)結(jié)構(gòu)的改進(jìn)已改變了電信的成本結(jié)構(gòu)。目前從路易斯安那到紐約的電話呼叫成本與從路易斯安那到圣地亞哥的呼叫成本大致相同。因此,中心傳送系統(tǒng)硬件和設(shè)備所處的物理位置已無(wú)關(guān)緊要,或者換句話說(shuō),它可以位于美國(guó)國(guó)內(nèi)的任何地方。
通信技術(shù)的另一種改進(jìn)是地理信息系統(tǒng)的出現(xiàn),該系統(tǒng)常被稱為GIS。這些系統(tǒng)可以通過(guò)交互式地圖收集和顯示幾乎美國(guó)任何區(qū)域、任何大小或形狀、任何地方的任何數(shù)據(jù)。這些系統(tǒng)的普及推動(dòng)了處理地理信息的復(fù)雜技術(shù)和算法的發(fā)展。我們關(guān)注的主要是地理信息與電話號(hào)碼,特別是10位號(hào)碼的鏈接。
通過(guò)降低處理的計(jì)算機(jī)負(fù)荷,已減輕了置換可達(dá)十億次的球面三角計(jì)算的復(fù)雜處理要求。與進(jìn)行復(fù)雜的三角球面計(jì)算不同的是使用一種其小于其計(jì)算機(jī)負(fù)荷千分之一的技術(shù)。這種技術(shù)基于從每個(gè)服務(wù)位置作多圓錐投影,并進(jìn)行簡(jiǎn)單的二維距離平方測(cè)試。每一緯度大約是68.9404英里。不過(guò),每一經(jīng)度代表的英里數(shù)是隨緯度而變化的。在特定的緯度上,每一經(jīng)度代表的英里數(shù)等于緯度的余弦值乘以68.9404。通過(guò)使用服務(wù)位置作為緯度點(diǎn)并已知主叫點(diǎn)的緯度和經(jīng)度,很容易得到一個(gè)緯度和經(jīng)度增量,將其轉(zhuǎn)換成英里,并進(jìn)行簡(jiǎn)單的距離計(jì)算,即“距離=SQRT(X**2+Y**2)”。對(duì)于在緯度40°上相距100英里的兩個(gè)位置,這種多圓錐投影技術(shù)產(chǎn)生的距離計(jì)算誤差約為12英尺。不過(guò),為了得到一種用于高呼叫業(yè)務(wù)量應(yīng)用的實(shí)用、有效和經(jīng)濟(jì)可行的傳送處理方法,還需要采取其他降低計(jì)算量的措施。
B.現(xiàn)有傳送系統(tǒng)的處理原有用于向一個(gè)服務(wù)位置傳送“1-800”電話號(hào)碼呼叫的技術(shù)存在以下三個(gè)問(wèn)題中的一個(gè)或多個(gè)(1)許多這樣的傳送系統(tǒng)精確度都很差,不能處理像比薩餅投送特許店之類具有指定特許區(qū)域邊界的小服務(wù)區(qū)。例如,特許區(qū)域可以是一個(gè)不規(guī)則形狀的多邊形。與精確度大約在10英里左右的原有系統(tǒng)相比,最好有一個(gè)精確度在105英尺之內(nèi)的更精確的系統(tǒng)。這種系統(tǒng)借助美國(guó)幾乎每部非移動(dòng)電話在地球上通常表示為一個(gè)緯度和經(jīng)度的已知物理位置,可采用非常精確的測(cè)量判定。在其他國(guó)家也可以使用其他坐標(biāo)系統(tǒng)。
(2)傳送系統(tǒng)中的另一個(gè)問(wèn)題是它們把美國(guó)分成了許多任意定義的大區(qū)域,如果最近的位置與主叫不在同一個(gè)人為產(chǎn)生的區(qū)域內(nèi),就不能把呼叫傳送到最近的服務(wù)位置。許多情況下,位于一個(gè)局號(hào)區(qū)域或5位郵區(qū)代碼邊界的主叫距離具有不同郵區(qū)代碼或電話前綴的服務(wù)位置要比距離呼叫傳送的位置近得多。最好有一種無(wú)縫系統(tǒng),它不使用人為產(chǎn)生、使得呼叫只能在其內(nèi)部傳送的區(qū)域,例如電話線路中心、電話前綴、或5位郵區(qū)代碼。一個(gè)公司也許希望可以選擇向最近的分支傳送一個(gè)呼叫,該分支的服務(wù)區(qū)域可定義為包括主叫位置的一個(gè)預(yù)定半徑,例如5英里,或是包括主叫位置的一個(gè)預(yù)定不規(guī)則多邊形。另外,一個(gè)公司也許希望可以選擇向其服務(wù)區(qū)域定義為包括主叫位置的一個(gè)預(yù)定半徑或是包括主叫位置的一個(gè)不規(guī)則多邊形的任何分支(而不是最近的分支)傳送呼叫。
(3)最后,現(xiàn)有的傳送系統(tǒng)常常依賴于第三方的電話號(hào)碼簿,這種號(hào)碼簿由于印刷、關(guān)鍵條目以及光學(xué)字符識(shí)別(OCR)掃描時(shí)間的滯后總是不太準(zhǔn)確,而且不包括未列出的號(hào)碼。美國(guó)有30%以上的電話號(hào)碼沒有列出,其中包括公共付費(fèi)電話和進(jìn)入公司及家庭、只列出了一條線路的多條線路。隨著所列用戶和公司的位置和相關(guān)信息發(fā)生變化,這類號(hào)碼簿中的信息很快就會(huì)過(guò)時(shí)。因此,最好有一種能比原有系統(tǒng)正確傳送更大比例呼叫的系統(tǒng)。在美國(guó),這種系統(tǒng)將需要直接訪問(wèn)AT&T電話號(hào)碼總表。這種系統(tǒng)最好使用包括未列出電話號(hào)碼的每日更新數(shù)據(jù),并涉及在電話公司保有的受管制電話數(shù)據(jù)庫(kù)和第三方保有的客戶數(shù)據(jù)庫(kù)之間傳送信息。
上面討論的三個(gè)缺點(diǎn)導(dǎo)致用戶業(yè)務(wù)量和滿意度更低,因人工異常處理由于各種原因不能傳送的呼叫使得成本更高,同時(shí)運(yùn)行中的維護(hù)成本也高。人工異常處理通常需要實(shí)際操作員介入“1-800”呼叫。
其他原有系統(tǒng)要求用戶響應(yīng)來(lái)自該系統(tǒng)的語(yǔ)音提示,在按鍵式鍵盤上輸入其郵區(qū)代碼或電話前綴。根據(jù)主叫在鍵盤上輸入的數(shù)據(jù)向一部目的電話傳送電話呼叫。其他類似系統(tǒng)只是通過(guò)一條語(yǔ)音消息簡(jiǎn)單地通知用戶本地銷售商所用的另外一個(gè)電話號(hào)碼,該號(hào)碼需要人工撥打,而不能自動(dòng)傳送呼叫。最好有一種系統(tǒng)不需要任何額外的用戶交互或輸入。這種系統(tǒng)通過(guò)使用可以由受管制的電話公司在國(guó)內(nèi)的基礎(chǔ)上訪問(wèn)的標(biāo)準(zhǔn)電話分組中的最少10位電話號(hào)碼,可以是全自動(dòng)的。電話分組包括完整的始發(fā)和目的電話號(hào)碼。
自動(dòng)電話傳送系統(tǒng)的基本原理是包括一個(gè)自動(dòng)識(shí)別主叫方電話號(hào)碼的裝置。在Kaplan的美國(guó)專利第5,163,087號(hào)中揭示了這種系統(tǒng)。這種系統(tǒng)把主叫方的自動(dòng)號(hào)碼標(biāo)識(shí)(ANI)轉(zhuǎn)換成原來(lái)由被叫方定義的一個(gè)用戶數(shù)據(jù)庫(kù)關(guān)鍵字。這個(gè)數(shù)據(jù)庫(kù)關(guān)鍵字,例如用戶帳號(hào),就取代了ANI信息被提供給被叫方,使得被叫公司的計(jì)算機(jī)可以處理該關(guān)鍵字,以進(jìn)行查詢并向公司代理提供用戶信息。該系統(tǒng)假定主叫在以前已呼叫過(guò)該公司,以便向公司代理提供信息,生成了一條用戶記錄或其他類似信息。Kaplan系統(tǒng)向一個(gè)公司位置傳送數(shù)據(jù)庫(kù)關(guān)鍵字而不是國(guó)內(nèi)的若干服務(wù)位置。向公司傳送數(shù)據(jù)庫(kù)關(guān)鍵字需要一個(gè)綜合業(yè)務(wù)數(shù)字網(wǎng)(ISDN)或類似設(shè)備,這對(duì)于公司來(lái)說(shuō)是一項(xiàng)額外的負(fù)擔(dān)。
自動(dòng)傳送系統(tǒng)應(yīng)當(dāng)不需要向最終目的地傳送數(shù)據(jù)庫(kù)關(guān)鍵字或消息,而只用ANI信息作為到一個(gè)表的索引,該表包含把一個(gè)國(guó)家劃分成小地理區(qū)域的方式,例如郵政業(yè)務(wù)的zip+4代碼。這些劃分還可用于訪問(wèn)可能位于國(guó)內(nèi)任何地方的若干服務(wù)位置中的一個(gè)。Riskin的美國(guó)專利第4,757,267號(hào)中描述了當(dāng)前的一種電話呼叫傳送系統(tǒng)。Riskin使用自動(dòng)號(hào)碼標(biāo)識(shí)(ANI)從主叫向作為被叫、處于同一區(qū)號(hào)和前綴(10位電話號(hào)碼的前六位,“6位號(hào)碼”)內(nèi)的銷售商傳送呼叫。因?yàn)?位號(hào)碼代表的區(qū)域較大,在該區(qū)域內(nèi)可能有幾個(gè)銷售商,所以通常要從幾個(gè)位置的清單中按照隨機(jī)或是為每個(gè)位置分配一個(gè)加權(quán)比例的方式選擇出銷售商位置?;蛘呦蛑鹘刑峁┮粋€(gè)在較大地理區(qū)域內(nèi)可選的銷售商位置清單,因?yàn)橄到y(tǒng)不知道哪個(gè)服務(wù)位置更接近用戶。Riskin使用6位號(hào)碼同時(shí)確定主叫位置和服務(wù)位置。Riskin使用準(zhǔn)確度在正負(fù)2300英尺內(nèi)的一種坐標(biāo)系統(tǒng),假定主叫位置就是為主叫的6位局號(hào)服務(wù)的中心局交換機(jī)位置(該位置與其實(shí)際位置可能相距0到5英里),同時(shí)假定銷售商位置就是為銷售商位置的6位局號(hào)服務(wù)的中心局交換機(jī)位置(該位置與其實(shí)際位置可能相距0到5英里)。最好有一種系統(tǒng)能使用主叫和服務(wù)位置電話號(hào)碼的所有10位數(shù)字以及與GIS型數(shù)據(jù)庫(kù)關(guān)聯(lián)的號(hào)碼位置的實(shí)際街道地址(使用準(zhǔn)確度在30英尺內(nèi)的一種坐標(biāo)系統(tǒng)和相應(yīng)的坐標(biāo)數(shù)據(jù)),提供地理精確度在105英尺內(nèi)的主叫和目的電話定位。
因此我們需要一種自動(dòng)電話傳送系統(tǒng),它能通過(guò)在沒有任何人為干預(yù)的情況下傳送撥至單個(gè)國(guó)內(nèi)電話號(hào)碼的絕大部分呼叫從而降低成本;能通過(guò)為客戶提供單個(gè)、易記憶、免去長(zhǎng)途或普通話費(fèi)的國(guó)內(nèi)電話號(hào)碼增強(qiáng)市場(chǎng)競(jìng)爭(zhēng)優(yōu)勢(shì);能得到地理上非常精確的結(jié)果;能使公司圍繞每個(gè)服務(wù)位置定義任何所需大小和形狀的用戶服務(wù)區(qū)域。最好的一點(diǎn)是,客戶可以把每個(gè)位置的服務(wù)區(qū)域定義為任意大小半徑的一個(gè)區(qū)域或任意大小或形狀的一個(gè)多邊形??蛻艨梢曰煊冒霃胶投噙呅味x,也可以使服務(wù)區(qū)域重疊或不重疊。
主叫常常可以不需要真正完成到公司服務(wù)位置的一次電話呼叫,而是需要關(guān)于該公司的信息。例如,主叫可能想確定三個(gè)最近的服務(wù)位置,或更具體地說(shuō),主叫想知道該公司是否還營(yíng)業(yè),或是否有某項(xiàng)所需服務(wù)等等。
C.現(xiàn)有的語(yǔ)音響應(yīng)單元應(yīng)用通常,具有一個(gè)到上萬(wàn)個(gè)服務(wù)位置的公司、非營(yíng)利性組織和政府機(jī)構(gòu)一般為用戶提供了多個(gè)電話號(hào)碼聯(lián)系點(diǎn),通常每個(gè)服務(wù)位置、部門或個(gè)人至少有一個(gè)電話號(hào)碼。這對(duì)于用戶和可能用戶來(lái)說(shuō),要尋找、記住、撥打和連接正確的所需位置或服務(wù)的實(shí)體內(nèi)部電話號(hào)碼是一個(gè)很大的負(fù)擔(dān)。在電子商務(wù)的新時(shí)代,這些實(shí)體已開始使用空電話號(hào)碼作為他們的優(yōu)選的單一初始用戶聯(lián)系點(diǎn)。這些空號(hào)是一些容易記憶的電話號(hào)碼,例如一家公司選擇的1-800-FLORIST。這些空電話號(hào)碼通常以“800”、“888”或“900”作為區(qū)號(hào),“555”或“950”作為本地局號(hào)前綴。
基于撥打這些空號(hào)的呼叫業(yè)務(wù)量很大,用戶需要每周七天和每天24小時(shí)的擴(kuò)展服務(wù)時(shí)間,為了降低電話占線和接通時(shí)間,產(chǎn)生了許多使用語(yǔ)音響應(yīng)單元(VRU)應(yīng)答空號(hào)呼叫的空號(hào)廣告器。空號(hào)的迅速增長(zhǎng)和VRU的應(yīng)用產(chǎn)生了一種需要,即通過(guò)現(xiàn)在所謂的智能呼叫處理,由VRU自動(dòng)應(yīng)答更高比例的呼叫。
在本文中,自動(dòng)智能呼叫處理被定義為在VRU上捕獲網(wǎng)絡(luò)提供的數(shù)據(jù),例如ANI和所撥號(hào)碼識(shí)別業(yè)務(wù)(DNIS),以及主叫提供的數(shù)據(jù),例如通過(guò)按鍵式話機(jī)鍵盤輸入的雙音多頻(DTMF)或主叫直接說(shuō)話得到的數(shù)據(jù)。智能VRU還能通過(guò)播放預(yù)先錄下的消息、產(chǎn)生呼叫指定的測(cè)試消息和向主叫播放、以及/或傳送和連接主叫與服務(wù)位置來(lái)進(jìn)行解密、認(rèn)證、處理和滿足主叫的請(qǐng)求。與之相反,半自動(dòng)呼叫處理意味著用戶請(qǐng)求的片段可以通過(guò)智能呼叫處理自動(dòng)完成,但是該請(qǐng)求的某些部分仍然需要一個(gè)工作的操作員在呼叫期間的支持。
另一類自動(dòng)智能呼叫處理包括客戶不愿使用語(yǔ)音響應(yīng)功能但要使用系統(tǒng)的自動(dòng)傳送特性的情況。這時(shí),可以用一個(gè)不具備語(yǔ)音/話音特性的網(wǎng)絡(luò)終接點(diǎn)接口(NTPI)盒替代VRU。
VRU或NTPI盒為了處理更高比例的主叫請(qǐng)求,就必須能夠即時(shí)訪問(wèn)更多的信息。這就要求實(shí)時(shí)訪問(wèn)存儲(chǔ)在不同計(jì)算機(jī)系統(tǒng)中的許多不同數(shù)據(jù)庫(kù)。計(jì)算機(jī)聯(lián)網(wǎng)技術(shù)和聯(lián)網(wǎng)標(biāo)準(zhǔn)的最新發(fā)展、速度和帶寬的提高以及長(zhǎng)途數(shù)據(jù)通信成本的降低已使廣域聯(lián)網(wǎng)變得普遍和實(shí)用。計(jì)算機(jī)網(wǎng)絡(luò)業(yè)務(wù)支持的各種計(jì)算機(jī)接口應(yīng)用,例如Compuserve,AmericaOnline,Microsoft NetworkTM和Internet,在一定程度上已說(shuō)明了這一點(diǎn)。
在具有近20億個(gè)接入點(diǎn)的國(guó)內(nèi)通信網(wǎng)中,大部分接入點(diǎn)只帶有簡(jiǎn)單的按鍵式或老式轉(zhuǎn)盤電話的輸入和輸出功能,VRU或NTPI交換機(jī)數(shù)據(jù)庫(kù)訪問(wèn)主要限于客戶專有的按電話號(hào)碼索引的用戶數(shù)據(jù)庫(kù)。這種訪問(wèn)方式對(duì)于現(xiàn)有用戶呼叫的許多應(yīng)用是可行的。不過(guò),對(duì)于新用戶、新公司或服務(wù)于不同目標(biāo)市場(chǎng)的新應(yīng)用,這些內(nèi)部數(shù)據(jù)庫(kù)覆蓋的范圍就太小了,無(wú)法使VRU數(shù)據(jù)庫(kù)的查詢應(yīng)用成為經(jīng)濟(jì)可行的。另一方面,又有一些不包含電話號(hào)碼的國(guó)家級(jí)數(shù)據(jù)庫(kù),例如GDT Zip+4緯度和經(jīng)度文件。因此,在VRU電話呼叫處理應(yīng)用中沒有使用這些數(shù)據(jù)庫(kù)及其不包含電話號(hào)碼字段的派生數(shù)據(jù)庫(kù)。
能使幾乎沒有數(shù)量限制的數(shù)據(jù)對(duì)于VRU或NTPI直接可用所缺少的環(huán)節(jié)是要產(chǎn)生一個(gè)標(biāo)準(zhǔn)的、精確的、可以分配給美國(guó)和美國(guó)領(lǐng)土內(nèi)所有電話號(hào)碼的全局?jǐn)?shù)據(jù)庫(kù)鏈接關(guān)鍵字。這一關(guān)鍵字需要作為電話號(hào)碼和空間、地理及客戶服務(wù)位置數(shù)據(jù)庫(kù)之間的直接和/或轉(zhuǎn)換鏈接機(jī)制,其中服務(wù)區(qū)域可以是任意定義的大小和形狀。由于上述數(shù)據(jù)庫(kù)共有的一個(gè)特性是其地理/空間位置、定義和/或關(guān)系,因此我們所需要的是一種可靠的全局分層地理/空間鏈接關(guān)鍵字,這里被稱為空間關(guān)鍵字。使用空間關(guān)鍵字,向主叫提供信息和/或連接主叫與一個(gè)服務(wù)位置的許多VRU應(yīng)用就可以實(shí)現(xiàn)自動(dòng)化處理。
我們可以從VRU或NTPI盒與空間鏈接或空間關(guān)鍵字鏈接的幾種實(shí)施例中作出選擇。這些實(shí)施例包括(1)使用一個(gè)主控表和一個(gè)自動(dòng)生成的客戶表,前者包括主叫提供的電話號(hào)碼,該號(hào)碼帶有對(duì)應(yīng)的空間關(guān)鍵字,后者鏈接空間關(guān)鍵字與客戶服務(wù)位置信息。(2)當(dāng)傳送速度非常重要或需要與當(dāng)前通信網(wǎng)兼容時(shí),使用單個(gè)表來(lái)鏈接電話號(hào)碼與其他電話號(hào)碼。通信網(wǎng)通常需要很長(zhǎng)的引導(dǎo)時(shí)間來(lái)導(dǎo)入新技術(shù)。由于這種實(shí)施例只使用單個(gè)表,從通信網(wǎng)的角度來(lái)看,它是實(shí)現(xiàn)最簡(jiǎn)單的實(shí)施例。(3)當(dāng)高呼叫量和業(yè)務(wù)處理速度沒有問(wèn)題以及/或計(jì)算機(jī)存儲(chǔ)資源有限、而且應(yīng)用不需要空間關(guān)鍵字與空間關(guān)鍵字索引的其他數(shù)據(jù)庫(kù)鏈接時(shí),使用實(shí)時(shí)空間處理來(lái)聯(lián)結(jié)準(zhǔn)確的主叫位置與準(zhǔn)確的服務(wù)位置。這種系統(tǒng)是更新最簡(jiǎn)單的實(shí)施例,可以單獨(dú)維護(hù)所需文件。
現(xiàn)來(lái)的實(shí)時(shí)呼叫處理方法不夠精確。典型的現(xiàn)有方法使用區(qū)號(hào)和局號(hào)(6位)而不是美國(guó)電話號(hào)碼所有的十位數(shù)字。例如,Riskin專利使用Bellcore的V&H坐標(biāo)系統(tǒng)識(shí)別主叫位置和服務(wù)位置,其精確度在正負(fù)五英里之內(nèi)。這種現(xiàn)有系統(tǒng)沒有使用對(duì)服務(wù)位置的精確服務(wù)區(qū)域定義,而是使用客戶定義的圍繞主叫位置的搜索半徑。但是,主叫位置定義為與主叫電話物理連接的電話交換機(jī)的V&H坐標(biāo),因此搜索半徑實(shí)際上圍繞的是每臺(tái)電話交換機(jī)。搜索半徑用于訪問(wèn)一個(gè)V&H坐標(biāo)交叉索引的服務(wù)位置文件,以得到一個(gè)可能服務(wù)位置清單。然后進(jìn)行計(jì)算,以確定主叫交換機(jī)的位置與每個(gè)可能服務(wù)位置所用交換機(jī)位置之間的距離。該信息用于產(chǎn)生最后的服務(wù)位置清單。
我們需要的是一種可以精確地確定主叫或主叫提供的電話號(hào)碼位置和服務(wù)位置的系統(tǒng)。另外需要客戶能夠精確定義圍繞每個(gè)服務(wù)位置的服務(wù)區(qū)域。還需要能夠迅速傳送電話呼叫,使主叫不會(huì)注意到它的進(jìn)行。為此不再需要原有系統(tǒng)為了確定服務(wù)位置所采用的計(jì)算主叫位置到服務(wù)位置之間距離的不精確方法。這里所提到的系統(tǒng)可精確地確定上述兩點(diǎn)距離的能力為進(jìn)一步在多個(gè)主叫服務(wù)位置之間進(jìn)行選擇和提供一個(gè)服務(wù)位置到主叫的距離信息提供了一個(gè)極有價(jià)值的信息項(xiàng)。
我們還需要通過(guò)使用系統(tǒng)中的實(shí)時(shí)處理,以便能夠利用由坐標(biāo)定義的一個(gè)移動(dòng)或便攜式電話的瞬時(shí)位置識(shí)別一個(gè)或多個(gè)主叫服務(wù)位置。實(shí)時(shí)處理可以為主叫實(shí)時(shí)(在運(yùn)動(dòng)中)計(jì)算一個(gè)或多個(gè)服務(wù)位置。在一個(gè)實(shí)施例中,系統(tǒng)將從電話網(wǎng)中獲得移動(dòng)電話的坐標(biāo),例如緯度和經(jīng)度。其他實(shí)施例可以使用其他坐標(biāo)類型或?qū)崟r(shí)處理之外的處理方式。
在所有需要的實(shí)施例中,最好使用與一個(gè)客戶服務(wù)位置對(duì)應(yīng)的具有任何所需大小和形狀的服務(wù)區(qū)域。另外,最好可選地允許客戶向主叫提供服務(wù)區(qū)域信息。例如,這種選項(xiàng)最好使用具有語(yǔ)音/話音特性的NTPI盒實(shí)現(xiàn),該NTPI盒通過(guò)一個(gè)服務(wù)位置ID或電話號(hào)碼與一個(gè)包括客戶服務(wù)信息的文件鏈接。例如,可選的客戶服務(wù)位置信息可以包括向主叫提供諸如向所選服務(wù)位置郵寄、取和/或送某種物品所用的地址;向主叫提供預(yù)存儲(chǔ)的到服務(wù)位置的微區(qū)域方向;或向主叫提供該位置的營(yíng)業(yè)時(shí)間、停業(yè)時(shí)間或工作時(shí)間。
發(fā)明概述本發(fā)明包括一種通過(guò)連接主叫與一個(gè)服務(wù)位置和/或向主叫提供與服務(wù)位置有關(guān)的信息來(lái)自動(dòng)處理電話呼叫的系統(tǒng)和方法。
本發(fā)明提供了一種用于傳送所有已公開和未公開的電話號(hào)碼的方法,其中包括未列出的號(hào)碼、第二條未公開的公司線路、移動(dòng)電話和公共付費(fèi)電話。本發(fā)明還提供了一種方法,通過(guò)把用戶的呼叫準(zhǔn)確地傳送到正確合法的特許區(qū)域內(nèi),從而合法地實(shí)現(xiàn)與經(jīng)銷商和總經(jīng)銷商之間達(dá)成協(xié)議的特許區(qū)域定義相一致。另外,本發(fā)明提供了一種方法,根據(jù)包括郵政地理區(qū)域、普查地理區(qū)域、通信地理區(qū)域、專用網(wǎng)格坐標(biāo)地理區(qū)域和所有傳統(tǒng)地理區(qū)域在內(nèi)的任何地理區(qū)域定義,從而準(zhǔn)確地傳送電話呼叫。
本發(fā)明提供了一種用于自動(dòng)傳送和處理不滿足預(yù)置客戶協(xié)議的用戶呼叫的方法。這種“異常處理”過(guò)程向一個(gè)執(zhí)行預(yù)置異常處理協(xié)議的“實(shí)際”操作員傳送呼叫。本發(fā)明還提供了一種方法,用于把不相關(guān)的地理信息系統(tǒng)和數(shù)據(jù)庫(kù)技術(shù)、通信系統(tǒng)和數(shù)據(jù)庫(kù)技術(shù)、郵政系統(tǒng)和數(shù)據(jù)庫(kù)技術(shù)、以及計(jì)算機(jī)技術(shù)集成為一種公共應(yīng)用驅(qū)動(dòng)的結(jié)構(gòu)。另外,本發(fā)明提供了一種方法,用于動(dòng)態(tài)和瞬時(shí)地更新和集成客戶和主控表,而沒有任何時(shí)間延遲。而且,本發(fā)明還提供了一種方法,用于自動(dòng)化處理用戶通過(guò)使用用戶接口輸入的信息,該處理自動(dòng)向用戶所要求的目的地傳送電話呼叫。
本發(fā)明提供了一種雙表系統(tǒng),以便通過(guò)使用主叫電話號(hào)碼、確定該位置的空間關(guān)鍵字、并在空間上鏈接關(guān)鍵字與服務(wù)位置來(lái)確定主叫對(duì)應(yīng)電話的準(zhǔn)確位置,其中服務(wù)位置的服務(wù)區(qū)域可以定義為任意大小或形狀?;蛘呖梢杂靡粋€(gè)主叫提供的電話號(hào)碼替代主叫的電話號(hào)碼,這時(shí)的服務(wù)位置是與主叫提供的電話號(hào)碼對(duì)應(yīng)的一個(gè)電話的位置。這一處理開始于從第一個(gè)表中檢索通信網(wǎng)捕獲的一個(gè)10位主叫電話號(hào)碼及其對(duì)應(yīng)的空間關(guān)鍵字。然后,從自動(dòng)處理生成的第二個(gè)表中檢索具有對(duì)應(yīng)的空間關(guān)鍵字的記錄,該處理可通過(guò)算術(shù)運(yùn)算來(lái)建立空間關(guān)鍵字與任意大小和形狀的服務(wù)區(qū)域之間的空間覆蓋關(guān)系。最后,向通信網(wǎng)回送與被檢索的服務(wù)位置相關(guān)的數(shù)據(jù),以便連接主叫和一個(gè)所選服務(wù)位置,或作進(jìn)一步的網(wǎng)絡(luò)處理。
該系統(tǒng)的關(guān)鍵部分包括一個(gè)主叫位置識(shí)別器,用于根據(jù)空間關(guān)鍵字和傳送內(nèi)核識(shí)別主叫或主叫提供的電話號(hào)碼的準(zhǔn)確空間和地理位置。傳送內(nèi)核使用一個(gè)被撥號(hào)碼來(lái)有效地確定哪一個(gè)按地理位置定義的客戶服務(wù)區(qū)域包括主叫提供的電話號(hào)碼位置,并確定從主叫位置到其中每個(gè)服務(wù)位置的距離和方向。
與現(xiàn)有系統(tǒng)所用的人工處理創(chuàng)建和維護(hù)一個(gè)主叫電話號(hào)碼到服務(wù)位置電話表相比,本發(fā)明提供了自動(dòng)表創(chuàng)建處理的生成和維護(hù)優(yōu)點(diǎn)。自動(dòng)生成的客戶表通過(guò)以下處理創(chuàng)建訪問(wèn)一個(gè)服務(wù)區(qū)域清單,每次訪問(wèn)一個(gè)區(qū)域,以便確定哪些空間關(guān)鍵字(例如ZIP+4)在每個(gè)服務(wù)區(qū)域內(nèi);計(jì)算從每個(gè)ZIP+4到服務(wù)位置的距離;對(duì)于每個(gè)包含的ZIP+4,向一個(gè)文件內(nèi)寫入一條記錄;并根據(jù)ZIP+4和距離升序?qū)υ撐募M(jìn)行分類和排序。
在一個(gè)實(shí)時(shí)處理實(shí)施例中,系統(tǒng)確定一個(gè)主叫的緯度和經(jīng)度,并根據(jù)這個(gè)緯度和經(jīng)度,在空間上確定一個(gè)可為主叫位置服務(wù)的可能位置清單。然后系統(tǒng)對(duì)清單中的每個(gè)可能位置進(jìn)行一次詳細(xì)的空間測(cè)試,以確定主叫的緯度和經(jīng)度是否在服務(wù)位置的服務(wù)區(qū)域內(nèi)。如果在服務(wù)區(qū)域內(nèi),就確定從主叫到服務(wù)位置的距離并將其添加到服務(wù)位置清單中。處理完所有可能位置之后,根據(jù)距離按降序?qū)Ψ?wù)清單排序,并向應(yīng)用作業(yè)流回送,以便由電話網(wǎng)用于傳送呼叫。
為了進(jìn)行有效的實(shí)時(shí)處理,使用了一個(gè)服務(wù)區(qū)域窗口文件。這個(gè)文件中的每條記錄包括一個(gè)服務(wù)位置電話號(hào)碼或ID以及根據(jù)所用徑向定義的服務(wù)區(qū)域或多邊形定義的服務(wù)區(qū)域的緯度和經(jīng)度端點(diǎn)確定的一個(gè)緯度/經(jīng)度窗口。
雙表系統(tǒng)(主控和客戶表)的一種派生物是包括一個(gè)客戶服務(wù)位置表的三表系統(tǒng)?;蛘撸蛻舴?wù)位置表也可以被包含在單表系統(tǒng)或?qū)崟r(shí)處理系統(tǒng)中。因此,客戶服務(wù)位置表是對(duì)這些系統(tǒng)中任何一種的改進(jìn)。
在雙表系統(tǒng)中,主控表和客戶表用于確定主叫提供的電話號(hào)碼與服務(wù)位置的空間服務(wù)關(guān)系。不過(guò),在有多個(gè)服務(wù)位置為一個(gè)主叫服務(wù)的呼叫處理中,為了給主叫選擇最佳服務(wù)位置,還需要其他一些不具有任何空間屬性的與服務(wù)位置相關(guān)的數(shù)據(jù),例如營(yíng)業(yè)時(shí)間、營(yíng)業(yè)天數(shù)、產(chǎn)品存貨等。這些數(shù)據(jù)存儲(chǔ)在被稱為客戶服務(wù)位置表的第三個(gè)表中最有效。在這個(gè)根據(jù)服務(wù)位置標(biāo)識(shí)(ID)或服務(wù)位置電話號(hào)碼來(lái)進(jìn)行索引的表中,每個(gè)服務(wù)位置有一條記錄。該表中還包含各種可以通過(guò)語(yǔ)音響應(yīng)單元播放給主叫的信息數(shù)據(jù),例如服務(wù)位置、名稱、地址、到一個(gè)服務(wù)位置的大致方向、一個(gè)終端電話號(hào)碼、一個(gè)傳真號(hào)碼等等。
本發(fā)明的一個(gè)方面包括一種電話網(wǎng)呼叫處理系統(tǒng),它具有一個(gè)呼叫譯碼模塊能接收一個(gè)被撥號(hào)碼以及與一個(gè)主叫電話的瞬時(shí)位置對(duì)應(yīng)的主叫空間坐標(biāo);一個(gè)實(shí)時(shí)處理模塊,它響應(yīng)被撥號(hào)碼和主叫空間坐標(biāo),以便提供與一個(gè)所選服務(wù)位置對(duì)應(yīng)的客戶服務(wù)位置電話號(hào)碼,其中如果主叫空間坐標(biāo)被包含在一個(gè)具有客戶定義的任意所要大小和形狀設(shè)置的地理服務(wù)區(qū)域內(nèi),則提供該服務(wù)位置;和一個(gè)出局呼叫模塊,用于向電話網(wǎng)傳送所提供的客戶服務(wù)位置電話號(hào)碼。
本發(fā)明的另一個(gè)方面包括一種用于電話網(wǎng)的實(shí)時(shí)呼叫處理方法,該方法包括接收一個(gè)被撥電話號(hào)碼以及與一個(gè)主叫電話的瞬時(shí)位置對(duì)應(yīng)的主叫空間坐標(biāo);響應(yīng)被撥電話號(hào)碼和主叫空間坐標(biāo),提供與一個(gè)所選服務(wù)位置對(duì)應(yīng)的客戶服務(wù)位置電話號(hào)碼,其中如果主叫空間坐標(biāo)被包含在一個(gè)具有客戶定義的任意所要大小和形狀設(shè)置的地理服務(wù)區(qū)域內(nèi),則選擇該服務(wù)位置;并向電話網(wǎng)傳送所提供的客戶服務(wù)位置電話號(hào)碼。
本發(fā)明還有一個(gè)方面包括一種可根據(jù)主叫位置傳送用于移動(dòng)電話的呼叫的自動(dòng)呼叫處理系統(tǒng)和方法。該系統(tǒng)的一個(gè)實(shí)施例包括一個(gè)呼叫譯碼模塊,它能接收與一個(gè)主叫電話的瞬時(shí)位置對(duì)應(yīng)的主叫空間坐標(biāo);一個(gè)中心交換機(jī)處理,它能檢索出與一個(gè)所選客戶服務(wù)位置對(duì)應(yīng)的主叫空間坐標(biāo)相關(guān)數(shù)據(jù),其中中心交換機(jī)處理使用一個(gè)客戶數(shù)據(jù)庫(kù),并且該客戶數(shù)據(jù)庫(kù)根據(jù)若干客戶服務(wù)位置而生成,每個(gè)客戶服務(wù)位置具有一個(gè)客戶定義的任意所要大小和形狀的對(duì)應(yīng)服務(wù)區(qū)域;一個(gè)出局呼叫模塊用于向電話網(wǎng)傳送所述主叫空間坐標(biāo)相關(guān)數(shù)據(jù)。
本發(fā)明還有一個(gè)方面包括電話網(wǎng)中一種可根據(jù)主叫位置傳送用于移動(dòng)電話的呼叫的自動(dòng)呼叫處理系統(tǒng),該系統(tǒng)具有一個(gè)入局接收模塊,它能接收與一個(gè)移動(dòng)電話主叫的瞬時(shí)位置對(duì)應(yīng)的主叫空間坐標(biāo);一個(gè)呼叫進(jìn)程處理,它響應(yīng)主叫空間坐標(biāo),以便提供一個(gè)客戶服務(wù)位置電話號(hào)碼,其中如果主叫空間坐標(biāo)被包含在一個(gè)具有客戶定義的任意所要大小和形狀設(shè)置的地理服務(wù)區(qū)域內(nèi),則提供該服務(wù)位置;以及一個(gè)出局呼叫模塊,它向電話網(wǎng)傳送所提供的客戶服務(wù)位置電話號(hào)碼。
附圖簡(jiǎn)述圖1a是在本發(fā)明當(dāng)前優(yōu)選的客戶表創(chuàng)建處理中使用的文件方框圖;圖1b是本發(fā)明中使用圖1a表創(chuàng)建處理結(jié)果的部分動(dòng)態(tài)中心交換機(jī)鏈接處理的方框圖;圖1c是本發(fā)明當(dāng)前優(yōu)選的互聯(lián)一個(gè)主叫電話與一個(gè)目的電話的中心交換機(jī)鏈接處理實(shí)施例的系統(tǒng)級(jí)示意圖;圖2是說(shuō)明用于圖1c系統(tǒng)的一個(gè)傳送網(wǎng)實(shí)例的地圖;圖3是使用半徑定義的服務(wù)區(qū)域創(chuàng)建圖1c系統(tǒng)所用客戶表的頂層處理流程圖;圖4是說(shuō)明圖3所示處理的描述中一個(gè)所用示范區(qū)域的地圖;圖5是圖3中182所示的郵區(qū)窗口清單功能的流程圖;圖6是圖5中262所示的郵區(qū)窗口功能的流程圖;圖7是圖3中184所示的初始郵區(qū)清單功能的流程圖;圖8是圖7中322所示的從郵區(qū)清單中刪除重復(fù)記錄功能的流程圖9是圖3中186所示的最終郵區(qū)清單功能的流程圖;圖10是圖3中188所示的zip+4位置半徑檢查功能的流程圖;圖11是圖3中196所示的最接近主叫的服務(wù)位置功能的流程圖;圖12a是使用多邊形定義的服務(wù)區(qū)域?yàn)閳D1系統(tǒng)創(chuàng)建客戶表的頂層處理流程圖;圖12b是圖12a處理中所用文件的方框圖;圖13是說(shuō)明圖12a所示處理的描述中一個(gè)所用示范區(qū)域的示意圖;圖14是圖12a中612所示的郵區(qū)窗口清單功能的流程圖;圖15是圖14中680所示的郵區(qū)窗口功能的流程圖;圖16是圖12a中614所示的初始郵區(qū)清單功能的流程圖;圖17是圖16中752所示的從郵區(qū)清單中刪除重復(fù)記錄功能的流程圖;圖18是圖12a中616所示的最終郵區(qū)清單功能的流程圖;圖19a和19b是圖12a中618所示的線路索引文件功能的流程圖;圖20是圖12a中620所示的zip+4位置多邊形檢查功能的流程圖;圖21是圖20中936所示的多邊形內(nèi)一點(diǎn)的檢查功能的流程圖;圖22是說(shuō)明客戶表創(chuàng)建處理所用文件和處理的方框圖,其中客戶表是用于單表系統(tǒng)第一實(shí)施例的一個(gè)電話號(hào)碼到電話號(hào)碼的表;圖23是說(shuō)明單表系統(tǒng)第二實(shí)施例的合并操作所用文件和處理的方框圖;圖24是圖23中1040所示的匹配和添加功能的流程圖;圖25是圖24中1050所示的創(chuàng)建主控表清單子程序的流程圖;圖26是圖24中1052所示的創(chuàng)建客戶表清單子程序的流程圖;圖27是一個(gè)單表系統(tǒng)的方框圖,包括交換機(jī)上所用的網(wǎng)絡(luò)配置;圖28是一個(gè)呼叫處理鏈接過(guò)程實(shí)施例的流程圖,該過(guò)程使用圖22或圖23以及圖27的網(wǎng)絡(luò)配置互聯(lián)主叫電話處的主叫和目的電話;圖29是本系統(tǒng)的實(shí)時(shí)處理實(shí)施例所用文件和處理的方框圖;圖30是一個(gè)實(shí)時(shí)處理系統(tǒng)方框圖,包括呼叫處理中心所用的網(wǎng)絡(luò)配置;圖31是圖29中1212所示的服務(wù)區(qū)域窗口文件創(chuàng)建處理的流程圖32是圖31中1250所示的半徑緯度/經(jīng)度功能的流程圖;圖33是圖31中1252所示的多邊形緯度/經(jīng)度功能的流程圖;圖34是圖31中1254所示的寫服務(wù)區(qū)域窗口功能的流程圖;圖35是圖29中1220所示的實(shí)時(shí)處理頂層流程圖,該處理創(chuàng)建一個(gè)服務(wù)位置清單,其服務(wù)區(qū)域包括主叫位置;圖36是圖35中1346所示的初始服務(wù)區(qū)域清單功能的流程圖;圖37是圖35中1348所示的主叫位置在服務(wù)區(qū)域端點(diǎn)內(nèi)的測(cè)試功能流程圖;圖38是圖37中1380所示的主叫在服務(wù)區(qū)域內(nèi)的測(cè)試功能流程圖;圖39是一個(gè)呼叫處理鏈接過(guò)程實(shí)施例的流程圖,該過(guò)程使用圖29的表和圖30的網(wǎng)絡(luò)配置互聯(lián)主叫電話處的主叫和目的電話;以及圖40是一個(gè)呼叫處理鏈接過(guò)程實(shí)施例的流程圖,該過(guò)程使用圖29的表和圖30的網(wǎng)絡(luò)配置互聯(lián)在固定位置主叫電話處或移動(dòng)主叫電話處的主叫和目的電話。
優(yōu)選實(shí)施例的詳細(xì)描述優(yōu)選實(shí)施例的以下詳細(xì)描述給出了對(duì)某些特定實(shí)施例的描述,以便于理解權(quán)利要求。不過(guò),本發(fā)明可以用權(quán)利要求定義和涵蓋的許多種不同方法來(lái)實(shí)現(xiàn)。
下面將參考附圖,其中相同的代號(hào)在全文中代表相同的部分。
為了方便,對(duì)優(yōu)選實(shí)施例的討論將按照以下十六個(gè)主要部分進(jìn)行Ⅰ.系統(tǒng)概述;Ⅱ.傳送實(shí)例;Ⅲ.通用客戶表創(chuàng)建處理;Ⅳ.用于半徑定義的服務(wù)區(qū)域的客戶表創(chuàng)建處理;Ⅴ.用于最接近主叫的服務(wù)區(qū)域的客戶表創(chuàng)建處理;Ⅵ.用于多邊形定義的服務(wù)區(qū)域的客戶表創(chuàng)建處理;Ⅶ.單表系統(tǒng)概述;Ⅷ.單表系統(tǒng)表創(chuàng)建處理;Ⅸ.用于單表系統(tǒng)的計(jì)算機(jī)-電話集成網(wǎng)絡(luò)配置;Ⅹ.單表系統(tǒng)實(shí)例;Ⅺ.實(shí)時(shí)處理系統(tǒng)概述;
Ⅻ.用于實(shí)時(shí)處理系統(tǒng)的計(jì)算機(jī)-電話集成網(wǎng)絡(luò)配置;ⅩⅢ.實(shí)時(shí)處理創(chuàng)建服務(wù)區(qū)域窗口文件的脫線處理;ⅩⅣ.實(shí)時(shí)處理創(chuàng)建服務(wù)位置清單的呼叫期間處理,其服務(wù)區(qū)域包括主叫提供的電話號(hào)碼位置;ⅩⅤ.實(shí)時(shí)處理系統(tǒng)實(shí)例;ⅩⅥ.帶有移動(dòng)電話的實(shí)時(shí)處理;ⅩⅦ.其他移動(dòng)電話實(shí)施例;以及ⅩⅧ.總結(jié)Ⅰ.系統(tǒng)概述本發(fā)明包括一種自動(dòng)電話傳送系統(tǒng),它接收來(lái)自一個(gè)公共服務(wù)商,例如AT&T或AT&T AMERICAN TRANSTECH的輸入。該輸入包括一個(gè)更新的國(guó)內(nèi)電話號(hào)碼、通信基礎(chǔ)結(jié)構(gòu)和異常處理支持清單。
將要描述的是用于自動(dòng)和無(wú)縫地從一部主叫電話向客戶選擇的一部目的電話傳送電話呼叫的系統(tǒng)和方法。如果某個(gè)客戶愿意的話,可以向主叫提供與客戶服務(wù)位置有關(guān)的可選信息。另外,還要描述根據(jù)客戶建立的準(zhǔn)則來(lái)創(chuàng)建傳送系統(tǒng)所用數(shù)據(jù)表的一種方法。以下討論的數(shù)據(jù)表也可以稱為文件或數(shù)據(jù)庫(kù)。
參考圖1a,在創(chuàng)建本發(fā)明的“1-800”傳送中所用的主叫電話號(hào)碼到服務(wù)位置電話號(hào)碼表時(shí),需要進(jìn)行的計(jì)算數(shù)和必須測(cè)試的置換數(shù)減少了。因此,郵區(qū)窗口文件104(圖1a)和對(duì)該文件作空間訪問(wèn)和操作的處理105是本發(fā)明的一個(gè)部分。應(yīng)當(dāng)理解郵區(qū)窗口文件104只是可以包括不同類型空間關(guān)鍵字的空間窗口文件的一種實(shí)施例。郵區(qū)窗口文件104包含一個(gè)所有郵區(qū)代碼的清單,該代碼可表示一個(gè)十分之一緯度和經(jīng)度(0.1°)的空間窗口。通過(guò)使用一組緯度和經(jīng)度端點(diǎn)(最小值和最大值)代表處理105中的一個(gè)服務(wù)區(qū)域,可以生成一個(gè)能覆蓋服務(wù)區(qū)域的5位郵區(qū)代碼清單。之后,就只需要對(duì)每個(gè)服務(wù)位置和一個(gè)很小的zip+4代碼子集進(jìn)行一次“服務(wù)區(qū)域內(nèi)”測(cè)試,該子集包含在每個(gè)服務(wù)區(qū)域返回的5位郵區(qū)代碼清單內(nèi)。下文將進(jìn)一步解釋文件104和處理105,并給出一個(gè)實(shí)例。
在一個(gè)實(shí)施例中,通過(guò)建立一個(gè)動(dòng)態(tài)鏈接的更新系統(tǒng),解決了更新問(wèn)題以及為每個(gè)使用自動(dòng)電話傳送系統(tǒng)的公司或客戶進(jìn)行連續(xù)更新和周期性地重建具有上十億條記錄的電話號(hào)碼到電話號(hào)碼表的成本問(wèn)題。與為每個(gè)客戶建立一個(gè)電話號(hào)碼到電話號(hào)碼表不同的是,如圖1b所示,建立了兩個(gè)通過(guò)zip+4代碼鏈接的表。使用郵政業(yè)務(wù)的Zip+4代碼地址編碼規(guī)則和商業(yè)上可提供的軟件,例如GROUP 1軟件公司提供的CODE-1(用于主計(jì)算機(jī)和大型機(jī))或AccuMail(用于個(gè)人計(jì)算機(jī)或小型機(jī)),為每個(gè)具有相應(yīng)物理街道地址的電話號(hào)碼分配一個(gè)zip+4代碼,并建立一個(gè)主控電話號(hào)碼到Zip+4代碼表107(圖1b)(“主控表”)。目前由AT&T AMERICAN TRANSTECH保存的優(yōu)選主控表通過(guò)電話號(hào)碼進(jìn)行索引或排序,并且每日更新。當(dāng)添加、改變或刪除電話號(hào)碼時(shí),更新該表。另外還要周期性地更新該表,以處理每個(gè)季度約一百次左右的5位郵區(qū)代碼變化,例如當(dāng)一個(gè)新的郵區(qū)代碼產(chǎn)生時(shí),必須為新代碼區(qū)域內(nèi)的電話號(hào)碼分配一個(gè)新的zip+4代碼。與美國(guó)的43,000個(gè)郵區(qū)代碼(5位)相比,這只是非常少量的變化。還要對(duì)該表作周期性的更新,以處理NPA-NXX分裂。在傳送呼叫時(shí),本系統(tǒng)允許所有用戶使用同一個(gè)主控電話號(hào)碼到Zip+4代碼表107。
在單個(gè)客戶的基礎(chǔ)上,使用標(biāo)準(zhǔn)的“服務(wù)區(qū)域內(nèi)”確定處理,根據(jù)其緯度和經(jīng)度重心坐標(biāo),28,000,000以上個(gè)zip+4代碼中的每一個(gè)被獨(dú)立分配給了一個(gè)或多個(gè)服務(wù)位置。
這樣,本發(fā)明就創(chuàng)建了一個(gè)客戶Zip+4代碼到服務(wù)位置電話號(hào)碼表106(“客戶表”,圖1a和1b)。為每個(gè)客戶或一個(gè)客戶擁有的每個(gè)“1-800”電話號(hào)碼創(chuàng)建一個(gè)不同的表??蛻舯韯?chuàng)建處理一次處理一條客戶位置記錄。處理每條記錄需要的程序是該位置服務(wù)區(qū)域定義即半徑或多邊形的函數(shù)。一個(gè)中間客戶文件一旦生成,就可以通過(guò)刪除不是最接近主叫的位置來(lái)降低磁盤存儲(chǔ)要求。下文將描述生成半徑和多邊形的客戶表記錄以及生成一個(gè)“最近位置”客戶文件的創(chuàng)建后處理。
然后,最好把客戶表106提供給AT&T AMERICAN TRANSTECH,以在呼叫處理中心進(jìn)行集中傳送。該表通過(guò)zip+4代碼索引或排序,并在每個(gè)客戶添加或刪除位置以及改變電話號(hào)碼時(shí)進(jìn)行更新,同時(shí)周期性地進(jìn)行更新,以處理郵政局郵區(qū)代碼變化和電話網(wǎng)NPA-NXX分離。
使用當(dāng)前的優(yōu)選系統(tǒng),主控表107和客戶表106都是由不同的組織獨(dú)立保存的。使用zip+4代碼作為一個(gè)空間關(guān)鍵字鏈接,如圖1b所示,就可以動(dòng)態(tài)鏈接主控表107中的主叫電話號(hào)碼與客戶表106中的一個(gè)服務(wù)位置電話號(hào)碼,并自動(dòng)傳送呼叫??臻g關(guān)鍵字是識(shí)別由坐標(biāo)集定義的一個(gè)指定地理區(qū)域、線路或點(diǎn)的單個(gè)號(hào)碼。對(duì)于點(diǎn)或三角之類的簡(jiǎn)單地理符號(hào),空間關(guān)鍵字可以是地理坐標(biāo)描述的編碼形式。
郵政zip+4代碼是用于鏈接主控表和客戶表的優(yōu)選空間關(guān)鍵字,不過(guò)一些其他較小的地理區(qū)域也能具有唯一的空間關(guān)鍵字,例如zip+6代碼區(qū)域,普查街區(qū)、或極小的緯度/經(jīng)度網(wǎng)格、矩形、窗口或方格。在用戶不斷移動(dòng)和公司正在營(yíng)業(yè)、停業(yè)和/或搬家的環(huán)境下,這種雙表索引方式提供了高得多的自動(dòng)傳送速率和更高比例被正確傳送的呼叫。另外,雙表索引方式還可以用作被管制的電話號(hào)碼信息與客戶銷售信息之間的“防火墻”或緩沖器,以服從政府的管制。
本發(fā)明的系統(tǒng)使用AT&T通信網(wǎng),在大約40毫秒的時(shí)間內(nèi)直接從主叫向最近的服務(wù)位置傳送電話呼叫。Riskin描述的系統(tǒng)使用一臺(tái)專用小交換機(jī)截取呼叫,利用客戶錄音消息應(yīng)答呼叫,并請(qǐng)求主叫等待,同時(shí)它要用大約15,000毫秒的時(shí)間尋找最近的服務(wù)位置,然后將呼叫轉(zhuǎn)移到給服務(wù)位置。
為傳送一次呼叫,本發(fā)明的系統(tǒng)在具有100,000,000條以上記錄的主控表中查找主叫的10位電話號(hào)碼,檢索出識(shí)別主叫電話的空間關(guān)鍵字,在具有28,000,000條以上記錄的客戶表中查找該空間關(guān)鍵字,并檢索出為主叫的空間關(guān)鍵字或位置服務(wù)的服務(wù)位置電話號(hào)碼。Riskin描述的系統(tǒng)在它只有18,000個(gè)唯一坐標(biāo)、64,000條記錄的交換局號(hào)文件中查找主叫的6位局號(hào),檢索出該局號(hào)的V-H(垂直-水平)坐標(biāo),交叉該V-H坐標(biāo),并開始對(duì)N條記錄的客戶服務(wù)位置數(shù)據(jù)庫(kù)進(jìn)行二進(jìn)制迭代的、基于V-H關(guān)鍵字的大小搜索。Riskin系統(tǒng)通過(guò)這一處理進(jìn)行迭代,調(diào)整被搜索的地理區(qū)域的大小,直到檢索出若干個(gè)落在預(yù)定范圍內(nèi)的服務(wù)位置。然后,Riskin計(jì)算到每個(gè)服務(wù)位置的距離。如果有一個(gè)以上的位置符合最近距離的標(biāo)準(zhǔn),隨機(jī)選擇一個(gè)位置作為最近的服務(wù)位置。
Ⅱ.傳送實(shí)例在更詳細(xì)地討論客戶表的創(chuàng)建之前,首先討論該表和主控表在“1-800”傳送實(shí)例中的使用是很有幫助的。參考圖1c所示的中心交換機(jī)處理108和圖2所示傳送網(wǎng)絡(luò),下面將給出電話呼叫傳送的一個(gè)實(shí)例。在這個(gè)例子中,主叫通過(guò)他位于CA 92075-2064 Solana Beach的Stevens大街498號(hào)的話機(jī)(619-755-5666)撥打1-800-Italian訂購(gòu)“MyPizza”的比薩餅。當(dāng)然,本發(fā)明不局限于使用“800”電話號(hào)碼,其他號(hào)碼也可以在其他實(shí)施例中使用。
圖1c包括處理狀態(tài)以及114、132和146處平行四邊形所示的數(shù)據(jù)。同樣,中心局交換機(jī)處理將如下所述,在一臺(tái)交換機(jī)內(nèi)進(jìn)行。
自動(dòng)向主叫的本地MyPizza餐館傳送呼叫涉及的步驟如下1.“位置A”160(圖2)處的主叫在模塊110(圖1c)撥打1-800-Italian,例如訂購(gòu)一個(gè)比薩餅。
2.根據(jù)所撥的1-800和主叫的長(zhǎng)途服務(wù)商,該呼叫由不同的電話公司傳送到佛羅里達(dá)洲Jacksonville的一個(gè)智能中心交換機(jī)上,如圖2的“位置B”162所示。與交換機(jī)有關(guān)的處理在圖1c中如狀態(tài)112之前的虛線以下和狀態(tài)148之后的虛線以上所示。中心交換機(jī)111最好是一臺(tái)可從AT&T得到的“4 ESSTM”數(shù)字交換機(jī)。交換機(jī)包括一臺(tái)通用計(jì)算機(jī)(未示出),例如帶有存儲(chǔ)器的一臺(tái)網(wǎng)絡(luò)控制點(diǎn)計(jì)算機(jī)。
3.Jacksonville交換機(jī)一旦接收到呼叫,就通過(guò)進(jìn)行自動(dòng)號(hào)碼標(biāo)識(shí)(ANI)的呼叫譯碼硬件112,從主叫信息分組114中提取出主叫的電話號(hào)碼。優(yōu)選的信息分組114對(duì)應(yīng)于交換機(jī)111中可用的SS7 TCAP消息的操作參數(shù)字段。Kaplan的美國(guó)專利第5,163,087號(hào)中描述了執(zhí)行ANI的硬件,該文獻(xiàn)在此作為參考被包含。與1-800-Italian等效的號(hào)碼是1-800-482-5426,信息分組顯示如下分組……6197555666……18004825426……“1-800”號(hào)碼是一個(gè)IN-WATS(入局廣域電話業(yè)務(wù))號(hào)碼,必須由一個(gè)廣域服務(wù)商轉(zhuǎn)換成一個(gè)要向交換機(jī)111傳送的POTS(普通老式電話業(yè)務(wù))號(hào)碼。一旦接收到這個(gè)POTS號(hào)碼,交換機(jī)111就又把它轉(zhuǎn)換為WATS格式。
4.然后,在判決狀態(tài)116,處理108確定客戶是否選擇為主叫提供通過(guò)一個(gè)按鍵式話機(jī)鍵盤或其他裝置輸入一個(gè)電話號(hào)碼的選項(xiàng)。在其他實(shí)施例中,可以輸入其他字符,例如信用卡號(hào)碼、帳號(hào)或產(chǎn)品訂購(gòu)信息,以實(shí)現(xiàn)系統(tǒng)的其他特性。在當(dāng)前的優(yōu)選實(shí)施例中,該電話號(hào)碼代表主叫希望諸如投送一件產(chǎn)品或進(jìn)行一項(xiàng)服務(wù)的位置。舉例來(lái)說(shuō),如果客戶有一個(gè)諸如800-FLORIST的電話號(hào)碼并需要可選的輸入特性,主叫可以選擇把鮮花投送到與主叫輸入電話號(hào)碼對(duì)應(yīng)的地址。如果判決狀態(tài)116的判決結(jié)果為肯定,處理108轉(zhuǎn)移到狀態(tài)118,以捕獲主叫輸入的電話號(hào)碼。然后使用該號(hào)碼替代信息分組中的主叫號(hào)碼進(jìn)行下一步處理。不過(guò),如果判決狀態(tài)116的判決結(jié)果是否定,就不改變初始主叫號(hào)碼,處理108轉(zhuǎn)移到判決狀態(tài)120。
5.在判決狀態(tài)120,處理108確定信息分組中的主叫號(hào)碼是否是移動(dòng)電話號(hào)碼。交換機(jī)111的計(jì)算機(jī)內(nèi)顯示移動(dòng)電話號(hào)碼的文件當(dāng)前由AT&T AMERICAN TRANSTECH保存,并在需要時(shí)更新。在美國(guó),為移動(dòng)電話分配的是來(lái)自一個(gè)前綴集的號(hào)碼,該前綴集對(duì)于每個(gè)區(qū)號(hào)唯一。因此移動(dòng)電話號(hào)碼文件只需要包含區(qū)號(hào)和前綴組合(6位)來(lái)識(shí)別主叫號(hào)碼是一個(gè)移動(dòng)電話號(hào)碼。因?yàn)榕袥Q狀態(tài)120判斷出的移動(dòng)電話用戶不對(duì)應(yīng)一個(gè)固定位置,所以處理108要轉(zhuǎn)移到狀態(tài)128進(jìn)行無(wú)法傳送的異常處理。然后一個(gè)操作員將請(qǐng)求來(lái)自移動(dòng)電話主叫的位置信息。關(guān)于狀態(tài)128的其他信息將在下文提供。如果主叫沒有使用移動(dòng)電話,處理108從狀態(tài)120前進(jìn)到狀態(tài)122。
6.在狀態(tài)122,處理108執(zhí)行查找功能,即最好使用一個(gè)實(shí)施例中眾所熟知的索引順序存取法(ISAM)來(lái)查找主叫電話號(hào)碼,以索引主控電話號(hào)碼到Zip+4表107(圖1b)。ISAM是一種眾所熟知的搜索方法,在Peterson和Silberschatz所著的《操作系統(tǒng)原理》一書中有關(guān)于它的描述。在其他實(shí)施例中,一種確定器用于確定合適的空間關(guān)鍵字。其他查找或確定技術(shù)可用于其他實(shí)施例?!跋到y(tǒng)概述”部分中描述了主控表107。舉例來(lái)說(shuō),主控表107的一個(gè)片段如表1所示。該表由電話號(hào)碼來(lái)索引,并且還包含主叫號(hào)碼所在物理地址的zip+4代碼132。
表1舉例主控電話號(hào)碼到Zip+4表片段電話號(hào)碼Zip+461975556649207511116197555665920141313> 619755566692075206461975556689200712347.在判決狀態(tài)126進(jìn)行一次測(cè)試,以確定主叫號(hào)碼是否在主控表中列出。如果沒有,處理108轉(zhuǎn)移到狀態(tài)128,在此提供操作員助理來(lái)傳送呼叫。狀態(tài)128的無(wú)法傳送呼叫異常處理被用于主控表107或客戶表(圖1a)記錄缺失、有誤或主叫使用一部移動(dòng)電話的情況。在當(dāng)前的優(yōu)選實(shí)施例中,操作員助理由AT&T AMERICAN TRANSTECH提供。通常,只有很少一部分主叫號(hào)碼沒有在主控表107中列出。如果主叫號(hào)碼沒有在主控表107中列出,處理108前進(jìn)到判決狀態(tài)130,以便確定分組114中是否存在與主叫號(hào)碼對(duì)應(yīng)的zip+4代碼132。如果沒有,處理108轉(zhuǎn)移到128,如前面所述,在此提供操作員助理來(lái)傳送呼叫。如果主控表107中存在zip+4代碼132,處理108轉(zhuǎn)移到狀態(tài)134。
8.因?yàn)樾畔⒎纸M114也包括所撥號(hào)碼,處理108在狀態(tài)134打開與具有電話號(hào)碼800-482-5426的客戶對(duì)應(yīng)的客戶Zip+4到服務(wù)位置表A 106a??蛻舯?06是根據(jù)主叫所撥電話號(hào)碼從若干客戶表中選出的。如果需要,客戶表B 106b和其他表可用于其他客戶或同一客戶的其他電話號(hào)碼,例如另一個(gè)“800”號(hào)碼??蛻舯碛杀景l(fā)明的受讓人、客戶或受讓人指定的第三方創(chuàng)建??蛻舯碛袃煞N類型。如果要向最近位置或者為一個(gè)不覆蓋多邊形商業(yè)區(qū)域服務(wù)的服務(wù)位置傳送呼叫,對(duì)于每個(gè)zip+4代碼,第一型客戶表只包含具有相應(yīng)服務(wù)電話號(hào)碼146和距離的一條記錄。當(dāng)客戶希望在為主叫服務(wù)的多種可選服務(wù)區(qū)域中作隨機(jī)或加權(quán)選擇或?yàn)橹鹘刑峁┻x擇時(shí),第二型客戶表可以包含每個(gè)zip+4代碼的多條記錄,每條記錄具有不同的服務(wù)電話號(hào)碼和距離。處理108使用索引順序存取法在MyPizza客戶表106a中查找主叫的zip+4代碼。
9.在判決狀態(tài)140進(jìn)行一次測(cè)試,以確定zip+4代碼132是否在客戶表106a中列出。如果沒有,處理108轉(zhuǎn)移到狀態(tài)128,在此提供操作員助理來(lái)傳送呼叫。如果客戶表106a中存在該zip+4代碼,處理108前進(jìn)到狀態(tài)142,以便確定是否有用于zip+4代碼132的客戶電話清單。如果沒有,處理108轉(zhuǎn)移到狀態(tài)144,在此提供操作員助理來(lái)傳送呼叫、提供信息、或進(jìn)行由客戶決定的其他操作。狀態(tài)142處可能出現(xiàn)否定的測(cè)試結(jié)果,例如當(dāng)沒有服務(wù)區(qū)域包括主叫方位置的服務(wù)位置存在時(shí)。狀態(tài)144的異常處理用于正確傳送了呼叫但是主叫方?jīng)]有得到期待的結(jié)果、即不能令人滿意地完成呼叫(正如在狀態(tài)142、152和154中)的情況。這時(shí),客戶可以在能夠由自動(dòng)處理過(guò)程完成的一個(gè)可選操作集之中進(jìn)行選擇。一種示范的異常處理消息如下“很抱歉,目前沒有可以為您服務(wù)的服務(wù)位置。如果您希望與業(yè)務(wù)代表通話,請(qǐng)按0?!比绻幸粋€(gè)與zip+4代碼132對(duì)應(yīng)的客戶電話號(hào)碼,處理108前進(jìn)到狀態(tài)148。舉例來(lái)說(shuō),客戶表106a的一個(gè)片段如表2所示。
表2舉例800-482-5426客戶表片段Zip+4電話號(hào)碼 距離(英里)92075206061994233663.145692075206261994233662.1682> 92075206461948177771.286492075206561975911110.123410.找到主叫的zip+4代碼132和對(duì)應(yīng)的服務(wù)電話號(hào)碼146之后,交換機(jī)在狀態(tài)148通過(guò)電話網(wǎng)傳送信息分組,使得與號(hào)碼619-481-777對(duì)應(yīng)的電話振鈴。
11.在模塊150,位于“位置C”164(圖2)、即CA 92014-1909 DelMar的ViA De La 2688號(hào)的MyPizza店內(nèi)的電話進(jìn)行振鈴。
12.如果客戶服務(wù)位置處的電話“占線”152或“無(wú)應(yīng)答”154,處理108前進(jìn)到前面所述的異常處理狀態(tài)144。例如,在客戶的請(qǐng)求下,狀態(tài)144的異常處理可以向下一個(gè)最近的服務(wù)位置傳送呼叫。否則,如果“占線”或“無(wú)應(yīng)答”情況不存在,電話呼叫被應(yīng)答,主叫可以訂購(gòu)一張比薩餅。
Ⅲ.通用客戶表創(chuàng)建處理下面將描述為每個(gè)客戶或每個(gè)“800”或類似客戶號(hào)碼生成或創(chuàng)建一個(gè)客戶表106的處理105(圖1a)。該處理最好在一臺(tái)通用計(jì)算機(jī)、例如AT&T 3600 UNIX主機(jī)上進(jìn)行。正如前面提到的,本發(fā)明包括兩種類型的服務(wù)區(qū)域定義半徑和多邊形。下面將討論如何把這兩種定義歸入客戶表創(chuàng)建處理。另外,還要討論從客戶表中刪除較長(zhǎng)距離記錄的創(chuàng)建后處理,以創(chuàng)建一個(gè)只包含到主叫的最近服務(wù)位置的客戶表。這種處理用來(lái)在沒有為主叫提供選擇的裝置并且只可以向通信網(wǎng)傳遞一個(gè)服務(wù)位置電話號(hào)碼的應(yīng)用中減少磁盤存儲(chǔ)量。下面將利用一個(gè)假想的食品服務(wù)公司給出一個(gè)處理步驟實(shí)例。
用于每種服務(wù)區(qū)域定義的處理使用如圖1a所示的四個(gè)輸入文件?!跋到y(tǒng)概述”一節(jié)已簡(jiǎn)單討論了Zip+4重心文件和郵區(qū)窗口文件。下面進(jìn)一步討論每個(gè)輸入文件。以下討論仍然參考圖1a。A.客戶服務(wù)位置文件第一個(gè)文件是包含客戶提供的服務(wù)位置清單的一個(gè)客戶服務(wù)位置文件109。服務(wù)位置及其服務(wù)區(qū)域通過(guò)一個(gè)緯度/經(jīng)度位置和一個(gè)半徑或者一個(gè)緯度/經(jīng)度位置和一個(gè)緯度/經(jīng)度多邊形來(lái)定義。結(jié)合圖3(半徑)的狀態(tài)174和圖12a(多邊形)的狀態(tài)604將提供關(guān)于文件109的更多細(xì)節(jié)。B.Zip+4 Lat Lon重心文件第二個(gè)文件是以前描述的Zip+4緯度和經(jīng)度重心文件100或Zip+4_Lat_Lon重心文件。該文件可以從美國(guó)郵政業(yè)務(wù)局或者地理數(shù)據(jù)技術(shù)公司(GDT)獲得。C.郵區(qū)陣列文件第三個(gè)文件是根據(jù)Zip+4緯度和經(jīng)度重心文件100生成的郵區(qū)陣列文件103,它提供了三個(gè)提高處理效率的優(yōu)點(diǎn)。
第一個(gè)優(yōu)點(diǎn)是創(chuàng)建了一個(gè)陣列行號(hào)等于一個(gè)5位郵區(qū)代碼的陣列。它提供了一種非常有效的索引5位郵區(qū)代碼的方法,其中5位郵區(qū)代碼的數(shù)值是陣列的行號(hào)。
第二個(gè)優(yōu)點(diǎn)是一旦訪問(wèn)到陣列中的5位郵區(qū)代碼,就能知道這個(gè)5位郵區(qū)代碼的第一個(gè)zip+4代碼在Zip+4緯度和經(jīng)度重心文件100中精確的字節(jié)偏移。使用這種方法,可以在超過(guò)28,000,000條記錄的Zip+4緯度和經(jīng)度重心文件100中非常迅速地找到一個(gè)5位郵區(qū)代碼的第一條zip+4記錄的位置,并讀取該代碼的所有zip+4記錄。
郵區(qū)陣列文件103的第三個(gè)優(yōu)點(diǎn)是,對(duì)于每個(gè)五位郵區(qū)代碼,該文件包含該5位郵區(qū)代碼中所有zip+4代碼的緯度和經(jīng)度最小值及最大值。通過(guò)查看一個(gè)半徑或多邊形服務(wù)區(qū)域的端點(diǎn)集是否與5位郵區(qū)代碼端點(diǎn)重疊,如果預(yù)先確定了5位郵區(qū)代碼中的zip+4端點(diǎn)與半徑或多邊形服務(wù)區(qū)域沒有空間重疊,就不用測(cè)試5位郵區(qū)代碼中的每個(gè)zip+4端點(diǎn)。
郵區(qū)陣列文件103是使用GDT或郵政局提供的Zip+4緯度和經(jīng)度重心文件100生成的。重心文件100中的每條記錄包含一個(gè)zip+4號(hào)碼、以及為每個(gè)zip+4定義的緯度和經(jīng)度重心。一個(gè)如下所述的四步驟郵區(qū)陣列文件創(chuàng)建處理101用于生成郵區(qū)陣列文件1031.)把一個(gè)99,999行、6列的32位整數(shù)陣列初始化為零。第一列初始化為之后用作5位郵區(qū)代碼的行號(hào)。
2.)對(duì)于一個(gè)5位郵區(qū)代碼,按順序讀取Zip+4緯度和經(jīng)度重心文件100中的每條zip+4記錄。注意5位郵區(qū)代碼中第一條zip+4記錄的字節(jié)偏移。初始化臨時(shí)變量,再將它們用來(lái)為當(dāng)前5位郵區(qū)代碼確定zip+4重心的緯度和經(jīng)度最小值及最大值。然后向下一步驟傳遞當(dāng)前5位郵區(qū)代碼中所有zip+4代碼的最大和最小緯度及經(jīng)度值。
3.)每次5位郵區(qū)代碼發(fā)生變化時(shí),對(duì)于郵區(qū)陣列文件103中前一5位郵區(qū)代碼的位置,把5位郵區(qū)代碼內(nèi)第一個(gè)zip+4的字節(jié)偏移以及5位郵區(qū)代碼內(nèi)所有zip+4代碼的緯度和經(jīng)度最小值及最大值寫入存儲(chǔ)區(qū)。然后重新初始化緯度和經(jīng)度最小值及最大值,對(duì)下一個(gè)5位郵區(qū)代碼重復(fù)上一步驟和當(dāng)前步驟,直到Zip+4重心文件100末尾。
4.)一旦到達(dá)Zip+4重心文件100末尾,向存儲(chǔ)區(qū)寫入最后一條5位郵區(qū)代碼記錄,然后把存儲(chǔ)在存儲(chǔ)區(qū)內(nèi)的郵區(qū)陣列文件寫入一個(gè)大容量存儲(chǔ)設(shè)備,例如一個(gè)磁盤。
郵區(qū)陣列文件103每一行的列定義如下列(1)是5位郵區(qū)代碼號(hào);列(2)是該行郵區(qū)代碼中最小編號(hào)的zip+4在Zip+4_Lat_Lon重心文件中所處位置的字節(jié)偏移;列(3)是該行郵區(qū)代碼的最小緯度(zip_lat_min);列(4)是該行郵區(qū)代碼的最大緯度(zip_lat_max);列(5)是該行郵區(qū)代碼的最小經(jīng)度(zip_lon_min);以及列(6)是該行郵區(qū)代碼的最大經(jīng)度(zip_lon_max)。D.郵區(qū)窗口(Zip windows)文件第四個(gè)文件是Zip_windows文件104。這個(gè)文件用于在地球上根據(jù)緯度及經(jīng)度定義的區(qū)域和理論上可觸及該區(qū)域的郵區(qū)代碼之間建立一個(gè)鏈接。該鏈接的優(yōu)點(diǎn)是使得對(duì)郵政地理區(qū)域的空間搜索要快得多和有效得多。
Zip_windows文件104是根據(jù)GDT或郵政局的Zip+4緯度和經(jīng)度重心文件100、使用通過(guò)一個(gè)5位郵區(qū)代碼內(nèi)的Zip+4端點(diǎn)產(chǎn)生的緯度和經(jīng)度5位郵區(qū)代碼端點(diǎn)而生成的?;驹硎前训厍騽澐殖墒种?0.1°)緯度和經(jīng)度的矩形,例如,該矩形在40°緯度處的長(zhǎng)和寬約為6.9英里和5.2英里,然后列出覆蓋每個(gè)矩形的所有郵區(qū)代碼。
Zip_windows文件104通過(guò)Zip_windows文件創(chuàng)建處理102來(lái)生成,該處理從超過(guò)28,000,000條記錄的Zip+4重心文件100中讀取每條記錄,并寫入一條包含一個(gè)緯度和經(jīng)度(lat/lon)窗口及一個(gè)5位郵區(qū)代碼的對(duì)應(yīng)記錄。lat/lon窗口字段通過(guò)以下處理生成將以度數(shù)為單位的緯度乘以10,提取乘積的整數(shù)部分(INT),將整數(shù)部分乘以10,000,然后加上以度數(shù)為單位的經(jīng)度與10相乘后所得乘積的整數(shù)部分。
例如,假設(shè)輸入zip+4記錄是920141909,緯度是北緯32.9862,經(jīng)度是西經(jīng)117.2522,則輸出郵區(qū)窗口記錄的lat/lon窗口字段將是3291172,郵區(qū)代碼字段將是92104。所有記錄都被寫入一個(gè)初始或臨時(shí)Zip_windows文件(未示出)之后,就根據(jù)lat/lon窗口值或帶有對(duì)應(yīng)的5位郵區(qū)代碼的關(guān)鍵字對(duì)該文件分類,并刪除重復(fù)記錄。然后向最終的Zip_windows文件104寫入由lat/lon窗口關(guān)鍵字和對(duì)應(yīng)的5位郵區(qū)代碼組成的每條記錄。如圖4所示,四個(gè)lat/lon窗口210、212、214、216分別對(duì)應(yīng)郵區(qū)窗口關(guān)鍵字3301172、3301171、3291172、3291171。
描述了客戶表創(chuàng)建處理所用的輸入文件之后,下面將分別描述三種不同服務(wù)區(qū)域定義下的創(chuàng)建處理。
Ⅳ.用于半徑定義的服務(wù)區(qū)域的客戶表創(chuàng)建處理下面將參考圖3和圖4,描述用于半徑定義的服務(wù)區(qū)域的客戶表創(chuàng)建處理170。處理170是圖1a所示客戶表創(chuàng)建處理105的一種特定形式。
處理170開始于起始狀態(tài)172,并轉(zhuǎn)移到狀態(tài)174,在該狀態(tài)中,客戶以機(jī)讀形式提供一個(gè)關(guān)于服務(wù)位置的客戶服務(wù)位置文件109(圖1a),該表帶有的信息和格式如表3所示。文件109可由一個(gè)常用的字處理程序或數(shù)據(jù)庫(kù)程序來(lái)生成,并通過(guò)軟盤或其他合適的媒質(zhì)來(lái)遞交。表3包括名為MyPizza Ristorante的一個(gè)服務(wù)位置218的示范信息。圖4的地圖說(shuō)明了部分相同的信息,其中包括一個(gè)圓220,它表示自MyPizza Ristorante開始的2.5英里半徑范圍為服務(wù)區(qū)域。
表3ASCII字符形式的記錄服務(wù)位置名稱(30)字節(jié)MyPizza Ristorante地址(36)字節(jié)2688 Via De La Valle城市(30)字節(jié)Del Mar州(2)字節(jié) CA郵區(qū)代碼(9)字節(jié) 92014電話號(hào)碼(10)字節(jié)61948177770.1英里為單位的半徑(9)字節(jié) 25當(dāng)然,在其他實(shí)施例中也可以采用其他形式、信息和格式。
處理170轉(zhuǎn)移到狀態(tài)176,使用Group 1和地理數(shù)據(jù)技術(shù)等公司的商用軟件,對(duì)文件109中的服務(wù)位置清單進(jìn)行地址標(biāo)準(zhǔn)化、zip+4編碼和緯度及經(jīng)度地理編碼。表4是添加了緯度和經(jīng)度的一條標(biāo)準(zhǔn)化記錄。
表4服務(wù)位置名稱(30)字節(jié) MYPIZZA RISTORANTE地址(36)字節(jié) 2688 VIA DE LA VALLE城市(30)字節(jié) DEL MAR州(2)字節(jié) CA郵區(qū)代碼(9)字節(jié) 920141909電話號(hào)碼(10)字節(jié) 61948177770.1英里為單位的半徑(9)字節(jié)25度為單位的緯度(10)字節(jié)32.9862度為單位的經(jīng)度(12)字節(jié)-117.2522處理170轉(zhuǎn)移到狀態(tài)178,產(chǎn)生每一緯度為68.9404英里的一個(gè)常數(shù),并把郵區(qū)陣列文件103(圖1a)讀入計(jì)算機(jī)內(nèi)存。在狀態(tài)180,處理170從服務(wù)位置記錄文件中讀取一條記錄,并計(jì)算服務(wù)位置處每一經(jīng)度的英里數(shù)。每一經(jīng)度的英里數(shù)=68.9404*COSINE(緯度)。對(duì)于表4內(nèi)給出的實(shí)例,在緯度32.9862處,求得每一經(jīng)度為57.8297英里。
處理170轉(zhuǎn)移到功能182,產(chǎn)生服務(wù)位置觸及的一個(gè)郵區(qū)窗口清單。觸及一個(gè)郵區(qū)窗口意味著至少有部分服務(wù)區(qū)域在該郵區(qū)窗口內(nèi)或覆蓋該窗口。圖4說(shuō)明了表4中給出的示范郵區(qū)窗口210、212、214、216。下文將結(jié)合圖5進(jìn)一步描述功能182。
處理170轉(zhuǎn)移到功能184,產(chǎn)生一個(gè)觸及由功能182識(shí)別出的任何一個(gè)郵區(qū)窗口的5位郵區(qū)代碼清單。該郵區(qū)清單按升序排列,重復(fù)的郵區(qū)代碼在功能184中被刪除。下文將根據(jù)圖7進(jìn)一步描述功能184。
處理170轉(zhuǎn)移到功能186,從功能184產(chǎn)生的郵區(qū)清單中刪除不在狀態(tài)174中指定的服務(wù)位置半徑內(nèi)的5位郵區(qū)代碼,并產(chǎn)生最終郵區(qū)清單。下文將根據(jù)圖9進(jìn)一步描述功能186。
處理170轉(zhuǎn)移到功能188,在與郵區(qū)指針清單(由功能186生成)一起使用的最終郵區(qū)清單(同樣由功能186生成)中檢索與郵區(qū)代碼對(duì)應(yīng)的所有zip+4記錄,并確定zip+4是否在服務(wù)區(qū)域半徑上或之內(nèi)。這一判決還能得到從服務(wù)位置到zip+4重心的距離(zip+4重心存儲(chǔ)在Zip+4重心文件100中)。如果確定zip+4是在服務(wù)區(qū)域半徑上或之內(nèi),就向一個(gè)原始客戶表寫入一條記錄,該記錄包括zip+4代碼、即時(shí)服務(wù)位置的客戶電話號(hào)碼、以及zip+4重心到服務(wù)位置的距離。下文將根據(jù)圖10進(jìn)一步描述功能188。
處理170轉(zhuǎn)移到功能190,確定是否還有客戶服務(wù)記錄需要處理。如果有,對(duì)下一條服務(wù)位置記錄重復(fù)狀態(tài)180到188的循環(huán)。如果已經(jīng)為即時(shí)客戶表處理完所有服務(wù)位置記錄,處理170前進(jìn)到狀態(tài)192。在狀態(tài)192,處理170對(duì)通過(guò)功能188寫入的原始記錄進(jìn)行分類,按照zip+4代碼升序排列,如果同一zip+4代碼出現(xiàn)多次,則按距離降序排列。如果有多個(gè)服務(wù)位置的服務(wù)區(qū)域覆蓋同一個(gè)zip+4,這個(gè)zip+4代碼可能會(huì)出現(xiàn)多次。
轉(zhuǎn)移到狀態(tài)194,確定客戶是否選擇了生成距離主叫最近的服務(wù)位置客戶表的創(chuàng)建后選項(xiàng)。如果沒有,除了在狀態(tài)198向生成系統(tǒng)計(jì)算機(jī)加載文件之外,客戶表創(chuàng)建處理就算完成了。不過(guò),如果正如判決狀態(tài)194的判決結(jié)果,客戶選擇了“最近服務(wù)位置”的創(chuàng)建后選項(xiàng),則處理170就轉(zhuǎn)移到功能196,以完成客戶表創(chuàng)建處理。下文將根據(jù)圖11進(jìn)一步描述功能196。
如果客戶在判決狀態(tài)194沒有選擇“最近服務(wù)位置”選項(xiàng),處理170就轉(zhuǎn)移到狀態(tài)196,在狀態(tài)192經(jīng)過(guò)排序的客戶表被加載到電話網(wǎng)交換機(jī)111(圖1c)的計(jì)算機(jī)中,并建立了對(duì)zip+4代碼的一個(gè)索引關(guān)鍵字。功能196或狀態(tài)198一經(jīng)完成,客戶表創(chuàng)建處理就在狀態(tài)200結(jié)束。
下面參考圖5,描述圖3中定義的功能182。功能182通過(guò)首先計(jì)算一個(gè)位置的緯度和經(jīng)度端點(diǎn)產(chǎn)生該位置所觸及的一個(gè)郵區(qū)窗口清單。在計(jì)算中,緯度和經(jīng)度均采用絕對(duì)值。
在本發(fā)明的另一個(gè)實(shí)施例中,根據(jù)緯度或經(jīng)度的極性向窗口關(guān)鍵字分配了一個(gè)前綴。美國(guó)位于西北象限,用于這個(gè)象限的關(guān)鍵字是零(0)。一個(gè)前綴零對(duì)數(shù)字關(guān)鍵字的值沒有影響。其他象限是東北,北半球英國(guó)格林威治本初子午線圈以東;西南,南半球本初子午線圈以西;以及東南,南半球本初子午線圈以東。
因?yàn)槭澜缟蠋缀跛袊?guó)家都只在一個(gè)象限內(nèi),所以使用緯度和經(jīng)度的絕對(duì)值可以正常工作。在少數(shù)例外(兩個(gè)象限內(nèi))的國(guó)家中,可以使用不同的坐標(biāo)系統(tǒng),例如英國(guó)使用的傳統(tǒng)測(cè)量系統(tǒng)。
處理170從圖5所示的起始狀態(tài)252開始,轉(zhuǎn)移到狀態(tài)254,計(jì)算服務(wù)區(qū)域的緯度端點(diǎn)。下面將使用幾種縮寫“min”代表最小值,“max”代表最大值,“l(fā)at”代表緯度,“l(fā)on”代表經(jīng)度,“site”代表服務(wù)區(qū)域的地點(diǎn)或位置。Site_lat_min=site_lat-半徑(英里數(shù))/每一緯度的英里數(shù);Site_lat_max=site_lat+半徑(英里數(shù))/每一緯度的英里數(shù)。計(jì)算表4給出的示范服務(wù)位置和半徑,得Site_lat_min=32.9862-2.5/68.9404=32.9499;Site_lat_max=32.9862+2.5/68.9404=33.0228.處理繼續(xù)在狀態(tài)256,在此計(jì)算服務(wù)區(qū)域的經(jīng)度端點(diǎn)Site_lon_min=site_lon-半徑(英里數(shù))/每一經(jīng)度的英里數(shù);Site_lon_max=site_lon+半徑(英里數(shù))/每一經(jīng)度的英里數(shù)。計(jì)算表4給出的示范服務(wù)位置和半徑,得
Site_lon_min=117.2522-2.5/57.8297=117.2089;Site_lon_max=117.2522-2.5/57.8297=117.2954。
處理170轉(zhuǎn)移到狀態(tài)258和260,分別根據(jù)該位置的緯度和經(jīng)度,產(chǎn)生郵區(qū)窗口的最小值和最大值。使用以上范例計(jì)算求得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;處理170轉(zhuǎn)移到功能262,根據(jù)緯度最小和最大值以及經(jīng)度最小和最大值產(chǎn)生郵區(qū)窗口,并將其存儲(chǔ)在不同于Zip_windows文件104(圖1a)的一個(gè)郵區(qū)窗口清單(zip_window_list)中。下面將根據(jù)圖6進(jìn)一步描述功能262。功能182返回圖3中的狀態(tài)264。
下面參考圖6,描述圖5中定義的功能262。功能262創(chuàng)建用于服務(wù)位置的實(shí)際zip_window_list。該模塊開始于起始狀態(tài)270,并轉(zhuǎn)移到狀態(tài)272,置變量1為零(0),置變量J等于該位置緯度窗口的最小值。經(jīng)過(guò)狀態(tài)272的初始化之后,處理170轉(zhuǎn)移到狀態(tài)274,在此置變量K等于該位置經(jīng)度窗口的最小值。轉(zhuǎn)移到狀態(tài)276,變量1的值加一。
在狀態(tài)278,通過(guò)將變量J的值乘以10000,再加上變量K的值,計(jì)算zip_window_list中由變量1識(shí)別或?qū)ぶ返囊粋€(gè)值。狀態(tài)280確定K的值是否達(dá)到最大值,如果沒有,K的值在狀態(tài)282加一(1),并執(zhí)行到狀態(tài)276的循環(huán)。如果K達(dá)到了該位置的最大經(jīng)度值,處理170轉(zhuǎn)移到狀態(tài)284,以便確定J的值是否達(dá)到了最大值,如果沒有,J的值在狀態(tài)286加一(1),并執(zhí)行到狀態(tài)274的循環(huán)。如果J的值達(dá)到了該位置的最大緯度值,功能262返回圖5的狀態(tài)288。
繼續(xù)以根據(jù)圖5給出的范例為例,功能262的結(jié)果如下Zip_window_list(1)=3291172Zip_window_list(2)=3301172下面參考圖7,描述圖3中定義的功能184。功能184產(chǎn)生觸及到功能182(圖5)指定的郵區(qū)窗口的一個(gè)5位郵區(qū)代碼清單。處理170從起始狀態(tài)300開始,轉(zhuǎn)移到狀態(tài)302,檢索前面描述的Zip_windows文件104(圖1a)和功能182生成的zip_window_list。Zip_windows文件104通過(guò)郵區(qū)窗口(zip_window)關(guān)鍵字索引,并包含一個(gè)觸及該郵區(qū)窗口的所有郵區(qū)代碼清單。表5給出了與圖4對(duì)應(yīng)的一個(gè)示范Zip_windows文件104。
表5窗口 郵區(qū)代碼329117292014329117292075329117292130330117292007330117292014330117292024330117292029330117292075處理170轉(zhuǎn)移到狀態(tài)304,將變量K的值初始化為零(0),變量J的值初始化為一(1)。然后,處理170在狀態(tài)306推進(jìn)到Zip_windows文件104中關(guān)鍵字與變量J所尋址的zip_window_list值相等的記錄。在狀態(tài)308,讀取狀態(tài)306中找出的記錄,得到zip_window和對(duì)應(yīng)的郵區(qū)代碼。轉(zhuǎn)移到狀態(tài)310,變量K加一(1),在其后的狀態(tài)312中,向通過(guò)變量K尋址的一個(gè)郵區(qū)清單(zip_list)寫入狀態(tài)308中讀出的郵區(qū)代碼。然后在判決狀態(tài)314進(jìn)行一次檢查,以便確定來(lái)自狀態(tài)308的zip_window值是否大于通過(guò)變量J尋址的zip_window_list值。如果否,返回狀態(tài)308讀取Zip_windows文件104中的下一條記錄。
如果判決狀態(tài)314的結(jié)果為真,處理轉(zhuǎn)移到判決狀態(tài)316,以確定J的值是否等于zip_window_list中的窗口數(shù)目。如果不等,J的值加一(1),并進(jìn)行返回狀態(tài)306的循環(huán),以處理下一窗口。如果判決狀態(tài)316為真,則zip_window_list中的所有窗口均已被處理,功能184轉(zhuǎn)移到狀態(tài)320,在此按降序?qū)?位郵區(qū)代碼的zip_list排序。繼續(xù)參考以上范例,在狀態(tài)320之后,zip_list如下所示9200792014920149202492029920759207592130處理170轉(zhuǎn)移到功能322,刪除zip_list中的重復(fù)記錄,產(chǎn)生一個(gè)deduped_zip_list。下文將參考圖8進(jìn)一步描述功能322。功能184返回圖3的狀態(tài)324。
下面將參考圖8,描述圖7中定義的功能322。功能322從經(jīng)過(guò)圖7狀態(tài)320排序的zip_list中刪除重復(fù)的5位郵區(qū)代碼。處理170從起始狀態(tài)340開始,轉(zhuǎn)移到狀態(tài)342,并把zip_list的第一條記錄定義為deduped_zip_list的第一條記錄。轉(zhuǎn)移到狀態(tài)344,將變量L置為一(1),變量J置為二(2)。然后,處理170在判決狀態(tài)346確定通過(guò)J尋址的zip_list值是否等于通過(guò)“J減一”尋址的zip_list值。如果不等,變量L在狀態(tài)348加一,令deduped_zip_list中通過(guò)L尋址的下一條記錄等于zip_list中通過(guò)J尋址的記錄。
如果判決狀態(tài)346的結(jié)果為真或者狀態(tài)350完成時(shí),處理170轉(zhuǎn)移到判決狀態(tài)352,以確定變量J的值是否等于zip_list中的郵區(qū)代碼數(shù)。如果不等,變量J在狀態(tài)354加一,處理170返回狀態(tài)346,以檢查zip_list中的下一條記錄。不過(guò),如果狀態(tài)352確定zip_list中的所有郵區(qū)代碼均已被檢查過(guò),功能322則返回圖7的狀態(tài)356。繼續(xù)參考以上范例,完成功能322之后的deduped_zip_list如下所示920079201492024
920299207592130下面參考圖9,描述圖3中定義的功能186。功能186通過(guò)檢查郵區(qū)邊界端點(diǎn)以及從郵區(qū)陣列文件103中獲取到Zip+4_Lat_Lon重心文件100(圖la)起點(diǎn)的偏移,創(chuàng)建一個(gè)最終郵區(qū)(zip_final)清單和郵區(qū)指針(zip_pointer)清單。這一程序刪除了不觸及服務(wù)區(qū)域半徑所覆蓋區(qū)域的郵區(qū)代碼。處理170從起始狀態(tài)370開始,轉(zhuǎn)移到狀態(tài)372,并訪問(wèn)郵區(qū)陣列文件103(圖1a)。功能186使用郵區(qū)陣列文件103(圖1a)中如前面所述的所有列。轉(zhuǎn)移到狀態(tài)374,將變量1置為零,變量J置為一。轉(zhuǎn)移到狀態(tài)376,置變量M等于deduped_zip_list中通過(guò)J尋址的記錄,該清單來(lái)自功能的184。
使用功能182中算出的位置信息和來(lái)自郵區(qū)陣列表的信息,在判決狀態(tài)378到384進(jìn)行一系列檢查。在判決狀態(tài)378,處理170確定site_lat_max是否小于通過(guò)變量M尋址的郵區(qū)陣列記錄的zip_lat_min。如果是,處理170轉(zhuǎn)移到判決狀態(tài)386。如果否,處理進(jìn)入判決狀態(tài)380。在判決狀態(tài)380,處理170確定site_lat_min是否大于通過(guò)變量M尋址的郵區(qū)陣列記錄的zip_lat_max。如果是,處理170轉(zhuǎn)移到判決狀態(tài)386。如果否,處理進(jìn)入判決狀態(tài)382。
在判決狀態(tài)382,處理170確定site_lon_max是否小于通過(guò)變量M尋址的郵區(qū)陣列記錄的zip_lon_min。如果是,處理170轉(zhuǎn)移到判決狀態(tài)386。如果否,處理進(jìn)入判決狀態(tài)384。在判決狀態(tài)384,處理170確定site_lon_min是否大于通過(guò)變量M尋址的郵區(qū)陣列記錄的zip_lon_max。如果是,處理170轉(zhuǎn)移到判決狀態(tài)386。如果否,處理進(jìn)入判決狀態(tài)392。達(dá)到狀態(tài)392時(shí),已確定這個(gè)郵區(qū)代碼確實(shí)觸及該位置半徑覆蓋的區(qū)域。在狀態(tài)392,變量1加一,在狀態(tài)394,處理170在通過(guò)1尋址的zip_final清單記錄中寫入值M。轉(zhuǎn)移到狀態(tài)396,處理170在通過(guò)1尋址的zip_pointer清單記錄中寫入通過(guò)變量M尋址的郵區(qū)陣列文件記錄的字節(jié)偏移,然后處理轉(zhuǎn)移到狀態(tài)386。
如果判決狀態(tài)378到384中任何一個(gè)為真,就不再使用deduped_zip_list中當(dāng)前的這條郵區(qū)代碼記錄。在判決狀態(tài)386,確定是否已檢查了deduped_zip_list中的所有記錄。如果否,J在狀態(tài)388加一,處理170返回狀態(tài)376檢查下一條記錄。如果狀態(tài)386確定已檢查完所有記錄,功能186返回圖3的狀態(tài)398。繼續(xù)參考以上范例,完成功能186之后的zip_final清單如下所示92007920149207592130下面參考圖10,描述圖3中定義的功能188。功能188讀取通過(guò)zip_final清單和zip_pointer清單共同識(shí)別出的所有zip+4記錄,并確定zip+4重心是否在該位置半徑之內(nèi)。處理170從起始狀態(tài)420開始,轉(zhuǎn)移到狀態(tài)422,提取zip_final清單、zip_pointer清單和Zip+4重心文件100。在狀態(tài)424,將變量J置為一。處理170轉(zhuǎn)移到狀態(tài)426,跳至Zip+4重心文件100中的一個(gè)地址,該地址包含在通過(guò)變量J尋址的zip_pointer清單中。之后在狀態(tài)428,讀取來(lái)自狀態(tài)426地址的zip+4緯度/經(jīng)度記錄。Zip+4重心文件100(圖1a)按zip+4升序排列,該文件中的每條記錄包含三個(gè)字段zip+4代碼、以度為單位的緯度和以度為單位的經(jīng)度。處理170轉(zhuǎn)移到狀態(tài)430,計(jì)算從服務(wù)位置到zip+4重心的距離。該位置的緯度和經(jīng)度從狀態(tài)176獲得,而zip+4緯度和經(jīng)度從狀態(tài)428獲得。處理170轉(zhuǎn)移到狀態(tài)432,確定來(lái)自狀態(tài)430的距離平方是否大于半徑的平方(可從狀態(tài)174獲得)。如果否,zip+4代碼在該位置半徑之內(nèi),處理170轉(zhuǎn)移到狀態(tài)434,以便去寫下一條原始客戶表的zip+4電話號(hào)碼記錄。該記錄包含zip+4代碼、客戶服務(wù)位置的電話號(hào)碼以及距離平方的平方根。
如果距離平方大于半徑平方,zip+4代碼在該位置半徑之外,處理轉(zhuǎn)移到判決狀態(tài)436。處理170在狀態(tài)436確定當(dāng)前的zip+4代碼是否大于10000乘以通過(guò)變量J尋址的zip_final清單記錄值加上9999。通過(guò)在5位zip+4郵區(qū)代碼后加上9999,比較當(dāng)前zip+4與當(dāng)前郵區(qū)代碼下的最高可能編號(hào)zip+4的值。例如,如果郵區(qū)代碼是92007,那么該郵區(qū)代碼下的最高可能編號(hào)是920079999。讀取郵區(qū)代碼92007的zip+4記錄時(shí),如果讀取的zip+4記錄大于920079999,就已經(jīng)經(jīng)過(guò)了92007代碼的zip+4記錄終點(diǎn),處理170轉(zhuǎn)向zip_final清單中的下一個(gè)郵區(qū)代碼。如果判決狀態(tài)436為假,處理170轉(zhuǎn)移到狀態(tài)438,并推進(jìn)至Zip+4重心文件100中同一5位郵區(qū)代碼的下一條zip+4記錄。下一條記錄通過(guò)返回狀態(tài)428而被讀取。
如果判決狀態(tài)436為真,處理170轉(zhuǎn)移到判決狀態(tài)440,確定是否已讀取了zip_final清單中的所有記錄。如果否,變量J在狀態(tài)442加一,處理返回狀態(tài)426,對(duì)zip_final清單中的下一個(gè)5位郵區(qū)代碼重復(fù)該程序。如果狀態(tài)440確定已處理完所有的5位郵區(qū)代碼,功能188返回圖3的狀態(tài)444。繼續(xù)參考以上范例,狀態(tài)434結(jié)束時(shí)原始客戶表中的一條樣本記錄如下所示樣本記錄920752064 6194817777 1.2865Ⅴ.用于最接近主叫的服務(wù)區(qū)域的客戶表創(chuàng)建處理“最近”處理,即功能196(圖3)是一種根據(jù)半徑定義的服務(wù)區(qū)域、多邊形定義的服務(wù)區(qū)域或兩種類型混合的服務(wù)區(qū)域創(chuàng)建一個(gè)客戶表106的創(chuàng)建后處理。“最近”處理的主要功能是降低磁盤存儲(chǔ)量和清除多邊形數(shù)字化錯(cuò)誤,后者會(huì)導(dǎo)致非重疊服務(wù)區(qū)域中的錯(cuò)誤重疊。必須先完成半徑處理中的狀態(tài)172到194(圖3)或多邊形處理中的狀態(tài)602到624(圖12a),以生成一個(gè)可由創(chuàng)建后處理196去降低大小或清除錯(cuò)誤的中間客戶表。
下面參考圖11,描述圖3中定義的功能196。功能196刪除分配的多個(gè)zip+4代碼,并保留具有最短距離的一個(gè)。功能196從起始狀態(tài)500開始,在狀態(tài)192結(jié)束時(shí)訪問(wèn)已排序中間客戶表(未示出)。轉(zhuǎn)移到狀態(tài)504,置變量“l(fā)ast_zip+4”等于零值。然后在狀態(tài)506從第一條記錄開始,從中間客戶表中讀取一條記錄。轉(zhuǎn)移到狀態(tài)508,判斷剛從狀態(tài)506的記錄中讀取的zip+4是否等于last_zip+4。如果否,在狀態(tài)510向客戶表106寫入當(dāng)前記錄,之后在狀態(tài)512設(shè)置變量last_zip+4等于當(dāng)前的zip+4代碼。
在狀態(tài)512結(jié)束時(shí),判決狀態(tài)514確定是否到達(dá)已排序中間客戶表的末尾。如果否,功能196跳至中間客戶表中的下一個(gè)zip+4代碼,并返回狀態(tài)506處理下一條記錄。如果狀態(tài)514確定已到達(dá)中間客戶表末尾,在電話交換機(jī)111中加載客戶表106,并建立對(duì)zip+4代碼的一個(gè)索引關(guān)鍵字。功能196在狀態(tài)520返回到圖3的狀態(tài)200,以結(jié)束“最近”處理。
Ⅵ.用于多邊形定義的服務(wù)區(qū)域的客戶表創(chuàng)建處理通常,有兩種類型的多邊形定義的服務(wù)區(qū)域。第一種類型是專用或非重疊服務(wù)區(qū)域,第二種類型是非專用或重疊服務(wù)區(qū)域。
對(duì)于非重疊多邊形定義的服務(wù)區(qū)域,每個(gè)經(jīng)銷商具有一個(gè)特定的服務(wù)區(qū)域,例如他們投送一件產(chǎn)品的區(qū)域。下例用于說(shuō)明這一概念。一個(gè)用戶的位置距離經(jīng)銷商B要比經(jīng)銷商A近,但是如果用戶在經(jīng)銷商A的多邊形區(qū)域內(nèi),那么客戶表106(圖1a)內(nèi)與用戶位置對(duì)應(yīng)的記錄中將只有經(jīng)銷商A的電話號(hào)碼。不過(guò),如果經(jīng)銷商A和經(jīng)銷商B的服務(wù)區(qū)域是重疊的,客戶表106將有一條記錄帶有經(jīng)銷商A的電話號(hào)碼和距離,另一條記錄帶有經(jīng)銷商B的電話號(hào)碼和距離。因此,客戶表創(chuàng)建處理105包括兩種多邊形定義類型的服務(wù)區(qū)域。
下面將參考圖12a、12b和13,描述用于多邊形定義服務(wù)區(qū)域的客戶表創(chuàng)建處理600。處理600是圖1a所示的通用處理105的另一種特定形式。多邊形定義的服務(wù)區(qū)域處理600(也稱為多邊形處理)的許多部分類似于半徑定義的服務(wù)區(qū)域處理170。某些功能有很小的改動(dòng)。某些功能則完全不同。對(duì)于幾乎類似的功能,只指出和解釋不同點(diǎn),以避免重復(fù)。新的功能則將進(jìn)行詳細(xì)描述。
處理600從起始狀態(tài)602開始,轉(zhuǎn)移到狀態(tài)604,其中客戶以機(jī)讀形式提供一個(gè)關(guān)于服務(wù)位置的客戶服務(wù)位置文件109(圖1a),該文件帶有的信息和格式如前面的表3所示??蛻暨€可以提供一幅詳細(xì)的街道地圖,其中畫出了服務(wù)位置的多邊形服務(wù)區(qū)域,并在多邊形服務(wù)區(qū)域內(nèi)寫有服務(wù)位置的電話號(hào)碼。圖13的地圖說(shuō)明了一個(gè)示范的多邊形服務(wù)區(qū)域640。
處理600轉(zhuǎn)移到狀態(tài)606,其中使用Group 1和地理數(shù)據(jù)技術(shù)等公司的商用軟件,對(duì)文件109中的服務(wù)位置清單進(jìn)行地址標(biāo)準(zhǔn)化、zip+4編碼和緯度及經(jīng)度地理編碼。表4是添加了緯度和經(jīng)度的一條標(biāo)準(zhǔn)化記錄。另外,要使用商用的GIS系統(tǒng)(例如Equifax National DecisionSystems提供的用于Windows的Infomark)對(duì)街道地圖上畫出多邊形服務(wù)區(qū)域的緯度和經(jīng)度頂點(diǎn)進(jìn)行數(shù)字化。狀態(tài)606的數(shù)字化處理為多邊形的頂點(diǎn)分配緯度和經(jīng)度坐標(biāo),并產(chǎn)生如圖12b所示的一個(gè)多邊形文件607。一個(gè)示范的多邊形文件607如表6所示,帶有如下數(shù)據(jù)項(xiàng)
表6地球碼6194817777名稱 MyPizza Del Mar頂點(diǎn)數(shù)5緯度/經(jīng)度頂點(diǎn)對(duì) 33.0170-117.291032.9503-117.287432.9623-117.213233.0187-117.208433.0170-117.2910最后一個(gè)緯度/經(jīng)度頂點(diǎn)對(duì)必須等于第一對(duì),以使多邊形閉合。本例是一個(gè)非常簡(jiǎn)單的多邊形。典型的經(jīng)銷商多邊形都非常復(fù)雜;多邊形可能會(huì)沿著非線性的街道邊界,并且包含上百個(gè)頂點(diǎn)。地球碼是服務(wù)位置的電話號(hào)碼。多邊形文件數(shù)據(jù)被添加到客戶服務(wù)位置文件109中對(duì)應(yīng)記錄的末尾,產(chǎn)生一條可變長(zhǎng)度的記錄。
處理600轉(zhuǎn)移到狀態(tài)608,產(chǎn)生每一緯度為68.9404英里的一個(gè)常數(shù),并把郵區(qū)陣列文件103(圖1a)讀入計(jì)算機(jī)內(nèi)存。在狀態(tài)610,處理600從客戶服務(wù)位置文件109中讀取一條記錄,并計(jì)算服務(wù)位置處每一經(jīng)度的英里數(shù)。每一經(jīng)度的英里數(shù)=68.9404*COSINE(緯度)。對(duì)于表4內(nèi)給出的實(shí)例,在緯度32.9862處,求得每一經(jīng)度為57.8297英里。
處理600轉(zhuǎn)移到功能612,產(chǎn)生服務(wù)位置觸及的一個(gè)郵區(qū)窗口清單。觸及一個(gè)郵區(qū)窗口意味著至少有部分服務(wù)區(qū)域在該郵區(qū)窗口內(nèi)或覆蓋該窗口。圖13說(shuō)明了表4所示實(shí)例的示范郵區(qū)窗口。下文將結(jié)合圖14進(jìn)一步描述功能612。
處理600轉(zhuǎn)移到功能614,產(chǎn)生一個(gè)觸及功能612識(shí)別出的任何一個(gè)郵區(qū)窗口的5位郵區(qū)代碼清單。該郵區(qū)清單按升序排列,重復(fù)的郵區(qū)代碼在功能614中被刪除。下文將根據(jù)圖16進(jìn)一步描述功能614。
處理600轉(zhuǎn)移到功能616,從功能614產(chǎn)生的郵區(qū)清單中刪除不在狀態(tài)604中指定的多邊形服務(wù)區(qū)域內(nèi)的5位郵區(qū)代碼,并產(chǎn)生最終郵區(qū)清單。下文將根據(jù)圖18進(jìn)一步描述功能616。
處理600轉(zhuǎn)移到功能618,創(chuàng)建如圖12b所示的一個(gè)線路索引文件619,該文件由定義多邊形的離散緯度和經(jīng)度點(diǎn)組成。下文將根據(jù)圖19a和19b進(jìn)一步描述功能618。
處理600轉(zhuǎn)移到功能620,在由功能616生成的最終郵區(qū)清單中檢索與郵區(qū)代碼對(duì)應(yīng)的所有zip+4記錄,并確定zip+4是否在多邊形服務(wù)區(qū)域之內(nèi)。如果是,就向一個(gè)原始客戶表(未示出)寫入一條記錄,該記錄包括zip+4代碼、即時(shí)服務(wù)位置的客戶電話號(hào)碼、以及zip+4重心到服務(wù)位置的距離。下文將根據(jù)圖20進(jìn)一步描述功能620。
處理600轉(zhuǎn)移到功能622,確定是否還有客戶服務(wù)記錄需要處理。如果有,對(duì)下一條服務(wù)位置記錄重復(fù)狀態(tài)610到620的循環(huán)。如果已經(jīng)為即時(shí)原始客戶表處理完所有服務(wù)位置記錄,處理600前進(jìn)到狀態(tài)624。在狀態(tài)624,處理600對(duì)通過(guò)功能620寫入的原始記錄進(jìn)行分類,按照zip+4代碼升序排列,如果同一zip+4代碼出現(xiàn)多次,則按距離降序排列。如果多個(gè)具有不同客戶電話號(hào)碼的服務(wù)區(qū)域有重疊,同一個(gè)zip+4代碼可能會(huì)出現(xiàn)多次。
然后處理600轉(zhuǎn)移到狀態(tài)626,其中在狀態(tài)624經(jīng)過(guò)排序的客戶表被加載到電話網(wǎng)交換機(jī)111的計(jì)算機(jī)上,并建立了對(duì)zip+4代碼的一個(gè)索引關(guān)鍵字。狀態(tài)626一經(jīng)完成,客戶表創(chuàng)建處理600就在狀態(tài)628結(jié)束。
下面參考圖14,描述圖12a中的功能612。功能612通過(guò)首先計(jì)算一個(gè)位置的緯度和經(jīng)度端點(diǎn)產(chǎn)生該位置所觸及的一個(gè)郵區(qū)窗口清單。對(duì)于這個(gè)功能,緯度和經(jīng)度均采用絕對(duì)值。
處理600從起始狀態(tài)670開始,轉(zhuǎn)移到狀態(tài)672,確定服務(wù)區(qū)域的緯度端點(diǎn)。訪問(wèn)多邊形文件607,以便提取多邊形頂點(diǎn)的緯度最小值和最大值。
Site_lat_min=polygon_lat_min;Site_lat_max=polygon_lat_max對(duì)于表6給出的示范服務(wù)位置和多邊形,其結(jié)果如下Site_lat_min=32.9503;Site_lat_max=33.0187。
處理繼續(xù)在狀態(tài)674確定服務(wù)區(qū)域的經(jīng)度端點(diǎn)。多邊形頂點(diǎn)的經(jīng)度最小值和最大值從多邊形文件607中提取。
Site_lon_min=polygon_lon_min;Site_lon_max=polygon_lon_max對(duì)于表6給出的示范服務(wù)位置和多邊形,其結(jié)果如下Site_lon_min=117.2084;Site_lon_max=117.2910。
狀態(tài)676和678類似于功能182(圖5)的狀態(tài)258和260。正如圖14的定義,功能680(圖15)類似于功能262(圖6)。功能612返回圖12a的狀態(tài)682。
正如圖12a的定義,功能614(圖14)類似于功能184(圖7)。正如圖16的定義,功能752(圖17)類似于功能322(圖8)。正如圖12a的定義,功能616(圖18)類似于功能186(圖9)。
下面參考圖19a和19b,描述圖12a中定義的功能618。功能618通過(guò)將所有修改后的頂點(diǎn)緯度和經(jīng)度化為整數(shù)值來(lái)創(chuàng)建線路索引文件619,從而為線路上每個(gè)離散點(diǎn)產(chǎn)生一條記錄,該線路通過(guò)連接多邊形文件607中列出的相鄰頂點(diǎn)得到。如下所示,對(duì)多邊形頂點(diǎn)進(jìn)行的修改是減去site_lat_min或site_lon_min。
處理600從起始狀態(tài)830開始,轉(zhuǎn)移到狀態(tài)832,將變量J初始化為值1。轉(zhuǎn)移到狀態(tài)834,處理600將通過(guò)變量J尋址的一個(gè)切線(圖19中的“T”表示)陣列元素初始化為零。在狀態(tài)836,在通過(guò)J尋址的緯度陣列(圖19中的“LAT”表示)元素中寫入通過(guò)以下計(jì)算得出的值從多邊形文件607(從狀態(tài)606獲得)中通過(guò)J尋址的頂點(diǎn)緯度(lat_vertices)中減去site_lat_min(從圖14中的功能612獲得),將結(jié)果乘以10,000,然后取乘積的整數(shù)(INT)部分。轉(zhuǎn)移到狀態(tài)838,在通過(guò)J尋址的經(jīng)度陣列(圖19中的“LON”表示)元素中寫入通過(guò)以下計(jì)算得出的值從多邊形文件607(從狀態(tài)606獲得)中通過(guò)J尋址的頂點(diǎn)經(jīng)度(lon_vertices)中減去site_lon_min(從圖14中的功能612獲得),將結(jié)果乘以10,000,然后取乘積的整數(shù)部分。
在判決狀態(tài)840,處理600確定是否已處理完多邊形文件607中的所有頂點(diǎn)。如表6的范例所示,頂點(diǎn)數(shù)可從狀態(tài)606獲得。如果沒有處理完,變量J在狀態(tài)842加一,處理600返回狀態(tài)834,處理下一個(gè)頂點(diǎn)。如果已處理完所有頂點(diǎn),在狀態(tài)844置變量J等于值二。
狀態(tài)846到860用于尋找與一條緯線相切的頂點(diǎn)。狀態(tài)846到854構(gòu)成一個(gè)循環(huán),對(duì)LAT陣列的所有元素排序,以確定是否滿足判決狀態(tài)846或850的條件。如果滿足,將通過(guò)J尋址的切線陣列元素置為一。如果不滿足,在狀態(tài)854令J加一并返回狀態(tài)846,以處理下一元素,直至到達(dá)LAT陣列的末尾,即檢查完所有頂點(diǎn),判決狀態(tài)852為真。判決狀態(tài)846確定陣列LAT中正好在當(dāng)前元素之前和之后的元素值是否大于當(dāng)前元素值。換句話說(shuō),判決狀態(tài)846確定一條緯線是否與vertex(J)相切。判決狀態(tài)850確定陣列LAT中正好在當(dāng)前元素之前和之后的元素值是否小于當(dāng)前元素值。換句話說(shuō),判決狀態(tài)850確定一條緯線是否與vertex(J)相切。
當(dāng)J等于頂點(diǎn)數(shù)減一時(shí),處理600轉(zhuǎn)移到狀態(tài)856,通過(guò)856和860進(jìn)行以下測(cè)試判決狀態(tài)856如果LAT(1)>LAT(2)且LAT(1)>LAT(number_vertices-1),則T(J)=l;判決狀態(tài)860如果LAT(1)<LAT(2)且LAT(1)<LAT(number_vertices-1),則T(J)=1。number_vertices用于代表從狀態(tài)606獲得的頂點(diǎn)數(shù)。判決狀態(tài)856到860用于測(cè)試先前的狀態(tài)846到854的一種特例,以便確定vertex(1)是否與一條緯線相切。如果是,把通過(guò)J尋址的切線陣列元素置為一。
在狀態(tài)862,處理600將變量J置為一。模塊864是從圖19a到圖19b的一個(gè)頁(yè)尾連接符。處理600繼續(xù)從圖19b中的模塊864開始,產(chǎn)生由連接多邊形頂點(diǎn)的離散緯度點(diǎn)構(gòu)成的一條偽線路。通過(guò)一個(gè)X、Y坐標(biāo)來(lái)描述定義該線路的每個(gè)點(diǎn)。每個(gè)Y坐標(biāo)或緯度點(diǎn)是離開Y軸上的緯度的萬(wàn)分之一。
判決狀態(tài)866檢查平行的緯線,如果為真,處理600轉(zhuǎn)移到判決狀態(tài)886,以便確定是否已處理完所有頂點(diǎn)。如果否,J在狀態(tài)888加一,處理返回狀態(tài)866,以便檢查陣列LAT的下一元素。如果判決狀態(tài)866確定LAT(J)不等于LAT(J+1),處理600轉(zhuǎn)移到狀態(tài)868,令變量K等于LAT(J)的值,并轉(zhuǎn)移到狀態(tài)870。
狀態(tài)870用于排除緯度切線頂點(diǎn)。狀態(tài)870確定K是否等于LAT(J)以及T(J)是否等于一。如果是,處理600轉(zhuǎn)移到判決狀態(tài)882,以便確定是否應(yīng)該在狀態(tài)884令K加一,或者是否K已經(jīng)達(dá)到了“LAT(J+1)-1”的值,而執(zhí)行判決狀態(tài)886。如果K在狀態(tài)884加一,處理600返回判決狀態(tài)870。
如果判決狀態(tài)870為否,處理600轉(zhuǎn)移到狀態(tài)872,以便計(jì)算變量“delta_lat”從而得到“LAT(J+1)·LAT(J+1)”。在狀態(tài)874,計(jì)算通過(guò)J尋址的陣列LON元素和通過(guò)J減一尋址的陣列LON元素值之差作為變量“delta_lon”。轉(zhuǎn)移到狀態(tài)876,把變量“l(fā)at_point”置為等于變量K的值。狀態(tài)878使用以下等式來(lái)計(jì)算緯線點(diǎn)的一個(gè)經(jīng)度(變量“l(fā)on_point”)lon_point=INT((K-LAT(J)/delta_lat)*delta_lon+LON(J))。
處理600轉(zhuǎn)移到狀態(tài)880,向線路索引文件寫入lat_point和lon_point的值,然后返回判決狀態(tài)882,檢查K的值。
在判決狀態(tài)886,如果J等于頂點(diǎn)數(shù)減一,表示已處理完所有頂點(diǎn),處理600轉(zhuǎn)移到狀態(tài)890。在狀態(tài)890,處理600按緯度點(diǎn)升序以及在緯度點(diǎn)內(nèi)按經(jīng)度點(diǎn)升序?qū)€路索引文件排序。轉(zhuǎn)移到狀態(tài)894,處理600使用緯度點(diǎn)作為索引關(guān)鍵字創(chuàng)建多邊形線路索引文件619。功能618返回圖12a的狀態(tài)894。
下面參考圖20,描述圖12a中定義的功能620。功能620讀取通過(guò)zip_final清單和zip_pointer清單確定的所有zip+4記錄,并確定zip+4重心是否在多邊形服務(wù)區(qū)域內(nèi)。
從起始狀態(tài)910開始,狀態(tài)912到918類似于功能188(圖10)的狀態(tài)422到428。然后從狀態(tài)920開始到狀態(tài)926,處理600比較zip+4重心的緯度和經(jīng)度與從功能612(圖14)獲得的位置經(jīng)度和緯度的最小值及最大值。換句話說(shuō),處理600確定zip+4重心是否在多邊形服務(wù)區(qū)域的緯度和經(jīng)度端點(diǎn)內(nèi)。如果不在,處理600在狀態(tài)928跳至下一條zip+4記錄,然后返回狀態(tài)918,讀取zip+4記錄。
不過(guò),如果通過(guò)狀態(tài)920到926確定zip+4重心在多邊形服務(wù)區(qū)域的緯度和經(jīng)度端點(diǎn)內(nèi),處理600就轉(zhuǎn)移到功能930。功能930是確定zip+4重心是否在多邊形內(nèi)的最終測(cè)試。功能930的“點(diǎn)在多邊形內(nèi)”測(cè)試返回一個(gè)“inside(之內(nèi))”或“outside(之外)”的標(biāo)志。如果zip+4重心不在多邊形內(nèi),功能930對(duì)“outside”標(biāo)志置位,處理600轉(zhuǎn)移到狀態(tài)928,以跳至下一條zip+4記錄。不過(guò),如果zip+4重心在多邊形之內(nèi),功能930對(duì)“inside”標(biāo)志置位,處理600轉(zhuǎn)移到狀態(tài)932,進(jìn)行距離計(jì)算。狀態(tài)932類似于功能188(圖10)的狀態(tài)430。狀態(tài)934到940和928類似于功能188的狀態(tài)434到442。功能620返回圖12a的狀態(tài)942。
下面參考圖2l,描述圖20中定義的功能930。功能930確定zip+4重心是否在多邊形內(nèi)。功能930在概念上從zip+4緯度按經(jīng)度的反方向畫一條線,然后計(jì)算這條線穿過(guò)多邊形邊界的次數(shù)。如果這條線穿過(guò)的次數(shù)是奇數(shù),zip+4重心就在多邊形內(nèi),但是穿過(guò)次數(shù)為偶數(shù)表示zip+4重心在多邊形之外。
處理600從起始狀態(tài)960開始,轉(zhuǎn)移到狀態(tài)962,通過(guò)以下步驟計(jì)算變量“l(fā)at”的值從zip+4_lat(從Zip+4重心文件100中獲得)中減去site_lat_min(從圖14中的功能612獲得),將結(jié)果乘以10,000,然后取乘積的整數(shù)(INT)部分。轉(zhuǎn)移到狀態(tài)964,處理600通過(guò)以下步驟計(jì)算變量“l(fā)on”的值從zip+4_lon(從Zip+4重心文件100中獲得)中減去site_lon_min(從功能612獲得),將結(jié)果乘以10,000,然后取乘積的整數(shù)部分。
轉(zhuǎn)移到狀態(tài)966,處理600把變量“count(計(jì)數(shù))”初始化為零值,并轉(zhuǎn)移到狀態(tài)968,訪問(wèn)線路索引文件619。在狀態(tài)970,處理600讀取線路索引文件619(從圖19的功能618獲得),提取變量“l(fā)at_point”和“l(fā)on_point的值”。通過(guò)使用文件ISAM索引,處理600在多邊形線路索引文件619中跳至“l(fā)at”第一次出現(xiàn)的位置。轉(zhuǎn)移到判決狀態(tài)972,處理600確定“l(fā)at_point”是否大于“l(fā)at”。如果“l(fā)at point”大于“l(fā)at”,則已讀取完多邊形線路索引文件619中的所有記錄。如果否,在判決狀態(tài)974確定“l(fā)on_point”是否小于“l(fā)on”。如果“l(fā)on_point”小于“l(fā)on”,定義從zip+4重心向負(fù)無(wú)窮畫的一條線穿過(guò)一個(gè)多邊形。在狀態(tài)976,“count”加一,表示存在線路交叉,處理600返回狀態(tài)970。不過(guò),如果判決狀態(tài)976為否,處理600返回狀態(tài)970,讀取線路索引文件619的下一條記錄。
如果處理600在判決狀態(tài)972確定“l(fā)at_point”大于“l(fā)at”,處理600轉(zhuǎn)移到判決狀態(tài)978,檢查“count模2”是否等于零。如果是,存在偶數(shù)次線路交叉,“outside”標(biāo)志就被置位,功能930返回圖20的狀態(tài)980。如果判決狀態(tài)978為否,即“count模2”不等于零,存在奇數(shù)次線路交叉,表示zip+4重心在多邊形內(nèi)。處理600對(duì)“inside”標(biāo)志置位,功能930返回圖20的狀態(tài)982。
Ⅶ.單表系統(tǒng)概述圖1b和圖1c所示的雙表系統(tǒng)(主控表和客戶表)的一種派生物是單表系統(tǒng)1000(圖27)。單表系統(tǒng)提供了最快地傳送電話呼叫方法。因?yàn)樗⒃趩蝹€(gè)表的基礎(chǔ)上,所以最容易在通信網(wǎng)中實(shí)現(xiàn)。
單表系統(tǒng)的實(shí)現(xiàn)并不簡(jiǎn)單,因?yàn)槊摼€維護(hù)至關(guān)重要,以便與電話號(hào)碼變動(dòng)和客戶服務(wù)位置變動(dòng)相同步,以及保持電話號(hào)碼與每個(gè)客戶服務(wù)位置中間的空間關(guān)系。由于每個(gè)客戶對(duì)應(yīng)一個(gè)表,每次電話號(hào)碼變動(dòng)必須重新與每個(gè)客戶的服務(wù)位置建立聯(lián)系。每月全國(guó)有幾百萬(wàn)個(gè)電話號(hào)碼變動(dòng)。表所產(chǎn)生的變動(dòng)次數(shù)等于電話號(hào)碼變動(dòng)數(shù)乘以表的總數(shù)。在添加或刪除服務(wù)位置、以及服務(wù)位置的服務(wù)區(qū)域定義或電話號(hào)碼變動(dòng)時(shí),這些變動(dòng)必須重新與可能主叫電話號(hào)碼清單建立聯(lián)系,因此也必須更新每個(gè)表。另外,系統(tǒng)支持的用戶越多,需要的表就越多,這可能產(chǎn)生巨大的容量要求。
在單表系統(tǒng)中,有兩種優(yōu)選方法產(chǎn)生包含在通信網(wǎng)中的電話號(hào)碼到服務(wù)位置電話號(hào)碼或ID表。這個(gè)表一經(jīng)產(chǎn)生,單表系統(tǒng)就只需要對(duì)一種集中存儲(chǔ)區(qū)(例如磁盤)進(jìn)行查找操作,以便確定所要服務(wù)位置的電話號(hào)碼,從而提供了最快速的呼叫傳送實(shí)施例。
單表系統(tǒng)中創(chuàng)建主叫電話號(hào)碼到經(jīng)銷商電話號(hào)碼表的第一種方法是對(duì)上述客戶表創(chuàng)建處理的一種改進(jìn)。下文將根據(jù)圖22進(jìn)一步描述建立該表所用的文件和處理。
單表系統(tǒng)中創(chuàng)建主叫電話號(hào)碼到經(jīng)銷商電話號(hào)碼表的第二種方法使用脫線處理合并雙表系統(tǒng)中主控表和客戶表的記錄。下文將根據(jù)圖23大致描述該處理。創(chuàng)建主控表清單功能和創(chuàng)建客戶表清單功能都參考圖24進(jìn)行描述,通常它們分別指1050和1052,并各自根據(jù)圖25和26作進(jìn)一步討論。
從上述兩種表創(chuàng)建方法中的任何一種得到的主叫電話號(hào)碼到經(jīng)銷商電話號(hào)碼表在電話網(wǎng)中被用于單表系統(tǒng)。單表系統(tǒng)及其網(wǎng)絡(luò)配置參考圖27進(jìn)行描述,它總體上指1000。對(duì)單表系統(tǒng)所用的硬件組成、表和文件的更詳細(xì)描述根據(jù)圖27進(jìn)行。對(duì)單表系統(tǒng)操作流程的描述參考圖28進(jìn)行,它總體上指1160。
Ⅷ.單表系統(tǒng)表創(chuàng)建處理以下描述解釋了兩種自動(dòng)生成和保持可包含在通訊網(wǎng)中的電話號(hào)碼到服務(wù)位置電話號(hào)碼或ID表的方法。這些創(chuàng)建一個(gè)單表系統(tǒng)的方法所用的技術(shù)與創(chuàng)建雙表系統(tǒng)使用的技術(shù)在某些部分類似。
客戶表創(chuàng)建特例要描述的第一種創(chuàng)建主叫電話號(hào)碼到經(jīng)銷商電話號(hào)碼表的方法是以上根據(jù)雙表系統(tǒng)描述的客戶表創(chuàng)建處理的一種特例。對(duì)這一新處理的描述參考圖22進(jìn)行,它總體上指1002。正如以上根據(jù)雙表系統(tǒng)進(jìn)行的描述,處理1002從一個(gè)Zip+4重心文件開始。這個(gè)Zip+4是美國(guó)的優(yōu)選空間關(guān)鍵字。通過(guò)用Zip+4替代lO位電話號(hào)碼作為我們的空間關(guān)鍵字,產(chǎn)生一個(gè)10位電話號(hào)碼緯度和經(jīng)度重心文件1010。使用文件1010以及電話陣列文件1016、電話窗口文件1018作為到客戶表創(chuàng)建處理1020的輸入,最終結(jié)果是一個(gè)以主叫電話號(hào)碼到服務(wù)位置電話號(hào)碼表1022形式出現(xiàn)的客戶表。客戶表創(chuàng)建處理1020類似于客戶表創(chuàng)建處理105(圖1a,并根據(jù)圖3和圖12a作過(guò)進(jìn)一步描述),只是正如這里指出的那樣,用作處理1020輸入的文件名和字段名不同。下面將要描述的其他兩種文件創(chuàng)建處理1012和1014也要使用文件1010。
起始電話號(hào)碼緯度和經(jīng)度重心文件1010通過(guò)以下數(shù)據(jù)和工具生成帶有地址的一個(gè)電話號(hào)碼主控清單、Zip+4地址標(biāo)準(zhǔn)化和編碼軟件,例如可從GROUP 1軟件公司獲得的AccuMail或CODE-1,以及緯度和經(jīng)度編碼軟件,例如可從地理數(shù)據(jù)技術(shù)公司(GDT)獲得的MatchMaker/2000。用于創(chuàng)建電話號(hào)碼緯度和經(jīng)度重心文件的優(yōu)選處理是如下文描述的兩步處理。
從電話號(hào)碼地址文件開始,步驟一使用GROUP 1的USPS地址標(biāo)準(zhǔn)化AccuMail或CODE-1軟件處理文件,對(duì)地址進(jìn)行標(biāo)準(zhǔn)化,并為文件中的每個(gè)地址分配一個(gè)Zip+4。如果文件生成處理在一臺(tái)個(gè)人計(jì)算機(jī)或其他小型機(jī)上運(yùn)行,就使用AccuMail軟件;或者如果處理在主計(jì)算機(jī)或其他大型機(jī)上執(zhí)行,就使用CODE-1軟件。在步驟二,使用GDT的MatchMaker/2000軟件處理經(jīng)過(guò)地址標(biāo)準(zhǔn)化和Zip+4編碼得到的文件。對(duì)于每條記錄,軟件首先在GDT的Dynamap/2000街道地址數(shù)據(jù)庫(kù)中尋找該地址。如果找到當(dāng)前記錄的地址,向該記錄分配一個(gè)街道號(hào)碼緯度和經(jīng)度。如果沒有找到該地址,為該記錄分配一個(gè)來(lái)自GDT的Zip+4緯度和經(jīng)度重心文件100(圖la)的緯度和經(jīng)度。
電話陣列文件創(chuàng)建處理1012類似于郵區(qū)陣列文件創(chuàng)建處理101(圖1a),只是所得電話陣列文件1016用一個(gè)六位(NPANXX)電話號(hào)碼字段代替了郵區(qū)陣列文件103中的5位郵區(qū)代碼字段。因此,文件1016中有999,999條可能記錄,但沒有全部使用,因?yàn)椴⒉皇敲總€(gè)區(qū)號(hào)的數(shù)字組合當(dāng)前都已被分配。另外,緯度/經(jīng)度最小值和最大值用于由文件1016中電話號(hào)碼前六位定義的區(qū)域,而不是文件103中的5位郵區(qū)代碼區(qū)域。
電話窗口文件創(chuàng)建處理1014類似于郵區(qū)窗口文件創(chuàng)建處理102(圖1a),只是所得電話窗口文件1018用一個(gè)六位(NPANXX)電話號(hào)碼字段代替了郵區(qū)窗口文件104中的5位郵區(qū)代碼字段。脫線合并處理參考圖23,用于創(chuàng)建主叫電話號(hào)碼到服務(wù)位置電話號(hào)碼表的第二種方法涉及脫線合并來(lái)自主控表107和客戶表106的記錄。主控表107和客戶表106根據(jù)前面結(jié)合雙表系統(tǒng)描述的方式生成。如圖23所示,主控表107和客戶表106通過(guò)狀態(tài)1030和1034,各自按ZIP+4升序獨(dú)立排序,以分別生成排序后的主控表1032和排序后的客戶表1036。這兩種排序表1032和1036通過(guò)一個(gè)匹配處理1040合并,以生成主叫電話號(hào)碼到服務(wù)位置電話號(hào)碼表1022’。對(duì)于主控表中的每條ZIP+4記錄,正如下文結(jié)合圖24對(duì)處理1040進(jìn)行的詳細(xì)描述,匹配處理1040最好在客戶表中尋找匹配的ZIP+4記錄。電話號(hào)碼到電話號(hào)碼表1022’與原始的客戶表106在結(jié)構(gòu)上仍然相似,但是有更多的記錄,并用電話號(hào)碼代替了ZIP+4。
現(xiàn)在參考圖24,描述圖23中指定的匹配和增補(bǔ)(或合并)處理1040。處理1040從狀態(tài)1042開始,轉(zhuǎn)移到狀態(tài)1044,在此初始化主控表和客戶表文件結(jié)束變量MT_EOF和CT_EOF為零。然后處理1040轉(zhuǎn)移到狀態(tài)1046,在此讀取包含主控表電話號(hào)碼(MTPHONE)和主控表空間關(guān)鍵字(MTSK)的第一條主控表記錄。然后處理1040轉(zhuǎn)移到狀態(tài)1048,在此讀取包含客戶表空間關(guān)鍵字(CTSK)和客戶表電話號(hào)碼(CTPHONE)的第一條客戶表記錄。
然后處理1040調(diào)用功能MTLIST_BUILD 1050,創(chuàng)建一個(gè)具有當(dāng)前空間關(guān)鍵字的所有主控表記錄內(nèi)存駐留清單。下文將根據(jù)圖25更詳細(xì)地描述功能1050。功能1050一旦完成,處理1040就調(diào)用功能CTLIST_BUILD 1052,創(chuàng)建一個(gè)具有當(dāng)前空間關(guān)鍵字的所有客戶表記錄內(nèi)存駐留清單。下文將根據(jù)圖26更詳細(xì)地描述功能1052。功能1052一旦完成,處理1040就轉(zhuǎn)移到判決狀態(tài)1054,并比較主控表清單中的第一空間關(guān)鍵字(MTL_LIST(1))和客戶表清單中的第一空間關(guān)鍵字(CTL_LIST(1))。這種比較有三種可能的結(jié)果(1)客戶表空間關(guān)鍵字大于主控表空間關(guān)鍵字;(2)主控表空間關(guān)鍵字大于客戶表空間關(guān)鍵字;或者(3)主控表空間關(guān)鍵字與客戶表空間關(guān)鍵字相等。
三種可能結(jié)果如下所述(1)當(dāng)判決狀態(tài)1054確定客戶表空間關(guān)鍵字大于主控表空間關(guān)鍵字時(shí),處理1040轉(zhuǎn)移到狀態(tài)1056。如果主控表文件結(jié)束條件MT_EOF等于一,即合并處理已完成,合并處理在狀態(tài)1060結(jié)束。如果主控表文件結(jié)束條件MT_EOF不等于一,處理1040調(diào)用功能MTLIST_BUILD1050(根據(jù)圖25有更詳細(xì)的描述),更新主控表清單,然后返回判決狀態(tài)1054。
(2)當(dāng)判決狀態(tài)1054確定主控表空間關(guān)鍵字大于客戶表空間關(guān)鍵字時(shí),處理1040轉(zhuǎn)移到判決狀態(tài)1062。如果客戶表文件結(jié)束條件CT_EOF等于一,即合并處理已完成,合并處理在狀態(tài)1066結(jié)束。如果客戶表文件結(jié)束條件CT_EOF不等于一,處理1040調(diào)用功能CTLIST_BUILD_1052(根據(jù)圖26有更詳細(xì)的描述),更新客戶表清單,然后返回判決狀態(tài)1054。
(3)當(dāng)判決狀態(tài)1054確定主控表空間關(guān)鍵字與客戶表空間關(guān)鍵字相等時(shí),處理1040執(zhí)行寫電話號(hào)碼到電話號(hào)碼記錄的功能1068。功能1068向電話到電話表1022’寫J乘以K條記錄,其中J的值從功能1050(圖25)中獲得,K的值從功能1052(圖26)中獲得。功能1068按以下方式進(jìn)行這一操作通過(guò)在用于主控表清單的一個(gè)1=1到J的循環(huán)內(nèi)嵌套一個(gè)用于客戶表清單的L=1到K的循環(huán),寫入每條MTL PHONE(1)和CTL_PHONE(L)記錄組合。完成功能1068之后,處理1040轉(zhuǎn)移到前面描述過(guò)的功能1050,更新主控表清單。然后處理在1040執(zhí)行功能1052,更新客戶表清單。更新完主控表清單和客戶表清單之后,處理1040返回判決狀態(tài)1054,繼續(xù)合并處理。
現(xiàn)在參考圖25,描述圖24指定的主控表創(chuàng)建功能1050。功能1050從狀態(tài)1080開始,轉(zhuǎn)移到狀態(tài)1082,將變量J置為一。然后,功能1050轉(zhuǎn)移到狀態(tài)1084,把當(dāng)前的主控表記錄空間關(guān)鍵字(MTSK)和主控表電話號(hào)碼(MTPHONE)移動(dòng)到對(duì)應(yīng)的元素內(nèi)存駐留主控表清單第J行的MTL_SK(J)和MTL_PHONE(J)中。
然后,功能1050轉(zhuǎn)移到狀態(tài)1086,讀取包含主控表電話號(hào)碼(MTPHONE)和主控表空間關(guān)鍵字(MTSK)的下一條主控表記錄。之后,功能1050轉(zhuǎn)移到判決狀態(tài)1088,確定是否滿足主控表文件結(jié)束的條件。如果滿足文件結(jié)束條件,功能1050在狀態(tài)1090把主控表文件結(jié)束變量MT_EOF置為一,并在狀態(tài)1092把控制返回給處理1040的功能1052(圖24)。如果判決狀態(tài)1088確定沒有滿足文件結(jié)束條件,功能1050轉(zhuǎn)移到判決狀態(tài)1094。在判決狀態(tài)1094,功能1050比較當(dāng)前的主控表空間關(guān)鍵字值(MTSK)與主控表清單中的第一空間關(guān)鍵字(MTL_LIST(1)),以確定兩個(gè)空間關(guān)鍵字是否相等。如果它們不等,功能1050在狀態(tài)1092把控制返回給處理1040(圖24)。如果兩個(gè)空間關(guān)鍵字相等,功能1050在狀態(tài)1096令J的值加一,并返回前面描述的狀態(tài)1084。
現(xiàn)在參考圖26,描述圖24中指定的客戶表清單創(chuàng)建功能1052。功能CTLIST_BUILD 1052對(duì)客戶表進(jìn)行的處理與功能1050(圖25)對(duì)主控表的處理相同。功能1052在狀態(tài)1102處開始,并轉(zhuǎn)到狀態(tài)1104,在此,變量K被設(shè)置為1。然后功能1052轉(zhuǎn)移到狀態(tài)1106,把當(dāng)前的客戶表記錄空間關(guān)鍵字(CTSK)和客戶表電話號(hào)碼(CTPHONE)移動(dòng)到對(duì)應(yīng)的元素內(nèi)存駐留客戶表清單第K行的CTL_SK(K)和CTL_PHONE(K)中。然后,功能1052轉(zhuǎn)移到狀態(tài)1108,讀取包含客戶表電話號(hào)碼(CTPHONE)和客戶表空間關(guān)鍵字(CTSK)的下一條客戶表記錄。
然后,功能1052轉(zhuǎn)移到判決狀態(tài)1110,確定是否滿足客戶表文件結(jié)束的條件。如果滿足文件結(jié)束條件,功能1052在狀態(tài)1112把客戶表文件結(jié)束變量CT_EOF置為一,并在狀態(tài)1114把控制返回給處理1040(圖24)。如果判決狀態(tài)1110確定沒有滿足文件結(jié)束條件,功能1052轉(zhuǎn)移到判決狀態(tài)1116。在判決狀態(tài)1116,功能1052比較當(dāng)前的客戶表空間關(guān)鍵字值(CTSK)與客戶表清單中的第一空間關(guān)鍵字(CTL_LIST(1)),以確定兩個(gè)空間關(guān)鍵字是否相等。如果它們不等,功能1052在狀態(tài)1114把控制返回給處理1040(圖24)。如果兩個(gè)空間關(guān)鍵字相等,功能1052在狀態(tài)1096令K的值加一,并返回前面描述的狀態(tài)1106。
Ⅸ.用于單表系統(tǒng)的計(jì)算機(jī)-電話集成(CTI)網(wǎng)絡(luò)配置下面參考圖27,描述用于單表系統(tǒng)100的一種優(yōu)選CTI網(wǎng)絡(luò)配置。網(wǎng)絡(luò)配置使用根據(jù)圖22或23描述的表。從主叫電話110發(fā)起的一次電話呼叫首先由本地交換服務(wù)商(LEC),例如靠近主叫的Pacific Bell或Southwest Bell的一臺(tái)交換機(jī)進(jìn)行處理。LEC處的交換機(jī)指定一個(gè)獨(dú)立于所用電話類型的自動(dòng)號(hào)碼標(biāo)識(shí)(ANI)。主叫ID技術(shù)提供了另一種獲取主叫號(hào)碼的方法,但是這一技術(shù)目前在可用性方面受到政府管制,在某些情況下被禁用。根據(jù)AT&T統(tǒng)計(jì),所有交換機(jī)中的98%目前指定和傳送一個(gè)10位ANI。然后,呼叫、ANI和所撥的號(hào)碼標(biāo)識(shí)業(yè)務(wù)(DNIS)號(hào)碼通過(guò)一個(gè)國(guó)內(nèi)長(zhǎng)途網(wǎng)絡(luò)服務(wù)商,例如AT&T、MCI或Sprint傳送給一個(gè)長(zhǎng)途網(wǎng)絡(luò)(LDN)終接交換機(jī)111。LDN終接交換機(jī)111可以與為終接位置服務(wù)的LEC處的另一臺(tái)交換機(jī)連接,或者它也可以是直接與一個(gè)呼叫處理中心接口點(diǎn)1130相連的交換機(jī),例如一臺(tái)AT&TMEGACOM 800交換機(jī)或AT&T MULTIQuest 900交換機(jī)。在這種計(jì)算機(jī)電話集成網(wǎng)中的優(yōu)選實(shí)施方案是直接連接使用AT&T MEGACOM 800業(yè)務(wù)的AT&T長(zhǎng)途網(wǎng),該業(yè)務(wù)使用一臺(tái)AT&T 4 ESS數(shù)字交換機(jī)111。
終接交換機(jī)111向網(wǎng)絡(luò)和呼叫中心之間的接口盒1130傳送ANI和DNIS。接口盒最好是一個(gè)VRU或交互式語(yǔ)音響應(yīng)單元(IVRU),例如一個(gè)AT&T會(huì)話系統(tǒng),以及提供CTI的網(wǎng)絡(luò)集線器。另一種實(shí)施例使用不帶有話音/語(yǔ)音特性的接口盒1130。接口盒1130能夠通過(guò)以下處理控制呼叫處理接收來(lái)自電話網(wǎng)交換機(jī)111的語(yǔ)音信號(hào)、ANI和DNIS;向主叫播放錄制的話音信息;接收主叫DTMF鍵盤輸入;把主叫話音輸入和命令,例如“1”、“2”、“3”、“A”、“B”、“C”、“Yes”和“No”,轉(zhuǎn)換成計(jì)算機(jī)數(shù)據(jù)代碼;把計(jì)算機(jī)文本轉(zhuǎn)換為合成語(yǔ)音,并向主叫播放合成語(yǔ)音。接口盒1130還通過(guò)一個(gè)局域網(wǎng)(LAN)1132上的通信協(xié)議,例如ISDN和TCP/IP,與其他電話和計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)通信,以獲取處理呼叫所需的其他信息。接口盒1130可以把主叫連接到一個(gè)服務(wù)位置電話上,例如服務(wù)位置150a處,或者使用高級(jí)網(wǎng)絡(luò)特性,例如AT&T的傳送連接,連接主叫與服務(wù)位置。LAN1132使用雙線,以提供冗余。
接口盒1130首先與結(jié)構(gòu)化查詢語(yǔ)言(SQL)數(shù)據(jù)庫(kù)服務(wù)器1134通信,以更新、驗(yàn)證和確定主叫提供的電話號(hào)碼類型。電話號(hào)碼類型指它是一個(gè)美國(guó)POTS電話號(hào)碼還是可能對(duì)應(yīng)一部尋呼機(jī)、蜂窩電話或個(gè)人通信業(yè)務(wù)(PCS)電話的非POTS號(hào)碼,非美國(guó)號(hào)碼則可能是一個(gè)加拿大電話號(hào)碼。主叫提供的電話號(hào)碼是正常的主叫始發(fā)呼叫產(chǎn)生的(ANI或主叫ID),或主叫提供一個(gè)替代電話號(hào)碼的狀態(tài)118(圖28)產(chǎn)生的。優(yōu)選的SQL服務(wù)器軟件提供商是Oracle公司。優(yōu)選服務(wù)器是AT&T 3600UNIX主機(jī)。其他實(shí)施例也可以使用其他服務(wù)器或數(shù)據(jù)庫(kù)軟件類型。
數(shù)據(jù)庫(kù)服務(wù)器1134有兩個(gè)數(shù)據(jù)庫(kù)提供更新、驗(yàn)證和對(duì)電話號(hào)碼分類的信息。第一個(gè)是Bellcore NPANXX分裂文件?!癗PANXX”代表十位電話號(hào)碼的前六位,對(duì)應(yīng)一個(gè)區(qū)號(hào)和一個(gè)電話局。文件1136提供了一個(gè)正在進(jìn)行新區(qū)號(hào)和局號(hào)分裂處理的NPANXX清單。如果主叫提供的NPANXX在該清單中,而且當(dāng)前日期落在與從文件中提取的分裂有關(guān)的日期范圍內(nèi),就根據(jù)分裂文件1136中的數(shù)據(jù)更新主叫提供的電話號(hào)碼。之后,比較主叫的NPANXX與Bellcore的V&H坐標(biāo)文件1138,后者列出了所有合法的NPANXX和NPANXX支持的業(yè)務(wù)類型。NPANXX分裂文件1136和V&H坐標(biāo)文件1138都是從Bellcore的本地交換局選路指南(LERG)中提取的。LERG是在北美撥號(hào)方案通信網(wǎng)中傳送呼叫的所有公共服務(wù)商使用的主控?cái)?shù)據(jù)庫(kù)。如果主叫提供的NPANXX在V&H文件1138中作為一個(gè)美國(guó)普通老式電話業(yè)務(wù)號(hào)碼(POTS)列出,就返回主叫的時(shí)區(qū)和夏令時(shí)標(biāo)志。另一方面,如果主叫的NPANXX非法,接口盒1130就請(qǐng)求主叫提供另一個(gè)電話號(hào)碼。如果NPANXX是合法的非美國(guó)號(hào)碼,或?qū)S秒娫捥?hào)碼,例如“NPA_555”,就將為主叫播放與主叫電話類型有關(guān)的預(yù)錄消息,并請(qǐng)求主叫輸入另一個(gè)電話號(hào)碼或連接主叫與異常呼叫處理操作員1146。
如果確定主叫的NPANXX是一個(gè)合法的美國(guó)POTS號(hào)碼,接口盒1130就向傳送處理器1150(也被稱為傳送計(jì)算機(jī))發(fā)送一條包含主叫提供的電話號(hào)碼和DNIS的進(jìn)程間通信請(qǐng)求。在一個(gè)實(shí)施例中,傳送處理器1150是一臺(tái)基于UNIX的計(jì)算機(jī),例如AT&T 3600,它可以訪問(wèn)與DNIS對(duì)應(yīng)的電話號(hào)碼到電話號(hào)碼表1022。在其他實(shí)施例中也可以使用其他計(jì)算機(jī)。傳送處理器1150從客戶電話號(hào)碼到電話號(hào)碼表中提取與主叫提供的電話號(hào)碼相關(guān)的數(shù)據(jù)并返回一個(gè)狀態(tài)碼,如果成功,還要返回服務(wù)位置電話號(hào)碼或ID的一個(gè)清單。如果返回的狀態(tài)碼是一種不成功的類型,接口盒1130則向主叫播放一條預(yù)錄消息或連接主叫與異常呼叫操作員1146。
如果傳送處理器請(qǐng)求成功返回,接口盒1130就向數(shù)據(jù)庫(kù)服務(wù)器1134發(fā)出請(qǐng)求,該服務(wù)器對(duì)與主叫DNIS聯(lián)系的客戶服務(wù)位置表1140執(zhí)行數(shù)據(jù)庫(kù)訪問(wèn)功能,并提取由傳送處理器1150返回的關(guān)于服務(wù)位置ID的記錄。表1140是客戶服務(wù)位置表109(圖22)的索引和在線形式。提取的這些記錄包含服務(wù)位置電話號(hào)碼、營(yíng)業(yè)日期和小時(shí)、名稱、地址和微區(qū)域方向、時(shí)區(qū)、夏令時(shí)標(biāo)志等等。然后,接口盒1130確定哪個(gè)服務(wù)位置可以處理主叫的請(qǐng)求。依客戶應(yīng)用而定,接口盒1130通過(guò)錄制的話音或合成的文本到語(yǔ)音,向主叫提供服務(wù)位置信息和/或直接連接主叫與最近或當(dāng)前營(yíng)業(yè)的所選服務(wù)位置。
如果主叫需要操作員的異常處理,接口盒1130使用一個(gè)圖象顯示器,通過(guò)一臺(tái)CTI專用小交換機(jī)(PBX)自動(dòng)呼叫分配器(ACD)1142和主機(jī)系統(tǒng)1144,連接主叫與操作員1146。PBX/ACD 1142,例如AT&T的系統(tǒng)75,向操作員1146提供主叫話音。主機(jī)系統(tǒng)最好是一個(gè)IBM的3090主計(jì)算機(jī)。主機(jī)系統(tǒng)1144在操作者的視頻顯示器上提供來(lái)自服務(wù)器1134的數(shù)據(jù)庫(kù)數(shù)據(jù)。Jacksonville,FL的AT&T AmericanTranstech支持主機(jī)系統(tǒng)1144。操作員1146處理該請(qǐng)求,并向一個(gè)正在服務(wù)的經(jīng)銷商傳送連接主叫需要的信息,或通過(guò)接口盒1130返回的預(yù)錄消息終止呼叫。
有兩種方式連接主叫與正在服務(wù)的經(jīng)銷商。接口盒1130可以產(chǎn)生從接口盒1130到服務(wù)位置,例如位置150a的第二個(gè)呼叫,并通過(guò)接口盒1130連接主叫與服務(wù)位置。另外一種方式是,接口盒1130可以使用AT&T提供的高級(jí)網(wǎng)絡(luò)特性“傳送連接”,直接向正在服務(wù)的經(jīng)銷商傳送呼叫。后者是優(yōu)選的實(shí)施方案,因?yàn)樗档土送ㄐ懦杀竞蛯?duì)接口盒端口的容量要求。
服務(wù)位置使用傳統(tǒng)電話150a或其他電話呼叫接收裝置應(yīng)答呼叫。然后服務(wù)位置就可以處理主叫的請(qǐng)求。
Ⅹ.單表系統(tǒng)實(shí)例下面參考圖28(結(jié)合圖27),描述呼叫進(jìn)程處理1160。單表系統(tǒng)1000執(zhí)行呼叫進(jìn)程處理1160流程圖所示的流程。該處理通過(guò)使用單個(gè)選路表,向客戶的目的服務(wù)位置傳送主叫的電話呼叫。處理1160使用根據(jù)圖27描述的單表系統(tǒng)1000的網(wǎng)絡(luò)配置。
處理1160從主叫使用一部傳統(tǒng)電話110撥打一個(gè)“800”類型的電話號(hào)碼。該呼叫最好通過(guò)國(guó)內(nèi)通信網(wǎng)向應(yīng)答呼叫的呼叫處理中心處的一個(gè)網(wǎng)絡(luò)接口盒1130(圖27)傳送。網(wǎng)絡(luò)接口盒1130的呼叫譯碼模塊或單元112對(duì)網(wǎng)絡(luò)信息分組114進(jìn)行譯碼,該分組包含ANI提供的主叫電話號(hào)碼和所撥號(hào)碼,即DNIS號(hào)碼。
然后,處理1160轉(zhuǎn)移到判決狀態(tài)116,確定呼叫應(yīng)用是否提供可選的主叫輸入。如果沒有,處理1160轉(zhuǎn)移到判決狀態(tài)1162。但是,如果判決狀態(tài)116確定呼叫應(yīng)用提供了可選的主叫輸入,處理1160轉(zhuǎn)移到狀態(tài)118,主叫提供另一個(gè)人或公司的電話號(hào)碼,該號(hào)碼對(duì)應(yīng)的位置通常不同于ANI對(duì)應(yīng)的位置。這個(gè)電話號(hào)碼也可以是主叫的家庭電話號(hào)碼,例如當(dāng)主叫在家門外的一個(gè)位置進(jìn)行呼叫時(shí)。新電話號(hào)碼的輸入可以通過(guò)主叫使用按鍵式電話上的DTMF鍵盤、通過(guò)計(jì)算機(jī)或其他可以產(chǎn)生按鍵音的設(shè)備、或者通過(guò)向接口盒1130(圖27)傳遞語(yǔ)音信息來(lái)實(shí)現(xiàn)。狀態(tài)118還要根據(jù)Bellcore NPANXX分裂文件1136(圖27)與合法電話號(hào)碼文件1138檢查主叫提供的電話號(hào)碼,并在主叫提供的號(hào)碼非法時(shí)提示主叫輸入另一個(gè)電話號(hào)碼。
一旦確定輸入電話號(hào)碼非法,或者主叫經(jīng)過(guò)客戶指定次數(shù)的輸入后產(chǎn)生的號(hào)碼仍然是非法的,處理轉(zhuǎn)移到判決狀態(tài)1162。在判決狀態(tài)1162,處理1160確定主叫電話號(hào)碼或主叫提供的電話號(hào)碼是否是一個(gè)合法的美國(guó)POTS號(hào)碼。如果不是,正如前面根據(jù)圖1c在狀態(tài)128所作的描述,處理1160轉(zhuǎn)移到用于不可傳送呼叫異常處理的狀態(tài)128。如果判決狀態(tài)1162確定主叫提供的電話號(hào)碼是一個(gè)合法的美國(guó)POTS號(hào)碼,處理轉(zhuǎn)移到狀態(tài)1164,其中主叫提供的電話號(hào)碼作為與主叫DNIS對(duì)應(yīng)的電話號(hào)碼到電話號(hào)碼表1022的索引。
轉(zhuǎn)移到判決狀態(tài)1166,處理1160確定是否找到主叫的電話號(hào)碼。如果沒有找到,處理1160轉(zhuǎn)移到如上所述、用于不可傳送呼叫異常處理的狀態(tài)128。如果找到主叫提供的電話號(hào)碼,提取對(duì)應(yīng)的電話號(hào)碼記錄,處理1160轉(zhuǎn)移到判決狀態(tài)1168,確定提取的記錄是否包含一個(gè)服務(wù)位置電話號(hào)碼。如果沒有服務(wù)位置電話號(hào)碼存在,正如前面根據(jù)圖1c在狀態(tài)144所作的描述,處理1160轉(zhuǎn)移到被傳送呼叫異常處理狀態(tài)144。
如果判決狀態(tài)1168確定存在一個(gè)服務(wù)位置電話號(hào)碼,處理1160在狀態(tài)146提取客戶本地服務(wù)位置的電話號(hào)碼,并轉(zhuǎn)移到狀態(tài)148,撥打所提取的服務(wù)位置電話號(hào)碼。狀態(tài)148所用的出局呼叫模塊或硬件可以是網(wǎng)絡(luò)終接點(diǎn)接口盒1130(圖27)的一個(gè)部分。如果判決狀態(tài)152確定所撥號(hào)碼占線或沒有應(yīng)答,呼叫就被傳送到如上所述的被傳送呼叫異常處理狀態(tài)144。如果呼叫沒有遇到占線并且有應(yīng)答,主叫與服務(wù)位置150連接,服務(wù)位置處理主叫的請(qǐng)求。
Ⅺ.實(shí)時(shí)處理系統(tǒng)概述在應(yīng)用中,當(dāng)高呼叫量和事務(wù)處理速度不再是問(wèn)題,不需要鏈接其他空間關(guān)鍵字編碼的數(shù)據(jù)庫(kù),以及/或磁盤存儲(chǔ)資源有限時(shí),客戶可以選擇在呼叫處理期間進(jìn)行計(jì)算,以便實(shí)現(xiàn)主叫提供的電話號(hào)碼所對(duì)應(yīng)的精確位置與具有任意大小或形狀定義的服務(wù)位置之間的映射。進(jìn)行實(shí)時(shí)主叫提供的電話號(hào)碼與服務(wù)位置映射所需要的主要單元和技術(shù)已在前面根據(jù)雙表系統(tǒng)作過(guò)描述。在實(shí)時(shí)處理配置中修改這些技術(shù)能進(jìn)一步提高實(shí)時(shí)映射處理的效率。以下描述解釋的實(shí)時(shí)處理需要一個(gè)主控10位電話號(hào)碼到緯度和經(jīng)度重心文件1010(圖29)和客戶服務(wù)位置文件109??蛻舴?wù)位置的服務(wù)區(qū)域,即文件109每條記錄的一個(gè)部分,被描述為具有半徑定義服務(wù)區(qū)域的一個(gè)精確緯度和經(jīng)度服務(wù)位置地址,或通過(guò)一個(gè)緯度和經(jīng)度頂點(diǎn)集定義的服務(wù)區(qū)域多邊形。
在用于半徑和多邊形客戶表的雙表系統(tǒng)客戶表創(chuàng)建處理中,系統(tǒng)逐個(gè)讀取服務(wù)區(qū)域清單,確定哪些ZIP+4在每個(gè)服務(wù)區(qū)域內(nèi),計(jì)算從每個(gè)ZIP+4到服務(wù)位置的距離,為每個(gè)包含ZIP+4的位置向文件寫入一條記錄,并根據(jù)ZIP+4及距離降序?qū)ξ募判蚝退饕?br>
下面將參考圖29,描述實(shí)時(shí)處理系統(tǒng)1200(圖30)中需要的文件和處理。實(shí)時(shí)處理模塊1220在系統(tǒng)1200(圖30)傳送處理器集(圖30)中的一個(gè)上執(zhí)行,以實(shí)時(shí)傳送一次電話呼叫。除了主控10位電話號(hào)碼到緯度和經(jīng)度重心文件1010和客戶服務(wù)位置文件109之外,實(shí)時(shí)處理模塊1220還要使用客戶服務(wù)區(qū)域陣列文件1214、客戶服務(wù)區(qū)域窗口文件1216和主叫或主叫提供的帶有一個(gè)DNIS 1218的電話號(hào)碼。模塊1220的輸出是一個(gè)排序后的服務(wù)位置電話號(hào)碼或ID清單1222。下文將根據(jù)圖35更詳細(xì)地描述模塊1220。
主控10位電話號(hào)碼到緯度和經(jīng)度重心文件1010和客戶服務(wù)位置文件109前面已根據(jù)單表系統(tǒng)作過(guò)描述。正如下面的解釋,創(chuàng)建客戶服務(wù)區(qū)域陣列文件1214和客戶服務(wù)區(qū)域窗口文件1216使用了客戶服務(wù)位置文件109中半徑和多邊形服務(wù)區(qū)域的緯度/經(jīng)度端點(diǎn)。
具體來(lái)說(shuō),客戶服務(wù)區(qū)域窗口文件1216由使用客戶服務(wù)位置文件109的脫線服務(wù)區(qū)域窗口文件創(chuàng)建處理1212產(chǎn)生。下文將根據(jù)圖31更詳細(xì)地描述處理1212。
客戶服務(wù)區(qū)域陣列文件1214由使用客戶服務(wù)位置文件109的脫線服務(wù)區(qū)域文件創(chuàng)建處理1210產(chǎn)生。服務(wù)區(qū)域文件創(chuàng)建處理1210類似于郵區(qū)陣列文件創(chuàng)建處理101(圖1a)和電話陣列文件創(chuàng)建處理1012(圖22),只是產(chǎn)生的客戶服務(wù)區(qū)域陣列文件1214用一個(gè)客戶服務(wù)位置ID字段取代了郵區(qū)陣列文件103中的5位郵區(qū)代碼字段或電話陣列文件1016的六位(NPANXX)電話號(hào)碼。文件1214的字節(jié)偏移字段包含到客戶服務(wù)位置文件109排序后形式(圖30,表1140)的偏移,而不是到重心文件100(圖1a)或重心文件1010(圖22)的偏移。而且,緯度/經(jīng)度最小值和最大值用于客戶服務(wù)區(qū)域,而不是文件103的5位郵區(qū)代碼區(qū)域或文件1016中前6位電話號(hào)碼定義的區(qū)域??蛻舴?wù)區(qū)域陣列文件1214用于刪除這樣的服務(wù)位置其緯度和經(jīng)度服務(wù)區(qū)域端點(diǎn)不包括主叫提供的電話號(hào)碼位置的緯度和經(jīng)度。因?yàn)槲募?214只包含通過(guò)下文描述的處理1212也能生成的一個(gè)字節(jié)偏移索引和緯度及經(jīng)度端點(diǎn),所以不再更詳細(xì)地描述處理1210。
在實(shí)時(shí)處理中,系統(tǒng)執(zhí)行實(shí)時(shí)“呼叫處理期間”模塊1220,該模塊創(chuàng)建一個(gè)帶有電話號(hào)碼的服務(wù)位置清單,其服務(wù)區(qū)域包括主叫提供的電話號(hào)碼位置。下文將參考圖35更詳細(xì)地描述這一實(shí)時(shí)處理1220。實(shí)時(shí)處理1220通過(guò)從主控電話號(hào)碼到緯度和經(jīng)度表1010中提取主叫提供的電話號(hào)碼記錄,以便確定與主叫提供的電話號(hào)碼對(duì)應(yīng)的位置緯度/經(jīng)度。根據(jù)這個(gè)緯度和經(jīng)度以及與DNIS相關(guān)的客戶服務(wù)區(qū)域窗口文件1216,實(shí)時(shí)處理1220在空間上確定可能為主叫位置服務(wù)的客戶位置清單。下文將參考圖35描述這一清單確定步驟(它總體上指1344和1346),并根據(jù)圖36作更詳細(xì)的討論。
然后,實(shí)時(shí)處理1220對(duì)清單中的每個(gè)可能位置進(jìn)行詳細(xì)的空間測(cè)試,以確定主叫的緯度/經(jīng)度是否在服務(wù)位置的服務(wù)區(qū)域內(nèi)。如果在內(nèi),系統(tǒng)計(jì)算從主叫到該服務(wù)位置的距離,并將其添加入服務(wù)位置清單。下文將參考圖35描述詳細(xì)的空間測(cè)試和距離確定步驟(它總體上指1348),并根據(jù)圖37和38作更詳細(xì)的討論。處理完所有可能位置之后,根據(jù)距離升序存儲(chǔ)服務(wù)位置清單,并回送給呼叫處理應(yīng)用任務(wù)流,以用于傳送電話呼叫。
與雙表系統(tǒng)類似,正如雙表系統(tǒng)客戶表創(chuàng)建處理中的描述,實(shí)時(shí)處理同時(shí)支持多邊形和半徑服務(wù)區(qū)域。對(duì)于實(shí)時(shí)處理,半徑和多邊形“服務(wù)區(qū)域內(nèi)”處理是同一個(gè)呼叫處理內(nèi)核系統(tǒng)的一部分,但是每種處理需要各自的底層功能(圖38)來(lái)確定主叫位置是在服務(wù)位置的半徑或多邊形定義服務(wù)區(qū)域之內(nèi)還是之外。
在幾種實(shí)施例中,實(shí)時(shí)處理系統(tǒng)是更新最簡(jiǎn)單的,而且需要的存儲(chǔ)量最少。主叫提供的電話號(hào)碼與客戶服務(wù)位置的空間關(guān)系在呼叫期間確定。帶有緯度和經(jīng)度的電話號(hào)碼主控表以及每個(gè)客戶服務(wù)位置文件可以獨(dú)立保存,并駐留在不同的機(jī)器上。
Ⅻ.用于實(shí)時(shí)處理系統(tǒng)的計(jì)算機(jī)-電話集成網(wǎng)絡(luò)配置下面參考圖30,描述實(shí)時(shí)確定系統(tǒng)的網(wǎng)絡(luò)配置。這種網(wǎng)絡(luò)配置和呼叫處理邏輯類似于圖27用于單表系統(tǒng)的配置,只是由傳送處理器1150訪問(wèn)處理邏輯和數(shù)據(jù)庫(kù)。為了避免重復(fù),只討論不同點(diǎn)。在圖30中,傳送處理器從接口盒1130接收主叫提供的電話號(hào)碼和DNIS作為輸入,并返回一個(gè)處理狀態(tài)碼,如果成功,還要返回一個(gè)與DNIS對(duì)應(yīng)的服務(wù)位置清單,其服務(wù)區(qū)域包括主叫提供的電話號(hào)碼位置。
在執(zhí)行這一功能的時(shí)候,傳送處理器1150(圖30)首先在主控電話號(hào)碼到緯度和經(jīng)度表1010中查找主叫提供的電話號(hào)碼。如果沒有找到該電話號(hào)碼,狀態(tài)碼被置為與“不成功,電話號(hào)碼不在主控表中”對(duì)應(yīng)的值,而且該信息被返回給接口盒1130。另一方面,如果找到電話號(hào)碼,就從表1010中提取緯度和經(jīng)度。
然后,處理器1150通過(guò)以下等式把提取的緯度和經(jīng)度轉(zhuǎn)換成一個(gè)lat/lon(緯度和經(jīng)度)窗口Lat/Lon窗口=((主叫位置緯度乘以十)的整數(shù)部分)乘以10,000再加上((主叫位置經(jīng)度乘以十)的整數(shù)部分)。然后,處理器1150在與主叫DNIS對(duì)應(yīng)的服務(wù)區(qū)域窗口文件1216中查找這個(gè)lat/lon窗口。如果沒有找到lat/lon窗口,狀態(tài)碼被置為與“不成功,沒有找到lat/lon窗口”對(duì)應(yīng)的值,而且該信息被返回給接口盒1130。如果找到lat/lon窗口,就返回一個(gè)可能服務(wù)位置ID或電話號(hào)碼清單。
對(duì)于可能清單中的每個(gè)服務(wù)位置ID或電話號(hào)碼,處理器1150在與主叫DNIS對(duì)應(yīng)的服務(wù)區(qū)域陣列文件1214中查找該ID,并提取服務(wù)區(qū)域的緯度和經(jīng)度端點(diǎn)以及指示服務(wù)位置表109中服務(wù)位置記錄起點(diǎn)的字節(jié)偏移。然后,處理器1150確定與主叫提供的電話號(hào)碼對(duì)應(yīng)的位置緯度和經(jīng)度是否處于當(dāng)前被測(cè)試的服務(wù)區(qū)域緯度和經(jīng)度端點(diǎn)之內(nèi)。如果不是,處理器1150轉(zhuǎn)向可能清單中的下一條記錄。否則,主叫提供的電話號(hào)碼的緯度和經(jīng)度處于當(dāng)前被測(cè)試的服務(wù)區(qū)域之內(nèi),處理器1150就從與主叫DNIS對(duì)應(yīng)的客戶服務(wù)位置表1140中提取詳細(xì)的服務(wù)區(qū)域定義。通過(guò)使用軟件選擇器(例如處理器1150上的一個(gè)選擇語(yǔ)句或查值表),從用于多個(gè)DNIS和/或客戶的一組客戶服務(wù)位置表中選出與主叫所撥DNIS對(duì)應(yīng)的正確客戶服務(wù)位置表1140。表1140是客戶服務(wù)位置表109的索引或在線形式。處理器1150根據(jù)與提取的詳細(xì)記錄對(duì)應(yīng)的服務(wù)區(qū)域類型(即半徑或多邊形),進(jìn)行合適的底層功能調(diào)用,以確定主叫提供的電話號(hào)碼位置是否在當(dāng)前測(cè)試的服務(wù)區(qū)域內(nèi)。如果不在,處理器1150轉(zhuǎn)向可能清單中的下一條記錄。如果該位置在服務(wù)區(qū)域內(nèi),處理1150計(jì)算從主叫位置到服務(wù)位置的距離,在“服務(wù)區(qū)域內(nèi)”清單中添加該記錄,并轉(zhuǎn)向可能清單中的下一條記錄。
處理完在可能的清單中的所有記錄之后,處理器1150確定“服務(wù)區(qū)域內(nèi)”清單是否為空,即不包含任何記錄。如果清單為空,就將狀態(tài)碼的值設(shè)置成與消息“不成功,服務(wù)區(qū)域內(nèi)清單中沒有記錄”相對(duì)應(yīng),并向接口盒1130返回該信息。如果“服務(wù)區(qū)域內(nèi)”清單包含記錄,按距離降序?qū)υ撉鍐闻判?,置狀態(tài)碼的值與“成功”相對(duì)應(yīng),并向接口盒1130返回該信息,該信息在接口盒中被處理的方式與圖27中對(duì)單表系統(tǒng)進(jìn)行的描述相同。
ⅩⅢ.實(shí)時(shí)處理創(chuàng)建服務(wù)區(qū)域窗口文件的脫線處理圖31-34描述了創(chuàng)建客戶服務(wù)區(qū)域窗口文件1216的處理1212。該文件包含一個(gè)索引的緯度和經(jīng)度窗口清單,該清單包括每個(gè)緯度和經(jīng)度窗口和服務(wù)位置的組合,其中該位置的服務(wù)區(qū)可能覆蓋該緯度和經(jīng)度窗口的一條記錄。文件1216用于通過(guò)查找緯度和經(jīng)度窗口等于主叫提供的電話號(hào)碼窗口的記錄,迅速確定一個(gè)覆蓋主叫提供的電話號(hào)碼位置的可能服務(wù)位置清單??蛻舴?wù)區(qū)域陣列文件1214用于刪除以下服務(wù)位置其緯度和經(jīng)度服務(wù)區(qū)域端點(diǎn)不包含與主叫提供的電話號(hào)碼對(duì)應(yīng)的緯度和經(jīng)度位置。
圖31是對(duì)客戶服務(wù)區(qū)域窗口文件創(chuàng)建處理1212的一般描述。處理1212從起始狀態(tài)1240開始,轉(zhuǎn)移到狀態(tài)1242,從客戶服務(wù)位置文件109中讀取一條記錄。轉(zhuǎn)移到判決狀態(tài)1244,處理1212檢查文件結(jié)束條件。如果文件結(jié)束條件是“yes(是)”,即已讀取完文件109中的所有記錄,處理1212轉(zhuǎn)移到狀態(tài)1258,完成該處理。如果文件結(jié)束條件是“no(否)”,即還沒有讀取和處理完文件109中的所有記錄,處理1212在判決狀態(tài)1246進(jìn)行一次測(cè)試,以確定剛從文件109中讀取的記錄是一個(gè)半徑還是多邊形定義服務(wù)區(qū)域。文件109有一個(gè)指示服務(wù)區(qū)域類型的字段。
如果判決狀態(tài)1246確定服務(wù)區(qū)域類型是半徑,處理1212轉(zhuǎn)移到狀態(tài)1248,計(jì)算在當(dāng)前服務(wù)位置的緯度處每一經(jīng)度的英里數(shù)。每一緯度是68.9404英里。每一經(jīng)度的英里數(shù)是緯度的函數(shù),并通過(guò)下式確定每一經(jīng)度的英里數(shù)=68.9404*COSINE(緯度)。進(jìn)行完這一計(jì)算之后,處理1212調(diào)用功能1250,以確定半徑型服務(wù)區(qū)域的緯度和經(jīng)度最小值及最大值。下文將根據(jù)圖32更詳細(xì)地描述功能1250。
如果判決狀態(tài)1246確定服務(wù)區(qū)域類型是多邊形,處理1212轉(zhuǎn)向調(diào)用功能1252。功能1252確定用于多邊形類型服務(wù)區(qū)域的緯度和經(jīng)度最小值及最大值。下文將根據(jù)圖33更詳細(xì)地描述功能1252。
完成用于半徑服務(wù)區(qū)域的功能1250或多邊形服務(wù)區(qū)域的功能1252之后,處理1212繼續(xù)執(zhí)行寫服務(wù)區(qū)域窗口記錄功能1254。寫服務(wù)區(qū)域窗口記錄功能1254在原始服務(wù)窗口文件1256中生成一條記錄。下文將根據(jù)圖34更詳細(xì)地描述功能1254。完成功能1254之后,處理1212返回狀態(tài)1242,讀取客戶服務(wù)位置文件109中的下一條記錄。
回到判決狀態(tài)1244,滿足文件結(jié)束條件之后,處理1212轉(zhuǎn)移到狀態(tài)1258。在狀態(tài)1258,根據(jù)lat/lon(緯度/經(jīng)度)窗口和lat/lon窗口內(nèi)的位置ID按升序?qū)υ挤?wù)窗口文件1256進(jìn)行排序和索引。排序和索引結(jié)果被寫入客戶服務(wù)區(qū)域窗口文件1216,并且從而處理1212完成。
現(xiàn)在參考圖32,描述用于半徑類型服務(wù)區(qū)域的計(jì)算緯度和經(jīng)度最小值及最大值功能1250。功能1250從起始狀態(tài)1270開始,轉(zhuǎn)移到狀態(tài)1272,計(jì)算當(dāng)前位置的服務(wù)區(qū)域緯度最小值和最大值。當(dāng)前服務(wù)區(qū)域的最小緯度等于當(dāng)前位置的緯度減去英里為單位的服務(wù)區(qū)域半徑除以每一緯度的英里數(shù)。當(dāng)前服務(wù)區(qū)域的最大緯度等于當(dāng)前位置的緯度加上英里為單位的服務(wù)區(qū)域半徑除以每一緯度的英里數(shù)。功能1250轉(zhuǎn)移到狀態(tài)1274,計(jì)算當(dāng)前位置的服務(wù)區(qū)域經(jīng)度最小值和最大值。當(dāng)前服務(wù)區(qū)域的最小經(jīng)度等于當(dāng)前位置的經(jīng)度減去英里為單位的服務(wù)區(qū)域半徑除以每一經(jīng)度的英里數(shù)。當(dāng)前服務(wù)區(qū)域的最大經(jīng)度等于當(dāng)前位置的經(jīng)度加上英里為單位的服務(wù)區(qū)域半徑除以每一經(jīng)度的英里數(shù)。
之后,功能1250轉(zhuǎn)移到狀態(tài)1276,創(chuàng)建與服務(wù)位置及其服務(wù)區(qū)域?qū)?yīng)的lat/lon窗口的最小和最大緯度分量。最小緯度窗口分量等于十倍服務(wù)區(qū)域緯度最小值的整數(shù)部分,其中緯度用度和度的小數(shù)部分表示。最大緯度窗口分量等于十倍服務(wù)區(qū)域緯度最大值的整數(shù)部分,其中緯度用度和度的小數(shù)部分表示。功能1250轉(zhuǎn)移到狀態(tài)1278,創(chuàng)建與服務(wù)位置及其服務(wù)區(qū)域?qū)?yīng)的lat/lon窗口的最小和最大經(jīng)度分量。創(chuàng)建窗口經(jīng)度端點(diǎn)的程序與創(chuàng)建緯度端點(diǎn)的程序完全一致,只是經(jīng)度值取代了緯度值。完成狀態(tài)1278之后,功能1250轉(zhuǎn)移到返回狀態(tài)1280,返回處理1212的功能1254(圖31)。
現(xiàn)在參考圖33,描述用于多邊形服務(wù)區(qū)域的計(jì)算緯度和經(jīng)度最小值及最大值功能1252。功能1252從起始狀態(tài)1290開始,轉(zhuǎn)移到狀態(tài)1292,確定當(dāng)前位置的服務(wù)區(qū)域緯度最小值和最大值。當(dāng)前服務(wù)區(qū)域的最小和最大緯度等于當(dāng)前位置的服務(wù)區(qū)域最小和最大緯度,后者是從服務(wù)位置文件109(圖29、31)中用于多邊形服務(wù)區(qū)域的一個(gè)多邊形文件頭中讀取的。轉(zhuǎn)移到狀態(tài)1294,功能1250確定當(dāng)前位置的服務(wù)區(qū)域經(jīng)度最小值和最大值。同樣,該信息從文件109的多邊形文件頭部分獲得。
之后,功能1252轉(zhuǎn)移到狀態(tài)1296,創(chuàng)建與服務(wù)位置及其服務(wù)區(qū)域?qū)?yīng)的lat/lon窗口的最小和最大緯度分量。最小緯度窗口分量等于十倍服務(wù)區(qū)域緯度最小值的整數(shù)部分,其中緯度用度和度的小數(shù)部分表示。最大緯度窗口分量等于十倍服務(wù)區(qū)域緯度最大值的整數(shù)部分,其中緯度用度和度的小數(shù)部分表示。轉(zhuǎn)移到狀態(tài)1298,功能1250創(chuàng)建與服務(wù)位置及其服務(wù)區(qū)域?qū)?yīng)的lat/lon窗口的最小和最大經(jīng)度分量。創(chuàng)建窗口經(jīng)度端點(diǎn)的程序與創(chuàng)建緯度端點(diǎn)的程序完全一致,只是經(jīng)度值取代了緯度值。完成狀態(tài)1298之后,功能1252轉(zhuǎn)移到返回狀態(tài)1300,返回處理1212的功能1254(圖31)。
現(xiàn)在參考圖34,描述生成服務(wù)區(qū)域文件記錄功能1254。功能1254使用功能1250(用于半徑服務(wù)區(qū)域)或功能1252(用于多邊形服務(wù)區(qū)域)生成一個(gè)服務(wù)區(qū)域窗口記錄集,并把它們寫入原始服務(wù)區(qū)域窗口文件1256(圖31)。功能1254用到內(nèi)外嵌套的兩個(gè)循環(huán),內(nèi)循環(huán)從服務(wù)區(qū)域的最小經(jīng)度窗口值移動(dòng)到最大經(jīng)度窗口值,該最大經(jīng)度窗口值被嵌套在該外循環(huán)內(nèi),外循環(huán)從服務(wù)區(qū)域的最小緯度窗口值移動(dòng)到最大緯度窗口值。
功能1254從起始狀態(tài)1310開始,轉(zhuǎn)移到狀態(tài)1312,在此,置變量J的值等于當(dāng)前服務(wù)區(qū)域的最小緯度窗口值。功能1254轉(zhuǎn)移到狀態(tài)1314,在此,置變量K的值等于當(dāng)前服務(wù)區(qū)域的最小經(jīng)度窗口值。轉(zhuǎn)移到狀態(tài)1316,功能1254通過(guò)令J的值與10,000相乘再加上K的值,從而生成一條窗口記錄。之后,功能1254轉(zhuǎn)移到狀態(tài)1318,在原始服務(wù)區(qū)域窗口文件1256(圖31)中寫入這條窗口記錄。
然后,功能1254轉(zhuǎn)移到判決狀態(tài)1320,測(cè)試并確定K的值是否等于當(dāng)前位置服務(wù)區(qū)域的最大經(jīng)度窗口分量值。如果值不等,功能1254在狀態(tài)1322令K的值加一,并返回狀態(tài)1316,生成另一條記錄。如果判決狀態(tài)1320確定值相等,功能1254繼續(xù)轉(zhuǎn)移到判決狀態(tài)1324。在判決狀態(tài)1324,功能1254比較J的值與當(dāng)前位置服務(wù)區(qū)域的最大緯度窗口分量值。如果值不等,J的值在狀態(tài)1326加一,功能1254返回狀態(tài)1314,以開始一個(gè)新的外循環(huán)緯度值。如果判決狀態(tài)1324確定值相等,功能1254轉(zhuǎn)移到返回狀態(tài)1328,并返回處理1212的狀態(tài)1242(圖31)。
ⅩⅣ.實(shí)時(shí)處理創(chuàng)建服務(wù)位置清單的“呼叫期間處理”,其服務(wù)區(qū)域包括主叫提供的電話號(hào)碼位置圖35-38描述了創(chuàng)建一個(gè)服務(wù)位置清單的“呼叫期間處理”1220,其服務(wù)區(qū)域包括主叫提供的電話號(hào)碼位置。系統(tǒng)1200(圖30)執(zhí)行處理1220流程圖所示的處理流程。圖35提供了對(duì)處理1220的一般描述,該處理先前在圖29中介紹過(guò)。
現(xiàn)在參考圖35,處理1220從起始狀態(tài)1340開始,轉(zhuǎn)移到狀態(tài)1342,通過(guò)內(nèi)存訪問(wèn)主叫提供的電話號(hào)碼、DNIS以及主叫提供的電話號(hào)碼位置的緯度和經(jīng)度。緯度和經(jīng)度通過(guò)在主控電話號(hào)碼到緯度和經(jīng)度表1010(圖29)中查找主叫提供的電話號(hào)碼獲得。轉(zhuǎn)移到狀態(tài)1344,處理1220使用來(lái)自狀態(tài)1342的緯度和經(jīng)度,并確定包含主叫提供的電話號(hào)碼位置的lat/lon(緯度和經(jīng)度)窗口。該窗口使用下式確定Lat/Lon窗口=主叫緯度乘以10的整數(shù)部分的10,000倍加上主叫經(jīng)度乘以10的整數(shù)部分。例如,在40度的緯度上,lat/lon窗口由長(zhǎng)寬約為6.9英里和5.2英里的一個(gè)X、Y矩形代表。然后,處理1220動(dòng)用功能1346,建立初始的可能服務(wù)位置清單,其服務(wù)區(qū)域可能覆蓋主叫提供的電話號(hào)碼的lat/lon窗口。下文將根據(jù)圖36更詳細(xì)地描述功能1346。
完成功能1346之后,處理1220繼續(xù)在功能1348上處理可能服務(wù)位置清單中的所有服務(wù)位置記錄,并確定其服務(wù)區(qū)域是否覆蓋主叫提供的電話號(hào)碼位置。下文將根據(jù)圖37更詳細(xì)地描述功能1348。功能1348一經(jīng)完成,處理1220繼續(xù)轉(zhuǎn)移到狀態(tài)1349,如果K的值為2或更大,就按距離降序?qū)ψ罱K服務(wù)位置清單排序。K的值在功能1348(圖37)中確定,它代表在服務(wù)區(qū)域包括主叫提供的電話號(hào)碼位置的最終清單中的最終服務(wù)位置數(shù)目。如果K的值為零,處理1220產(chǎn)生一個(gè)標(biāo)志,指示沒有服務(wù)區(qū)域包括主叫提供的電話號(hào)碼位置的位置存在。當(dāng)然,如果K的值為一,就不需要排序。最后,清單創(chuàng)建處理1220在狀態(tài)1350結(jié)束。
現(xiàn)在參考圖36,描述原始服務(wù)區(qū)域清單功能1346。功能1346從起始狀態(tài)1351開始,轉(zhuǎn)移到狀態(tài)1352,打開與主叫DNIS對(duì)應(yīng)的客戶服務(wù)區(qū)域(lat/lon)窗口文件1216,并存儲(chǔ)主叫提供的電話號(hào)碼的lat/lon窗口(來(lái)自圖35的狀態(tài)1344)。然后,功能1346轉(zhuǎn)移到狀態(tài)1353,置K的值為一。轉(zhuǎn)移到狀態(tài)1354,功能1346跳至打開的客戶服務(wù)區(qū)域窗口文件1216中l(wèi)at/lon窗口值等于主叫提供的電話號(hào)碼lat/lon窗口值的第一條記錄起點(diǎn)。
功能1346繼續(xù)轉(zhuǎn)移到狀態(tài)1355,從客戶服務(wù)區(qū)域(lat/lon)窗口文件1216中讀取一條lat/lon窗口記錄。轉(zhuǎn)移到判決狀態(tài)1356,功能1346確定在狀態(tài)1345讀取的記錄中,lat/lon窗口值是否等于主叫提供的電話號(hào)碼的lat/lon窗口值。如果兩個(gè)值相等,功能1346轉(zhuǎn)移到狀態(tài)1358,在此,K的值加一。然后,功能1346轉(zhuǎn)移到狀態(tài)1359,把從客戶服務(wù)區(qū)域(lat/lon)窗口文件1216中讀取的當(dāng)前記錄的服務(wù)位置ID移入一個(gè)“可能服務(wù)位置清單”的第K個(gè)元素。然后,功能1346返回狀態(tài)1355,繼續(xù)從客戶服務(wù)區(qū)域窗口文件1216中讀取記錄。返回判決狀態(tài)1356,如果來(lái)自客戶服務(wù)區(qū)域窗口記錄和主叫提供的電話號(hào)碼的緯度和經(jīng)度窗口值不等,功能1346返回處理1220(圖35)的狀態(tài)1357。
現(xiàn)在參考圖37,描述主叫位置在服務(wù)區(qū)域端點(diǎn)內(nèi)的功能1348。功能1348從起始狀態(tài)1360開始,轉(zhuǎn)移到狀態(tài)1362,在此,打開與主叫DNIS對(duì)應(yīng)的客戶服務(wù)區(qū)域陣列文件1214和客戶服務(wù)位置文件109??蛻舴?wù)區(qū)域陣列文件1214可視為到客戶位置文件109的一個(gè)專用索引。在狀態(tài)1362,功能1346生成的可能服務(wù)位置清單在內(nèi)存中以用于功能1348。
然后,功能1348轉(zhuǎn)移到狀態(tài)1364,在此,置變量J的值等于一,變量K的值等于零。轉(zhuǎn)移到狀態(tài)1366,功能1348通過(guò)可能服務(wù)位置清單中位置(J)的ID值索引,從客戶服務(wù)區(qū)域陣列文件1214中讀取記錄。功能1348從服務(wù)區(qū)域陣列文件1214中獲得到客戶服務(wù)位置文件109的字節(jié)偏移以及服務(wù)位置的緯度和經(jīng)度端點(diǎn)。功能1348轉(zhuǎn)移到判決狀態(tài)1368及其后的判決狀態(tài)1370、1372和1374,以確定主叫提供的電話號(hào)碼緯度或經(jīng)度是否小于服務(wù)位置的服務(wù)區(qū)域最小緯度或經(jīng)度,或者大于服務(wù)位置的服務(wù)區(qū)域最大緯度或經(jīng)度。如果狀態(tài)1368、1370、1372或1374中的任何一次判決結(jié)果為“yes(是)”,主叫位置就在當(dāng)前服務(wù)位置的服務(wù)區(qū)域“之外”,功能1348轉(zhuǎn)移到狀態(tài)1388。在狀態(tài)1388,功能1348令J的值加一,然后返回狀態(tài)1366,跳至下一個(gè)服務(wù)位置。
另一方面,如果判決狀態(tài)1368、1370、1372和1374中的所有判決結(jié)果都是“no(否)”,功能1348就轉(zhuǎn)移到狀態(tài)1376,跳至服務(wù)位置文件109中的字節(jié)偏移處,讀取包含服務(wù)位置的服務(wù)區(qū)域詳細(xì)定義的服務(wù)位置記錄。該字節(jié)偏移用于在服務(wù)位置文件109中定位正確的記錄,它是在狀態(tài)1366讀取服務(wù)區(qū)域陣列文件1214時(shí)獲得的。
完成狀態(tài)1376之后,功能1348調(diào)用功能1380,以執(zhí)行“主叫在服務(wù)區(qū)域內(nèi)測(cè)試”。下文將根據(jù)圖38更詳細(xì)地描述功能1380。功能1380一經(jīng)完成,指示“之內(nèi)”或“之外”的一個(gè)返回標(biāo)志就被設(shè)置。如果返回標(biāo)志值是之外,功能1348就轉(zhuǎn)移到狀態(tài)1388,如上所述,J的值加一。如果返回標(biāo)志值是之內(nèi),功能1348就轉(zhuǎn)移到狀態(tài)1382,K的值加一。轉(zhuǎn)移到狀態(tài)1384,功能1348把當(dāng)前的服務(wù)位置ID或電話號(hào)碼(從服務(wù)位置文件109獲得)和所計(jì)算得到的距離移入最終服務(wù)位置清單的第K個(gè)位置。轉(zhuǎn)移到狀態(tài)1386,功能1348測(cè)試并確定是否已計(jì)算完可能清單中的所有位置。如果沒有,功能1348轉(zhuǎn)移到狀態(tài)1388,將J的值加一,然后轉(zhuǎn)移到狀態(tài)1366。如果判決狀態(tài)1386確定已計(jì)算完可能清單中的所有位置,功能1348就已經(jīng)建立起所有服務(wù)位置的最終清單,其服務(wù)區(qū)域包括主叫提供的電話號(hào)碼位置。功能1384就轉(zhuǎn)移到返回狀態(tài)1390,從那里返回處理1220中的狀態(tài)1349(圖35)。
現(xiàn)在參考圖38,描述主叫在服務(wù)區(qū)域內(nèi)的測(cè)試功能1380。功能1380從起始狀態(tài)1402開始,轉(zhuǎn)移到狀態(tài)1404,在此,確定當(dāng)前服務(wù)位置是一個(gè)半徑還是多邊形定義的服務(wù)區(qū)域。該信息是之前從客戶服務(wù)位置文件109中提取的。
如果在判決狀態(tài)1404確定服務(wù)區(qū)域是半徑定義的,功能1380就轉(zhuǎn)移到狀態(tài)1426,在此,計(jì)算從主叫提供的電話號(hào)碼到服務(wù)位置的距離平方。用距離的平方代替距離是為了節(jié)省把一個(gè)數(shù)開平方需要的時(shí)間。
之后,功能1380的半徑分支(狀態(tài)1404確定)轉(zhuǎn)移到判決狀態(tài)1428,以確定當(dāng)前服務(wù)區(qū)域是否是半徑定義的。由于對(duì)于半徑分支來(lái)說(shuō)這一點(diǎn)為真,功能1380就轉(zhuǎn)移到判決狀態(tài)1430,比較狀態(tài)1426算出的距離平方與服務(wù)位置的服務(wù)區(qū)域半徑平方。服務(wù)位置的半徑從服務(wù)位置文件109中獲得。如果判決狀態(tài)1430確定距離平方大于半徑平方,功能1380在返回狀態(tài)1424置返回標(biāo)志值為“outside(之外)”,并返回功能1348(圖37)。但是,如果判決狀態(tài)1430確定距離平方不大于半徑平方,功能1380就在返回狀態(tài)1432置返回標(biāo)志值為“inside(之內(nèi))”,并返回功能1348(圖37)。
返回圖38的判決狀態(tài)1404,如果確定服務(wù)區(qū)域是多邊形定義的,功能1380轉(zhuǎn)移到狀態(tài)1406。功能1380的多邊形分支部分與用于雙表系統(tǒng)客戶表創(chuàng)建處理的多邊形部分的功能930(圖21)處理基本相同。在狀態(tài)1406,功能1380計(jì)算用于主叫提供的電話號(hào)碼的位置的一個(gè)整數(shù)相對(duì)緯度值。主叫提供的電話號(hào)碼緯度被轉(zhuǎn)換成可以與線路索引文件中的服務(wù)區(qū)域緯度進(jìn)行比較的形式,線路索引文件將在下文描述。之后,功能1380轉(zhuǎn)移到狀態(tài)1408,對(duì)主叫提供的電話號(hào)碼經(jīng)度進(jìn)行狀態(tài)1406對(duì)緯度所作的相同轉(zhuǎn)換。在狀態(tài)1408完成經(jīng)度轉(zhuǎn)換之后,功能1380轉(zhuǎn)移到狀態(tài)1410,在此,置變量“count”的值等于零。
轉(zhuǎn)移到狀態(tài)1412,功能1380得到線路索引文件。線路索引文件由雙表系統(tǒng)中多邊形服務(wù)區(qū)域創(chuàng)建處理所用的功能618生成。圖19a和19b中詳細(xì)地描述了功能618。在以上狀態(tài)1412生成線路索引文件、或讀取了存儲(chǔ)在客戶位置文件109增強(qiáng)版(例如客戶位置文件1140(圖29所示)中的線路索引文件預(yù)建版)之后,功能1380轉(zhuǎn)移到狀態(tài)1414,從線路索引文件中讀取第一條記錄。
轉(zhuǎn)移到判決狀態(tài)1416,功能1380測(cè)試從線路索引文件讀取的轉(zhuǎn)換后緯度點(diǎn)是否大于主叫提供的電話號(hào)碼位置的轉(zhuǎn)換后緯度點(diǎn)(來(lái)自狀態(tài)1406)。如果判決狀態(tài)1416的結(jié)果為“no(否)”,功能1380轉(zhuǎn)移到判決狀態(tài)1418,測(cè)試并確定從線路索引文件讀取的轉(zhuǎn)換后經(jīng)度點(diǎn)是否小于主叫提供的電話號(hào)碼位置的轉(zhuǎn)換后經(jīng)度點(diǎn)(來(lái)自狀態(tài)1408)。如果判決狀態(tài)1418的結(jié)果為“no(否)”,功能1380返回到狀態(tài)1414,從線路索引文件中讀取下一條記錄。如果判決狀態(tài)1418的結(jié)果為“yes(是)”,功能1380轉(zhuǎn)移到狀態(tài)1420,變量“count(計(jì)數(shù))”的值加一,然后返回狀態(tài)1414。
另一方面,如果判決狀態(tài)1416的結(jié)果為“yes”,功能1380轉(zhuǎn)移到判決狀態(tài)1422,確定狀態(tài)1420中列出的變量“count”值是偶數(shù)還是奇數(shù)。如果結(jié)果是“even(偶數(shù))”,功能1380在返回狀態(tài)1424置返回標(biāo)志值為“outside”,并返回功能1348的狀態(tài)1388(圖37)。如果圖38中判決狀態(tài)1422的結(jié)果是“奇數(shù)”(主叫提供的電話號(hào)碼位置在當(dāng)前服務(wù)區(qū)域內(nèi)),功能1380轉(zhuǎn)移到狀態(tài)1426,計(jì)算主叫提供的電話號(hào)碼位置與當(dāng)前服務(wù)位置之間的距離平方。之后,功能1380的多邊形分支通過(guò)判決狀態(tài)1428,沿“no”分支達(dá)到返回狀態(tài)1432。在狀態(tài)1432,功能1380置返回標(biāo)志值為“inside”,并返回功能1348的狀態(tài)1382(圖37)。
ⅩⅤ.實(shí)時(shí)處理系統(tǒng)實(shí)例下面參考圖39(結(jié)合圖30),描述系統(tǒng)級(jí)的實(shí)時(shí)呼叫進(jìn)程處理1450。實(shí)時(shí)處理系統(tǒng)1200執(zhí)行實(shí)時(shí)呼叫進(jìn)程處理1450流程圖所示的處理流程。該處理通過(guò)使用實(shí)時(shí)判斷,向客戶的目的服務(wù)位置傳送主叫的電話呼叫。處理1450使用根據(jù)圖30描述的實(shí)時(shí)處理系統(tǒng)1200的網(wǎng)絡(luò)配置。
在圖39中,實(shí)時(shí)處理1450的開始狀態(tài)(110到118、1451)類似于單表系統(tǒng)處理1160(圖28)中的初始狀態(tài)(110到118、1162)。另外,實(shí)時(shí)判斷處理1450的最后狀態(tài)(1464到150)類似于單表系統(tǒng)處理1160中的結(jié)束狀態(tài)(1168到150)。因?yàn)閱伪硐到y(tǒng)實(shí)例中已描述了這些類似狀態(tài),所以下文將只描述狀態(tài)1452到1462。
在圖39中的狀態(tài)1452,處理1450在主控電話號(hào)碼到緯度和經(jīng)度表l010中查找用于主叫提供的電話號(hào)碼位置的緯度和經(jīng)度。轉(zhuǎn)移到判決狀態(tài)126,處理1450確定在主控表1010內(nèi)查找主叫提供的電話號(hào)碼是否成功。如果沒有,正如前面根據(jù)圖1c在狀態(tài)128的描述,處理1450轉(zhuǎn)移到用于不可傳送呼叫異常處理的狀態(tài)128。如果判決狀態(tài)126確定主叫提供的電話號(hào)碼在主控表1010中,處理1450轉(zhuǎn)移到判決狀態(tài)1454,確定在狀態(tài)1452是否提取出一個(gè)緯度和經(jīng)度。如果沒有提取出緯度和經(jīng)度,處理1450轉(zhuǎn)移到如上所述、用于不可傳送呼叫異常處理的狀態(tài)128。如果在狀態(tài)1452提取出一個(gè)緯度和經(jīng)度,處理1450在信息分組1456中將其提供給處理模塊1220。
可以在傳送處理器1150(圖30)上運(yùn)行的處理模塊1220已根據(jù)圖29作過(guò)大致描述,并且還根據(jù)圖35到38進(jìn)行詳細(xì)描述??傊幚?220把所提取的與主叫提供的電話號(hào)碼位置對(duì)應(yīng)的緯度和經(jīng)度轉(zhuǎn)換成了一個(gè)lat/lon窗口關(guān)鍵字。然后,它使用這一關(guān)鍵字從一個(gè)DNIS相關(guān)客戶服務(wù)區(qū)域窗口文件1216(圖29和30,但是圖39未示出)中提取一個(gè)可能服務(wù)位置電話號(hào)碼或ID清單。處理1220使用這些提取出的服務(wù)位置ID,從一個(gè)DNIS相關(guān)客戶服務(wù)區(qū)域陣列文件1214(圖29和30,但是圖39未示出)中提取字節(jié)偏移以及服務(wù)區(qū)域緯度和經(jīng)度的最小值及最大值。對(duì)于主叫提供的電話號(hào)碼緯度和經(jīng)度落在通過(guò)服務(wù)位置的最小和最大緯度及經(jīng)度定義的矩形邊界內(nèi)的每個(gè)可能服務(wù)位置,處理1220使用字節(jié)偏移從DNIS相關(guān)服務(wù)位置文件109中提取關(guān)于該服務(wù)位置之服務(wù)區(qū)域的詳細(xì)定義。經(jīng)過(guò)索引后的每個(gè)文件109將如同若干表1140(圖30)中的一個(gè)所示。軟件選擇器根據(jù)DNIS從一組服務(wù)位置文件109中選擇一個(gè)。然后,處理1220進(jìn)行一次精確的“服務(wù)區(qū)域內(nèi)”測(cè)試,并創(chuàng)建通過(guò)距離(從主叫提供的電話號(hào)碼位置到服務(wù)位置)排序的服務(wù)位置ID或電話號(hào)碼的最終清單。最終清單還如圖29的清單1222所示。
轉(zhuǎn)移到狀態(tài)1462,處理1450確定來(lái)自狀態(tài)1460的清單是否包含任何記錄。如果該清單為空,即不包含記錄,處理1450就轉(zhuǎn)移到用于不可傳送呼叫異常處理的狀態(tài)128,或者如果該清單包括一條或多條記錄,處理1450就轉(zhuǎn)移到狀態(tài)1464。因?yàn)閳D39中的狀態(tài)1464到150類似于圖28中已為處理1160描述過(guò)的狀態(tài)1168到150,所以這里不再重復(fù)對(duì)處理1450末尾剩余狀態(tài)的描述。
ⅩⅥ.帶有移動(dòng)電話的實(shí)時(shí)處理下面參考圖40(結(jié)合圖30),描述可支持移動(dòng)電話的系統(tǒng)級(jí)實(shí)時(shí)呼叫進(jìn)程處理1500。實(shí)時(shí)處理系統(tǒng)1200執(zhí)行實(shí)時(shí)呼叫進(jìn)程處理1500流程圖所示的處理流程。處理1500通過(guò)使用實(shí)時(shí)判斷向客戶的目的服務(wù)位置傳送可能發(fā)自一部移動(dòng)電話的主叫電話呼叫。就本文而言,移動(dòng)電話指沒有時(shí)間上固定位置的電話。移動(dòng)電話可以是任何類型的電話,包括蜂窩電話、個(gè)人通信系統(tǒng)(PCS)電話、衛(wèi)星電話、海事電話和便攜式仿真終端,但不局限于這些電話。例如一臺(tái)計(jì)算機(jī),諸如個(gè)人數(shù)字助理(PDA)或其他便攜式計(jì)算機(jī),可以配上麥克風(fēng)和揚(yáng)聲器或頭戴式送受話器以及電話仿真軟件,例如Microsoft Phone,并通過(guò)一個(gè)無(wú)線調(diào)制解調(diào)器與電話網(wǎng)連接。處理1500使用根據(jù)圖30描述的實(shí)時(shí)處理系統(tǒng)1200的網(wǎng)絡(luò)配置。
在實(shí)時(shí)處理系統(tǒng)1200的一個(gè)實(shí)施例中,電話網(wǎng)按預(yù)定時(shí)間間隔提供一個(gè)主叫電話位置的空間坐標(biāo)。因此,在任何特定的時(shí)刻上,可以獲得主叫電話的瞬時(shí)位置。當(dāng)然,由于主叫可能以每小時(shí)65英里的速度運(yùn)動(dòng),例如主叫位置迅速變化時(shí),因此瞬時(shí)位置可以認(rèn)為是對(duì)主叫電話位置的一個(gè)良好估計(jì)。
正如前面提到的,本發(fā)明提供了一種方法,用于根據(jù)包括郵政地理區(qū)域、普查地理區(qū)域、通信地理區(qū)域、專用網(wǎng)格坐標(biāo)地理區(qū)域和傳統(tǒng)地理區(qū)域在內(nèi)的任何地理區(qū)域定義傳送電話呼叫。取決于系統(tǒng)1200所用的地理區(qū)域類型,可以使用各種坐標(biāo)系統(tǒng)。主叫空間坐標(biāo)可以是諸如郵政zip+4代碼之類的單個(gè)號(hào)碼,不過(guò)一些其他較小的地理區(qū)域也能具有唯一的空間坐標(biāo),例如zip+6代碼區(qū)域、普查街區(qū)、或極小的緯度/經(jīng)度網(wǎng)格、矩形、窗口或方格。另外,主叫空間坐標(biāo)可以是一個(gè)數(shù)對(duì),例如緯度和經(jīng)度或V&H、極角和半徑矢量、甚至另一種識(shí)別主叫瞬時(shí)位置的方式。其他可能的主叫空間坐標(biāo)系統(tǒng)包括軍用坐標(biāo)和國(guó)家平面坐標(biāo)。
當(dāng)從電話網(wǎng)中獲取移動(dòng)電話的空間坐標(biāo)時(shí),與處理1450(圖39)相比,處理1500就已經(jīng)簡(jiǎn)化了。有幾個(gè)步驟(狀態(tài)1451、1452、126和1454)不需要執(zhí)行,這時(shí)也不使用主控表1010。
在圖40中,實(shí)時(shí)處理1500的狀態(tài)110、112、1451、1452、126、128、1454、1460-1464和144-154類似于實(shí)時(shí)處理1450(圖39)中的對(duì)應(yīng)狀態(tài)(110、112、1451、1452、126、128、1454、1460-1464和144-154)。因?yàn)橐言谇懊鎸?shí)時(shí)處理1450實(shí)例中描述過(guò)這些類似狀態(tài),所以下文將只描述狀態(tài)1502到1510。
在圖40中的狀態(tài)1502,處理1500從呼叫譯碼硬件模塊112中獲得一個(gè)信息分組。在發(fā)明的一個(gè)實(shí)施例中,該信息分組包含一個(gè)主叫電話號(hào)碼和一個(gè)所撥電話號(hào)碼,而在另一個(gè)實(shí)施例中,信息分組包含所撥電話號(hào)碼和一個(gè)主叫電話的瞬時(shí)空間坐標(biāo)。還有一個(gè)發(fā)明的實(shí)施例中,該信息分組可以包含所有的三個(gè)數(shù)據(jù)項(xiàng)。轉(zhuǎn)移到判決狀態(tài)116,處理1500確定呼叫應(yīng)用是否需要可選的主叫輸入。如果不需要,處理1500轉(zhuǎn)移到判決狀態(tài)1504。但是,如果判決狀態(tài)116確定主叫應(yīng)用需要可選的主叫輸入,處理1500轉(zhuǎn)移到狀態(tài)118,在此,主叫提供另一個(gè)人或公司的電話號(hào)碼,該號(hào)碼對(duì)應(yīng)的位置通常不同于主叫對(duì)應(yīng)的位置。新電話號(hào)碼的輸入可以通過(guò)主叫使用例如按鍵式電話上的DTMF鍵盤,通過(guò)計(jì)算機(jī)或其他可以產(chǎn)生按鍵音的設(shè)備,或者通過(guò)向接口盒1130(圖30)傳遞語(yǔ)音信息來(lái)實(shí)現(xiàn)。狀態(tài)118還要針對(duì)Bellcore NPANXX分裂文件1136(圖30)與合法及移動(dòng)電話號(hào)碼文件1138(圖30)檢查主叫提供的電話號(hào)碼,并在主叫提供的號(hào)碼非法時(shí)提示主叫輸入另一個(gè)電話號(hào)碼。
一旦確定輸入的電話號(hào)碼合法,或者主叫經(jīng)過(guò)客戶指定次數(shù)的輸入后產(chǎn)生的號(hào)碼仍然非的,處理1500轉(zhuǎn)移到判決狀態(tài)1504,確定是否從電話網(wǎng)獲得了一個(gè)主叫空間坐標(biāo),以及狀態(tài)118沒有提供可選的主叫輸入。如果是,處理1500在實(shí)時(shí)處理模塊1510中繼續(xù),在信息分組1506中提供主叫的空間坐標(biāo)。在系統(tǒng)1200的一個(gè)實(shí)施例中,主叫空間坐標(biāo)是一個(gè)緯度和經(jīng)度對(duì)。
在一個(gè)實(shí)施例中,模塊1510基本上類似于模塊1220,后者已根據(jù)圖29進(jìn)行過(guò)大致描述,并根據(jù)圖35到38進(jìn)行過(guò)詳細(xì)描述??傊?,模塊1220把主叫空間坐標(biāo)(例如與主叫電話位置對(duì)應(yīng)的緯度和經(jīng)度(來(lái)自信息分組1502))轉(zhuǎn)換成了一個(gè)lat/lon窗口關(guān)鍵字。然后,它使用這一關(guān)鍵字從一個(gè)DNIS相關(guān)客戶服務(wù)區(qū)域窗口文件1216(圖29和30,但是圖40未示出)中提取一個(gè)或多個(gè)可能服務(wù)位置電話號(hào)碼或ID的清單。模塊1220使用這些提取出的服務(wù)位置ID,從一個(gè)DNIS相關(guān)客戶服務(wù)區(qū)域陣列文件1214(圖29和30,但是圖40未示出)中提取字節(jié)偏移以及服務(wù)區(qū)域緯度和經(jīng)度的最小值及最大值。對(duì)于主叫電話的緯度和經(jīng)度落在通過(guò)服務(wù)位置的最小和最大緯度及經(jīng)度定義的矩形邊界內(nèi)的每個(gè)可能服務(wù)位置,模塊1220使用字節(jié)偏移從DNIS相關(guān)服務(wù)位置文件109中提取關(guān)于該服務(wù)位置之服務(wù)區(qū)域的詳細(xì)定義。然后,模塊1220進(jìn)行一次精確的“服務(wù)區(qū)域內(nèi)”測(cè)試,并創(chuàng)建通過(guò)距離(從主叫提供的電話號(hào)碼位置到服務(wù)位置)排序的服務(wù)位置ID或電話號(hào)碼的最終清單。最終清單還如圖29的清單1222所示。
在實(shí)時(shí)處理模塊1510的另一個(gè)實(shí)施例中,使用的是一個(gè)主叫空間坐標(biāo),而不是緯度和經(jīng)度。模塊1510及圖29所示文件要根據(jù)使用坐標(biāo)系統(tǒng)作出修改。
返回圖40的狀態(tài)1504,如果沒有從電話網(wǎng)獲得主叫空間坐標(biāo),或者在狀態(tài)118接收到可選的主叫輸入,處理1500轉(zhuǎn)移到前面所述的判決狀態(tài)1451。例如,如果主叫從車輛上的一部蜂窩電話發(fā)出一次電話呼叫并輸入家里的電話號(hào)碼,以便把比薩餅送到主叫家中,處理1500就會(huì)轉(zhuǎn)移到狀態(tài)1451。在另一個(gè)例子中,如果主叫使用一部移動(dòng)電話預(yù)定距離車輛最近位置的比薩餅,以便在比薩餅餐館用晚餐或取走,處理將帶著分組1506的坐標(biāo)信息,直接從判決狀態(tài)1504轉(zhuǎn)移到模塊1510。
在處理1500的另一個(gè)實(shí)施例中,正如前面根據(jù)圖27和30所作的描述,可以不連接主叫與服務(wù)位置,而是向主叫提供關(guān)于服務(wù)位置的信息。這些信息可以包括以下內(nèi)容例如服務(wù)位置電話號(hào)碼、營(yíng)業(yè)日期和小時(shí)、名稱、地址和微區(qū)域方向、時(shí)區(qū)、夏令時(shí)標(biāo)志等等。
ⅩⅦ.其他移動(dòng)電話實(shí)施例移動(dòng)電話可用于自動(dòng)呼叫處理系統(tǒng)的其他實(shí)施例。這些實(shí)施例可以包括在帶有一個(gè)可選主控表的雙表系統(tǒng)中和帶有一個(gè)可選客戶表的單表系統(tǒng)中使用移動(dòng)電話。
在雙表系統(tǒng)中,一個(gè)確定器功能或坐標(biāo)到空間關(guān)鍵字模塊接收與主叫瞬時(shí)位置對(duì)應(yīng)的空間坐標(biāo)。如上所述,空間關(guān)鍵字可以是各種類型的,例如一個(gè)zip+4代碼。然后使用所確定的空間關(guān)鍵字訪問(wèn)若干客戶表中的一個(gè),如上所述,該客戶表是根據(jù)所撥電話號(hào)碼選擇的。
在一個(gè)實(shí)施例中,坐標(biāo)到空間關(guān)鍵字模塊可以包括一個(gè)主叫空間坐標(biāo)到窗口代碼功能。然后使用窗口代碼訪問(wèn)一個(gè)可選主控表,該表中的每條記錄包括窗口碼和一個(gè)對(duì)應(yīng)的空間關(guān)鍵字。例如,主叫空間坐標(biāo)可以是由電話網(wǎng)提供的一個(gè)緯度和經(jīng)度。如果主叫空間坐標(biāo)是緯度和經(jīng)度,主叫空間坐標(biāo)到窗口代碼功能用100乘以以度為單位的緯度,取乘積的整數(shù)部分(INT),再用100,000乘以整數(shù)部分,然后加上以度為單位的經(jīng)度與100的乘積。在一個(gè)實(shí)施例中,結(jié)果是一個(gè)九位窗口代碼。如果系統(tǒng)的其他實(shí)施例中提供了其他主叫空間坐標(biāo),主叫空間坐標(biāo)到窗口代碼功能要根據(jù)坐標(biāo)類型進(jìn)行修改。
在一個(gè)實(shí)施例中,可選主控表通過(guò)使用GDT或采用數(shù)字化郵區(qū)代碼邊界的郵政局Zip+4緯度和經(jīng)度重心文件100產(chǎn)生?;驹硎前训厍騽澐殖砂俜种?0.01°)緯度和經(jīng)度的矩形,例如,該矩形在40°緯度處的長(zhǎng)寬約為0.7英里和0.5英里,然后列出覆蓋每個(gè)矩形的所有zip+4代碼。例如,這種大小的一個(gè)矩形可以包含郊區(qū)的一個(gè)zip+4代碼,中等居住密度城市附近的二十個(gè)zip+4代碼,或是大城市高密度市區(qū)的二百個(gè)zip+4代碼。
可選的主控表通過(guò)以下處理生成從超過(guò)28,000,000條記錄的Zip+4重心文件100中讀取每條記錄,并寫下包含一個(gè)緯度和經(jīng)度(lat/lon)窗口代碼及一個(gè)zip+4代碼的對(duì)應(yīng)記錄。lat/lon窗口代碼字段通過(guò)以下計(jì)算產(chǎn)生以度為單位的緯度(來(lái)自Zip+4重心文件100)乘以100,取乘積的整數(shù)部分(INT),再用100,000乘以整數(shù)部分,然后加上以度為單位的經(jīng)度與100的乘積。
例如,如果輸入的zip+4記錄是920141909,緯度是北緯32.9862,經(jīng)度是西經(jīng)117.2522,輸出的可選主控表記錄中,lat/lon窗口代碼應(yīng)該是329811725,郵區(qū)代碼是920141909。向一個(gè)初始或臨時(shí)文件(未示出)寫入所有記錄之后,根據(jù)lat/lon窗口代碼值或與zip+4代碼對(duì)應(yīng)的關(guān)鍵字對(duì)文件排序,并刪除重復(fù)記錄。這樣就寫入了最終可選主控表,其中每條記錄由lat/lon窗口關(guān)鍵字和對(duì)應(yīng)的zip+4代碼組成。
可選主控表可以有與某個(gè)lat/lon窗口對(duì)應(yīng)的多個(gè)zip+4代碼存在,它們是可選主控表中具有同一lat/lon窗口(但是zip+4代碼不同)的多條記錄。可選主控表的這種狀態(tài)為客戶傳送電話呼叫提供了靈活性。如上所述的一個(gè)lat/lon窗口可以包括一個(gè)以上的服務(wù)區(qū)域(每個(gè)區(qū)域有自己的服務(wù)位置和對(duì)應(yīng)的電話號(hào)碼)的部分,特別是在某個(gè)客戶使用重疊服務(wù)區(qū)域的時(shí)候。在系統(tǒng)的一個(gè)實(shí)施例中,如果一個(gè)以上的服務(wù)區(qū)域和一個(gè)lat/lon窗口相對(duì)應(yīng),系統(tǒng)軟件通過(guò)幾種可能方案中的一種來(lái)為服務(wù)位置選擇一個(gè)服務(wù)區(qū)域和對(duì)應(yīng)的電話號(hào)碼。例如,一種方案可以按循環(huán)的方式來(lái)分配電話呼叫,例如從為某個(gè)lat/lon窗口服務(wù)的位置中選擇近來(lái)被呼叫次數(shù)最少的位置。另一種方案可以使用呼叫業(yè)務(wù)量信息在為某個(gè)lat/lon窗口服務(wù)的服務(wù)位置之間均衡呼叫量。還有一種方案首先確定哪個(gè)呼叫位置在呼叫進(jìn)行期間營(yíng)業(yè),然后使用前面的某種方案或其他方案分配呼叫。
在系統(tǒng)的另一個(gè)實(shí)施例中,通過(guò)選擇一個(gè)zip+4代碼來(lái)代表lat/lon窗口,進(jìn)一步處理可選主控表中的每個(gè)lat/lon窗口。這種進(jìn)一步的處理能為可選主控表提供有效性、更快速的呼叫傳送以及降低存儲(chǔ)要求。對(duì)每個(gè)lat/lon窗口的進(jìn)一步表處理涉及幾個(gè)步驟。首先,例如通過(guò)確定連接窗口對(duì)角頂點(diǎn)的兩條對(duì)角線的交點(diǎn)來(lái)計(jì)算lat/lon窗口的中心。之后,使用用于某個(gè)lat/lon窗口的每個(gè)zip+4代碼的重心(可從Zip+4重心文件獲得),計(jì)算從lat/lon窗口中心到每個(gè)重心的距離。前面根據(jù)圖10的狀態(tài)430描述過(guò)這種類型的距離計(jì)算。然后選擇保留可選主控表中距離最短的zip+4代碼,并刪除用于同一窗口的其他zip+4代碼記錄。然后對(duì)可選主控表中的每個(gè)lat/lon窗口重復(fù)這些步驟。當(dāng)完成這些步驟時(shí),經(jīng)過(guò)進(jìn)一步處理的可選主控表中對(duì)于每個(gè)lat/lon窗口只有一條記錄,該記錄包括窗口中最核心的zip+4代碼。
在工作時(shí),具有移動(dòng)電話能力的雙表系統(tǒng)從電話網(wǎng)接收主叫空間坐標(biāo),例如緯度和經(jīng)度。該坐標(biāo)被轉(zhuǎn)換成如上所述的一個(gè)窗口代碼。窗口代碼用于訪問(wèn)可選主控表,以便從表中獲得一個(gè)空間關(guān)鍵字,例如zip+4代碼。然后根據(jù)所撥電話號(hào)碼,使用空間關(guān)鍵字訪問(wèn)一個(gè)客戶表106(圖1),以獲得一個(gè)客戶服務(wù)位置電話號(hào)碼或客戶服務(wù)位置ID。
在單表系統(tǒng)中,使用與圖23所示和描述相同的處理來(lái)合并上述可選主控表和一個(gè)客戶表106(圖1)。主控表和排序后的主控表使用一個(gè)窗口代碼字段取代了電話號(hào)碼字段,從而產(chǎn)生一個(gè)窗口代碼到客戶電話號(hào)碼表。在工作時(shí),具有移動(dòng)電話能力的單表系統(tǒng)從電話網(wǎng)接收主叫空間坐標(biāo),例如緯度和經(jīng)度。該坐標(biāo)被轉(zhuǎn)換成如上所述的一個(gè)窗口代碼。窗口代碼用于訪問(wèn)一個(gè)窗口代碼到客戶電話號(hào)碼表,以獲得一個(gè)客戶服務(wù)位置電話號(hào)碼或客戶服務(wù)位置ID。系統(tǒng)根據(jù)所撥電話號(hào)碼選擇若干窗口代碼到客戶電話號(hào)碼表中的一個(gè)。
在一個(gè)三表系統(tǒng)中,或與單表系統(tǒng)中的一個(gè)輔助表一起使用時(shí),被提取的客戶服務(wù)位置ID被用于索引第三個(gè)表或輔助表,以提供客戶服務(wù)位置信息,例如前面提到的內(nèi)容??梢詾橹鹘刑峁┦章犓峁┑目蛻舴?wù)位置信息或向客戶服務(wù)位置傳送呼叫的選擇。
ⅩⅧ.總結(jié)本發(fā)明使用電話號(hào)碼作為到一個(gè)表的索引,該表包含一個(gè)國(guó)家到小地理區(qū)域或點(diǎn)的劃分,例如郵政業(yè)務(wù)zip+4代碼、緯度和經(jīng)度等等。這些劃分進(jìn)一步用于訪問(wèn)可能在國(guó)內(nèi)任何地方的若干服務(wù)位置中的一個(gè)。
本發(fā)明的自動(dòng)電話傳送系統(tǒng)能通過(guò)在沒有任何人為干預(yù)的情況下傳送撥至單個(gè)國(guó)內(nèi)電話號(hào)碼的絕大部分呼叫來(lái)降低成本,并具有為客戶提供單個(gè)、易記憶、免去長(zhǎng)途或普通話費(fèi)的國(guó)內(nèi)電話號(hào)碼的市場(chǎng)競(jìng)爭(zhēng)優(yōu)勢(shì)。通過(guò)使用與zip+4代碼對(duì)應(yīng)的主叫和被叫電話號(hào)碼所有的十位數(shù)字或用于這些號(hào)碼所在位置的緯度和經(jīng)度,該系統(tǒng)還能提供地理上非常精確的結(jié)果。自動(dòng)傳送系統(tǒng)能為一個(gè)公司提供在不同類型的服務(wù)位置的服務(wù)區(qū)域定義之間進(jìn)行選擇的能力。優(yōu)選地,客戶可以把每個(gè)位置的服務(wù)區(qū)域定義為任意大小的半徑的一個(gè)區(qū)域或任意大小和形狀的一個(gè)多邊形??蛻艨梢曰煊冒霃胶投噙呅味x,也可以使服務(wù)區(qū)域重疊或不重疊。
該系統(tǒng)在定義如何選擇選擇某個(gè)客戶位置終接呼叫方面具有一定的靈活性??蛻裟軌蛑付ㄟB接在某個(gè)位置的任何預(yù)定距離(到十分之一英里)半徑內(nèi)的主叫;或連接距離主叫最近的客戶服務(wù)位置;或連接在某個(gè)客戶位置的預(yù)定多邊形內(nèi)的主叫,其中多邊形邊長(zhǎng)可以是任意長(zhǎng)度。多邊形區(qū)域可以代表一個(gè)專用區(qū)域,如果區(qū)域是非專用的,也可以與其他多邊形或其他客戶位置的半徑區(qū)域重疊。另外,如果需要的話,每個(gè)客戶位置可以具有不同的區(qū)域類型、不同的半徑或長(zhǎng)寬。在非專用多邊形或半徑類型區(qū)域中,靈活性得到加強(qiáng),這時(shí)可以在該區(qū)域內(nèi)的多個(gè)位置中進(jìn)行隨機(jī)或加權(quán)選擇。
本發(fā)明提供了一種傳送呼叫的方法,該呼叫始發(fā)于所有公開和未公開的電話號(hào)碼,包括未列出的號(hào)碼、第二條未公開的公司線路、移動(dòng)電話和公共付費(fèi)電話。本發(fā)明還提供了一種方法,通過(guò)把用戶的呼叫準(zhǔn)確地傳送到正確的指定特許區(qū)域內(nèi),能合法地實(shí)現(xiàn)與經(jīng)銷商和總經(jīng)銷商之間達(dá)成協(xié)議的特許區(qū)域定義相一致。另外,本發(fā)明提供了一種方法,根據(jù)包括郵政地理區(qū)域、普查地理區(qū)域、通信地理區(qū)域、專用網(wǎng)格坐標(biāo)地理區(qū)域和所有傳統(tǒng)地理區(qū)域在內(nèi)的任何地理區(qū)域定義,準(zhǔn)確地傳送電話呼叫。
本發(fā)明提供了一種方法,用于自動(dòng)傳送和處理不滿足預(yù)置客戶協(xié)議的用戶呼叫。這種“異常處理”過(guò)程向一個(gè)執(zhí)行預(yù)置異常處理協(xié)議的“實(shí)際”操作員傳送呼叫。本發(fā)明還提供了一種方法,用于把不相關(guān)的地理信息系統(tǒng)和數(shù)據(jù)庫(kù)技術(shù)、通信系統(tǒng)和數(shù)據(jù)庫(kù)技術(shù)、郵政系統(tǒng)和數(shù)據(jù)庫(kù)技術(shù)、以及計(jì)算機(jī)技術(shù)集成為一種公共應(yīng)用驅(qū)動(dòng)的結(jié)構(gòu)。另外,本發(fā)明提供了一種方法,用于自動(dòng)和獨(dú)立地更新客戶和主控表,并在呼叫處理期間動(dòng)態(tài)和瞬時(shí)地鏈接這兩個(gè)表。而且,本發(fā)明還提供了一種方法,用于使處理由用戶使用用戶接口輸入的信息的過(guò)程自動(dòng)化,該處理過(guò)程自動(dòng)向用戶要求的目的地傳送電話呼叫。
雙表系統(tǒng)提供了一個(gè)可更新并支持多個(gè)客戶的主控表(電話號(hào)碼到空間關(guān)鍵字),其中每個(gè)客戶表的更新獨(dú)立于其他客戶表和主控表。當(dāng)客戶表包含作為服務(wù)位置ID的服務(wù)位置電話號(hào)碼時(shí),就每秒可與一個(gè)服務(wù)位置連接的呼叫數(shù)來(lái)說(shuō),這種設(shè)計(jì)能最大限度地提高事務(wù)處理容量。
雙表系統(tǒng)是基于所撥號(hào)碼的一種傳送內(nèi)核的實(shí)施例,它能有效地確定哪些具有任意大小和形狀的在地理上定義的客戶服務(wù)區(qū)域包含主叫或主叫提供的電話號(hào)碼位置,并確定從主叫位置到每個(gè)服務(wù)位置的距離和方向。
傳送內(nèi)核的另一種實(shí)施例,即單表系統(tǒng),提供了與雙表系統(tǒng)相同的許多特性,另外它還能更快地傳送呼叫。因?yàn)樗恍枰淮未疟P查找來(lái)確定服務(wù)位置的電話號(hào)碼,單表系統(tǒng)在呼叫傳送處理期間是最快的。從網(wǎng)絡(luò)的角度來(lái)說(shuō),由于它的只具有一個(gè)表的簡(jiǎn)單性,它最容易在通信網(wǎng)中實(shí)施。
傳送內(nèi)核還有一種實(shí)施例,即實(shí)時(shí)處理系統(tǒng),是最容易更新和需要存儲(chǔ)量最小的實(shí)施例。主叫或主叫提供的電話號(hào)碼與客戶服務(wù)位置之間的空間關(guān)系可在呼叫進(jìn)行時(shí)確定。帶有緯度和經(jīng)度的電話號(hào)碼主控表以及每個(gè)客戶服務(wù)位置文件可以被獨(dú)立保存,并能駐留在不同的機(jī)器上。該系統(tǒng)是流線型的,如果在終接交換機(jī)的信息分組中收到了主叫空間坐標(biāo),就不需要進(jìn)行主控表查找。當(dāng)主叫從一部移動(dòng)電話發(fā)出呼叫時(shí),會(huì)出現(xiàn)這種情況。
作為對(duì)單表系統(tǒng)的一種改進(jìn),即雙表系統(tǒng)和實(shí)時(shí)處理系統(tǒng),可以增加一個(gè)索引的客戶服務(wù)位置表,以便提供對(duì)與服務(wù)位置有關(guān)的更多信息的訪問(wèn)。它在實(shí)時(shí)系統(tǒng)中實(shí)現(xiàn)時(shí)要較為直接一些,因?yàn)樵诤艚刑幚砥陂g已經(jīng)使用到客戶服務(wù)位置表,很容易使用它再向用戶提供附加信息。對(duì)于單表系統(tǒng)和雙表系統(tǒng)來(lái)說(shuō),用于容納被索引的客戶服務(wù)位置表所用的客戶表創(chuàng)建處理基本上與單表系統(tǒng)和雙表系統(tǒng)原來(lái)所用的處理相同,只不過(guò)客戶位置ID取代了客戶位置電話號(hào)碼。
盡管上面已給出詳細(xì)的描述,并指出了發(fā)明應(yīng)用到各種實(shí)施例中時(shí)的一些基本新特點(diǎn),但是應(yīng)當(dāng)理解在不脫離發(fā)明原理的前提下,本領(lǐng)域的技術(shù)人員可以對(duì)系統(tǒng)的形式和細(xì)節(jié)作省略、替代和改動(dòng)。
權(quán)利要求書按照條約第19條的修改1.在電話網(wǎng)呼叫處理系統(tǒng)中使用的一種識(shí)別在空間上包含無(wú)線主叫電話瞬時(shí)位置的客戶服務(wù)區(qū)域的實(shí)時(shí)方法,該方法包括提供具有任意所要形狀和大小的客戶服務(wù)區(qū)域文件,其中每個(gè)服務(wù)區(qū)域通過(guò)空間坐標(biāo)窗口進(jìn)行地理索引,并且每個(gè)服務(wù)區(qū)域與一個(gè)服務(wù)位置相關(guān)聯(lián);獲得與無(wú)線主叫電話瞬時(shí)位置對(duì)應(yīng)的一個(gè)主叫空間坐標(biāo);在客戶服務(wù)區(qū)域文件的空間坐標(biāo)窗口索引中查找主叫空間坐標(biāo),以便產(chǎn)生至少包括一個(gè)服務(wù)位置的可能清單,這些位置的服務(wù)區(qū)域可能包含與主叫空間坐標(biāo)對(duì)應(yīng)的位置;確定哪些服務(wù)區(qū)域包括與主叫空間坐標(biāo)對(duì)應(yīng)的位置;以及產(chǎn)生一個(gè)服務(wù)位置清單,其服務(wù)區(qū)域包含與主叫空間坐標(biāo)對(duì)應(yīng)的位置。
2.權(quán)利要求1定義的方法,其中確定步驟使用主叫電話瞬時(shí)位置的空間坐標(biāo)和所述的可能清單中客戶服務(wù)區(qū)域的空間定義。
3.權(quán)利要求1定義的方法,還包括確定從主叫電話的瞬時(shí)位置到服務(wù)位置的距離。
4.權(quán)利要求3定義的方法,還包括對(duì)其服務(wù)區(qū)域包含主叫電話瞬時(shí)位置的服務(wù)位置清單按照距離降序進(jìn)行排序。
5.一種用于實(shí)時(shí)確定在空間上包含移動(dòng)主叫電話瞬時(shí)位置的客戶服務(wù)區(qū)域的電話網(wǎng)呼叫處理系統(tǒng),該系統(tǒng)包括一個(gè)客戶服務(wù)區(qū)域文件,該區(qū)域具有任意所要的形狀和大小,其中每個(gè)服務(wù)區(qū)域通過(guò)空間坐標(biāo)窗口進(jìn)行地理索引,并且每個(gè)服務(wù)區(qū)域與一個(gè)服務(wù)位置相關(guān)聯(lián);呼叫譯碼硬件,該呼叫譯碼硬件能夠獲得與主叫電話瞬時(shí)位置對(duì)應(yīng)的一個(gè)主叫空間坐標(biāo);初始服務(wù)區(qū)域清單功能,該功能能夠在客戶服務(wù)區(qū)域文件的空間坐標(biāo)窗口索引中查找主叫空間坐標(biāo),以便產(chǎn)生至少包括一個(gè)服務(wù)位置的可能清單,這些位置的服務(wù)區(qū)域可能包含與主叫空間坐標(biāo)對(duì)應(yīng)的位置;以及主叫位置在服務(wù)區(qū)域端點(diǎn)內(nèi)的功能,該功能能夠確定哪些客戶服務(wù)區(qū)域包括與主叫空間坐標(biāo)對(duì)應(yīng)的位置,并能產(chǎn)生一個(gè)服務(wù)位置清單,
權(quán)利要求
1.在電話網(wǎng)呼叫處理系統(tǒng)中使用的一種識(shí)別在空間上包含主叫電話瞬時(shí)位置的客戶服務(wù)區(qū)域的實(shí)時(shí)方法,該方法包括提供具有任意所要形狀和大小的客戶服務(wù)區(qū)域文件,其中每個(gè)服務(wù)區(qū)域通過(guò)空間坐標(biāo)窗口進(jìn)行地理索引,并且每個(gè)服務(wù)區(qū)域與一個(gè)服務(wù)位置相關(guān)聯(lián);獲得與主叫電話瞬時(shí)位置對(duì)應(yīng)的一個(gè)主叫空間坐標(biāo);在客戶服務(wù)區(qū)域文件的空間坐標(biāo)窗口索引中查找主叫空間坐標(biāo),以便產(chǎn)生至少包括一個(gè)服務(wù)位置的可能清單,這些位置的服務(wù)區(qū)域可能包含與主叫空間坐標(biāo)對(duì)應(yīng)的位置;確定哪些服務(wù)區(qū)域包括與主叫空間坐標(biāo)對(duì)應(yīng)的位置;以及產(chǎn)生一個(gè)服務(wù)位置清單,其服務(wù)區(qū)域包含與主叫空間坐標(biāo)對(duì)應(yīng)的位置。
2.權(quán)利要求1定義的方法,其中確定步驟使用主叫電話瞬時(shí)位置的空間坐標(biāo)和所述的可能清單中客戶服務(wù)區(qū)域的空間定義。
3.權(quán)利要求1定義的方法,還包括確定從主叫電話的瞬時(shí)位置到服務(wù)位置的距離。
4.權(quán)利要求3定義的方法,還包括對(duì)其服務(wù)區(qū)域包含主叫電話瞬時(shí)位置的服務(wù)位置清單按照距離降序進(jìn)行排序。
5.一種用于實(shí)時(shí)確定在空間上包含移動(dòng)主叫電話瞬時(shí)位置的客戶服務(wù)區(qū)域的電話網(wǎng)呼叫處理系統(tǒng),該系統(tǒng)包括一個(gè)客戶服務(wù)區(qū)域文件,該區(qū)域具有任意所要的形狀和大小,其中每個(gè)服務(wù)區(qū)域通過(guò)空間坐標(biāo)窗口進(jìn)行地理索引,并且每個(gè)服務(wù)區(qū)域與一個(gè)服務(wù)位置相關(guān)聯(lián);呼叫譯碼硬件,該呼叫譯碼硬件能夠獲得與主叫電話瞬時(shí)位置對(duì)應(yīng)的一個(gè)主叫空間坐標(biāo);初始服務(wù)區(qū)域清單功能,該功能能夠在客戶服務(wù)區(qū)域文件的空間坐標(biāo)窗口索引中查找主叫空間坐標(biāo),以便產(chǎn)生至少包括一個(gè)服務(wù)位置的可能清單,這些位置的服務(wù)區(qū)域可能包含與主叫空間坐標(biāo)對(duì)應(yīng)的位置;以及主叫位置在服務(wù)區(qū)域端點(diǎn)內(nèi)的功能,該功能能夠確定哪些客戶服務(wù)區(qū)域包括與主叫空間坐標(biāo)對(duì)應(yīng)的位置,并能產(chǎn)生一個(gè)服務(wù)位置清單,其服務(wù)區(qū)域包含與主叫空間坐標(biāo)對(duì)應(yīng)的位置。
6.權(quán)利要求5定義的系統(tǒng),其中主叫位置在服務(wù)區(qū)域端點(diǎn)內(nèi)的功能使用主叫電話瞬時(shí)位置的空間坐標(biāo)和該可能清單中客戶服務(wù)區(qū)域的空間定義。
7.權(quán)利要求5定義的系統(tǒng),還包括用于確定從主叫電話的瞬時(shí)位置到服務(wù)位置距離的處理。
8.權(quán)利要求7定義的系統(tǒng),還包括用于對(duì)其服務(wù)區(qū)域包含主叫電話瞬時(shí)位置的服務(wù)位置清單按照距離降序進(jìn)行排序的處理。
9.一種電話網(wǎng)呼叫處理系統(tǒng),包括一個(gè)呼叫譯碼模塊,它能夠接收所撥號(hào)碼以及與移動(dòng)主叫電話瞬時(shí)位置對(duì)應(yīng)的一個(gè)主叫空間坐標(biāo);一個(gè)實(shí)時(shí)處理模塊,根據(jù)所撥號(hào)碼與主叫空間坐標(biāo)來(lái)提供與所選服務(wù)位置對(duì)應(yīng)的客戶服務(wù)信息,其中如果主叫空間坐標(biāo)被包含在一個(gè)服務(wù)區(qū)域內(nèi)時(shí),就提供該服務(wù)位置,該服務(wù)區(qū)域具有客戶定義的任意形狀和大小的地理配置;以及一個(gè)出局呼叫模塊,用于向電話網(wǎng)傳送所提供的客戶服務(wù)信息。
10.權(quán)利要求9定義的系統(tǒng),還包括多個(gè)客戶服務(wù)位置文件。
11.權(quán)利要求10定義的系統(tǒng),其中實(shí)時(shí)處理模塊使用所撥號(hào)碼來(lái)選擇與由所撥號(hào)碼標(biāo)識(shí)的客戶對(duì)應(yīng)的一個(gè)客戶服務(wù)位置文件。
12.權(quán)利要求10定義的系統(tǒng),其中客戶服務(wù)位置文件之一包括多個(gè)記錄,每個(gè)記錄包括客戶服務(wù)位置標(biāo)識(shí)(ID)、電話號(hào)碼、以及該服務(wù)位置的服務(wù)區(qū)域邊界描述。
13.權(quán)利要求12定義的系統(tǒng),其中多邊形服務(wù)區(qū)域的邊界描述包括多邊形的每個(gè)頂點(diǎn)。
14.權(quán)利要求12定義的系統(tǒng),其中半徑定義的服務(wù)區(qū)域包括一個(gè)中心點(diǎn)和一個(gè)半徑。
15.權(quán)利要求9定義的系統(tǒng),其中主叫電話包括一部移動(dòng)蜂窩電話。
16.權(quán)利要求9定義的系統(tǒng),其中主叫電話包括一部移動(dòng)個(gè)人通信系統(tǒng)電話。
17.權(quán)利要求9定義的系統(tǒng),其中客戶服務(wù)信息包括允許向所選客戶服務(wù)位置傳送呼叫的傳送信息。
18.權(quán)利要求9定義的系統(tǒng),還包括一個(gè)語(yǔ)音響應(yīng)單元,其中該語(yǔ)音響應(yīng)單元設(shè)備向電話網(wǎng)提供與所選客戶服務(wù)位置對(duì)應(yīng)的客戶服務(wù)信息。
19.權(quán)利要求9定義的系統(tǒng),其中客戶服務(wù)信息包括與所選客戶服務(wù)位置對(duì)應(yīng)的一個(gè)標(biāo)識(shí)(ID)。
20.一種用于移動(dòng)電話網(wǎng)的實(shí)時(shí)呼叫處理方法,該方法包括接收所撥電話號(hào)碼以及與移動(dòng)主叫電話瞬時(shí)位置對(duì)應(yīng)的一個(gè)主叫空間坐標(biāo);根據(jù)所撥電話號(hào)碼與主叫空間坐標(biāo)來(lái)提供與所選服務(wù)位置對(duì)應(yīng)的客戶服務(wù)信息,其中如果主叫空間坐標(biāo)被包含在一個(gè)服務(wù)區(qū)域內(nèi)時(shí),就選擇對(duì)應(yīng)的服務(wù)位置,該服務(wù)區(qū)域具有客戶定義的任意形狀和大小的地理配置;以及向電話網(wǎng)傳送所提供的客戶服務(wù)信息。
21.權(quán)利要求20定義的方法,還包括提供多個(gè)客戶服務(wù)位置文件。
22.權(quán)利要求21定義的方法,其中提供客戶服務(wù)信息要使用所撥號(hào)碼去選擇與由所撥號(hào)碼所標(biāo)識(shí)的客戶對(duì)應(yīng)的客戶服務(wù)位置文件之一。
23.權(quán)利要求21定義的方法,其中客戶服務(wù)位置文件之一包括多個(gè)記錄,每個(gè)記錄包括客戶服務(wù)位置標(biāo)識(shí)(ID)、電話號(hào)碼、以及該服務(wù)位置的服務(wù)區(qū)域邊界描述。
24.權(quán)利要求23定義的方法,其中多邊形服務(wù)區(qū)域的邊界描述包括多邊形的每個(gè)頂點(diǎn)。
25.權(quán)利要求23定義的方法,其中半徑定義的服務(wù)區(qū)域的邊界描述包括一個(gè)中心點(diǎn)和一個(gè)半徑。
26.權(quán)利要求20定義的方法,其中主叫電話包括一部蜂窩電話。
27.權(quán)利要求20定義的方法,其中主叫電話包括一部個(gè)人通信系統(tǒng)電話。
28.權(quán)利要求20定義的方法,其中客戶服務(wù)信息包括允許向所選客戶服務(wù)位置傳送呼叫的傳送信息。
29.權(quán)利要求20定義的方法,其中由一個(gè)語(yǔ)音響應(yīng)單元來(lái)向電話網(wǎng)發(fā)送與所選客戶服務(wù)位置對(duì)應(yīng)的客戶服務(wù)信息。
30.權(quán)利要求20定義的方法,其中客戶服務(wù)信息包括與所選客戶服務(wù)位置對(duì)應(yīng)的一個(gè)標(biāo)識(shí)(ID)。
全文摘要
用于在電話網(wǎng)中自動(dòng)和無(wú)縫地傳送移動(dòng)電話呼叫的一種系統(tǒng)和方法。該系統(tǒng)包括一個(gè)電話網(wǎng)接口盒、一臺(tái)計(jì)算機(jī)和一個(gè)客戶文件。該客戶文件具有若干條包括一個(gè)空間關(guān)鍵字和一個(gè)客戶電話號(hào)碼的記錄。一種系統(tǒng)實(shí)施例(1500)使用代表主叫用戶移動(dòng)電話瞬時(shí)位置的一個(gè)空間坐標(biāo)(1502)作為到一個(gè)實(shí)時(shí)處理(1510)的輸入,該處理從客戶文件中識(shí)別出與主叫電話(110)位置對(duì)應(yīng)的一個(gè)或多個(gè)客戶服務(wù)位置(1460)。
文檔編號(hào)H04Q3/72GK1314060SQ99809807
公開日2001年9月19日 申請(qǐng)日期1999年6月18日 優(yōu)先權(quán)日1998年6月19日
發(fā)明者J·D·沙弗, G·G·莫雷 申請(qǐng)人:穆雷克斯安全有限公司