CA2317205A1 - Information management system and method - Google Patents
Information management system and method Download PDFInfo
- Publication number
- CA2317205A1 CA2317205A1 CA002317205A CA2317205A CA2317205A1 CA 2317205 A1 CA2317205 A1 CA 2317205A1 CA 002317205 A CA002317205 A CA 002317205A CA 2317205 A CA2317205 A CA 2317205A CA 2317205 A1 CA2317205 A1 CA 2317205A1
- Authority
- CA
- Canada
- Prior art keywords
- user
- vector
- cndot
- server
- recited
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/564—Enhancement of application control based on intercepted application data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
Description
BACKGROUND OF THE INVENTION
Network operation, and in particular Internet operation, generally incorporates three aspects.
1. The first aspect is one of network access, that is to say, the hardware, software and communication means required to grant the user access to network resources.
Network operation, and in particular Internet operation, generally incorporates three aspects.
1. The first aspect is one of network access, that is to say, the hardware, software and communication means required to grant the user access to network resources.
2. The second aspect is one of network navigation. Network navigation generally comprises the means by which a user can identify and get to a desired destination on the network.
3. The third aspect generally comprises task execution, that is to say, the means by which the user can specify the execution of a specific network procedure and enjoy the results thereof.
Current methods of network operation, and more specifically Internet operation, generally consist of:
1. Browser based URL access via a computing device such as a PC, sometimes with the assistance of special access devices. Special access devices include bar code readers attached to Web browsers wherein the Web address is read by means of a bar code, and digital cameras attached to Web browsers wherein the Web address is read by means of a watermark embedded in a printed page.
2. The use of a voice portal by means of a telephone and voice inputs and / or keypad inputs (DTMF inputs).
3. The use of wireless device browsers, such as a digital cellular telephone equipped with a browser screen, sometimes with the help of keypad assistants. Keypad assistants are employed to enable the user to specify an alphanumeric Web address on a common telephone keypad. Generally, keypad assistants provide shortcuts to enable the user to enter alphanumeric URL's with fewer keystrokes on a numeric keypad.
LIMITATIONS OF CURRENT NETWORK OPERATING METHODS
Present methods of network operation generally result in the user facing many hindrances while attempting to conveniently access and navigate the network, and execute network procedures.
Lack of Broad Based Access to Network Resources and Poor Network Navigation One of the most common hindrances is that of gaining convenient access to the network.
~ Browser based URL access is limited by access to the required hardware, software, and communications (access to a browser equipped device is often inconvenient at the time that network access is desirable). Navigating to a desired resource is often difficult, given many menu layers within Web homepages, and dozens of hyperlinks.
While bar code readers and other forms of special access devices do streamline the navigation process, leading the user directly to the content of interest, lack of broad based adoption of these access devices limits their utility.
Conventional landline and wireless telephones dialing into a voice portal provide the most convenient points of access. However, voice portals currently present a host of challenges, including less than perfect voice recognition, tedious data entry and network navigation, and very limited abilities to return results (being generally limited to audio results that the user must listen to).
More advanced telephones equipped with browsers also pose problems, even when equipped with keypad assistants. The limitations imposed by numeric keypads, small display screens, slow connection speeds, and the lack of sites specifically formatted for telephone screen displays make this means of access and navigation mediocre for most applications.
Poor Task Execution Once network access has been obtained, and the user has successfully navigated the network to find the resource of interest, current operating methods also pose the problem of poor task execution / fulfillment.
Lack of Transparent and Robust User Security: Internet users must frequently "log in" to various sites, frequently inputting account names and passwords. Very simple account names and passwords are frequently used in an effort to simplify this burdensome process, compromising security. Once connected to a given Web site, the Web server will often extract (frequently without user knowledge or consent) personal information on the user, leading to possible violations of user privacy and security.
Laborious User Interaction to Specify Task Criteria: Once the user has successfully accessed the network and navigated to the correct network resource, the result is still in question. Users must often read a series of questions and respond appropriately in order to specify how a task should be fulfilled (for example, specifying products, shipping addresses, purchase instructions and authorization, and e-mail addresses).
~ While PC based browsers are reasonably well suited to this task, wireless device browsers make this process difficult, often attempting to accommodate content that is often not suited for display on small screens. The limitations imposed by wireless device keypads (typically telephone keypads) make responding to requests for information very tedious and time consuming.
Voice portals can pose even greater challenges to task execution. Users must struggle to comprehend instructions that are audibly read to them, often imperfectly due to computerized text to voice translation. Responding via a telephone's numeric keypad, or worse yet, general voice recognition, makes the completion of "open-ended" requests (such as a request for a mailing address or an e-mail address) very difficult.
Poor Formulation of Result / Response to User: Once criteria for a task had been specified, the Web server executing the task often responds poorly, with little consideration for the user's abilities and preferences.
~ Users equipped with browsers often receive content that is ill suited to their particular device type. The content may, for example, be too graphically intense for a browser communicating via a slow analog modem, or may not be suited for display on a small wireless device screen.
Voice portals, which generally are limited to reading responses back to users, often struggle to put the response in a comprehensible form, especially given the limitations of computerized text to voice translation.
Other Considerations in Network Operation High Web Server Overhead: Current methods of network operation often impose substantial burdens on network servers.
As users repeatedly navigate from "home pages" to various pages on a Web site in a quest for specific information, a high amount of network traffic is generated imposing a load on both the Web server and on the site's bandwidth to the Internet.
In many instances, users will browse several pages in a quest for one simple piece of information. Larger sites may be particularly confusing in nature, given multiple menu levels and dozens / hundreds of links.
~ Voice recognition incorporating a broad unbounded vocabulary requires a substantial amount of processing power, making voice portals relatively expensive to operate, and limiting the number of users that can be concurrently supported.
Limited Opportunities to Gage Return on Investment: Limited information is available to track how successful various forms of promotion have been in promoting specific Web resources. Limited information is also available on user demographics, without generally an invasion of user privacy. Consequently, investments in electronic commerce are often hampered by a lack of solid performance data, hindering future network investments and business strategies.
NEED FOR AN IMPROVED METHOD OF NETWORK OPERATION
There is therefore a need for an improved method of network operation. This method of network operation may take into account the objectives of broadening network access, improving network navigation, providing a transparent means of user identification and verification, and providing an enhanced means of task execution / delivery of task results.
Brief Description of the Drawings Figure 1 illustrates the components of the preferred embodiment of the present invention, using by means of example only, a network stored procedure suited to the task of Internet content retrieval.
Figure 2 shows a flow chart depicting the general method of network operation of the preferred embodiment.
Figure 3 illustrates the components of a structured vector.
Figure 4 illustrates the general steps comprised in the identification of a user in the preferred embodiment.
Figure 5 illustrates the process of mapping a specific vector found at source by the user to a master vector for the purpose of executing a network stored procedure, in the preferred embodiment.
Figure 6 illustrates the process of selecting the appropriate user profiles) in order to shape the execution of the network stored procedure in the preferred embodiment.
Figure 7 shows a flow chart depicting, in the preferred embodiment and by means of example only, the process wherein execution of the network stored procedure is tailored by information contained in the selected user profile, in order to provide a result suited to the user in question.
Figure 8 depicts the nature of a structured composite vector.
Figure 9 illustrates the process of creating a tracking vector for a master vector DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
While the present invention can be used to facilitate a broad range of network operations, for the purpose of this description an Internet content retrieval operation will be principally used (by means of example only) to illustrate the method of network operation. In the following description, will consider an application wherein a user obtains from an advertisement a vector offering more information on a product that the user is interested in. The user proceeds to use the vector in requesting information on the product in question.
Referring to Figure 1, the preferred embodiment of the present invention is operated by a telephone caller using a telephone 110 to dial 120 into a server 130 having telephonic interfacing software and hardware. The server provides audio directions to the caller, and the caller submits by means of a verbal directive 100 or by means of dual tone multiple frequency (DTMF) telephone keypad entries a vector to the server 130. The server 130 mounts a discovery process to identify the caller, preferably by means of automatic number identification. The server 130 processes the vector coordinates submitted by the user and determines from the coordinates the network stored procedure to execute. The server 130 proceeds to retrieve the appropriate network stored procedure 140, and based on the network stored procedure and the user's identity, proceeds to retrieve the appropriate user profiles) 150. Executing the network stored procedure, the server 130 proceeds to contact (on behalf of the user) the Internet server 160 hosting the content of interest. Using the information disclosed in the user profiles) the server 130 proceeds to retrieve content from the Internet server 160. The said content is retrieved from the Internet server 160 by the server 130 and transmitted 170 to the user's medium of choice 180 as specified in the user profiles) 150.
Referring to Figure 2, a flowchart disclosing the general method of network operation in the preferred embodiment, and again using a content retrieval procedure by means of example only, the user telephonically submits 210 a vector to the server. The server proceeds to attempt to identify the user 220 by means of Automatic Number Identification (ANI) in order to obtain the user's telephone number at the point of the call's origin. If ANI (also sometimes referred to as "caller ID") fails to provide a telephone number, or if the server does not recognize the telephone number provided by ANI, the server will prompt the user 225 to enter a telephone number. The user may do so verbally or by means of DTMF keypad entries. Even if the server is successful in obtaining by means of ANI 220 a telephone number, the user may opt to instruct the server to disregard the ANI generated telephone number and stand by to accept an alternate telephone number to be used for user ID purposes. By means of a keyword command (for example, a keyword followed by a telephone number such as "user 345 8755") or by means of a keypad command (such as to "# 555 345 8755") the user may elect to interrupt the standard user ID process 220 and force the server to accept an alternate number for user ID purposes. For example, the user may choose to do so when using a telephone at a friend's home to submit a vector request to the server, as the user desires the server to recognize that the person making the submission is not the owner of the telephone account at the source of the call.
Once the user is identified, the server will request a vector 230 from the user. In the embodiment currently preferred, the user by means of verbal directives may submit vector coordinates to the server. The server will proceed to attempt to verify 240 the identity of the user (see the outline of Figure 4 below).
The server will proceed 250 to lookup the submitted vector in a reference guide in order to determine which stored procedure corresponds to the coordinates as submitted by the user (see the outline of Figure 5 below). Once the stored procedure is identified, the server will 260 attempt to determine what user information is required to facilitate the completion of the stored procedure (see the outline of Figure 6 below).
Given the procurement of the necessary user information to permit execution of the stored procedure, the server will 270 execute the stored procedure and attempt to complete the task in question. The server will 280 consider information obtained on user abilities and preferences from the retrieved user profiles) and attempt to retrieve the information from the network in format suited to the user. The server will 280 proceed to deliver the information to the user's medium of choice (see the outline of Figure 7 below).
Referring to Figure 3, the preferred embodiment of the present invention incorporates the use of a structured vector 300. The vector 300 consists of a defined number of segments 310, each segment 310 having a defined length. In the preferred embodiment, the user will submit the vector verbally by first issuing a keyword followed by the vector coordinates (if "vector" is the keyword, the submission may consist of the spoken directive "vector 775 221 345 983"). In this manner, the server may be able to interpret a verbal submission of coordinates with a greater degree of accuracy. The server will expect a defined number of inputs following the keyword trigger thus simplifying the voice recognition process, with a predictable starting point (the keyword) and a predictable ending point (for example, the 12'" coordinate). The final digit 320 may consist of a check value, derived from a hashing function incorporating the preceding vector coordinates. In this manner, the validity of the submitted coordinates can be readily checked to help in ensuring that errors by the user in submitting coordinates and /
or errors in voice recognition are held to a minimum.
Referring to Figure 4, the process of identifying the user and verifying the said user's identity is disclosed. In the preferred embodiment, the user telephonically 410 contacts 420 the server 430 and verbally submits the vector coordinates. The server obtains the user's "home" telephone number; to be used as a "key" value in establishing the user's identity. The telephone number can be established by a number of means, including the use of carrier ANI functions, or on the user's initiative triggered by the utterance of a keyword followed by the disclosure of the user's relevant "home" telephone number (as previously discussed above).
In the preferred embodiment, once the server has obtained the "home" telephone number, the server 430 will examine user profiles 440 stored on the network in order to attempt to verify the identity of the user. In the preferred embodiment, a "master user profile"
record will typically include:
~ the "home telephone number" 450 which can be utilized as the key value in search functions ~ voice print samples 460 of the user's voice uttering Arabic numerals "0"
through to "9" and designated keywords such as "vector" and "user"
~ a master ID number 470 associated with the user, to serve as a unique identification code for the user In the preferred embodiment, as a user verbally submits a vector 400 consisting at least in part of Arabic numerals, the server 430 may attempt to compare the voice submitting the keywords) and the vector coordinates) to the voice prints on file. By means of the user's "home" telephone number, the server 430 may be able to narrow the field of search to records having a key value 450 matching that of the user's "home" telephone number.
Once the appropriate records) are retrieved from the store of user profiles 440, the server will attempt to match the voice print as submitted to the voice prints) 460 on file, in order to determine and verify the exact identity of the user. Once a match is made the user's unique ID 470 may be retrieved for further use. In this manner, several individuals may share a "home" telephone number, and yet still be uniquely identified via the voice print matching process.
Refernng to Figure 5, the process of mapping or translating a submitted vector value to a master vector value, and mapping or translating the master vector value to a given stored procedure is disclosed. In the preferred embodiment, and again using the procedure of Internet content retrieval by means of example only, a vector value may be uniquely assigned to each advertisement in each medium. For example, a print ad running in 3 different newspapers may display a unique vector for each of the 3 papers. In so doing, the number of responses drawn by each newspaper may be tracked for reporting purposes. Once the user (reader) contacts the server and submits the vector value 510 from a given newspaper the server will correlate the submitted value to a master vector value 550. The correlation may be performed by means of a "many to one"
function 520 wherein a list of unique vector values 530 are related to master vector values 540 as will be evident to those with skill in the art. Once the master vector value is known, a subsequent operation may map or translate the master vector value 560 to a specific stored procedure 570. Once the server has effectively mapped or translated the submitted vector to a specific stored procedure, it can proceed to retrieve the stored procedure 580 and prepare to execute the said stored procedure.
Refernng to Figure 6, the process of retrieving the appropriate user profiles) is disclosed, again using the procedure of Internet content retrieval by means of example only. In the preferred embodiment, once the server 610 has retrieved a given stored procedure 620, a discovery process will take place to identify what user information will be required to effect a successful execution of the procedure 620. A description of these requirements may accompany the stored procedure, drawing a relationship between the stored procedure 630 and the type of user information required 640 to effect a successful execution of the stored procedure. The server 610 may typically proceed to retrieve from the user profiles 650 stored on the network the specific information 660 required by the targeted stored procedure in order to effect a successful execution. For example, the stored procedure 630 previously identified by means of a vector may request a content profile 640 on the user, in order to determine what content format and what medium of delivery is appropriate for the user in question. In this example, the server 610 may proceed to retrieve from the stored user profiles 650 information from the content profile table 660. Having first identified the user and obtained the user's unique ID
(see above) the server 610 may examine the content profile table 660 and retrieve information specific to the user's ID 670. This information may describe various aspects of the user, including such aspects as:
~ the user's name 675 ~ the user's e-mail address 678 ~ the user's type of connection to the Internet 680 ~ the user's preferred type of content 690 ~ the user's preferred language 695 Using this information, execution of the stored procedure can be tailored to provide results suited to the user in question.
The server 610 may conduct an inventory of the stored user profiles) in order to determine whether all of the information required by a given stored procedure is available. In this manner, the server can proactively advise the user before commencing execution of the stored procedure that insufficient information is available to permit the successful execution of the stored procedure. Consequently, the likelihood of a user facing a "dead end" midway through execution of a given stored procedure is minimized.
Because the server 610 retrieves information from the stored procedures, and proceeds to effect execution of the stored procedure on behalf of the user, only the bare minimum of personal information is released to third party network sites. Instead of simply turning over the user profile information to a third party server for processing, the server 610 uses the information to allow the stored procedure to execute in a secure environment, and by proxy conduct any dealings with third party servers. For example, in Internet content retrieval, the processing of the user content profile allows the server 610 to retrieve the appropriate information from the third party server without revealing the user's identity to the third party server.
Referring to Figure 7, the process of tailoring the execution of the specified network stored procedure is disclosed. In the preferred embodiment, and using the procedure of Internet content retrieval by means of example only, the server (as previously disclosed) searches 710 for the relevant user content profile and retrieves 730 the said profile.
A user content profile may include:
~ Language preference (English / French / Spanish / etc.) ~ Preferred medium of delivery (E-mail / Fax / Pager / Postal Mail / etc.) and the corresponding address / contact number / etc.
~ Alternate preferred medium of delivery (e.g. home PC e-mail account if the preferred mode is a cell phone text only e-mail service).
~ Postal address, should land based delivery be required ~ Internet connection speed, if applicable (Analog 56K, DSL, etc.) ~ PC multimedia capabilities (PDF? Flash? RealAudio? RealVideo? Etc.) ~ PC printing capability (printer attached? colour printer? etc.) ~ Whether of not the requester is willing to pay for the supply of information, and if so, the maximum amount and the mode of billing (Visa card? Telephone account?
Etc.) ~ Other relevant data, as will occur to those skilled in the art If the server is unsuccessful 720 in retrieving a content profile for the user in question, the server may elect to assign a "default" content profile 725 to tailor execution of the stored procedure. For example, in the content retrieval task previously noted wherein the user desires to obtain information offered by a certain advertisement, the user may be an individual who does have a home PC, has never utilized the Internet, and has not established a content profile. In this instance, the server in executing the stored procedure cannot retrieve a content profile specific to the user. By default the server may elect to employ a generic content profile which stipulates that content be delivered by postal mail to the address associated with the user's "home" telephone number (using the telephone carrier's online client database containing names, telephone numbers, and mailing addresses).
Once the server has obtained a suitable user content profile, the server may proceed to "arbitrate" 740 between the preferences / conditions found in the user content profile, and the supplier's preferences / conditions.
An advertiser (supplier) who has enlisted the aid of the server to supply information to requesters (users) may have a supplier's profile filled out outlining certain preferences /
conditions to be employed in the fulfilment process, or may have the preferences /
conditions embedded in the network stored procedure.
A supplier's preferences / conditions may include, for each vector co-ordinate booked by the supplier:
~ The various types of content available from the supplier (plain text message, HTML
presentation, RealVideo presentation, etc.) ~ Whether or not the supplier is willing to pay for postal delivery of the information to the requester (in the event that no e-mail address is available) The limit of expenditures that the supplier is willing to incur in responding to requests stemming from a certain advertising campaign ~ The geographic regions within which responses may be issued ~ Other relevant data, as will occur to those skilled in the art The server may proceed 740 to arbitrate between the user's preferences /
conditions and the supplier's preferences / conditions in order to determine the best means of fulfilment.
For example, upon receiving a request from a user, the server may consider scenarios such as:
1. Requester has an Internet e-mail address, optimal mode of delivery is simple HTML
content given the requester's analog 56K connection, the supplier has such a presentation on file, and the server proceeds to fulfil the request by e-mailing the content to the user at the e-mail address found in the user content profile.
2. Requester has no content profile on file and thus no e-mail address is available, postal address tied to telephone number of requester is within supplier's target market geographically, supplier is willing to pay for printing and postal delivery, and the server proceeds to fulfil the request by printing and posting the requested information.
3. Requester has a simple text only e-mail service, content requested requires the ability to view and print graphic content (such as a map, discount coupon, etc.), supplier is willing to pay printing and postal charges, and the server proceeds to fulfil the request by printing and posting the requested information.
Current methods of network operation, and more specifically Internet operation, generally consist of:
1. Browser based URL access via a computing device such as a PC, sometimes with the assistance of special access devices. Special access devices include bar code readers attached to Web browsers wherein the Web address is read by means of a bar code, and digital cameras attached to Web browsers wherein the Web address is read by means of a watermark embedded in a printed page.
2. The use of a voice portal by means of a telephone and voice inputs and / or keypad inputs (DTMF inputs).
3. The use of wireless device browsers, such as a digital cellular telephone equipped with a browser screen, sometimes with the help of keypad assistants. Keypad assistants are employed to enable the user to specify an alphanumeric Web address on a common telephone keypad. Generally, keypad assistants provide shortcuts to enable the user to enter alphanumeric URL's with fewer keystrokes on a numeric keypad.
LIMITATIONS OF CURRENT NETWORK OPERATING METHODS
Present methods of network operation generally result in the user facing many hindrances while attempting to conveniently access and navigate the network, and execute network procedures.
Lack of Broad Based Access to Network Resources and Poor Network Navigation One of the most common hindrances is that of gaining convenient access to the network.
~ Browser based URL access is limited by access to the required hardware, software, and communications (access to a browser equipped device is often inconvenient at the time that network access is desirable). Navigating to a desired resource is often difficult, given many menu layers within Web homepages, and dozens of hyperlinks.
While bar code readers and other forms of special access devices do streamline the navigation process, leading the user directly to the content of interest, lack of broad based adoption of these access devices limits their utility.
Conventional landline and wireless telephones dialing into a voice portal provide the most convenient points of access. However, voice portals currently present a host of challenges, including less than perfect voice recognition, tedious data entry and network navigation, and very limited abilities to return results (being generally limited to audio results that the user must listen to).
More advanced telephones equipped with browsers also pose problems, even when equipped with keypad assistants. The limitations imposed by numeric keypads, small display screens, slow connection speeds, and the lack of sites specifically formatted for telephone screen displays make this means of access and navigation mediocre for most applications.
Poor Task Execution Once network access has been obtained, and the user has successfully navigated the network to find the resource of interest, current operating methods also pose the problem of poor task execution / fulfillment.
Lack of Transparent and Robust User Security: Internet users must frequently "log in" to various sites, frequently inputting account names and passwords. Very simple account names and passwords are frequently used in an effort to simplify this burdensome process, compromising security. Once connected to a given Web site, the Web server will often extract (frequently without user knowledge or consent) personal information on the user, leading to possible violations of user privacy and security.
Laborious User Interaction to Specify Task Criteria: Once the user has successfully accessed the network and navigated to the correct network resource, the result is still in question. Users must often read a series of questions and respond appropriately in order to specify how a task should be fulfilled (for example, specifying products, shipping addresses, purchase instructions and authorization, and e-mail addresses).
~ While PC based browsers are reasonably well suited to this task, wireless device browsers make this process difficult, often attempting to accommodate content that is often not suited for display on small screens. The limitations imposed by wireless device keypads (typically telephone keypads) make responding to requests for information very tedious and time consuming.
Voice portals can pose even greater challenges to task execution. Users must struggle to comprehend instructions that are audibly read to them, often imperfectly due to computerized text to voice translation. Responding via a telephone's numeric keypad, or worse yet, general voice recognition, makes the completion of "open-ended" requests (such as a request for a mailing address or an e-mail address) very difficult.
Poor Formulation of Result / Response to User: Once criteria for a task had been specified, the Web server executing the task often responds poorly, with little consideration for the user's abilities and preferences.
~ Users equipped with browsers often receive content that is ill suited to their particular device type. The content may, for example, be too graphically intense for a browser communicating via a slow analog modem, or may not be suited for display on a small wireless device screen.
Voice portals, which generally are limited to reading responses back to users, often struggle to put the response in a comprehensible form, especially given the limitations of computerized text to voice translation.
Other Considerations in Network Operation High Web Server Overhead: Current methods of network operation often impose substantial burdens on network servers.
As users repeatedly navigate from "home pages" to various pages on a Web site in a quest for specific information, a high amount of network traffic is generated imposing a load on both the Web server and on the site's bandwidth to the Internet.
In many instances, users will browse several pages in a quest for one simple piece of information. Larger sites may be particularly confusing in nature, given multiple menu levels and dozens / hundreds of links.
~ Voice recognition incorporating a broad unbounded vocabulary requires a substantial amount of processing power, making voice portals relatively expensive to operate, and limiting the number of users that can be concurrently supported.
Limited Opportunities to Gage Return on Investment: Limited information is available to track how successful various forms of promotion have been in promoting specific Web resources. Limited information is also available on user demographics, without generally an invasion of user privacy. Consequently, investments in electronic commerce are often hampered by a lack of solid performance data, hindering future network investments and business strategies.
NEED FOR AN IMPROVED METHOD OF NETWORK OPERATION
There is therefore a need for an improved method of network operation. This method of network operation may take into account the objectives of broadening network access, improving network navigation, providing a transparent means of user identification and verification, and providing an enhanced means of task execution / delivery of task results.
Brief Description of the Drawings Figure 1 illustrates the components of the preferred embodiment of the present invention, using by means of example only, a network stored procedure suited to the task of Internet content retrieval.
Figure 2 shows a flow chart depicting the general method of network operation of the preferred embodiment.
Figure 3 illustrates the components of a structured vector.
Figure 4 illustrates the general steps comprised in the identification of a user in the preferred embodiment.
Figure 5 illustrates the process of mapping a specific vector found at source by the user to a master vector for the purpose of executing a network stored procedure, in the preferred embodiment.
Figure 6 illustrates the process of selecting the appropriate user profiles) in order to shape the execution of the network stored procedure in the preferred embodiment.
Figure 7 shows a flow chart depicting, in the preferred embodiment and by means of example only, the process wherein execution of the network stored procedure is tailored by information contained in the selected user profile, in order to provide a result suited to the user in question.
Figure 8 depicts the nature of a structured composite vector.
Figure 9 illustrates the process of creating a tracking vector for a master vector DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
While the present invention can be used to facilitate a broad range of network operations, for the purpose of this description an Internet content retrieval operation will be principally used (by means of example only) to illustrate the method of network operation. In the following description, will consider an application wherein a user obtains from an advertisement a vector offering more information on a product that the user is interested in. The user proceeds to use the vector in requesting information on the product in question.
Referring to Figure 1, the preferred embodiment of the present invention is operated by a telephone caller using a telephone 110 to dial 120 into a server 130 having telephonic interfacing software and hardware. The server provides audio directions to the caller, and the caller submits by means of a verbal directive 100 or by means of dual tone multiple frequency (DTMF) telephone keypad entries a vector to the server 130. The server 130 mounts a discovery process to identify the caller, preferably by means of automatic number identification. The server 130 processes the vector coordinates submitted by the user and determines from the coordinates the network stored procedure to execute. The server 130 proceeds to retrieve the appropriate network stored procedure 140, and based on the network stored procedure and the user's identity, proceeds to retrieve the appropriate user profiles) 150. Executing the network stored procedure, the server 130 proceeds to contact (on behalf of the user) the Internet server 160 hosting the content of interest. Using the information disclosed in the user profiles) the server 130 proceeds to retrieve content from the Internet server 160. The said content is retrieved from the Internet server 160 by the server 130 and transmitted 170 to the user's medium of choice 180 as specified in the user profiles) 150.
Referring to Figure 2, a flowchart disclosing the general method of network operation in the preferred embodiment, and again using a content retrieval procedure by means of example only, the user telephonically submits 210 a vector to the server. The server proceeds to attempt to identify the user 220 by means of Automatic Number Identification (ANI) in order to obtain the user's telephone number at the point of the call's origin. If ANI (also sometimes referred to as "caller ID") fails to provide a telephone number, or if the server does not recognize the telephone number provided by ANI, the server will prompt the user 225 to enter a telephone number. The user may do so verbally or by means of DTMF keypad entries. Even if the server is successful in obtaining by means of ANI 220 a telephone number, the user may opt to instruct the server to disregard the ANI generated telephone number and stand by to accept an alternate telephone number to be used for user ID purposes. By means of a keyword command (for example, a keyword followed by a telephone number such as "user 345 8755") or by means of a keypad command (such as to "# 555 345 8755") the user may elect to interrupt the standard user ID process 220 and force the server to accept an alternate number for user ID purposes. For example, the user may choose to do so when using a telephone at a friend's home to submit a vector request to the server, as the user desires the server to recognize that the person making the submission is not the owner of the telephone account at the source of the call.
Once the user is identified, the server will request a vector 230 from the user. In the embodiment currently preferred, the user by means of verbal directives may submit vector coordinates to the server. The server will proceed to attempt to verify 240 the identity of the user (see the outline of Figure 4 below).
The server will proceed 250 to lookup the submitted vector in a reference guide in order to determine which stored procedure corresponds to the coordinates as submitted by the user (see the outline of Figure 5 below). Once the stored procedure is identified, the server will 260 attempt to determine what user information is required to facilitate the completion of the stored procedure (see the outline of Figure 6 below).
Given the procurement of the necessary user information to permit execution of the stored procedure, the server will 270 execute the stored procedure and attempt to complete the task in question. The server will 280 consider information obtained on user abilities and preferences from the retrieved user profiles) and attempt to retrieve the information from the network in format suited to the user. The server will 280 proceed to deliver the information to the user's medium of choice (see the outline of Figure 7 below).
Referring to Figure 3, the preferred embodiment of the present invention incorporates the use of a structured vector 300. The vector 300 consists of a defined number of segments 310, each segment 310 having a defined length. In the preferred embodiment, the user will submit the vector verbally by first issuing a keyword followed by the vector coordinates (if "vector" is the keyword, the submission may consist of the spoken directive "vector 775 221 345 983"). In this manner, the server may be able to interpret a verbal submission of coordinates with a greater degree of accuracy. The server will expect a defined number of inputs following the keyword trigger thus simplifying the voice recognition process, with a predictable starting point (the keyword) and a predictable ending point (for example, the 12'" coordinate). The final digit 320 may consist of a check value, derived from a hashing function incorporating the preceding vector coordinates. In this manner, the validity of the submitted coordinates can be readily checked to help in ensuring that errors by the user in submitting coordinates and /
or errors in voice recognition are held to a minimum.
Referring to Figure 4, the process of identifying the user and verifying the said user's identity is disclosed. In the preferred embodiment, the user telephonically 410 contacts 420 the server 430 and verbally submits the vector coordinates. The server obtains the user's "home" telephone number; to be used as a "key" value in establishing the user's identity. The telephone number can be established by a number of means, including the use of carrier ANI functions, or on the user's initiative triggered by the utterance of a keyword followed by the disclosure of the user's relevant "home" telephone number (as previously discussed above).
In the preferred embodiment, once the server has obtained the "home" telephone number, the server 430 will examine user profiles 440 stored on the network in order to attempt to verify the identity of the user. In the preferred embodiment, a "master user profile"
record will typically include:
~ the "home telephone number" 450 which can be utilized as the key value in search functions ~ voice print samples 460 of the user's voice uttering Arabic numerals "0"
through to "9" and designated keywords such as "vector" and "user"
~ a master ID number 470 associated with the user, to serve as a unique identification code for the user In the preferred embodiment, as a user verbally submits a vector 400 consisting at least in part of Arabic numerals, the server 430 may attempt to compare the voice submitting the keywords) and the vector coordinates) to the voice prints on file. By means of the user's "home" telephone number, the server 430 may be able to narrow the field of search to records having a key value 450 matching that of the user's "home" telephone number.
Once the appropriate records) are retrieved from the store of user profiles 440, the server will attempt to match the voice print as submitted to the voice prints) 460 on file, in order to determine and verify the exact identity of the user. Once a match is made the user's unique ID 470 may be retrieved for further use. In this manner, several individuals may share a "home" telephone number, and yet still be uniquely identified via the voice print matching process.
Refernng to Figure 5, the process of mapping or translating a submitted vector value to a master vector value, and mapping or translating the master vector value to a given stored procedure is disclosed. In the preferred embodiment, and again using the procedure of Internet content retrieval by means of example only, a vector value may be uniquely assigned to each advertisement in each medium. For example, a print ad running in 3 different newspapers may display a unique vector for each of the 3 papers. In so doing, the number of responses drawn by each newspaper may be tracked for reporting purposes. Once the user (reader) contacts the server and submits the vector value 510 from a given newspaper the server will correlate the submitted value to a master vector value 550. The correlation may be performed by means of a "many to one"
function 520 wherein a list of unique vector values 530 are related to master vector values 540 as will be evident to those with skill in the art. Once the master vector value is known, a subsequent operation may map or translate the master vector value 560 to a specific stored procedure 570. Once the server has effectively mapped or translated the submitted vector to a specific stored procedure, it can proceed to retrieve the stored procedure 580 and prepare to execute the said stored procedure.
Refernng to Figure 6, the process of retrieving the appropriate user profiles) is disclosed, again using the procedure of Internet content retrieval by means of example only. In the preferred embodiment, once the server 610 has retrieved a given stored procedure 620, a discovery process will take place to identify what user information will be required to effect a successful execution of the procedure 620. A description of these requirements may accompany the stored procedure, drawing a relationship between the stored procedure 630 and the type of user information required 640 to effect a successful execution of the stored procedure. The server 610 may typically proceed to retrieve from the user profiles 650 stored on the network the specific information 660 required by the targeted stored procedure in order to effect a successful execution. For example, the stored procedure 630 previously identified by means of a vector may request a content profile 640 on the user, in order to determine what content format and what medium of delivery is appropriate for the user in question. In this example, the server 610 may proceed to retrieve from the stored user profiles 650 information from the content profile table 660. Having first identified the user and obtained the user's unique ID
(see above) the server 610 may examine the content profile table 660 and retrieve information specific to the user's ID 670. This information may describe various aspects of the user, including such aspects as:
~ the user's name 675 ~ the user's e-mail address 678 ~ the user's type of connection to the Internet 680 ~ the user's preferred type of content 690 ~ the user's preferred language 695 Using this information, execution of the stored procedure can be tailored to provide results suited to the user in question.
The server 610 may conduct an inventory of the stored user profiles) in order to determine whether all of the information required by a given stored procedure is available. In this manner, the server can proactively advise the user before commencing execution of the stored procedure that insufficient information is available to permit the successful execution of the stored procedure. Consequently, the likelihood of a user facing a "dead end" midway through execution of a given stored procedure is minimized.
Because the server 610 retrieves information from the stored procedures, and proceeds to effect execution of the stored procedure on behalf of the user, only the bare minimum of personal information is released to third party network sites. Instead of simply turning over the user profile information to a third party server for processing, the server 610 uses the information to allow the stored procedure to execute in a secure environment, and by proxy conduct any dealings with third party servers. For example, in Internet content retrieval, the processing of the user content profile allows the server 610 to retrieve the appropriate information from the third party server without revealing the user's identity to the third party server.
Referring to Figure 7, the process of tailoring the execution of the specified network stored procedure is disclosed. In the preferred embodiment, and using the procedure of Internet content retrieval by means of example only, the server (as previously disclosed) searches 710 for the relevant user content profile and retrieves 730 the said profile.
A user content profile may include:
~ Language preference (English / French / Spanish / etc.) ~ Preferred medium of delivery (E-mail / Fax / Pager / Postal Mail / etc.) and the corresponding address / contact number / etc.
~ Alternate preferred medium of delivery (e.g. home PC e-mail account if the preferred mode is a cell phone text only e-mail service).
~ Postal address, should land based delivery be required ~ Internet connection speed, if applicable (Analog 56K, DSL, etc.) ~ PC multimedia capabilities (PDF? Flash? RealAudio? RealVideo? Etc.) ~ PC printing capability (printer attached? colour printer? etc.) ~ Whether of not the requester is willing to pay for the supply of information, and if so, the maximum amount and the mode of billing (Visa card? Telephone account?
Etc.) ~ Other relevant data, as will occur to those skilled in the art If the server is unsuccessful 720 in retrieving a content profile for the user in question, the server may elect to assign a "default" content profile 725 to tailor execution of the stored procedure. For example, in the content retrieval task previously noted wherein the user desires to obtain information offered by a certain advertisement, the user may be an individual who does have a home PC, has never utilized the Internet, and has not established a content profile. In this instance, the server in executing the stored procedure cannot retrieve a content profile specific to the user. By default the server may elect to employ a generic content profile which stipulates that content be delivered by postal mail to the address associated with the user's "home" telephone number (using the telephone carrier's online client database containing names, telephone numbers, and mailing addresses).
Once the server has obtained a suitable user content profile, the server may proceed to "arbitrate" 740 between the preferences / conditions found in the user content profile, and the supplier's preferences / conditions.
An advertiser (supplier) who has enlisted the aid of the server to supply information to requesters (users) may have a supplier's profile filled out outlining certain preferences /
conditions to be employed in the fulfilment process, or may have the preferences /
conditions embedded in the network stored procedure.
A supplier's preferences / conditions may include, for each vector co-ordinate booked by the supplier:
~ The various types of content available from the supplier (plain text message, HTML
presentation, RealVideo presentation, etc.) ~ Whether or not the supplier is willing to pay for postal delivery of the information to the requester (in the event that no e-mail address is available) The limit of expenditures that the supplier is willing to incur in responding to requests stemming from a certain advertising campaign ~ The geographic regions within which responses may be issued ~ Other relevant data, as will occur to those skilled in the art The server may proceed 740 to arbitrate between the user's preferences /
conditions and the supplier's preferences / conditions in order to determine the best means of fulfilment.
For example, upon receiving a request from a user, the server may consider scenarios such as:
1. Requester has an Internet e-mail address, optimal mode of delivery is simple HTML
content given the requester's analog 56K connection, the supplier has such a presentation on file, and the server proceeds to fulfil the request by e-mailing the content to the user at the e-mail address found in the user content profile.
2. Requester has no content profile on file and thus no e-mail address is available, postal address tied to telephone number of requester is within supplier's target market geographically, supplier is willing to pay for printing and postal delivery, and the server proceeds to fulfil the request by printing and posting the requested information.
3. Requester has a simple text only e-mail service, content requested requires the ability to view and print graphic content (such as a map, discount coupon, etc.), supplier is willing to pay printing and postal charges, and the server proceeds to fulfil the request by printing and posting the requested information.
4. Requester used a cell phone with a text only e-mail capability, content (real estate information) consists of both a summary (text only) and a full description (including pictures). The server proceeds to send the text only summary to the cell phone in an audible format as a text to voice translation. In response to the users reply to the audio message, the server proceeds to send the full description to the user's home e-mail account (listed as the alternate e-mail in the user profile).
To help set user expectations, a vector equipped advertisement may feature pictorials alerting the viewer as to the nature of the information offered (e-mail delivery only symbol, or a postal envelope symbol next to the e-mail symbol alerting the viewer that regular postal delivery is also available). In the event that the supplier is not willing to pay for regular postal delivery, the envelope symbol may appear emblazoned with the charge that is applicable (e.g. $1 ) should postal delivery be required.
As the network stored procedure executes and the arbitration process unfolds 740, the server may consider the supplier's ability to meet the preferences /
conditions of the user.
A reference guide may assist to server in performing this task. Such a guide may, again using the process of content retrieval by means of example only, provide a list of content options suited to various types of delivery 741 and media formats 742, and instructions as to how this content may be accessed by the server 743.
Once the arbitration process has led to a conclusion, the server will retrieve 750 the content that best fulfils all preferences / conditions weighed during the process, and transmit the content 770 by the best means to the user. As it is possible that the supplier does not have content ideally suited to the user on file, an intermediary step 755 may consider whether an opportunity exists to engage certain "edge" services to upgrade /
modify the content to better suit the user. If such an opportunity exists, the server may elect to send 760 the content to an "edge" service (e.g. an Internet intermediary server that provides language translation to the user's preferred language) before the content is ultimately transmitted to the user.
Referring to Figure 8, the method of employing a composite vector is disclosed. In some instances, a vector 810 as submitted may consist of a "stem" value 820 mated to a branch value 830. One example of this type of approach may be found in an advertisement promoting a product made by Acme Automotive Products Ltd. (a fictitious company).
The vector quoted in the TV advertisement may consist of "345 99 ACME". The stem value of "345 99" may provide the means of triggering a voice recognition function.
Unlike general voice recognition, the stem value provides a means of filtering the choice of possible interpretations to a few chosen words that may be associated with the stem value. In this manner, voice recognition accuracy can be improved. Once the vector is processed, the resulting vector coordinates (e.g. "345 99 ACME") can be mapped to a specific network stored procedure, and the request for more information can be fulfilled.
Referring to Figure 9, the process of creating a unique tracking vector for a master vector is disclosed. It can be advantageous to be able to track how users were made aware of a given vector. For example, if an advertising campaign employing ten newspapers to promote a common advertisement provides each of the ten newspapers with a unique vector value, then it will be possible to determine how many readers from each newspaper responded to the campaign. If newspaper "A" utilizes vector coordinate "A", and newspaper "B" utilizes vector coordinate "B", and so forth, then the server will be able to tabulate how many "hits" were generated by readers of newspaper "A" by tracking the number of instances that vector coordinate "A" was submitted.
This type of information can be very valuable in determining the performance of each advertising medium.
In order to enable this type of performance tracking, a tracking vector needs to be generated, and the coordinate of this derivative vector related back to the coordinate of the master vector. While many approaches exist to facilitate this task as will occur to those with skill in the art, a simple table may be utilized, wherein a vector coordinate 910 is incremented each time a new derivative vector is required. The incremental coordinate (which may be accompanied by a final digit generated by a hashing algorithm) is related to the master vector 920 to facilitate the future "mapping" of the derivative vector coordinate back to the master vector coordinate (as disclosed in Figure 5). In addition, certain details 930 may be appended to the record such as the name of the advertising medium to assist in future report generation.
Wide Range of Potential Applications for Disclosed Method While a content retrieval procedure has been used by means of example, it should be noted that the breadth and range of applications for the network operation method disclosed above is in no way limited to the task of content retrieval. A
myriad of other tasks can also be facilitated by the disclosed network operation method, including:
Automated Web Site Queries: A traveler may, by means of a vector, submit a request to travel web sites that maintain information on hotel vacancies. For example, given appropriate user profiles on subject matters such as content delivery, hotel preferences, and payment preferences, a vector may be employed to streamline the process of looking for a hotel room. The process may entail:
~ Using a cell phone to submit a vector to the server that triggers a stored procedure specializing in hotel room searches ~ The vector (as displayed on a billboard welcoming travelers to a town) may specify a stored procedure that is set up to search for rooms in the immediate metropolitan area ~ Alternately, the stored procedure may prompt the user to enter the geographical area of interest using a zip code etc. (or perhaps, utilize cell phone locating technology to automate this process) ~ The server (after identifying and verifying the user's ID) may retrieve the user's hotel room preference profile and search Internet databases for appropriate matches ~ Based on the user's content profile, the server may provide the user with the matches found in an appropriate format (e:g. text only e-mail to the cell phone) ~ After the user indicates which offer is preferred, the server may use the information in the user's payment profile to book the room in question (or connect the user by telephone to the hotel's reservation desk to allow the user to book the room) Subscription Request: A newspaper may offer a user the means of subscribing via the submission of a vector. In this type of operation, the user may:
~ Telephonically submit the quoted vector to the server which triggers a stored procedure suited to initializing subscriptions ~ The server (after identifying and verifying the user's ID) may draw information from the user's content profile (such as name, address, and telephone number) and prepare a subscription request for the newspaper ~ After confirming the amount (for example, by means of a voice description to the user, approved by the user using a keyword such as "approved") the server may draw information from the user's payment profile and submit the completed subscription request to the newspaper (by e-mail etc.).
Of course, subscriptions of varying terms may be offered by displaying a number of vector coordinates, each designating a given term (e.g. vector 774 123 455 789 sets up a 12 month term).
Vote / Public Opinion Poll: A user may register an opinion on a given matter by submitting a vector. For example, a political party may allow its delegates to vote for a new leader by means of vector submission. The process may entail:
~ Telephonically submitting the vector corresponding to the chosen candidate to the server, which triggers a stored procedure specializing in vote tabulation ~ The server (after identifying and verifying the user's ID) draws from the user's voter profile to confirm certain details (for example, a unique ID mechanism such as the user's party membership number) ~ After registering the vote, the server updates its vote tabulation database, to guard against the voter casting a second ballot.
In this manner, a political party may utilize a ready made voting mechanism.
As will occur to those with skill in the art, there are many other applications that can be effected by the use of the disclosed method of network operation.
Alternate Means of Submitting a Vector to the Server While in the disclosure made above by means of example only, a telephone serves as the preferred means by which the user contacts the server and submits the vector coordinates, many other means of submission exist as will occur to those with skill in the art. These other means may include:
E-mail: wherein the co-ordinates can be e-mailed to the server (for example, in the subject line of the e-mail message). In this instance, the user's profiles) may be related to the user by means of ISP e-mail address, and not by a telephone number.
Certain aspects of the disclosed method may be affected (such as user identification and verification, where in the case of an e-mail submission, the user's e-mail account name and password may serve to fulfil this function).
Web Browser: wherein the vector co-ordinates can be entered on the vector server's "home page". Certain aspects of the disclosed method may be affected (such as user identification and verification, where the user's account name and password requested at the time of browser login to the "home page", may serve to fulfil this function).
Other Means: As will be evident to those skilled in the art, the ability to input a numeric vector which triggers the execution of a network stored procedure can be accomplished by a variety of alternate modes and methods. For example, the use of a "1-800"
type number wherein the number itself corresponds to a specific network stored procedure, without the need for the input of any additional vector co-ordinates. Other examples include entering vector co-ordinates via an interactive digital TV's remote control, or via an "instant messaging" type medium on the Internet.
Alternate Means of Receiving Results In addition to e-mail and postal mail, alternate modes of receiving task results may be employed. These alternate modes will be evident to those with skill in the art, and may include:
Fax: The results may be faxed to the user's fax number.
Pager: Certain types of results may be appropriate for pagers (weather forecasts, stock quotes, etc.).
Voice: For certain types of results a direct voice reply may be made (utilising VoiceXML, text to voice translation, etc).
Split Tender: In certain instances, a "split tender" may be made, wherein a simple message is transmitted to one device (e.g. a text message to a user's cell phone by means of e-mail) while a more exhaustive message is transmitted to another device (e.g. a full HTML message complete with graphics to the user's home PC by means of e-mail).
An example of a split tender may occur when a request for information on a real estate listing is made from a cell phone. In this situation, according to the user's profile card, summary information on the property may be sent to the user's cell phone e-mail address, while a complete description may be forwarded (complete with pictures) to the user's home PC e-mail account. The issuance of the more detailed information may be contingent on the user replying to the initial e-mail directed to the cell phone, which may ask whether the user desires more information.
Browser: If the request is made via a browser the reply can be relayed directly back to the user's browser. In this instance, the type response may again be influenced by the user's profile (e.g. geared to the user's bandwidth).
ADVANTAGES OF THE PRESENT INVENTION OVER PREVIOUS METHODS
Improved Network Access and Navigation The method of network operation disclosed above broadens access to network resources.
Virtually any telephone, whether landline or wireless, can provide network access.
International Data Corporation estimates that by 2004, 600 million people worldwide will hook up to the Web via PCs, while 1.4 billion people will utilize cell phones and another 1.4 billion landline telephones will be in service.
By means of submitting a vector to the server, voice recognition can be significantly enhanced. Given a vector's composition of a few keywords paired to coordinates consisting principally of Arabic numerals, a limited vocabulary can provide access to a large universe. For example, a twelve-digit vector, wherein the last digit is a "check digit" derived from a hashing algorithm, can provide a universe of 100 billion possible destinations using a ten-word vocabulary (the Arabic numerals of "0" through to "9"). A
composite vector, wherein a stem value likely consisting of a few Arabic numerals is mated to a keyword, will also contribute to enhanced voice recognition.
Network navigation is also enhanced by the disclosed method of network operation.
Instead of going to a "home page" and subsequently having to navigate throughout the site, drilling down into various levels of menus and links, a submitted vector can trigger a stored procedure bringing the user directly to the information of interest.
Yet another aspect of the present invention is that of a consistent means of network access and navigation. Whether a vector is submitted to the server by means of telephone, PC, e-mail, or otherwise, the basic procedure remains relatively consistent.
The user simply submits a vector that triggers a process automating many aspects of task execution and fulfillment. Users are consequently less apt to require extensive training and technical support.
Improved Task Execution and Fulfillment The present invention provides, in a preferred embodiment wherein the user telephonically submits a vector to the server, a means of transparently identifying and verifying the identity of the user. This process frees the user of one of the most burdensome and error prone steps in task execution, that of providing proper login and password submission.
Another advantage offered by the present invention is that of enhanced user security.
Once the server processes a vector and begins executing the corresponding stored procedure, the server can function as a proxy agent for the user. For example, the server can retrieve information on behalf of the user from a Web site, without revealing the user identity to the Web site supplying the information. In the event of a payment settlement, the server may forward payment on behalf of the user to the vendor using a general means of electronic funds transfer, without revealing the user's credit card number (or other means of payment thereof). In essence, the server pays "from its own pocket" on the user's behalf. The server may debit the user's account for the charge incurred, using information stored in the user's payment profile, thus keeping user payment details confined to the relationship between the user and the vector server.
Yet a further advantage offered by the present invention is that of intelligent task preparation and execution. In many instances, a user may be asked to submit a myriad of details to a network server from which a service is requested. For example, in requesting a subscription to a newspaper, the user may be asked to submit their name, address, and payment information. Traditional means of network operation require that users enter this information interactively, as the transaction unfolds step by step. This interactive submission of information is very difficult when accessing, for example, the network telephonically by means of voice commands. Certain aids in submitting information, such as Microsoft's Passport or Novell's DigitalMe, do not proactively check to ensure that all of the required information is present before executing a transaction (they act more in a reactive fashion attempting to answer certain queries as they occur).
The present invention, by means of a stored procedure that interacts with stored user profiles, has the means of determining whether or not the required information exists on file to complete a transaction, before the transaction commences with a host Web site. In this manner, criteria for task execution can be proactively and intelligently sourced and supplied, confirming the ability to successfully complete a transaction before the transaction is initiated with the host Web site. This capability frees the user from entering into a transaction with a Web site only to face a "dead end" due to a lack of required information on file, and a lack of convenient means to enter the required information interactively.
The combination of the above features and benefits enables, in many instances, the provision of "one-step" network login, task configuration, navigation to the desired resource, task execution and fulfillment. For example, a user submitting telephonically a vector designed to setup a 12-month newspaper subscription, can by simply submitting the vector:
~ Establish with the server the user's >D and provide (by means of the server comparing voice prints of the submitted Arabic number coordinates with voice prints of Arabic number coordinates stored on file) verification of the ID
~ Enable the server to check the stored procedure targeted by the vector, and ascertain whether or not the user has sufficient stored profiles) to enable the successful execution of the stored procedure (in this example, name and address for newspaper delivery, and payment means to purchase the subscription for the amount posted in the offer containing the vector coordinates) ~ Proceed, given approval at the previous step, to navigate to the target Web server and issue the necessary commands to establish the new subscription on behalf of the user (complete with a delivery address and payment for the service) The present invention also provides enhanced means of tailoring results to suit a user's needs and preferences. As a user profile can contain information specifying the type of content that the user is able to accept and process, the conveyance of network information from the supplier's server to the user's device is enhanced. The type of content can be tailored to suit, for example, the user's network connection speed, and the receiving device's screen size and software.
Of particular significance, given the ability tailor task results to suit the needs of the user, is the convenience found in content retrieval operations. Often, the most convenient means of submitting a request for more infonmation is by telephone. However, the most convenient means of reviewing the requested infonmation is often by means of e-mail delivery, or by means of a postal mail delivery. Given the present invention, the user can enjoy the convenience of submitting a request by telephone, with the knowledge that the requested information will be automatically forwarded in an acceptable format via the user's means of choice, as outlined in the user's content profile.
Other Advantages Network traffic can often overwhelm a given Web site. For example, a very large number of users may choose to view a Web site in response to a successful advertising campaign, threatening to "crash" an overwhelmed Web server. If users choose to request information by means of a vector, several advantages become apparent. These advantages include:
Lower network traffic to and from the Web site, as a vector based request results in the precise retrieval of exactly the right information, without the need for the user to "browse" and navigate the site. The pinpoint accuracy of the vector based retrieval process (wherein the vector server determines in advance the optimal web pages) to retrieve given the user's stored content profile) can serve to dramatically lower network traffic.
~ Lower server load, as fewer "page views" are requested given the pinpoint accuracy of the vector based retrieval process.
~ Queue management of requests, given that requests made by telephone / e-mail / etc.
need not be fulfilled instantaneously. In the event that the server hosting the targeted information is currently off line or under severe load, the request can be queued by the vector server, and issued again at a later time ~ Load management, in that a vector server equipped to handle large call volumes on behalf of a diverse group of clients utilizing vector based network access, can provide extensive pooled resources to handle "peak loads". As it is unlikely that all vector offers will be taken advantage of simultaneously, resources that are largely idle as one target audience sleeps (e.g. the West coast audience at 8:00 AM Boston time) can be drawn upon to serve another audience segment (the 8:00 AM radio market in Boston, Massachusetts) mitigating the effect of peak loads in one specific market.
Yet another advantage is centered on the need to provide accurate and timely information to clients (advertisers etc.) on how effective each medium is in getting a message out to a target audience. Given that each advertisement in each medium (e.g. each ad in each newspaper) can be assigned a unique vector, it is possible to efficiently track how many "hits" or vector requests are generated by each medium, by tracking the number of times that a specific vector has been submitted.
In concert with the above issue is the ability to compile extensive demographic information on the makeup of the target audience reached. If the information is compiled in aggregate format only, no personal information need be divulged in this process.
Information can include basic elements such as the geographic regions that "hits" are originating from, to more detailed information made possible by drawing on information from specific user profiles (age, gender, household income bracket, etc.). The company that issued the ad may pay for each contributing record (client profile) that is drawn upon in the process of creating an aggregate report, with a portion of the fee remitted back to the client in consideration for having filled out a demographic profile.
NETWORK OPERATING
METHOD
NETWORK OPERATION ISSUES BROWSER VOICE WIRELESS
AND URL'S PORTAL BROWSER
Network Access and Navi ation Broad and Convenient Access No Limited AccessNo to Web Resources (including via a standard analo tele hone handset)?
Enables User to Make Verbal No Limited No Inputs with a Hi De ee of Accurac Accurac ?
Enables Simple Access to DesiredNo No No Content (without requiring (requires navigation, in a multi le-sub'ect site)? s ecial device) Enables Consistent Method No No No of Access from Varied Device Types (PC
/ Phone / E-Mail / etc.)?
Task Execution S ecification of Criteria and Delive of Results to User Provides Transparent User No No No Login, Identification and Verification?
Protects User ID from DisclosureNo Limited No to Web Sites and Third Parties?
Enables Criteria for Task No No No Execution to be Proactivel Sourced and Su lied?
Enables "One Step" Login, No No No Navigation, Task Confi uration, and Execution?
Automatically Tailors ResultsNo No No to Suit User's Choice of Reci Tent Device?
Other Issues Provides Means for Low Host No No No Processin (Server) Overhead?
Provides Means of DeterminingNo No No Source of Users / "Hits"?
Provides Supplier with ExcellentNo No No Demo a hics?
To help set user expectations, a vector equipped advertisement may feature pictorials alerting the viewer as to the nature of the information offered (e-mail delivery only symbol, or a postal envelope symbol next to the e-mail symbol alerting the viewer that regular postal delivery is also available). In the event that the supplier is not willing to pay for regular postal delivery, the envelope symbol may appear emblazoned with the charge that is applicable (e.g. $1 ) should postal delivery be required.
As the network stored procedure executes and the arbitration process unfolds 740, the server may consider the supplier's ability to meet the preferences /
conditions of the user.
A reference guide may assist to server in performing this task. Such a guide may, again using the process of content retrieval by means of example only, provide a list of content options suited to various types of delivery 741 and media formats 742, and instructions as to how this content may be accessed by the server 743.
Once the arbitration process has led to a conclusion, the server will retrieve 750 the content that best fulfils all preferences / conditions weighed during the process, and transmit the content 770 by the best means to the user. As it is possible that the supplier does not have content ideally suited to the user on file, an intermediary step 755 may consider whether an opportunity exists to engage certain "edge" services to upgrade /
modify the content to better suit the user. If such an opportunity exists, the server may elect to send 760 the content to an "edge" service (e.g. an Internet intermediary server that provides language translation to the user's preferred language) before the content is ultimately transmitted to the user.
Referring to Figure 8, the method of employing a composite vector is disclosed. In some instances, a vector 810 as submitted may consist of a "stem" value 820 mated to a branch value 830. One example of this type of approach may be found in an advertisement promoting a product made by Acme Automotive Products Ltd. (a fictitious company).
The vector quoted in the TV advertisement may consist of "345 99 ACME". The stem value of "345 99" may provide the means of triggering a voice recognition function.
Unlike general voice recognition, the stem value provides a means of filtering the choice of possible interpretations to a few chosen words that may be associated with the stem value. In this manner, voice recognition accuracy can be improved. Once the vector is processed, the resulting vector coordinates (e.g. "345 99 ACME") can be mapped to a specific network stored procedure, and the request for more information can be fulfilled.
Referring to Figure 9, the process of creating a unique tracking vector for a master vector is disclosed. It can be advantageous to be able to track how users were made aware of a given vector. For example, if an advertising campaign employing ten newspapers to promote a common advertisement provides each of the ten newspapers with a unique vector value, then it will be possible to determine how many readers from each newspaper responded to the campaign. If newspaper "A" utilizes vector coordinate "A", and newspaper "B" utilizes vector coordinate "B", and so forth, then the server will be able to tabulate how many "hits" were generated by readers of newspaper "A" by tracking the number of instances that vector coordinate "A" was submitted.
This type of information can be very valuable in determining the performance of each advertising medium.
In order to enable this type of performance tracking, a tracking vector needs to be generated, and the coordinate of this derivative vector related back to the coordinate of the master vector. While many approaches exist to facilitate this task as will occur to those with skill in the art, a simple table may be utilized, wherein a vector coordinate 910 is incremented each time a new derivative vector is required. The incremental coordinate (which may be accompanied by a final digit generated by a hashing algorithm) is related to the master vector 920 to facilitate the future "mapping" of the derivative vector coordinate back to the master vector coordinate (as disclosed in Figure 5). In addition, certain details 930 may be appended to the record such as the name of the advertising medium to assist in future report generation.
Wide Range of Potential Applications for Disclosed Method While a content retrieval procedure has been used by means of example, it should be noted that the breadth and range of applications for the network operation method disclosed above is in no way limited to the task of content retrieval. A
myriad of other tasks can also be facilitated by the disclosed network operation method, including:
Automated Web Site Queries: A traveler may, by means of a vector, submit a request to travel web sites that maintain information on hotel vacancies. For example, given appropriate user profiles on subject matters such as content delivery, hotel preferences, and payment preferences, a vector may be employed to streamline the process of looking for a hotel room. The process may entail:
~ Using a cell phone to submit a vector to the server that triggers a stored procedure specializing in hotel room searches ~ The vector (as displayed on a billboard welcoming travelers to a town) may specify a stored procedure that is set up to search for rooms in the immediate metropolitan area ~ Alternately, the stored procedure may prompt the user to enter the geographical area of interest using a zip code etc. (or perhaps, utilize cell phone locating technology to automate this process) ~ The server (after identifying and verifying the user's ID) may retrieve the user's hotel room preference profile and search Internet databases for appropriate matches ~ Based on the user's content profile, the server may provide the user with the matches found in an appropriate format (e:g. text only e-mail to the cell phone) ~ After the user indicates which offer is preferred, the server may use the information in the user's payment profile to book the room in question (or connect the user by telephone to the hotel's reservation desk to allow the user to book the room) Subscription Request: A newspaper may offer a user the means of subscribing via the submission of a vector. In this type of operation, the user may:
~ Telephonically submit the quoted vector to the server which triggers a stored procedure suited to initializing subscriptions ~ The server (after identifying and verifying the user's ID) may draw information from the user's content profile (such as name, address, and telephone number) and prepare a subscription request for the newspaper ~ After confirming the amount (for example, by means of a voice description to the user, approved by the user using a keyword such as "approved") the server may draw information from the user's payment profile and submit the completed subscription request to the newspaper (by e-mail etc.).
Of course, subscriptions of varying terms may be offered by displaying a number of vector coordinates, each designating a given term (e.g. vector 774 123 455 789 sets up a 12 month term).
Vote / Public Opinion Poll: A user may register an opinion on a given matter by submitting a vector. For example, a political party may allow its delegates to vote for a new leader by means of vector submission. The process may entail:
~ Telephonically submitting the vector corresponding to the chosen candidate to the server, which triggers a stored procedure specializing in vote tabulation ~ The server (after identifying and verifying the user's ID) draws from the user's voter profile to confirm certain details (for example, a unique ID mechanism such as the user's party membership number) ~ After registering the vote, the server updates its vote tabulation database, to guard against the voter casting a second ballot.
In this manner, a political party may utilize a ready made voting mechanism.
As will occur to those with skill in the art, there are many other applications that can be effected by the use of the disclosed method of network operation.
Alternate Means of Submitting a Vector to the Server While in the disclosure made above by means of example only, a telephone serves as the preferred means by which the user contacts the server and submits the vector coordinates, many other means of submission exist as will occur to those with skill in the art. These other means may include:
E-mail: wherein the co-ordinates can be e-mailed to the server (for example, in the subject line of the e-mail message). In this instance, the user's profiles) may be related to the user by means of ISP e-mail address, and not by a telephone number.
Certain aspects of the disclosed method may be affected (such as user identification and verification, where in the case of an e-mail submission, the user's e-mail account name and password may serve to fulfil this function).
Web Browser: wherein the vector co-ordinates can be entered on the vector server's "home page". Certain aspects of the disclosed method may be affected (such as user identification and verification, where the user's account name and password requested at the time of browser login to the "home page", may serve to fulfil this function).
Other Means: As will be evident to those skilled in the art, the ability to input a numeric vector which triggers the execution of a network stored procedure can be accomplished by a variety of alternate modes and methods. For example, the use of a "1-800"
type number wherein the number itself corresponds to a specific network stored procedure, without the need for the input of any additional vector co-ordinates. Other examples include entering vector co-ordinates via an interactive digital TV's remote control, or via an "instant messaging" type medium on the Internet.
Alternate Means of Receiving Results In addition to e-mail and postal mail, alternate modes of receiving task results may be employed. These alternate modes will be evident to those with skill in the art, and may include:
Fax: The results may be faxed to the user's fax number.
Pager: Certain types of results may be appropriate for pagers (weather forecasts, stock quotes, etc.).
Voice: For certain types of results a direct voice reply may be made (utilising VoiceXML, text to voice translation, etc).
Split Tender: In certain instances, a "split tender" may be made, wherein a simple message is transmitted to one device (e.g. a text message to a user's cell phone by means of e-mail) while a more exhaustive message is transmitted to another device (e.g. a full HTML message complete with graphics to the user's home PC by means of e-mail).
An example of a split tender may occur when a request for information on a real estate listing is made from a cell phone. In this situation, according to the user's profile card, summary information on the property may be sent to the user's cell phone e-mail address, while a complete description may be forwarded (complete with pictures) to the user's home PC e-mail account. The issuance of the more detailed information may be contingent on the user replying to the initial e-mail directed to the cell phone, which may ask whether the user desires more information.
Browser: If the request is made via a browser the reply can be relayed directly back to the user's browser. In this instance, the type response may again be influenced by the user's profile (e.g. geared to the user's bandwidth).
ADVANTAGES OF THE PRESENT INVENTION OVER PREVIOUS METHODS
Improved Network Access and Navigation The method of network operation disclosed above broadens access to network resources.
Virtually any telephone, whether landline or wireless, can provide network access.
International Data Corporation estimates that by 2004, 600 million people worldwide will hook up to the Web via PCs, while 1.4 billion people will utilize cell phones and another 1.4 billion landline telephones will be in service.
By means of submitting a vector to the server, voice recognition can be significantly enhanced. Given a vector's composition of a few keywords paired to coordinates consisting principally of Arabic numerals, a limited vocabulary can provide access to a large universe. For example, a twelve-digit vector, wherein the last digit is a "check digit" derived from a hashing algorithm, can provide a universe of 100 billion possible destinations using a ten-word vocabulary (the Arabic numerals of "0" through to "9"). A
composite vector, wherein a stem value likely consisting of a few Arabic numerals is mated to a keyword, will also contribute to enhanced voice recognition.
Network navigation is also enhanced by the disclosed method of network operation.
Instead of going to a "home page" and subsequently having to navigate throughout the site, drilling down into various levels of menus and links, a submitted vector can trigger a stored procedure bringing the user directly to the information of interest.
Yet another aspect of the present invention is that of a consistent means of network access and navigation. Whether a vector is submitted to the server by means of telephone, PC, e-mail, or otherwise, the basic procedure remains relatively consistent.
The user simply submits a vector that triggers a process automating many aspects of task execution and fulfillment. Users are consequently less apt to require extensive training and technical support.
Improved Task Execution and Fulfillment The present invention provides, in a preferred embodiment wherein the user telephonically submits a vector to the server, a means of transparently identifying and verifying the identity of the user. This process frees the user of one of the most burdensome and error prone steps in task execution, that of providing proper login and password submission.
Another advantage offered by the present invention is that of enhanced user security.
Once the server processes a vector and begins executing the corresponding stored procedure, the server can function as a proxy agent for the user. For example, the server can retrieve information on behalf of the user from a Web site, without revealing the user identity to the Web site supplying the information. In the event of a payment settlement, the server may forward payment on behalf of the user to the vendor using a general means of electronic funds transfer, without revealing the user's credit card number (or other means of payment thereof). In essence, the server pays "from its own pocket" on the user's behalf. The server may debit the user's account for the charge incurred, using information stored in the user's payment profile, thus keeping user payment details confined to the relationship between the user and the vector server.
Yet a further advantage offered by the present invention is that of intelligent task preparation and execution. In many instances, a user may be asked to submit a myriad of details to a network server from which a service is requested. For example, in requesting a subscription to a newspaper, the user may be asked to submit their name, address, and payment information. Traditional means of network operation require that users enter this information interactively, as the transaction unfolds step by step. This interactive submission of information is very difficult when accessing, for example, the network telephonically by means of voice commands. Certain aids in submitting information, such as Microsoft's Passport or Novell's DigitalMe, do not proactively check to ensure that all of the required information is present before executing a transaction (they act more in a reactive fashion attempting to answer certain queries as they occur).
The present invention, by means of a stored procedure that interacts with stored user profiles, has the means of determining whether or not the required information exists on file to complete a transaction, before the transaction commences with a host Web site. In this manner, criteria for task execution can be proactively and intelligently sourced and supplied, confirming the ability to successfully complete a transaction before the transaction is initiated with the host Web site. This capability frees the user from entering into a transaction with a Web site only to face a "dead end" due to a lack of required information on file, and a lack of convenient means to enter the required information interactively.
The combination of the above features and benefits enables, in many instances, the provision of "one-step" network login, task configuration, navigation to the desired resource, task execution and fulfillment. For example, a user submitting telephonically a vector designed to setup a 12-month newspaper subscription, can by simply submitting the vector:
~ Establish with the server the user's >D and provide (by means of the server comparing voice prints of the submitted Arabic number coordinates with voice prints of Arabic number coordinates stored on file) verification of the ID
~ Enable the server to check the stored procedure targeted by the vector, and ascertain whether or not the user has sufficient stored profiles) to enable the successful execution of the stored procedure (in this example, name and address for newspaper delivery, and payment means to purchase the subscription for the amount posted in the offer containing the vector coordinates) ~ Proceed, given approval at the previous step, to navigate to the target Web server and issue the necessary commands to establish the new subscription on behalf of the user (complete with a delivery address and payment for the service) The present invention also provides enhanced means of tailoring results to suit a user's needs and preferences. As a user profile can contain information specifying the type of content that the user is able to accept and process, the conveyance of network information from the supplier's server to the user's device is enhanced. The type of content can be tailored to suit, for example, the user's network connection speed, and the receiving device's screen size and software.
Of particular significance, given the ability tailor task results to suit the needs of the user, is the convenience found in content retrieval operations. Often, the most convenient means of submitting a request for more infonmation is by telephone. However, the most convenient means of reviewing the requested infonmation is often by means of e-mail delivery, or by means of a postal mail delivery. Given the present invention, the user can enjoy the convenience of submitting a request by telephone, with the knowledge that the requested information will be automatically forwarded in an acceptable format via the user's means of choice, as outlined in the user's content profile.
Other Advantages Network traffic can often overwhelm a given Web site. For example, a very large number of users may choose to view a Web site in response to a successful advertising campaign, threatening to "crash" an overwhelmed Web server. If users choose to request information by means of a vector, several advantages become apparent. These advantages include:
Lower network traffic to and from the Web site, as a vector based request results in the precise retrieval of exactly the right information, without the need for the user to "browse" and navigate the site. The pinpoint accuracy of the vector based retrieval process (wherein the vector server determines in advance the optimal web pages) to retrieve given the user's stored content profile) can serve to dramatically lower network traffic.
~ Lower server load, as fewer "page views" are requested given the pinpoint accuracy of the vector based retrieval process.
~ Queue management of requests, given that requests made by telephone / e-mail / etc.
need not be fulfilled instantaneously. In the event that the server hosting the targeted information is currently off line or under severe load, the request can be queued by the vector server, and issued again at a later time ~ Load management, in that a vector server equipped to handle large call volumes on behalf of a diverse group of clients utilizing vector based network access, can provide extensive pooled resources to handle "peak loads". As it is unlikely that all vector offers will be taken advantage of simultaneously, resources that are largely idle as one target audience sleeps (e.g. the West coast audience at 8:00 AM Boston time) can be drawn upon to serve another audience segment (the 8:00 AM radio market in Boston, Massachusetts) mitigating the effect of peak loads in one specific market.
Yet another advantage is centered on the need to provide accurate and timely information to clients (advertisers etc.) on how effective each medium is in getting a message out to a target audience. Given that each advertisement in each medium (e.g. each ad in each newspaper) can be assigned a unique vector, it is possible to efficiently track how many "hits" or vector requests are generated by each medium, by tracking the number of times that a specific vector has been submitted.
In concert with the above issue is the ability to compile extensive demographic information on the makeup of the target audience reached. If the information is compiled in aggregate format only, no personal information need be divulged in this process.
Information can include basic elements such as the geographic regions that "hits" are originating from, to more detailed information made possible by drawing on information from specific user profiles (age, gender, household income bracket, etc.). The company that issued the ad may pay for each contributing record (client profile) that is drawn upon in the process of creating an aggregate report, with a portion of the fee remitted back to the client in consideration for having filled out a demographic profile.
NETWORK OPERATING
METHOD
NETWORK OPERATION ISSUES BROWSER VOICE WIRELESS
AND URL'S PORTAL BROWSER
Network Access and Navi ation Broad and Convenient Access No Limited AccessNo to Web Resources (including via a standard analo tele hone handset)?
Enables User to Make Verbal No Limited No Inputs with a Hi De ee of Accurac Accurac ?
Enables Simple Access to DesiredNo No No Content (without requiring (requires navigation, in a multi le-sub'ect site)? s ecial device) Enables Consistent Method No No No of Access from Varied Device Types (PC
/ Phone / E-Mail / etc.)?
Task Execution S ecification of Criteria and Delive of Results to User Provides Transparent User No No No Login, Identification and Verification?
Protects User ID from DisclosureNo Limited No to Web Sites and Third Parties?
Enables Criteria for Task No No No Execution to be Proactivel Sourced and Su lied?
Enables "One Step" Login, No No No Navigation, Task Confi uration, and Execution?
Automatically Tailors ResultsNo No No to Suit User's Choice of Reci Tent Device?
Other Issues Provides Means for Low Host No No No Processin (Server) Overhead?
Provides Means of DeterminingNo No No Source of Users / "Hits"?
Provides Supplier with ExcellentNo No No Demo a hics?
Claims (73)
1. A method of specifying by means of a vector a network stored procedure for execution, determining which stored user profile(s) to source, and employing said profile(s) to tailor said execution of procedure to suit conditions, preferences, and abilities outlined in said profile(s), wherein:
.cndot. The server initiates a discovery process to identify the user submitting the vector .cndot.The discovery process permits the server to source the appropriate user profile(s) based on (a) the procedure requested for execution and (b) the user's identity
.cndot. The server initiates a discovery process to identify the user submitting the vector .cndot.The discovery process permits the server to source the appropriate user profile(s) based on (a) the procedure requested for execution and (b) the user's identity
2. The method as recited in claim 1 wherein the network is the Internet
3. The method as recited in claim 1 wherein the vector is submitted verbally (by telephone or otherwise) and the server processes the vector by means of voice recognition.
4. The method as recited in claim 1 wherein the vector is submitted by telephone via DTMF (Dual Tone Multiple Frequency) signals.
5. The method as recited in claim 1 wherein the vector is submitted by means of a browser targeting a web server homepage, the homepage having the means of logging in the user, and requesting that the user input the vector of interest in the appropriate field.
6. The method as recited in claim 1 wherein the vector is submitted by means of an e-mail message.
7. The method as recited in claim 1 wherein the vector is submitted by means of an network instant messaging service.
8. The method as recited in claim 1 wherein the vector is submitted by means of an network connected television set / terminal and a remote control device.
9. The method as recited in claim 1 wherein the vector consists of a numeric string.
10. The method as recited in claim 1 wherein the vector consists of an alphanumeric string.
11. The method as recited in claim 1 wherein the vector consists of a numeric string and a keyword.
12. The method as recited in claim 1 wherein the vector consists of an alphanumeric string and a keyword.
13. The method as recited in claim 1 wherein the stored procedure is stored and executed on the server receiving the vector from the user.
14. The method as recited in claim 1 wherein the stored procedure is stored on one or more computers located on the network, and executed on one or more computers located on the network.
15. The method as recited in claim 1 wherein the user profile(s) is stored on the server receiving the vector from the user.
16. The method as recited in claim 1 wherein the user profile(s) is stored on one or more servers located on the network.
17. A method of specifying by means of a structured vector a network stored procedure for execution, determining which stored user profile(s) to source, and employing said profile(s) to tailor said execution of procedure to suit conditions, preferences, and abilities outlined in said profile(s), wherein:
.cndot. The vector consists of a defined number of segments, each segment having a defined length of coordinates (characters) .cndot. The server initiates a discovery process to identify the user submitting the vector .cndot. The discovery process permits the server to source the appropriate user profile(s) based on (a) the procedure requested for execution and (b) the user's identity
.cndot. The vector consists of a defined number of segments, each segment having a defined length of coordinates (characters) .cndot. The server initiates a discovery process to identify the user submitting the vector .cndot. The discovery process permits the server to source the appropriate user profile(s) based on (a) the procedure requested for execution and (b) the user's identity
18. The method as recited in claim 17 wherein the structured vector employs a hashing algorithm to produce a check value, so as to enable the performance of error checking upon the input of the vector, so as to enhance accuracy.
19. The method as recited in claim 17 wherein the network is the Internet
20. The method as recited in claim 17 wherein the vector is submitted verbally (by telephone or otherwise) and the server processes the vector by means of voice recognition.
21. The method as recited in claim 17 wherein the vector is submitted by telephone via DTMF (Dual Tone Multiple Frequency) signals.
22. The method as recited in claim 17 wherein the vector is submitted by means of a browser targeting a web server homepage, the homepage having the means of logging in the user, and requesting that the user input the vector of interest in the appropriate field.
23. The method as recited in claim 17 wherein the vector is submitted by means of an e-mail message.
24. The method as recited in claim 17 wherein the vector is submitted by means of an network instant messaging service.
25. The method as recited in claim 17 wherein the vector is submitted by means of an network connected television set / terminal and a remote control device.
26. The method as recited in claim 17 wherein the vector consists of a numeric string.
27. The method as recited in claim 17 wherein the vector consists of an alphanumeric string.
28. The method as recited in claim 17 wherein the stored procedure is stored and executed on the server receiving the vector from the user.
29. The method as recited in claim 17 wherein the stored procedure is stored on one or more computers located on the network, and executed on one or more computers located on the network.
30. The method as recited in claim 17 wherein the user profile(s) is stored on the server receiving the vector from the user.
31. The method as recited in claim 17 wherein the user profile(s) is stored on one or more servers located on the network.
32. The method as recited in claim 17 further comprising a composite comprised of:
.cndot. A "stem" value consisting of a structured vector; and .cndot. A branch value (such as a keyword) .cndot. Wherein the structured vector serves to identify a subset of branch values from which the determination of the submitted branch value may be facilitated
.cndot. A "stem" value consisting of a structured vector; and .cndot. A branch value (such as a keyword) .cndot. Wherein the structured vector serves to identify a subset of branch values from which the determination of the submitted branch value may be facilitated
33. A method for submitting a vector to a server to effect the identification of the submitter (user), the validation of the submitter's identity, and the execution of a stored procedure based on the submitter's identity wherein:
.cndot. The vector is submitted in an audible format .cndot. The vector is processed using voice recognition technology in order to derive its value and trigger the execution of the stored procedure .cndot. The user submitting the audible vector is partially identified by means of a "key"
value .cndot. The user submitting the audible vector is further identified by the examination of archived voice prints corresponding to the key value, the voice prints having their origin in one of more individuals linked to the key value .cndot. The comparison of the archived voice prints resulting in the determination and validation of the submitter's identity .cndot. Validation of the submitter's identity enabling the server to source additional user profile(s) as required .cndot. Sourcing of the appropriate user profile enabling the server to grant or deny the submitter's request, and if granted, employing the user profile data to tailor the execution of the stored procedure
.cndot. The vector is submitted in an audible format .cndot. The vector is processed using voice recognition technology in order to derive its value and trigger the execution of the stored procedure .cndot. The user submitting the audible vector is partially identified by means of a "key"
value .cndot. The user submitting the audible vector is further identified by the examination of archived voice prints corresponding to the key value, the voice prints having their origin in one of more individuals linked to the key value .cndot. The comparison of the archived voice prints resulting in the determination and validation of the submitter's identity .cndot. Validation of the submitter's identity enabling the server to source additional user profile(s) as required .cndot. Sourcing of the appropriate user profile enabling the server to grant or deny the submitter's request, and if granted, employing the user profile data to tailor the execution of the stored procedure
34. The method as recited in claim 33 wherein the vector is a vector as described in claims 17 through 32.
35. The method as recited in claim 33 wherein the vector is submitted telephonically and the key value is derived from the telephone carrier's Automatic Number Identification feature, also known as Caller ID.
36. The method as recited in claim 33 wherein the submitter is asked by the server to submit a key value.
37. The method of associating multiple user profiles with a single key value as described in claims 35 and 36, such that multiple users can share a key value, the identity of a specific user can be ascertained and validated, and the appropriate user profile(s) retrieved by means of:
.cndot. Comparing the voiceprints stemming from the verbal submission of a vector to all archived voiceprints corresponding to the key value .cndot. Using the comparison of voiceprints to differentiate between the multiple master user ID profiles, and matching the submitter to a specific master user ID
profile .cndot. From the master user ID profile, determining the unique user ID
number, and employing the user ID number to source the user's other profiles as required
.cndot. Comparing the voiceprints stemming from the verbal submission of a vector to all archived voiceprints corresponding to the key value .cndot. Using the comparison of voiceprints to differentiate between the multiple master user ID profiles, and matching the submitter to a specific master user ID
profile .cndot. From the master user ID profile, determining the unique user ID
number, and employing the user ID number to source the user's other profiles as required
38. The method of facilitating the execution of stored procedures by means of drawing on user profiles suited to various tasks, said profiles having been completed by or on behalf of users, wherein:
.cndot. The stored procedure is examined to determine which type(s) of profile(s) is/are to be retrieved .cndot. For each profile to be retrieved, determining the relevant table from which the user profile is to be retrieved .cndot. Based on the user's identification as derived by the server, retrieving the requested profile(s) from the identified table(s) .cndot. Executing the stored procedure, drawing on the information contained within the retrieved user profile(s) so as to facilitate the execution of the stored procedure
.cndot. The stored procedure is examined to determine which type(s) of profile(s) is/are to be retrieved .cndot. For each profile to be retrieved, determining the relevant table from which the user profile is to be retrieved .cndot. Based on the user's identification as derived by the server, retrieving the requested profile(s) from the identified table(s) .cndot. Executing the stored procedure, drawing on the information contained within the retrieved user profile(s) so as to facilitate the execution of the stored procedure
39. The method recited in claim 38 wherein the targeted stored procedure requests a single type of user profile to complete the task in question.
40. The method recited in claim 38 wherein the targeted stored procedure requests more than one type of user profile to complete the task in question.
41. The method of qualifying, upon the request to execute a given stored procedure, whether or not sufficient user profile information is available to permit the successful execution of the stored procedure, wherein:
.cndot. The server inspects the stored procedure to determine which stored user profile(s) is required to facilitate execution of the stored procedure .cndot. The server, having identified the user making the request, refers to the appropriate collection(s) of stored user profiles in order to determine whether or not sufficient information exists concerning the user in question .cndot. Upon confirming that sufficient user profile information exists, the server proceeds with execution of the requested stored procedure, or upon confirming that insufficient user profile information exists, the server advises the user that the requested stored procedure cannot be executed
.cndot. The server inspects the stored procedure to determine which stored user profile(s) is required to facilitate execution of the stored procedure .cndot. The server, having identified the user making the request, refers to the appropriate collection(s) of stored user profiles in order to determine whether or not sufficient information exists concerning the user in question .cndot. Upon confirming that sufficient user profile information exists, the server proceeds with execution of the requested stored procedure, or upon confirming that insufficient user profile information exists, the server advises the user that the requested stored procedure cannot be executed
42. The method of managing by proxy the stored user profile(s), wherein:
.cndot. The server draws upon the stored user profile(s) and employs the information to tailor execution of the requested stored procedure .cndot. The server employs the information obtained from the user profile(s) to act by proxy on behalf of the user in conducting transactions with third party network servers .cndot. The execution of the stored procedure results in the completion of a task with a third party server, wherein only a minimum of personal user information is disclosed (when necessary) to the third party server
.cndot. The server draws upon the stored user profile(s) and employs the information to tailor execution of the requested stored procedure .cndot. The server employs the information obtained from the user profile(s) to act by proxy on behalf of the user in conducting transactions with third party network servers .cndot. The execution of the stored procedure results in the completion of a task with a third party server, wherein only a minimum of personal user information is disclosed (when necessary) to the third party server
43. The method of executing a stored procedure, wherein the procedure retrieves one or more user profiles, and:
.cndot. Each type of profile provides a standardized means of dialogue, which a given type of procedure will recognize and be able to employ in completing the task at hand .cndot. The execution of the procedure results in bilateral consideration of both user information (such as preferences / conditions) and supplier information (such as preferences / conditions) in resolving the best mode of task fulfillment and completion.
.cndot. Each type of profile provides a standardized means of dialogue, which a given type of procedure will recognize and be able to employ in completing the task at hand .cndot. The execution of the procedure results in bilateral consideration of both user information (such as preferences / conditions) and supplier information (such as preferences / conditions) in resolving the best mode of task fulfillment and completion.
44. The method as recited in claim 43 wherein:
.cndot. Each stored procedure may have multiple means of fulfilling a task, accompanied by supplier preferences and conditions .cndot. Each user profile may specify multiple means of fulfilling a task, accompanied by user preferences and conditions .cndot. Fulfillment of the task to be performed by the network stored procedure is based on resolving which combination of supplier means / user means results in the optimal conclusion of the task at hand
.cndot. Each stored procedure may have multiple means of fulfilling a task, accompanied by supplier preferences and conditions .cndot. Each user profile may specify multiple means of fulfilling a task, accompanied by user preferences and conditions .cndot. Fulfillment of the task to be performed by the network stored procedure is based on resolving which combination of supplier means / user means results in the optimal conclusion of the task at hand
45. A method of retrieving Internet content, wherein a vector is specified leading to the execution of a network stored procedure, wherein:
.cndot. The vector is submitted to a server .cndot. The server correlates the vector to a given procedure stored on the network .cndot. The procedure specifies the content in question, and the supplier's conditions pertaining to retrieval of said content and transfer of said content to the user .cndot. The server initiates a discovery process to identify the user .cndot. Based on the discovery process, one or more user profiles are retrieved, outlining the user's conditions .cndot. Based on arbitration of supplier conditions and user conditions, a best means of content delivery is determined, and the content is retrieved by the server from the supplier's information store, and transferred to the user based on the best means of content delivery
.cndot. The vector is submitted to a server .cndot. The server correlates the vector to a given procedure stored on the network .cndot. The procedure specifies the content in question, and the supplier's conditions pertaining to retrieval of said content and transfer of said content to the user .cndot. The server initiates a discovery process to identify the user .cndot. Based on the discovery process, one or more user profiles are retrieved, outlining the user's conditions .cndot. Based on arbitration of supplier conditions and user conditions, a best means of content delivery is determined, and the content is retrieved by the server from the supplier's information store, and transferred to the user based on the best means of content delivery
46. The method as recited in claim 45 wherein the content retrieval is conducted by means of a proxy server, shielding the identity of the recipient from the supplier of the content.
47. The method as recited in claim 45 wherein the content requests are queued by the server, should demand exceed fulfillment capacity, and processed according to a first come, first served basis, or process based upon a priority sequence derived from supplier conditions and / or user conditions.
48. The method as recited in claim 45 wherein, should the server be unsuccessful in retrieving content from a given supplier web server, the server will:
.cndot. Advise the user (by the determined best means of content delivery) that an attempt has been made to secure the requested content, but was unsuccessful .cndot. Advise the supplier's personnel (according to information contained in the stored procedure) that the web server charged with the task of supplying content is currently failing to complete its task
.cndot. Advise the user (by the determined best means of content delivery) that an attempt has been made to secure the requested content, but was unsuccessful .cndot. Advise the supplier's personnel (according to information contained in the stored procedure) that the web server charged with the task of supplying content is currently failing to complete its task
49. The method as recited in claim 45 wherein demographic information is collected on each user requesting information, and the demographic information is tabulated and submitted to the supplier at certain intervals.
50. The method as recited in claim 45 wherein demographic information is collected on each user requesting information, and the demographic information is tabulated and submitted in aggregate format to the supplier at certain intervals.
51. The method recited in claims 38 and 45, wherein:
.cndot. A user profile containing demographic information is utilized (where available) in the compilation of demographic reports .cndot. Said demographic reports are provided to the supplier, wherein the supplier pays a fee for each user profile contributing to the reports .cndot. A percentage of the said fee paid is remitted to the user by the server
.cndot. A user profile containing demographic information is utilized (where available) in the compilation of demographic reports .cndot. Said demographic reports are provided to the supplier, wherein the supplier pays a fee for each user profile contributing to the reports .cndot. A percentage of the said fee paid is remitted to the user by the server
52. A method of gauging response rates to various mediums wherein offers are made known to various audiences viewing different mediums, by means of each medium making reference to a tracking vector unique to the medium in question, wherein:
.cndot. The tracking vector is submitted to a server by the user .cndot. The server correlates the submitted tracking vector to a given master vector permitting the execution of the desired stored procedure .cndot. A record is compiled of how many times each medium's tracking vector was submitted, revealing how many respondents were attracted by each offer on each medium
.cndot. The tracking vector is submitted to a server by the user .cndot. The server correlates the submitted tracking vector to a given master vector permitting the execution of the desired stored procedure .cndot. A record is compiled of how many times each medium's tracking vector was submitted, revealing how many respondents were attracted by each offer on each medium
53. The method of generating a tracking vector, and relating the tracking vector to a given master vector, wherein:
.cndot. A request is made for the issue of a unique vector value (the tracking vector) to be associated to a given "master" vector value .cndot. A computation is made to generate the next available unique tracking vector value .cndot. The unique tracking vector value is inserted into an information store, with reference to the master vector value and any other information of consequence
.cndot. A request is made for the issue of a unique vector value (the tracking vector) to be associated to a given "master" vector value .cndot. A computation is made to generate the next available unique tracking vector value .cndot. The unique tracking vector value is inserted into an information store, with reference to the master vector value and any other information of consequence
54. The method of storing master procedure templates in a library, such that a stored procedure may be readily prepared from the template to serve a given role, wherein:
.cndot. Each type of template fulfills a certain type of task (such as content retrieval, subscription, bill payment, public opinion poll, etc.) .cndot. Each template has fields which may be filled in to describe supplier conditions .cndot. Said template has a pre-defined relationship to one or more types of user profile, such that when the template is completed, the resulting stored procedure will automatically request certain user profile(s) when executed .cndot. Said template given said relationship(s) to said user profile(s) enable said user profile(s) to influence and shape procedure execution according to individual user conditions, preferences, and abilities specified in the user profile(s) .cndot. Said provision of template library will enable the rapid production of new stored procedures suited to various tasks, without requiring the author to have extensive knowledge of user profile(s) and the underlying database relational link(s) to the stored procedure(s)
.cndot. Each type of template fulfills a certain type of task (such as content retrieval, subscription, bill payment, public opinion poll, etc.) .cndot. Each template has fields which may be filled in to describe supplier conditions .cndot. Said template has a pre-defined relationship to one or more types of user profile, such that when the template is completed, the resulting stored procedure will automatically request certain user profile(s) when executed .cndot. Said template given said relationship(s) to said user profile(s) enable said user profile(s) to influence and shape procedure execution according to individual user conditions, preferences, and abilities specified in the user profile(s) .cndot. Said provision of template library will enable the rapid production of new stored procedures suited to various tasks, without requiring the author to have extensive knowledge of user profile(s) and the underlying database relational link(s) to the stored procedure(s)
55. A method of obtaining information comprising the steps of:
identifying requested information by means of a vector.
identifying requested information by means of a vector.
56. A method of downloading information to a user comprising the steps of:
downloading requested information in a format according to a user's preferences.
downloading requested information in a format according to a user's preferences.
57. A method of downloading information to a user comprising the steps of:
downloading requested information via a communication network according to a user's preferences.
downloading requested information via a communication network according to a user's preferences.
58. A method of downloading information to a user comprising the steps of:
downloading requested information via one of a number of possible communication networks.
downloading requested information via one of a number of possible communication networks.
59. A method of downloading information to a user comprising the steps of:
downloading requested information via a different communication network than that used to upload the request.
downloading requested information via a different communication network than that used to upload the request.
60. A method as claimed in claim 5, wherein said communication network comprises a postal service.
61. A method of downloading information to a user comprising the steps of:
downloading requested information in accordance with a user's preferences.
downloading requested information in accordance with a user's preferences.
62. A method of information entry comprising voice recognition of an abbreviated set of sounds which are easily distinguishable.
63. A method of network management in which information requests are routed to off-peak servers.
64. A method of queue management in which requests requiring a fast response are given priority over other requests.
65. A method of tracking effectveness of advertisements by montoring responses by advertisement vector.
66. A method of electronic commerce comprising:
a web server responding to a purchase request from an end user by forwarding its own account information to the vendor.
a web server responding to a purchase request from an end user by forwarding its own account information to the vendor.
67. A method of voice recognition comprising voice recognition of Arabic numbers.
68. A method of information entry comprising voice recognition of a condensed vocabulary being easily distinguishable phonetically.
69. A method of web page access comprising the use of abbreviate addresses which correspond to longer URLs.
70. A system for executing the method of any one of claims 1 through 69.
71. An apparatus for executing the method of any one of claims 1 through 69.
72. A computer readable memory medium for storing software code executable to perform the method steps of any one of claims 1 through 69.
73. A carrier signal incorporating software code executable to perform the method steps of any one of claims 1 through 69.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002317205A CA2317205A1 (en) | 2000-08-31 | 2000-08-31 | Information management system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002317205A CA2317205A1 (en) | 2000-08-31 | 2000-08-31 | Information management system and method |
Publications (1)
Publication Number | Publication Date |
---|---|
CA2317205A1 true CA2317205A1 (en) | 2002-02-28 |
Family
ID=4166998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002317205A Abandoned CA2317205A1 (en) | 2000-08-31 | 2000-08-31 | Information management system and method |
Country Status (1)
Country | Link |
---|---|
CA (1) | CA2317205A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102006047793A1 (en) * | 2006-09-08 | 2008-03-20 | Andreas Matthis | Method for authentication of person, involves building telephone connection between person and authentication device which accesses voice profile of person |
WO2014139117A1 (en) * | 2013-03-14 | 2014-09-18 | Intel Corporation | Voice and/or facial recognition based service provision |
CN110164020A (en) * | 2019-05-24 | 2019-08-23 | 北京达佳互联信息技术有限公司 | Ballot creation method, device, computer equipment and computer readable storage medium |
-
2000
- 2000-08-31 CA CA002317205A patent/CA2317205A1/en not_active Abandoned
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102006047793A1 (en) * | 2006-09-08 | 2008-03-20 | Andreas Matthis | Method for authentication of person, involves building telephone connection between person and authentication device which accesses voice profile of person |
WO2014139117A1 (en) * | 2013-03-14 | 2014-09-18 | Intel Corporation | Voice and/or facial recognition based service provision |
US9218813B2 (en) | 2013-03-14 | 2015-12-22 | Intel Corporation | Voice and/or facial recognition based service provision |
CN110164020A (en) * | 2019-05-24 | 2019-08-23 | 北京达佳互联信息技术有限公司 | Ballot creation method, device, computer equipment and computer readable storage medium |
US11263852B2 (en) | 2019-05-24 | 2022-03-01 | Beijing Dajia Internet Information Technology Co., Ltd. | Method, electronic device, and computer readable storage medium for creating a vote |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101416186B (en) | Enhanced search results | |
JP5888846B2 (en) | Generation and / or provision of regional advertisements such as advertisements for devices with call capabilities | |
US20080065974A1 (en) | Template-based electronic presence management | |
US20080066080A1 (en) | Remote management of an electronic presence | |
US20050108625A1 (en) | Method and system for selecting rules to validate information submitted on an electronic form | |
US20080300970A1 (en) | Redemption techniques for electronic coupons | |
WO2012078662A1 (en) | Electronic and network-based franking | |
US20100274675A1 (en) | Web page retrieval and advertisement method | |
US20020133406A1 (en) | Facilities information service system | |
JP2001306616A (en) | Information providing display system | |
US20030115200A1 (en) | Wireless application protocol for real estate data access | |
JP2002140605A (en) | Advertisement contents providing method, device for performing the same and recording medium recorded with its processing program | |
CA2317205A1 (en) | Information management system and method | |
JP2003303148A (en) | Information delivery method, information delivery system, and system control program | |
KR20120028112A (en) | Method and system for providing service dealing information using mobile phone | |
JPWO2005094186A1 (en) | E-mail automatic processing program, recording medium recorded with e-mail automatic processing program, e-mail automatic processing system | |
KR20000054421A (en) | method offer of an region life information by union search technique and one click electron map search | |
KR100393252B1 (en) | Method and System for managing translation service | |
AU2007235721A1 (en) | Mobile information providing and transaction system | |
US20020082937A1 (en) | System and method for providing services across an electronic link | |
JP2001236379A (en) | Method and system for member registration | |
JP2002108871A (en) | System and method for providing information and medium for recording information providing program | |
US11017652B2 (en) | System for publication and assignment of assistance requests | |
US8121268B1 (en) | Web page creation by telephone | |
JP3955183B2 (en) | Electronic document storage device, electronic document storage and delivery method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FZDE | Discontinued |