專利名稱::對于由移動設備的用戶啟動的查詢進行處理的方法和系統的制作方法
技術領域:
:本發明的
技術領域:
一般地說涉及無線數據通信,更具體地,涉及對于由移動設備的用戶啟動的查詢進行處理。
背景技術:
:在歐洲,移動電話的消息交換服務非常流行。根據統計數據,在2003年中僅在英國就發送超過200億條消息。在美國,移動電話消息交換市場也正在快速發展。一個示例性移動電話消息交換服務是SMS(短消息服務)。SMS可用于將多達160個字符(如果使用5比特模式則為224個字符)的消息發送至使用全球移動通信系統的移動電話。SMS類似于尋呼。然而,SMS消息不需要移動電話被激活或在一定范圍中,并且可以被保持多日,直至電話變為激活狀態并在該范圍中。SMS消息在同一小區內發送,或者發送至具有漫游服務功能的任一用戶。SMS消息也可以從配備有PC鏈路的網站發送至數字電話,或者從一個數字電話發送至另一數字電話。SMS的典型用途包括向移動電話用戶通知語音郵箱消息,向售貨員通知待調用的詢問和合同,向醫生通知出現緊急問題的患者,向服務人員通知他們下次調用的時間和地點,以及向司機通知下一乘客的地址。通常,無線操作者使用短消息點對點(SMPP)協議,以允許第三方在無線網絡上發送和接收SMS消息。所述SMPP協議是一種開放的、工業標準消息協議,其被設計用于簡化無線移動網絡的數據應用集成。
發明內容在一個實施例中,提供一種對于由移動設備的用戶啟動的查詢進行處理的方法,包括接收包含由移動設備的用戶啟動的查詢的進入消息,以及從所接收到的消息提取查詢。該方法還可包括獲取查詢的結果,以及創建具有該查詢結果的輸出消息,以傳送至該移動設備。通過附圖的示例但不限于該示例來顯示本發明,其中相同的標號表示相同的元件,其中圖1為根據本發明一個實施例的概況的示意圖;圖2是移動用戶查詢服務的一個實施例的框圖;圖3顯示可用以實施本發明一個實施例的結構;圖4為用于處理由移動設備的用戶啟動的查詢的方法的一個實施例的流程圖;圖5為用于獲取查詢結果的方法的一個實施例的流程圖;圖6表示在用戶移動電話上顯示的示例性查詢結果;以及圖7為計算機系統的一個實施例的框圖。具體實施例方式描述對于由移動設備的用戶所啟動的查詢進行處理的方法和系統。圖1為根據本發明一個實施例的概況的示意圖。參照圖1,移動設備104為交互通信設備。例如,移動設備104可以是無線電話、掌上計算設備、PDA或支持互聯網設備遠程控制器。移動設備104允許它們的用戶啟動查詢(例如,通過在移動設備104上輸入查詢或通過向移動設備104提供語言查詢),然后創建包含用戶所啟動的查詢的消息。所述消息可以是例如短消息服務(SMS)消息、多媒體消息服務(MMS)消息和電子郵件(email)消息。移動設備104可經由無線網絡102與移動用戶查詢服務106進行無線通信。可使用現有技術中已知的多種通信技術來實現在移動用戶查詢服務106和移動設備104之間的通信。移動用戶查詢服務106負責接收由移動設備104發送的消息、獲取對于所接收消息中包括的查詢的結果、創建具有該查詢結果的輸出消息、以及使得輸出消息傳送至相應的移動設備104。所述輸出消息可以是例如SMS消息、MMS消息和email消息。在接收到這些消息的基礎上,移動設備104向用戶顯示請求的查詢結果。在該說明書中與“一個實施例”或“實施例”相關的術語表示與實施例結合而進行描述的特定特征、結構或特性被包括在至少一個實施例中。因此,在該說明書中各處出現的術語“在一個實施例中”或“在實施例中”不必表示同一個實施例。此外,可以在一個或多個實施例中以任一合適的方式組合特定的特征、結構或特性。系統結構圖2是移動用戶查詢服務200的一個實施例的框圖。移動用戶查詢服務200包括消息查詢服務器202和一組搜索服務器204。消息查詢服務器202負責接收具有由移動設備的用戶啟動的查詢的進入消息、從相應搜索服務器204獲取用戶啟動的查詢的結果、以及創建用于傳送至移動設備的具有的查詢結果的輸出消息。搜索服務器204負責針對不同查詢類型生成結果。在一個實施例中,各個搜索服務器204負責針對某一查詢類型生成結果。例如,第一搜索服務器204可向黃色頁面(YP)查詢(例如關于在特定地理區域中的商業的查詢)提供響應,第二搜索服務器204可向驅動方向查詢(例如關于從點A至點B驅動方向的查詢)提供響應,第三搜索服務器204可向頭條新聞查詢(例如關于與特定主題關聯的頭條新聞的查詢)提供響應。在一個實施例中,消息查詢服務器202包括進入消息分析器206、查詢結果接收器208和輸出消息創建器210。進入消息分析器206負責接收具有由用戶啟動的查詢的消息以及從該消息中提取查詢。這些消息可以是例如SMS消息、MMS消息和email消息。在一個實施例中,進入消息分析器206還負責確定每個查詢的類型以及將查詢轉發至處理這種類型查詢的搜索引擎。所述查詢類型可以是例如YP型、驅動方向型、頭條新聞型、電話簿型(例如關于商業或住所的地址和/或電話號碼的查詢)、產品型(例如關于特定產品的查詢)、計算器型(例如關于特定計算的查詢)、術語型(例如關于單詞或短語的定義的查詢)、股票型(例如關于股票報價的查詢)、地圖型(例如關于當地地圖的查詢)等。在一個實施例中,進入消息分析器206通過分析查詢的語法來確定查詢類型。例如,可以在查詢之前添加查詢類型指示符(例如對于頭條新聞查詢用字母“n”,對于產品查詢用字母“f”等)。在另一個實施例中,進入消息分析器206通過分析查詢的語義來確定查詢類型。查詢結果接收器208負責從相應的搜索服務器204接收查詢結果。輸出消息創建器210負責對每個查詢結果創建輸出消息。該消息可以是例如SMS消息、MMS消息或email消息。在一個實施例中,輸出消息匹配于相應進入消息的類型(例如,進入消息和輸出消息均為SMS消息)。或者,相應的進入消息和輸出消息的類型可以不同(例如,進入消息可以是SMS消息,而輸出消息可以是MMS消息)。在一個實施例中,輸出消息創建器210確定輸出消息的大小是否超過允許的大小(例如對于SMS消息為160字節)。如果超過,則輸出消息創建器210將消息分成多個消息,并將所分的多個消息中的每一個轉發至相應的移動設備。在一個實施例中,輸出消息創建器210對所分的多個消息中的每一個添加序號指示符,以指定查詢結果的相關部分相對于該查詢結果的其它部分的序號(例如,指示符“2/3”可表示該查詢結果部分為由三個部分構成的查詢結果的第二部分)。圖3顯示可用以實施本發明一個實施例的結構。該示例性結構采用SMS消息和SMPP(短消息點對點)協議。參照圖3,移動電話302經由無線網絡300連接至無線服務商的SMPP服務器304。當移動電話302的用戶發送SMS消息至特定電話號碼(例如與移動用戶查詢服務關聯的電話號碼)時,無線服務商發送SMS消息至SMPP服務器304,其中所述SMPP服務器304經由移動用戶查詢服務的前端服務器306將該消息路由至移動用戶查詢服務的SMPP網關310。SMPP網關310發送SMS消息至SMS服務器312,其中所述SMS服務器312提取由移動設備302的用戶指定的查詢、確定查詢的類型、并發送該查詢至相應的搜索服務器。根據查詢類型,相應的搜索服務器可以是地圖服務器314(例如負責提供驅動方向)、YP服務器316、web服務器318(例如負責提供web內容)、新聞服務器320、產品服務器322、幫助服務器324(例如負責提供幫助信息)或圖3中未示出的任一其它查詢服務器。相關的搜索服務器生成該查詢的結果,并將其發送至SMS服務器312,其中所述SMS服務器312對查詢結果設定格式,并發送得到的SMS消息至SMPP網關310。如果需要(例如SMS消息的大小超過160字節),則SMPP網關對SMS消息進行分割,并經由代理308將每一個分割后的消息轉發至SMPP服務器306。SMPP服務器306發送該SMS消息(或多個SMS消息)至無線網絡300。然后,移動電話302接收該消息,并向用戶顯示該消息。如果移動電話302接收到的多個消息包含了同一查詢結果的部分,則移動電話302顯示查詢結果的第一部分,并允許用戶請求查詢結果的下一部分(例如,通過在查詢結果的第一部分提供到查詢結果的下一部分的鏈接)。因此,當移動電話302的用戶啟動查詢時,實時地向該用戶提供查詢結果。在另一個實施例中,使用一種結合SMS服務器312和SMPP網關310的單個服務器。在再一個實施例中,SMPP網關310可被用于與不同的無線服務商通信。在另一個實施例中,SMPP網關310可被配置為與不同的外部服務器(例如,SMS服務器、MMS服務器、郵件服務器等)進行通信,以用于交換各種類型的消息(例如SMS消息、MMS消息、email消息等)。在一個實施例中,提供多個SMPP網關310和SMS服務器312以處理大量消息。圖4顯示用于處理由移動設備的用戶啟動的查詢的方法400的一個實施例的流程圖。可通過處理邏輯(可包括硬件、軟件或其組合)來執行該方法。處理邏輯可處于服務器中(例如圖2的消息查詢服務器202)或者部分地或整體地處于分離的設備和/或系統中。在框402中,處理邏輯接收到一包含由移動設備的用戶啟動的查詢的進入消息。用戶可通過在移動設備上輸入查詢或通過對移動設備進行語音查詢來啟動查詢。然后,可通過移動設備的語音識別模塊或者在服務器(例如,消息查詢服務器202)的語音識別模塊來解釋語音查詢。所述包含了用戶啟動的查詢的進入消息可以是例如SMS消息、MMS消息或email消息。在框404中,處理邏輯從接收到的進入消息提取查詢。在一個實施例中,處理邏輯還從該進入消息提取用戶的移動設備的標識符(例如電話號碼)。在一個實施例中,所述查詢為語音查詢,提取查詢的操作包括使用語音識別模塊來處理語音查詢。在框406中,處理邏輯獲得查詢結果。在一個實施例中,處理邏輯通過發送查詢至搜索服務器以及從該搜索服務器接收查詢結果來獲得該查詢結果。可選擇地,處理邏輯可以以不同的方式獲得查詢結果。例如,處理邏輯可以將提取的查詢設定格式為數據庫查詢(例如SQL查詢),將該數據庫查詢提交至數據庫引擎,并從該數據庫引擎接收響應。以下將結合圖5更詳細討論用于獲得查詢結果的處理的一個實施例。在框408中,處理邏輯創建具有傳送至用戶的移動設備的查詢結果的輸出消息。所述輸出消息可以是例如SMS消息、MMS消息或email消息。輸出消息可包括查詢結果和用戶移動設備的標識符(例如電話號碼)。在一個實施例中,輸出消息匹配于相應的進入消息的類型(例如進入消息和輸出消息均為SMS消息)。可選擇地,相應的進入消息和輸出消息可以為不同類型(例如,進入消息可以為SMS消息,而輸出消息可以為MMS消息)。在一個實施例中,如果輸出消息的大小超過允許大小(例如對于SMS消息為160字節),則處理邏輯將輸出消息分成多個消息。在一個實施例中,處理邏輯對于多個消息中的每一個添加序號指示符,以指定相關查詢結果部分相對于該查詢結果的其它部分的序號(例如,指示符“2/3”可表示由三個部分構成的查詢結果中的第二部分)。圖5為表示用于獲取查詢結果的方法500的一個實施例的流程圖。可通過處理邏輯(可包括硬件、軟件或這兩者的組合)來執行該方法。處理邏輯可處于服務器中(例如圖2的消息查詢服務器202)或者部分地或整體地處于分離的設備和/或系統中。在框502中,處理邏輯確定從用戶的移動設備發送的消息所提取的查詢類型。例如,可根據美國專利申請No.09/850,403(題為“SystemsandMethodsforProvidingMapInformaition”)和美國專利申請No.09/956,875(題為“SystemsandMethodsforProvidingStockTickerInformaition”)中公開的方法確定查詢類型,以上兩個文獻結合與此以作參考。在一個實施例中,基于查詢的語法確定查詢類型。例如,可以在查詢前面添加由用戶指定的查詢類型指示符(例如,用戶可輸入“nolympics”以請求關于奧林匹克的第一組頭條新聞,輸入“n.2olympics”以請求關于奧林匹克的第二組頭條新聞)。在一個實施例中,通過幫助查詢或任一其它方式向用戶提供一組可用的查詢類型指示符。在一個實施例中,如果輸入的查詢沒有查詢類型指示符,則處理邏輯對查詢分配缺省的查詢類型(例如,最常用的查詢類型,如YP型)。可選擇地,如果輸入的查詢沒有查詢類型指示符,則處理邏輯分析查詢的語義以確定查詢類型。在另一個實施例中,不需要查詢類型指示符,并基于查詢語義自動的分配查詢類型(即,用戶不指定查詢類型指示符)。例如,如果確定該查詢包含存儲名和郵遞區號,則處理邏輯可對查詢分配YP型。在一個實施例中,如果采用多個類型,則處理邏輯可對查詢分配多個查詢類型。在框504,處理邏輯確定哪個搜索引擎負責處理該查詢的類型,并將該查詢轉發至該搜索引擎。在一個實施例中,處理邏輯將該查詢重新設定格式為由該搜索引擎可識別的命令,并將得到的命令發送至該搜索引擎。在一個實施例中,如果該查詢與多個查詢類型關聯,則處理邏輯將該查詢發送至多個搜索引擎。在框506,處理邏輯從一個或多個搜索引擎接收查詢結果。如果接收到多個搜索結果,并且這些搜索結果的組合超過輸出消息的允許大小,則處理邏輯可使用在搜索結果之間的邊界將輸出消息分成多個消息。在一個實施例中,如果處理邏輯沒有接收到任一搜索結果,則處理邏輯發送查詢至幫助搜索引擎,其中所述幫助搜索引擎基于查詢內容(例如,使用關鍵字掃描)提供幫助消息,并創建包含幫助消息的輸出消息。圖6表示在用戶移動電話上顯示的查詢結果示例。響應于用戶的YP查詢(例如“pizzamountainviewca”、“roundtablepizzamountainviewca”、“pizza94040”等)而生成該結果。如果用戶輸入的查詢包含源地址和目標地址(例如,“從500oracleparkway94065to1400amphitheaterparkway94043”或“從500oracleparkwayredwoodcitycato1400amphitheaterparkwaymountainviewca”),則可在用戶移動電話上顯示驅動方向。如果用戶輸入的查詢包含商業名稱和郵遞區號或城市和州,則可在用戶移動電話上顯示商業列表。如果用戶輸入的查詢包含電話號碼或人名和郵遞區號或城市和州(例如,“650-960-4000”或“AdamSmithMountainViewCA”),則可在用戶移動電話上顯示住所列表。如果用戶輸入的查詢包含產品的名稱(例如,“ipod20gb”、“coffeemaker”等),則可在用戶移動電話上顯示產品價格。如果用戶輸入的查詢包含數學相關問題,例如,基礎算法或更復雜的數學問題、測量和轉換的單位、物理常數等(例如“5+2*2”、“2^20”、“sqrt(-2)”、“halfacupinteaspoons”、“160pounds*4000feetincalories”等),則可在用戶移動電話上顯示數學計算結果。如果用戶輸入的查詢包含待定義的單詞或短語(例如,“defineSMS”、“definequery”等),則可在用戶移動電話上顯示單詞或短語的定義。如果用戶輸入的查詢包含新聞主題(例如“iraq”、“google”等),則可在用戶移動電話上顯示頭條新聞。如果用戶輸入的查詢包含拼寫錯誤的單詞或短語的查詢并要求拼寫單詞或短語(例如,“spellingimediately”等),則可在用戶移動電話上顯示拼寫正確的單詞或短語。此外,如果由用戶輸入的查詢包含排版錯誤并沒有找到查詢結果,則自動糾正該查詢,并獲得糾正后的查詢的結果,并將其返回至用戶,以及向用戶通知糾正后的拼寫。由本發明的各實施例處理的附加查詢類型可包括例如股票報價、體育比分、航班信息、電影時間等。計算機系統示例圖7示意表示了計算機系統700的示例形態中的設備,在所述計算機系統700中可執行一組指令,這些指令用于使得該設備執行這里所討論的任意一個或多個方法。在可選擇的實施例中,該設備可以單獨運行,或可以連接(例如,聯網)至其它設備。在聯網配置中,該設備可以作為在服務器客戶機環境中的服務器功能的設備或者客戶機功能的設備而運行,或者用作點對點(或分布式)網絡環境中的對點設備。該設備可以是個人計算機(PC)、筆記本電腦、機頂盒(STB)、個人數字助理(PDA)、移動電話、網絡設備、網絡路由器、交換機或橋接器、或任一可以執行一組指令(連續的或其它方式)的設備且該指令用來指定由該設備進行的操作。此外,雖然僅顯示了一個設備,術語“設備”也可包括單獨地或連接地執行一組(或多組)用于執行這里所討論的任意一個或多個方法的指令的任一設備集合。示例的計算機系統700包括處理器702(例如中央處理單元(CPU)、圖形處理單元(GPU)或以上兩者)、主存儲器704和靜態存儲器706,其中所述主存儲器704和靜態存儲器706可以經由總線708彼此通信。計算機系統700還可包括視頻顯示單元710(例如,液晶顯示器(LCD)或陰極射線管(CRT))。計算機系統700還包括文字數字輸入設備712(例如鍵盤)、指針控制設備714(例如鼠標)、盤驅動單元716、信號發生設備718(例如揚聲器)和網絡接口設備720。盤驅動單元716包括機讀介質(machine-readablemedium)722,在其上存儲一組或多組用于實施這里所述的任意一個或多個方法或功能的指令(例如軟件724)。軟件724還可在由計算機系統700的執行期間全部或至少部分地貯存于該主存儲器704和/或處理器702中,所述主存儲器704和處理器702還構成機讀介質。還可經由網絡接口設備720在網絡726上發送或接收軟件724。雖然在示例實施例中顯示的機讀介質722為一個介質,但是術語“機讀介質”應包括用于存儲一組或多組指令的一個介質或多個介質(例如,集中式或分布式數據庫和/或關聯的緩沖器和服務器)。術語“機讀介質”還包括任一能夠存儲、編碼或傳輸一組由設備執行的以及使得設備執行本發明任意一個或多個方法的指令的介質。因此,術語“機讀介質”可包括但不限于固態存儲器、光和磁介質、以及載波信號。一般法律狀態以上所述的處理可作為一組待執行的指令存儲在計算機系統的存儲器中。此外,用于執行上述處理的指令還可選擇的存儲在機讀介質的其它形式中,包括磁盤和光盤。例如,上述處理可存儲在可經由盤驅動器(或計算機可讀介質驅動器)訪問的機讀介質中,例如磁盤或光盤。此外,該指令也可以以匯編或鏈接版本的形式從數據網絡上下載到計算機設備。此外,還可以在附加計算機和/或機讀介質,例如,作為大規模集成電路(LSI)的分立硬件組件、專用集成電路(ASIC)、例如電可擦寫可編程只讀存儲器(EEPROM)的固件,以及電、光、聲和其它形式的傳播信號(例如載波、紅外信號、數字信號等)等中實施用于執行上述討論的處理的邏輯。在上述說明中,參照本發明的特定示例實施例描述了本發明。然而,很明顯,在不脫離由所附權利要求闡述的本發明的較寬的精神和范圍的情況下,可以進行各種修改和變化。因此,說明書和附圖應被看作是示例性的,而不具有限制意義。權利要求1.一種方法,包括接收一包含由移動設備的用戶啟動的查詢的進入消息;從該進入消息提取查詢;獲取該查詢的結果;以及創建具有該查詢結果的輸出消息,以傳送至該移動設備。2.根據權利要求1所述的方法,其中所述進入消息為短消息服務消息、多媒體消息服務消息和電子郵件消息中的任一個。3.根據權利要求1所述的方法,其中所述輸出消息為短消息服務消息、多媒體消息服務消息和電子郵件消息中的任一個。4.根據權利要求1所述的方法,其中由所述移動設備的用戶輸入所述由移動設備的用戶啟動的查詢。5.根據權利要求1所述的方法,其中所述由移動設備的用戶啟動的查詢為語音查詢。6.根據權利要求5所述的方法,其中通過所述移動設備的語音識別模塊來處理該語音查詢。7.根據權利要求5所述的方法,其中從所述進入消息提取查詢的步驟包括使用語音識別模塊處理所述語音查詢。8.根據權利要求1所述的方法,其中獲取所述查詢結果的步驟包括確定所述查詢的類型;將所述查詢轉發至與該查詢的類型關聯的搜索引擎;以及從與所述查詢的類型關聯的搜索引擎接收查詢結果。9.根據權利要求8所述的方法,其中所述查詢的類型為黃頁型、驅動方向型、電話簿型、產品價格型、計算器型、術語型、頭條新聞型、幫助請求型、股票型、地圖型和拼寫檢查型中的任一個。10.根據權利要求8所述的方法,其中確定所述查詢的類型的步驟包括評估查詢的語法。11.根據權利要求1所述的方法,其中創建輸出消息的步驟包括確定所述查詢結果超過預定大小;將所述查詢結果分成多個結果部分;以及對于多個結果部分中的每一個創建消息。12.根據權利要求11所述的方法,其中對于多個結果部分中的每一個的消息包括在所述查詢結果中所述多個結果部分中每一個的序號指示符。13.一種設備,包括進入消息分析器,用于接收一包含由移動設備的用戶啟動的查詢的進入消息,以及從該進入消息提取查詢;查詢結果接收器,用于獲取查詢的結果;以及輸出消息創建器,用于創建具有該查詢結果的輸出消息,以傳送至該移動設備。14.一種設備,包括用于接收一包含由移動設備的用戶啟動的查詢的進入消息的裝置;用于從該進入消息提取查詢的裝置;用于獲取該查詢的結果的裝置;以及用于創建具有該查詢結果的輸出消息以傳送至該移動設備的裝置。15.一種包括多條指令的計算機可讀介質,所述指令在處理系統上執行時使得該處理系統執行一種方法,包括接收一包含由移動設備的用戶啟動的查詢的進入消息;從該進入消息提取所述查詢;獲取所述查詢的結果;以及創建具有所述查詢結果的輸出消息,以傳送至該移動設備。全文摘要移動電話(302)經由無線網絡(300)連接至無線運營商的SMPP服務器(304)。當移動電話(302)的用戶發送SMS消息至特定電話號碼(例如與移動用戶查詢服務關聯的電話號碼)時,無線運營商將該SMS消息發送至SMPP服務器(304),SMPP服務器(304)經由移動用戶查詢服務的前端服務器(306)將該消息路由至移動用戶查詢服務的SMPP網關(310)。SMPP網關(310)發送該SMS消息至SMS服務器(312),SMS服務器(312)提取由移動設備(302)的用戶指定的查詢、確定查詢的類型、并發送該查詢至相應的搜索服務器。文檔編號G06F17/30GK101065748SQ200580038579公開日2007年10月31日申請日期2005年8月19日優先權日2004年9月30日發明者本杰明·C·凌,頡·J·吳,鄧劍剛,馮漢平申請人:谷歌公司