The present invention relates to computer networks, communication systems, and database management systems.
The increasing availability and use of broadband services and the corresponding growth in the number of online services has resulted in the phenomenon that consumers are living more and more of their lives “online”. Computer users establish accounts with Web-based businesses to obtain news or other event information, purchase goods, pay bills, communicate with other computer users, and perform a variety of other tasks. Typically, in order to access an online service and perform a desired task, a user must initiate a browser application on an Internet enabled device, direct the browser to the Web site, log in, and locate the desired data within the Web application. Furthermore, unless the Internet-enabled device is a computer, as opposed to a mobile device, it may be difficult to achieve the desired task, as browser functionality on a mobile device typically does not support most functions of an online application. Accordingly, mobile device users of the online service may be limited in the ability to interact with an online service.
Thus, there is a need for a system for individualized communication between a user and an online database that will enable queries or commands submitted to an online database through a variety of communications media.
A system for interacting with an online database is provided. In one aspect of the invention a user creates an ad hoc, language-based query or command that can be sent through one or more communications media such as e-mail, short messaging service (“SMS”), instant messaging (“IM”), or other messaging delivery service to a desired online service. In another aspect of the invention, the query or command is directed to a user-specific domain maintained by the online service that incorporates a unique uniform resource locator and e-mail address. In a further aspect of the invention, the query or command is directed to a user services address maintained by the online service that incorporates an instant messaging ID and or SMS parser. In a still further aspect of the invention, some portion of the records maintained in the database may be retrieved or altered, according to the user's rights and intent.
The foregoing aspects and many of the attendant advantages of this invention will become more readily appreciated as the same become better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein:
Generally described, the present invention relates to a system and method for processing database requests from a network-based database. More specifically, the present invention relates to a system and method for processing database queries and database commands transmitted via a communication medium to a network-based database. Although the present invention will be described with regard to various communication media and illustrative embodiments, one skilled in the relevant art will appreciate that the disclosed embodiments are illustrative in nature and should not be construed as limiting.
With reference to
The online communication network 100 can also include an online service 104 for processing database communication requests from the client computing devices 102. The online service 104 can include a number of communication servers 106, such as Web servers, e-mail servers and/or other communication devices that facilitate receipt of communications from client computing devices 102 in several communication media. The online service 104 also includes a user services application 108 that processes the client communication to validate the communication, authenticate the user request, and/or process the communication as a data request or a data modification command. In an illustrative embodiment of the present invention, the online service may maintain a user services application 108 for a specific type of communication media, such as an e-mail user services application 108. Alternatively, the online service 104 may have a user services application 108 that can process requests originating from different types of communication media. The online service 104 further includes a user data repository 110 that corresponds to user-specific data, user profiles for accessing public information, and user data to authenticate a user. In an illustrative embodiment of the present invention, the user data repository 110 may correspond to a number of database servers configured locally or distributed across a network.
With reference now to
As described above, in an actual embodiment of the present invention, a user-generated, query or command is submitted to the online service 104 via an e-mail.
At decision block 304, a test is conducted to determine whether the user services application 108 recognizes the database request as a query or command. If the database request is not recognized, the text of the e-mail message can be forwarded to an e-mail account associated with the user domain to which the query or command was directed and the routine 300 ends at block 306. Alternatively, if the user services application 108 recognizes the query or command, at decision block 308, a test is conducted to determine whether the originating e-mail address is associated with a user that has rights to the requested. In an illustrative embodiment of the present invention, the user services application 108 utilizes the user data repository to determine whether the originating e-mail address corresponds to a user of the online service 104. If the e-mail is not associated with a user that has rights, the text of the query or command is forwarded to an e-mail account associated with the user domain to which the query or command was directed at block 306.
If at decision block 308, the originating e-mail address is associated with a user that has rights to the requested data, at decision block 310, a further test is conducted to determine whether the request is a query or command. In an illustrative embodiment, the user services application 108 parses the e-mail for relevant query or command statements and composes a digest request. In another embodiment, the user services application 108 can scan for specific identifiers or metadata to identify a type of database request. If the request is a query, the user services application 108 conducts the corresponding query from the user data repository and returns the data at block 312. As will be explained in greater detail below, the user query can correspond to a query of a single user or multiple user data sets. In some instances, a duplicate copy of the requested data may be sent to one or more additional users including the primary user. If at decision block 310, the request is a command (reflective on an intent to make a change to a record in the database), at block 314, an optional additional user verification step may be required. In an illustrative embodiment, an e-mail message may be forwarded to an e-mail account associated with the user domain to which the domain is directed. In an alternative embodiment, additional or alternative forms of user verification may also be implemented. For example, the user services application 108 may prompt a user for various user identification information, such as PINS, passwords, smart cards, and the like. If the user is authenticated, at block 316, the user services application 108 processes the database command and the routine 300 ends.
At decision block 504, a test is conducted to determine whether the user services application 108 recognizes the SMS ID. In an illustrative embodiment of the present invention, the user services application 108 verifies known SMS IDs via the user data repository 110. If the user is not associated with a known SMS ID, the user services application 108 transmits an instant message at block 506 denying the request and the routine 400 ends. Alternatively, if the user is associated with SMS ID, at decision block 508, the user services application 108 processes the instant message and determines whether the request is a query or command. In an illustrative embodiment, the user services application 108 parses the instant message for relevant query or command statements and composes a digest request. If the request is a query, the user services application 108 conducts the corresponding query from the user data repository and returns the data at block 510. If at decision block 508, the request is a command (reflective of an intent to make a change to a record in the database), at block 512, an optional additional user verification step may be required. If the user is authenticated, at block 514, the user services application 108 processes the database command and the routine 500 ends.
In accordance with an aspect of the present invention, a user-generated query is composed in e-mail to retrieve public calendar data from an online service, which provides access to public and private calendar data. A public calendar is produced and maintained for unrestricted viewing by users. In the exemplary embodiment a movie theater, Maxiplex Cinemas has a public movie times calendar and maintains an e-mail interface for access to the public calendar information. Specifically, a user can send an e-mail to a dedicated e-mail address, such as maxiplex@trumba.com. As discussed above with regard to routine 300 (
In another aspect of the present invention, a user-generated query is composed in e-mail to retrieve private calendar data from an online service, which provides access to public and private calendar data. A private calendar is produced and maintained for restricted viewing and use. In the exemplary embodiment, a user, Jenny Lane, maintains a private calendar with online service. Using various communication media, the user can find out when her dentist appointment is through a query to her calendar. For example, the user can initiate a query, via e-mail, SMS, IM and the like that includes the query term “dentist”. Upon processing the query, the online service 104 can process the query against the user's private calendar and return a message such as: “dentist appointment 1:00 p.m. on Tuesday, Aug. 09, 2005.” In an additional aspect, the user could also manipulate one or more appointments, such as the dentist appoint, from her online calendar by sending the message with a command term, such as “cancel” or “move”.
In still a further aspect of the present invention, the system could also be implemented in such a way that any commands implemented on a calendar entry would be distributed to any specified recipients. With reference to the previous example, the online service could automate a message to the dentist in the event an appointment is cancelled. Adaptations of these exemplary queries to public and private calendars could also be implemented using IM or SMS using the routines described above.
In another illustrative embodiment, a radio station KXXX maintains a public calendar on Trumba web site. The KXXX calendar includes a play list database of songs by broadcast of times. A user might hear a song on the radio that they liked, note the time 10:20 a.m. and submit an e-mail query to KXXX kxxx@trumba.com with the message “10:20.” After a database search for songs played at or near 10:20 is performed, the user would receive an e-mail response such as “10:22 a.m. ‘Live Free’ by The Trees”. The e-mail could also include a link enabling the user to purchase or download the song from an external site.
While illustrative embodiments of the invention have been illustrated and described, it will be appreciated that various changes can be made therein without departing from the spirit and scope of the invention.