US 20080033635 A1
In a communication arrangement in accordance with the invention, a server is employed to collect and organize information for mobile device users according to the user profiles, e.g., personal profile, business profile, vacation profile, etc., which reflect different user personae. By using this arrangement, the user advantageously maintains only the necessary information in the mobile device and downloads any additional information from the server on an as needed basis. In addition, the server is capable of serving mobile devices which may be incompatible to one another, thereby facilitating an exchange of information between such devices. Moreover, with the server, incoming messages for the user are organized and stored according to the source of the messages and the user criteria established in the user profiles. Further, information in a mobile device may be organized using electronic information cards, referred to as “E-cards,” which facilitate, among others, transfer of information from the mobile device to the server, or other mobile devices to conduct various commercial and data transactions.
26. A method for use in a system for navigation, comprising:
receiving a query concerning a type of product or service provider;
in response to the query, providing information concerning one or more product or service providers of the type;
allowing a selection of one of the product or service providers;
planning a route to the selected product or service provider;
estimating time of arrival at the selected product or service provider based at least on the planned route; and
advising a user of a status of the selected product or service provider based on the estimated time of arrival.
27. The method of
28. The method of
29. The method of
30. The method of
31. The method of
32. The method of
33. The method of
34. The method of
35. The method of
36. The method of
37. The method of
38. The method of
39. A method for use in a system for navigation, comprising
receiving, from a user, data concerning a product or service provider to which the user is to travel;
determining a current status of the product or service provider;
planning a route to the product or service provider;
predicting a status of the product or service provider based at least on the planned route;
determining whether the predicted status is different from the current status; and
providing an alert if the predicted status is different from the current status.
40. The method of
41. The method of
42. The method of
43. The method of
44. The method of
45. The method of
46. The method of
47. The method of
48. A system for navigation, comprising:
an interface for receiving a query concerning a type of product or service provider, information concerning one or more product or service providers of the type being made available in response to the query;
a mechanism for planning a route to a selected one of the product or service providers;
a processor configured to estimate time of arrival at the selected product or service provider based at least on the planned route; and
an output device for advising a user of a status of the selected product or service provider based on the estimated time of arrival.
49. The system of
50. The system of
51. The system of
52. The system of
53. The system of
54. The system of
55. The system of
56. The system of
57. The system of
58. The system of
59. The system of
60. The system of
61. A system for use in a system for navigation, comprising
an interface for receiving, from a user, data concerning a product or service provider to which the user is to travel, a current status of the product or service provider being determined;
a mechanism for planning a route to the product or service provider;
a processor configured to predict a status of the product or service provider based at least on the planned route; and
an output device for providing an alert if the predicted status is different from the current status.
62. The system of
63. The system of
64. The system of
65. The system of
66. The system of
67. The system of
68. The system of
69. The system of
This application claims the benefits under 35 U.S.C. 119(e) of U.S. Provisional Application No. 60/221,628 filed on Jul. 28, 2000; U.S. Provisional Application No. 60/224,448 filed on Aug. 10, 2000; and U.S. Provisional Application No. 60/226,825 filed on Aug. 22, 2000.
The invention relates to a communication system and method, and more particularly to a system and method for providing communication services to a user through a server.
Mobile devices such as personal communication systems (PCS) and personal digital assistants (PDA) have been developed to provide access to the Internet and other network-type services. These devices incorporate wireless communications and modem facilities, enabling a user to send and receive electronic mail (e-mail), or to upload and download data through the Internet. Similarly, wireless telephones have been adapted to receive and display textual messages.
However, users of the mobile devices have ever-increasing demand for Internet access through a wireless communication network. In response, more and more wireless communication bandwidth is allocated to such devices to access multimedia (text, audio and/or video) data from the Internet. As wireless communication bandwidth and data transfer rates increase, the increase in the volume of data available to a mobile device quickly overwhelms the capacity of the mobile device. At the same time, this flood of data also overwhelms a user as the user tries to effectively utilize the data collected by the mobile device. Without proper organization and presentation of the collected data, useful and important data often goes unnoticed.
In addition, a user may use multiple mobile devices to conduct daily life. Typically, each mobile device has its own database. It is often desirable that data collected in one database be replicated in other databases especially when the collected data is useful and important to the user. However, due to the incompatibility of the traditional mobile devices, the data replication may only be accomplished by data re-entry or re-visiting of information sources. Disadvantageously, the data re-entry is oftentimes labor intensive, and the re-visits are time consuming. Moreover, the user may not be able to recall the previous information sources from which the data was collected, and even if the user is able to re-visit each of those information sources, the data there may have been revised because of the time lag, thus frustrating the data replication effort.
In accordance with the invention, a centralized communication facility, e.g., a server connected to one or more communication networks, is employed to collect and organize information for a user of a mobile device. For each user, the server collects and organizes the information based on user profiles that reflect different user personae. By collecting and organizing information according to the user profiles in the server, the operation of the mobile device is simplified. In addition, the amount of non-volatile memory required in the mobile device may be reduced, as most of the information is stored in the server, instead. The mobile device obtains the necessary information from the server on an as needed basis.
In addition, the server provides different protocol driver programs for various mobile devices for communications with the server. This being so, the various incompatible mobile devices may share the same information by efficiently downloading it from the server, thereby obviating the need of data re-entry or re-visits of information sources as in prior art. Specifically, during an initial handshake with the server, the mobile device identifies itself to the server, which then downloads the appropriate protocol driver program to the mobile device for its communications with the server.
In an illustrative embodiment, the aforementioned user profiles include, e.g., a personal profile and a business profile. A personal profile reflects the user's personal persona, which includes personal information such as medical and financial records. A business profile reflects a user's business persona, which includes the user's business related information such as the names of contacts with whom the user does business. A user may also establish alternative profiles that reflect other user personae, e.g., vacation or travel profiles. These alternative profiles may include information that reflects a user's vacation or travel preferences, e.g., names and addresses of hotels, restaurants, airlines or airline schedules. This information may also be categorized by location, or by type of entertainment, e.g., theaters, cinemas, etc.
In accordance with another aspect of the invention, the server may obtain, e.g., by searching a network of libraries, information items concerning the location of, and directions to, selected businesses or services. The information items may be presented in textual and/or graphic format. The graphic format may include indications of the locations of the selected businesses or services on navigation maps, which are downloaded for display onto the mobile device. The displayed business or service information items may be selected based on a user profile. Thus, the information items may include the names and locations of restaurants, gas stations, places of interest, scenic viewing areas, etc.
In accordance with yet another aspect of the invention, the server may be used to organize incoming messages to the user based on the source of the messages and user criteria pre-established in the user profiles. For example, the server may selectively perform message storage or call forwarding when the user is not available. In a message storage mode, messages may be identified by their source and stored according to the user specified criteria. The server may then provide different notifications to the user depending upon the source of the messages. In a call forwarding mode, calls originating from a party designated in a personal profile may be directed to a personal message storage area.
In accordance with still yet another aspect of the invention, electronic information cards, referred to as “E-cards,” may be used to organize data in the mobile device and to exchange selected data between the server and the mobile device. E-cards may contain information from selected user profiles. For example, a personal E-card may contain information items related to financial records, such as credit card numbers, bank accounts and balances from the user personal profile. A business E-card may contain information items from the user business profile which are related to business. With the E-card arrangement, selective user information can be distributed among different recipients in an efficient manner.
Further aspects, features and advantages of the invention will become apparent from the following detailed description taken in conjunction with the accompanying drawings showing illustrative embodiments of the invention, in which;
As would be appreciated, the processing functions of processor 107 are not limited to functions solely thereon, but may be distributed among other processors connected to processor 107. Similarly, memory 109 may also be distributed among other memories and need not be in physical proximity to processor 107.
Through interface 128, server 105 may communicate with mobile devices through wireless communication network 110. These mobile devices include personal communication devices (PCDs) 120 and 130 which are fully described below. It suffices to know for now that the PCD, like a conventional PALM PDA, includes a user interface, touch-screen display and wireless communication capability. PCDs 120 and 130 may also communicate with each other independent of network 110 using the well known Bluetooth technology. The Bluetooth technology was developed to unify the electronics world to allow a variety of cellular phones, PDAs and computers to communicate with one another over short distances in a wireless manner. Each PCD also includes a well known GPS device (not shown) for utilizing signals from a well known global positioning system (GPS) for determining the position of the PCD.
For example, a PCD user may want to visit a fast-food restaurant, e.g., a McDonald's, in the surrounding area, but does not know where one is located. The user may then through PCD 120 enter a request to server 105 to locate the McDonald's in the local area. The location of PCD 120 is determined by the aforementioned GPS device therein. Such location information is provided to server 105, along with the search request including search criteria. Server 105 may then search its own libraries and/or other library servers connected to Internet 170. The search results are then sorted and filtered by processor 107 before they are transmitted to PCD 120 via network 110. The search results may include the address, telephone number and directions to each restaurant within a specified distance from the user, for example. The user may also expand or refine the search criteria to determine additional information items or restrict the amount of information items received. The user may further request server 105 to record the search results for future reference. Thus, the information items once obtained may be retained in server 105 for future use, or for distribution to other devices to share the information items.
With the above functions, for example, server 105 may be used to plan a route from a source location to a destination location, which includes current traffic and weather conditions on the route. The user may utilize PCD 120 to request server 105 to plan such a route. To that end, server 105 obtains source and destination locations from the user through navigation function 314, accesses maps through maps function 317, and extracts information items that are used in formulating the route. The resulting route and navigation instructions may be displayed on PCD 120, which include specific turn-by-turn directions and mileage indications. The resulting route may be based on the mode of transportation, e.g., use of a car or public transportation, walking or biking. Thus, the route is determined depending on such factors as weight restrictions on roads and bridges, the limitations of public transportation, the presence, or lack of, sidewalks, or bicycle paths. The route determination may also take into account roadblocks artificially instituted by the user to avoid certain areas such as an area having a high crime rate. In addition, current traffic and weather conditions may be considered in the route determination by using traffic function 321 and weather function 324, respectively.
Still other profiles can be established to reflect the user's personae with regard to vacationing, travelling or hobbies, e.g., golf and tennis. In the vacation profile, for example, server 105 may record information items regarding restaurants, hotels and areas of interest at designated vacation areas that the user has visited or intends to visit.
Each profile may be further categorized to organize the information in a manner that facilitates the presentation of the collected information. For example, a profile may include categories for restaurants, hotels, and gas stations. These categories may be further categorized into, e.g., restaurant types. As would be appreciated, the categories of each profile may be specified by the user and can be selected differently for each user profile.
As shown in
In this illustrated example, personal profile 210 includes files such as address book 211, medical records 212, financial records 213, inventory 214, dining 215, current events 215 and storage 217. Address book 211 may include information items such as names, addresses, e-mail addresses, and telephone numbers of persons who are the user's relatives and friends. Medical records 212 may include information items such as the user's current medical records, current medication and medications that should be avoided. Medical records 212 may also include information items concerning persons whom should be contacted in case of an emergency, e.g., doctor, hospital, family members, etc. Financial records 213 may include information items such as the user's credit card numbers, banking account numbers and balances, names and quantity of stocks and bonds and purchase price, and retirement account information. Inventory 214 may include information items such as serial numbers or warranty information or replacement costs on the user's video cameras, digital cameras, lap top computers, television sets, etc. This information may be useful if a device is lost or stolen. Dining 215 may include information items such as contact information of restaurants for personal dining. This file may further be divided into types of restaurants such as luxury or fast food. Current events 216 may include information items such as new items from different news sources which are of interest to the user. For example, news items may be from different newspapers or sources and may be further divided into type of news, such as sports, stocks, front page, etc. Storage 217 may include personal messages left by those attempting to contact the user. Messages may be left in textual, audio, and/or video format.
Business profile 220, similar to personal profile 210, includes files such as address book 221, dining 222, current events 223, hotels, 224, airlines, 226, calendar 226 and storage 227. Address book 221, dining 222 and current events 223 are similar to those described in regard to personal profile 210. Address book 221 may include information items for contacting business associates, contractors, vendors, suppliers, etc. Similarly, dining 222 may include information items concerning restaurants for business dining. Current events 223 include business related news items. For example, attorneys may collect articles from law journals, and doctors may collect articles from medical journals in this file. Hotels 224 and airlines 225 may include contact information for arranging business-related hotels, airlines and auto rentals. Further, information items concerning corporate rates of hotels, airlines and auto rentals may be included in these files as well. Also included may be user business identification numbers, e.g., frequent flyer numbers and priority club numbers. Calendar 226 includes information items such as meetings, appointments, delivery dates, etc. Similar to storage 217, storage 227 includes business-related messages in text, audio and/or video format left for the user.
Vacation profile 240 includes files such as address book 241, dining 242, hotels 243, airlines 244 and storage 245 which pertain to vacations or leisure travel, but are otherwise similar to those described in regard to personal profile 210 and business profile 220. For example, address book 241 contains information items concerning travel agents, and contacts at vacation locations; dining 242 contains information items concerning restaurants at the vacation locations; hotels 243 contains information items concerning hotels at the vacation locations; airlines 244 contains information items concerning airlines and/or auto rentals for traveling to the vacation locations; and storage 245 contains messages to the user concerning vacations and leisure travel. Thus, with the vacation profile, information items that were obtained about a vacation location, which may be a long time ago, can be easily recalled.
Further illustrated in memory 109 is utility file 135. File 135 represents a library of protocol driver programs for known mobile devices. These driver programs when run on the mobile devices enable the mobile devices to communicate messages with server 105 in a more efficient format. In an initial handshake with server 105, a mobile device identifies itself to server 105 pursuant to a common, wireless messaging protocol which may be inefficient. After the handshake, server 105 selects from file 135 the latest protocol driver program for that particular mobile device and downloads same to the mobile device. The latter then runs the downloaded driver program, enabling the mobile device to efficiently communicate with server 105 pursuant to the protocol specified by the driver program. Using file 135 to maintain a library of driver programs is advantageous in that information items can be freely shared among mobile devices which may be incompatible with one another. For example, if a user wants to share certain information items in a first mobile device with a second incompatible mobile device, the user can simply use the second device to communicate with server 105 to have the same information items downloaded from server 105 to the second device. The download is efficient through use of the appropriate protocol driver program provided by server 105, without requiring any special, initial installation on the part of the second device.
As mentioned before, server 105 may search other library servers connected to Internet 170 for relevant information items. One such library server, denoted 140, is shown in
In this illustrative embodiment, the “dot net” domain, e.g., Xyellowpages.net 145, includes links to the sites of a network of registered businesses. The site of each registered business, e.g., Gary's Shoes site 172, is listed under Xyellowpages.net 145 and can be accessed via a hyperlink.
To provide ease of finding related businesses and Internet sites, Xyellowpages.org 165 collates registered business sites into categories. The categories may include, e.g., entertainment, financial services, medical services, recreation, travel, etc.
Further illustrated are icons keys for exemplary functions of weather 385, traffic 390 and maps 395. These keys enable the user to directly access these functions to obtain current weather and traffic conditions and maps. These keys direct server 105 to retrieve the corresponding information and present it to the user.
Referring back to
Thus, through server 105, a user may collect information items that have been learned or acquired, which may be needed in the future. Even more detailed knowledge of an acquired information item may be obtained by server 105 accessing searchable libraries. Thus, once an information item is learned or acquired, a user may retrieve not only the original information item, but also additional information concerning the original information item. The retrieved information items may be stored in one or more user profiles.
For example, a user may want to locate a particular business or service because there is a preference for the desired type of business or service or there may be a pre-arranged account with the desired business or service. The name of the desired business or service can be entered or retrieved from the stored information and a library search can be initiated to learn the locations of the desired business or service in a general area. When the locations of the desired businesses or services are known, then the distance, and direction, from the current location to the desired stations can be determined. Hence, the user profiles concerning selected information item are increased and the knowledge learned is used to confidently plan a route to a desired business while bypassing other undesired business that provide the same goods or services. The results of the searched libraries may also be stored into one or more selective user profiles.
For example, a user may use PCD 120 to request server 105 to provide information items concerning the location of service facilities, e.g., gas stations, within a given area while the user is in business. In response, server 105 searches libraries of registered businesses, e.g., Xyellowpages.org 165, other libraries connected to Internet 170, and the user business profile, e.g., business profile 220, for the gas stations.
As shown in
In an alternative embodiment, based on the table of
In another alternative embodiment, server 105 may further determine the status of a selected gas station based on the estimated time of arrival at the selected gas station. The estimated time of arrival may be determined based on the user's current route, speed and position. In this embodiment, server 105 may determine that the gas station the user has selected based on current information may no longer be open at the time of arrival. Server 105 may warn the user of this change in status.
In yet another alternative embodiment, server 105 may track the position of the user and dynamically update traffic and weather conditions. In this embodiment, as a user traverses a route, server 105 may warn the user of changes in traffic patterns and weather conditions.
It should be noted at this point that the user may provide to server 105 the names of facilities, such as restaurants, gas stations, shopping malls, department stores, etc., which are encountered or observed along a route. Server 105 may then correlate the user entered information items with at least one list of restaurants, gas stations, service facilities, etc., to determine more specific information on the user entered information item. The more specific information on the entered restaurant, gas station, shopping mall or department store may then be collected and collated into an elected user profile.
The user may also save the sources of information items of interest using bookmarks for repeatedly accessing such sources. Server 105 may record where, and in which files, information may be found within searched libraries. For example, universal resource locators (URLs) for accessing web pages may be bookmarked under a selected user profile. The user may then recall information collected without re-entering the address sequence.
In accordance with another aspect of the invention, server 105 also provides a central location for messages that are received or transmitted by a user. Messages such as e-mail messages and audio messages received by a user may be stored on server 105 to simplify the message retrieval process. For example, centralization of e-mail messages is advantageous as it simplifies the management of e-mail messages of multiple Internet service provider (ISP) sites with which the user is registered. As can be appreciated, a user may have multiple e-mail addresses because the user may have personal e-mail addresses with one or more ISPs at a home location and an additional e-mail address with at least one ISP at a work or a business location. Further, many Internet services provide free e-mail service simply by registering for their service. These Internet services use their own e-mail address to provide updates to news or chat groups the user has expressed an interest. Hence, the user must access each ISP or Internet service independently to retrieve e-mail messages. When an ISP requires proprietary software to access the ISP or to process e-mail message, the user's retrieval of e-mail messages is limited to those times when the user is logged onto the mail server managed by the ISP. The traditional way of retrieving e-mail messages by accessing mail servers of different ISPs and Internet services is both time-consuming and cumbersome.
In accordance with another aspect of the invention, server 105 centralizes the e-mail retrieval process. Each ISP or Internet service receiving e-mail messages addressed to the user forwards the received e-mail message to a single e-mail address assigned to the user by server 105. Server 105 upon receiving a forwarded e-mail message stores the message according to a message source identifier and criteria established by the user. Server 105, after storing the message, provides a notification of the received message to the user. The user may then selectively view e-mail messages from multiple ISP sources without accessing each ISP or Internet service mail server. Furthermore, server 105 stores the received e-mail messages according to the user profiles. Thus, messages related to vacation resorts are stored in the user vacation profile, and message related to business are stored in the user business profile. The vacation e-mail messages may be read at leisure while the business e-mail messages may be read immediately. Thus, by centralizing the e-mail retrieval process in server 105, the received e-mail messages can be pre-sorted and organized in accordance with the user's selection criteria.
As is well known, an e-mail message typically includes a source identifier indicating the source of the e-mail message. A source identifier may include an e-mail address of the sender. A user may also provide a keyword to social contacts and other keywords to business contacts for incorporation in the “Subject” portion of an e-mail message. Such keywords may be used in combination of the source identification tags for prioritizing the messages received.
In this instance, the user provides keywords (not shown) in each profile for prioritizing the received messages having known sources. Each keyword is accorded a different priority. The e-mail message sender may include one of the keywords, given to him/her by the user earlier, in the “Subject” portion of the message. Thus, in this instance, if the e-mail address of the sender of the subject e-mail matches an item in the address book of a user profile (e.g., business profile 210), processor 107 checks the “Subject” portion of the message for any keyword provided in that user profile, as indicated at step 745. Processor 107 at step 748 stores the message in such a user profile (e.g., in storage 227 in profile 210) according to the priority accorded to any keyword found. The received e-mail messages in a profile are organized with messages having a higher priority are presented first. Apparently, a received message having no keyword in its “Subject” is presented after the ones having a keyword therein.
Processor 107 concludes the e-mail message processing by notifying the user of the receipt of the message, with the identity of the associated profile and priority. Through, say, PCD 120 the user, upon receiving the notification, may elect to read the message immediately or at a later time. Further, the form of notification may be based on the priority of the message. For example, the notification of any received message of the highest priority is immediate with a description of the message shown on the screen of PCD 120. Such a notification may interrupt any on-going communications being conducted by PCD 120. The notification of a less important message may cause PCD 120 to turn on an audible alarm or a message light.
It should be noted that the above-described technique for processing e-mail messages may similarly be applied to the processing of any types of message, including voice messages where, for example, PCD 120 is unavailable to accept a telephone call. In that case, the call is forwarded, through a call-forwarding pre-arrangement, to server 105 where processor 107 requests the caller to leave a voice message. The source of any such voice message may be identified by a caller ID indicating, among others, the caller's telephone number. In addition, the caller may utter a keyword in the beginning of the voice message indicating its priority, thereby facilitating the search by processor 107 for the keyword in sorting messages.
To help present on PCD 120 information items downloaded from server 105, an event manager is used in PCD 120. The event manager enables a user to selectively receive and sort requested or transmitted information items, and it organizes such information items in categories selectable through use of drop-down menus.
Keypad 405 allows a user to enter alphanumeric characters to enter data or respond to requests. Display screen 410 is used to display textual and graphic information and operates to allow data entry or process selection. Display 410 may allow data entry or process selection by using the illustrated drop down menu 465, for example, or by the selection of icons (not shown), which are representative of a processing function or category, or by writing, or printing, alpha-numeric characters on the display face (not shown). Microphone 425 and speaker 420 are used to transmit and receive audio information, such as speech or music. Process selection may also be performed by issuing a verbal command entered through microphone 425.
Scroll keys 436 are used to scroll through a list of information items, such as the illustrated functional categories in pull-down menu 465. A selected information item may then be activated, to perform a process, or to be viewed, by depressing left key 450, for example. In this instance, electronic information card (E-card) category 480 is selected (indicated by dashed-line enclosure) in drop-down menu 465. Information items associated with E-card category 480 may then be viewed by depressing left entry key 450, which are described below. Information items associated with a category may also be selected by touching the category on screen 410 using a pointing device. A pointing device may be a pencil, a pen, a stylus or an infrared, or visible light, laser pointer. Further still, the information items of a selected category may also be viewed by maintaining contact with a displayed icon, or word, that represents the category, for an extended time, or by double-tapping the displayed icon, or word, within a finite time. The selection of categories may also be performed by verbally reciting the category name into microphone 425 and the information items within the selected category may also be viewed by verbally reciting the information item name.
Help key 430 allows access to information concerning quick starting procedures, e.g., an owner's manual, a how-to video demonstration, and a voice script that is used to operate telephone aspects of PCD 120. These help tips provide sufficient information for the user to operate the device. This information provides just enough information, i.e., just-in-time-learning, to enable the user to operate the device. Emergency key 435 provides access to emergency numbers and information that can transmitted to a parties named in an emergency file in a personal profile. The emergency file may be included in medical records 215 of personal profile 210 illustrated in
Digital camera 460 is also included in PCD 120. Camera 460 is capable of capturing an image that can then be stored locally or transmitted to server 105 for storage in a selected user profile, e.g., vacation profile, or for transmission over Internet 170 to another party. Camera 460 may also transmit digital images synchronized with audio data to provide real-time audio/visual data or may transmit audio data sequentially with digital images. Images from camera 460 may further be integrated with additional information items, such as real-time clock or GPS time/positional data to provide time/location tagging of an image. Such time/position tagging may be used to authenticate the image.
Continuing the above example, once E-card category 480 is selected, PCD 120 displays on screen 410 further options for selection.
In this example, the user selects John Doe option 406. In response, PCD 120 displays on screen 410 information item 500 which represents a personal E-card of John Doe.
Further illustrated in
The methodology of conducting a transaction using Credit Card record 540 will now be described. For example, referring to
It should be noted that the above-described methodology is not limited to use of a PIN to verify the identity of the user. Other security measures may also be implemented which include use of digital camera 460 in PCD 120 to transmit an image of the user to server 105 for verification purposes. It will be appreciated that fingerprint images, retinal or iris scans may similarly be used.
In an alternative embodiment, for security reasons, server 105 maintains a POS database which provides the GPS coordinates identifying the location of each POS terminal, including terminal 710. Thus, in conducting the above purchase, processor 107 in server 105 may also request PCD 120 to provide the GPS coordinates identifying the current location of PCD 120. Such GPS coordinates are then provided by the aforementioned GPS device in PCD 120. Based on the above-described transaction ID number which in part identifies POS terminal 710, processor 107 searches the POS database for the GPS coordinates of terminal 710. Processor 107 then determines the distance between PCD 120 and POS terminal 710. If such a distance exceeds a predetermined amount, processor 107 immediately terminates the processing of the transaction, assuming that the user conducts the purchase at the POS location and thus should not be away from POS terminal 710 for more than the predetermined distance.
Still other security measures may be instituted using the Internet protocol (IP) address of server 105. In that case, payment authority system 700 may evaluate the IP address of server 105 transmitting the payment request and would not authorize payment if the request does not come from the IP address of server 105 associated with the user. The user's digital signature in Signature record 550 may be used in a similar manner. The digital signature may be authenticated based on the IP address of server 105 forwarding the digital signature. This authentication is advantageous as a digital signature that did not come from the IP address of a server associated with the user would not bind the user to the terms of a contract or sale.
In accordance with another aspect of the invention, server 105 also incorporates the GPS coordinates of POS terminal 710 in the purchase confirmation and denial records. Alternatively, the GPS coordinates of POS terminal 710 is translated to an actual location (e.g., the address) of the premises on which the purchase is conducted, and the actual location is made part of the purchase confirmation or denial record. Such translation may be achieved using a well known GPS database in server 105 or in another server to which server 105 has access. Thus, in this embodiment, when the user uses PCD 120 to poll server 105 for purchase confirmation records stored in server 105, server 105 returns to PCD 120 a PURCHASE CONFIRMATION RECORDS screen on display 410, which is illustrated in
Second level 860 includes processing of information items which are of secondary importance to the user which, e.g., relates to operation of accessories. For example, the second level functions, which are managed by Application Bar 845 and Menu function 850, include Vehicle Settings function 865 comprising, e.g., window control, seat position control, mirror adjustment, etc., Audio/Video Player function 870, E-card Viewer 875, E-mail Viewer 880, Xyellowpages function 885, interfaces with Mobile Devices 890, Quick Tips function 895, Navigation function 900, Phone function 905 and Climate Control function 910. Third level 920 includes user interface functions such as Keyboard commands 925 and Cancel commands 930.
Segment 950 includes a sliding window accommodating programmable displayed icons which may be created by the user. Illustrated through the sliding window in this instance are selectable icons for a navigation function, phone function and climate control function. Additional icons may be brought into view in the window by touching Right-Shift key 955 or Left-Shift key 960. In addition, signal strength bars 980 on screen 410 indicate the strength of the received wireless communication signal. Navigation icon 985, an alternative to that in segment 950, is also displayed for selection of the navigation function.
In accordance with yet another aspect of the invention, a mobile device, e.g., a PCD, may be used to access a vehicle by a temporary driver who wants to borrow the vehicle from a friend or a car rental company for a limited time period. For example, the temporary driver when renting a vehicle may use PCD 130 to communicate in a wireless manner with a remote car rental agent using PCD 120. The temporary driver specifies the desired size and model of the rental vehicle, the rental period and other preferences through PCD 130 via text and/or voice media. Based on such information, the agent finds an available vehicle satisfying the desired specifications in a database in a host computer which is administered and maintained by the car rental company and to which PCD 120 is docked or connected. The agent then invokes a Vehicle Access page in the form of an E-card on PCD 120 concerning the available vehicle.
It should be noted that the above options are for illustrative purposes. Other options may include a weight limit option whereby the agent may specify the limit of additional weight to be put on the subject vehicle, thereby limiting the number of passengers and/or amount of cargo that the temporary driver can transport in the vehicle. The amount of the additional fee may vary with the weight limit value. Of course, where the weight limit is an option, the automobile system in the subject vehicle, similar to that described in the aforementioned '355 patent, would be capable of sensing the vehicle weight and determining the increase in the weight during the rental period. In the event that the weight increase exceeds the weight limit, the automobile system causes disablement of the vehicle, e.g., a cutoff of the gasoline supply in the vehicle. Still other options may include whether the driver can have Internet access, or access to the vehicle's engine compartment, glove compartment, trunk, etc.
After the car rental agent provides the above rental information onto E-card 2001, the aforementioned host computer generates an access code for the driver to identify himself/herself when the driver picks up the vehicle. Such an access code is also incorporated in E-card 2001 for later verification which, in particular, is incorporated in a header of E-card 2001. Also incorporated in the header is an E-card identification, indicating that E-card 2001 is a vehicle access E-card. The host computer transmits all of the E-card information to the automobile system in the subject vehicle via a wireless communications connection, and the automobile system is accordingly programmed based on the received information.
The agent then communicates via text or voice media to the driver the access code, and the description and location of the vehicle to be picked up. Preferably, the driver records the access code and the vehicle description and location information somewhere other than PCD 130 in the event that the driver should lose PCD 130, and an unauthorized driver may then be able to gain access to the subject vehicle using the recorded information.
For security reasons, in this particular illustrative embodiment, all of the information on E-card 2001, except the aforementioned E-card identification, is encrypted using a private key stored in the host computer, in accordance with a well known cryptographic methodology. One such cryptographic methodology is the RSA methodology, named after its developers, Rivest, Shamir and Adleman. For details on the RSA methodology, one may refer to: R. Rivest et al., “A Method for Obtaining Digital Signatures and Public Key Cryptosystems,” Communications of the ACM, Vol. 21, No. 2, February 1978. The RSA methodology involves a public key algorithm which uses a private key and a public key for data encryption. Unlike a private key which is securely protected from the public, a public key can be published and made known to the public. The keys for the RSA algorithm are generated mathematically, and are computational inverses to each other. The success of the RSA methodology depends on the use of very large numbers for the keys.
In an alternative embodiment, the E-card information may be cryptographically signed, creating a digital signature for authenticating the E-card information.
It will be appreciated that a person skilled in the art may utilize other feasible cryptographic methodology, e.g., the digital encryption standard (DES), Triple-DES, Diffie-Hellman or pretty good privacy (PGP) methodology to achieve the above data encryption or authentication, instead.
It suffices to know for now that the public key corresponding to the aforementioned private key is stored in the automobile system in the subject vehicle. Continuing the above example, the car rental agent causes transmission of the encrypted E-card information, along with the E-card identification, from PCD 120 to PCD 130. The latter stores the received information in a Vehicle Access record therein.
When the temporary driver locates and picks up the subject vehicle, the driver may use PCD 130 to transmit the Vehicle Access record therein to the automobile system of the subject vehicle through wireless or Bluetooth communications. Upon receiving the Vehicle Access record, the automobile system recognizes that the record concerns access to the subject vehicle based on the E-card identification information in the record, as indicated at step 2101 in
Similarly, the geographic limit is enforced with the aid of a GPS device in the vehicle which provides the GPS coordinates identifying the current vehicle position to the automobile system. Successive warnings are given to the driver as the vehicle approaches the borders of the geographic area (e.g., California in this instance) defined by the GPS coordinates within the E-card information. If the driver ignores such warnings and does not extend the geographic limit, as soon as the automobile system detects that the current vehicle position is outside the geographic limit, it causes disablement of the vehicle. Moreover, the time limit is enforced with the aid of a clock in the vehicle which provides time information to the automobile system. Successive warnings are given to the driver as the current time approaches the end of the rental period. If the driver ignores such warnings, and does not extend the rental period, as soon as the automobile system detects that the rental period is over, it causes disablement of the vehicle.
The automobile system at step 2119 unlocks the doors of the subject vehicle to allow access thereto by the temporary driver. However, the automobile system may provide, through its display, to the driver an access key code for subsequent re-entry to the vehicle. Alternatively, the access key code may be communicated by the automobile system directly to the driver's PCD 130. The driver may then use PCD 130 to transmit the access key code to the automobile system to re-enter the vehicle. For the security reasons, the access key code may be changed from time to time. To that end, the automobile system incorporates a key code generator for generating access key codes in a random or pseudo-random fashion. As soon as the driver produces a valid access key code to re-enter the vehicle, the automobile system operates the key code generator to provide the driver with a different access key code for subsequent re-entry.
In accordance with yet another aspect of the invention, the temporary driver may also be provided with an electronic car-mail feature provided by the automobile system in the subject vehicle to receive his/her e-mail and other messages. Again, the car rental company may charge for this feature as part of the car rental fee. In order to fully appreciate the car-mail feature, the concept of car-mail will now be described.
Like a conventional e-mail message, a car-mail message is formatted in accordance with well known protocols, e.g., the well known mail transfer protocol and transmission control protocol/Internet protocol (TCP/IP), and it may be delivered by conventional mail servers via a communications network such as the Internet. However, unlike e-mail whose address identifies a person for personal communications, the car-mail has an address identifying the vehicle itself. As the car-mail address appertains to, or specifically associated with, the vehicle, rather than a person, e.g., the temporary driver, communications with the vehicle using car-mail is intact, regardless of who the actual vehicle user is.
A typical e-mail address is in the format of <user-id>@<domain>, e.g., “email@example.com”. As is well known, the <user-id> part before the “®” sign, e.g., “jsmith”, identifies the e-mail user, e.g., Joe Smith. The <domain> part after the “@” sign, e.g., “aol.com”, identifies the access mail server, e.g., an American Online server connected to the Internet, providing the e-mail service for Joe Smith in this instance. However, a car-mail address is in the format of <vehicle-id>@<domain>. In this instance, the <vehicle-id> part identifies the subject vehicle which is assigned by the aforementioned car rental company host computer. The <domain> part may represent a predetermined access mail server connected to the Internet for serving the car-mail needs of vehicles. For illustrative purposes, the <domain> part may be “vehicle.com” in this example.
The assigned car-mail address is communicated by the host computer to the automobile system in the vehicle and is stored in a memory in the automobile system. The car-mail address remains unchanged during the vehicle rental period. The automobile system includes car-mail communications subsystem 2203 in
Continuing the above example, after the car rental company host computer assigns the car-mail address for use in the subject vehicle during the rental period, the car rental agent uses PCD 120 to communicate via text or voice media to the temporary driver the assigned car-mail address, along with other information described before. With this car-mail address, the car rental company can continually communicate information in the form of car-mail with the vehicle, as opposed to a particular person as in prior art where a personal e-mail is used. Such information may concern vehicle conditions and driving safety tips, and may include the aforementioned warnings, advisories and emergency information directed not only to the temporary driver, but also to any other users, e.g., passengers, of the vehicle. In addition, the temporary driver and other vehicle users may use the car-mail address as a conventional e-mail address and give it out to people who want to communicate with them during the rental period.
In the case where the temporary driver uses server 105 to collect and sort his/her e-mail messages in a manner described before, the temporary driver may use PCD 130 to communicate to server 105 the forwarding car-mail address such that any e-mail messages directed to him/her during the rental period can be seamlessly forwarded to the automobile system for his/her review and response.
The foregoing merely illustrates the principles of the invention. It will thus be appreciated that those skilled in the art will be able to devise numerous other systems which embody the principles of the invention and are thus within its spirit and scope.
For example, although server 105 and PCD 120, as disclosed, are embodied in the form of various discrete functional blocks, each of the server and PCD could equally well be embodied in an arrangement in which the functions of any one or more of those blocks or indeed, all of the functions thereof, are realized, for example, by one or more appropriately programmed processors or devices.