U.S. patent application number 09/656667 was filed with the patent office on 2008-01-17 for real-time communication processing method, product, and apparatus.
Invention is credited to Eric Schneider.
Application Number | 20080016142 09/656667 |
Document ID | / |
Family ID | 38950506 |
Filed Date | 2008-01-17 |
United States Patent
Application |
20080016142 |
Kind Code |
A1 |
Schneider; Eric |
January 17, 2008 |
REAL-TIME COMMUNICATION PROCESSING METHOD, PRODUCT, AND
APPARATUS
Abstract
The present invention detects indicia, identifiers, or partial
URLs to mark up in real time from input sources such as that of
radio, television, cable, and other sources that have a digital,
analog or digital/analog signal where text can be decoded from. A
device receives a broadcast and decodes text data from the
broadcast signal. The data is stored and words are parsed from the
stored data. The words may be matched against a table of
identifiers or rules to determine whether indicia have been
detected. If not and it is determined that there is more data, then
the next word may be parsed from the stored data. If an identifier
or the like has been detected then it may be determined whether the
word is a phone number. When the word is a phone number, the number
is stored in a phone cache to speed-dial, auto-dial, generate a
hyperdial link, or update a phone book. If the word is not a phone
number, then it may be determined whether the word is a lottery
number, stock symbol and price, zip code, e-mail, domain name,
weather and any other indicia types that may be detected to perform
an operative function.
Inventors: |
Schneider; Eric; (Delray
Beach, FL) |
Correspondence
Address: |
ERIC SCHNEIDER
1730 SOUTH FEDERAL HWY
#104
DELRAY BEACH
FL
33483
UNITED STATES
561-542-7541
ERLC@UNAMES.COM
|
Family ID: |
38950506 |
Appl. No.: |
09/656667 |
Filed: |
September 7, 2000 |
Current U.S.
Class: |
709/203 ;
707/999.01; 707/E17.115 |
Current CPC
Class: |
H04H 60/91 20130101;
H04L 65/4076 20130101; G06F 16/9566 20190101; H04H 60/58 20130101;
H04H 60/82 20130101; H04H 60/48 20130101; H04H 20/93 20130101; H04H
60/94 20130101; H04L 65/604 20130101 |
Class at
Publication: |
709/203 ;
707/010 |
International
Class: |
G06F 17/30 20060101
G06F017/30; G06F 15/16 20060101 G06F015/16; G06F 7/00 20060101
G06F007/00 |
Claims
1-20. (canceled)
21: A communication processing method comprising: a processor
dynamically generating in real-time during a broadcast one or more
keywords associated to an audio signal of said broadcast while
concurrently receiving and one of an analyzing and decoding at
least a received portion of said audio signal by said processor;
and, performing by said processor at least one operative action
with said one or more keywords to assist a user while concurrently
presenting output corresponding to said audio signal to said user
during said broadcast.
22: The method, as set forth in claim 21, wherein said performing
said at least one operative action with said one or more keywords
includes automatically performing said at least one operative
action with said one or more keywords in response to said
dynamically generating said one or more keywords associated to said
audio signal.
23: The method, as set forth in claim 21, wherein said performing
said at least one operative action with said one or more keywords
includes providing said user with an ability to perform said at
least one operative action with said one or more keywords.
24: The method, as set forth in claim 21, wherein said performing
said at least one operative action includes generating an internet
search engine request corresponding to said one or more keywords
and presenting results of said internet search engine request while
said concurrently presenting output corresponding to said audio
signal to said user.
25: The method, as set forth in claim 21, wherein said performing
said at least one operative action includes selecting and
presenting at least one advertisement corresponding to said one or
more keywords and presenting said at least one advertisement to
said user while said concurrently presenting output corresponding
to said audio signal to said user.
26: The method, as set forth in claim 21, further including at
least one of a detecting and recognizing that said one or more
keywords includes at least one identifier.
27: The method, as set forth in claim 26, wherein said at least one
identifier is a phone number and said performing said at least one
operative action further includes selecting from at least one of a
speed dial, auto dial, phone book, generating a hyperlink to
hyperdial said phone number, and hyperdialing said phone
number.
28: The method, as set forth in claim 26, wherein said at least one
identifier is an e-mail address and said performing said at least
one operative action further includes selecting from at least one
of an address book and e-mail message composition window designated
to send to said e-mail address.
29: The method, as set forth in claim 26, wherein said at least one
identifier is at least one set of lottery numbers and said
performing said at least one operative action further includes
comparing said at least one set of said lottery numbers to a table
of preselected lottery numbers.
30: The method, as set forth in claim 26, wherein said at least one
identifier is at least one set stock symbol and said performing
said at least one operative action further includes providing a
stock update from said stock symbol.
31: The method, as set forth in claim 26, wherein said at least one
identifier is at least one zip code and said performing said at
least one operative action further includes selecting from at least
one of an address book and detecting that a postal address precedes
said zip code.
32: The method, as set forth in claim 26, wherein said at least one
identifier is at least one domain name and said performing said at
least one operative action further includes selecting from one of a
bookmarking said domain name and generating a hyperlink capable of
accessing a hyperlink from said domain name.
33: The method, as set forth in claim 21, further including storing
at least a portion of the audio signal in a sound cache,
determining whether an identifier can be recognized from any
portion of said sound cache, and performing an operative action
corresponding to said identifier in response to determining that
said identifier can be recognized, from said sound cache.
34: The method, as set forth in claim 33, wherein said determining
whether said identifier can be recognized includes determining
whether any portion of said sound cache resembles any portion of a
sound table having stored sounds, said stored sounds resembling at
least one identifier.
35: The method, as set forth in claim 34, wherein said stored
sounds include spoken sounds of at least one top level domain.
36: The method, as set forth in claim 33, further including
determining whether to process a remaining portion of said audio
signal.
37: The method, as set forth in claim 21, wherein said broadcast
includes a closed caption text and further including determining
whether said closed caption text includes any identifiers, and
performing an operative action corresponding to said identifier in
response to determining that said closed caption text includes said
identifier.
38: The method, as set forth in claim 37, wherein said performing
said at least one operative action includes generating an internet
search engine request corresponding to said one or more keywords
relating to said closed caption text and presenting results of said
internet search engine request while said concurrently presenting
output corresponding to said audio signal to said user.
39: The method, as set forth in claim 37, wherein said performing
said at least one operative action includes selecting and
presenting at least one advertisement corresponding to said one or
more keywords relating to said closed caption text and presenting
said at least one advertisement to said user while said
concurrently presenting output corresponding to said audio signal
to said user.
40: A communication processing device including a processor
comprising: said device configured to dynamically generate in
real-time by said processor during a broadcast one or more keywords
associated to an audio signal of said broadcast while said audio
signal is concurrently received and at least a received portion of
said audio signal is one of an analyzed and decoded by said
processor; and, said device configured to perform by said processor
at least one operative action with said one or more keywords to
assist a user while output corresponding to said audio signal to
said user is concurrently presented during said broadcast.
Description
OTHER APPLICATIONS
[0001] This application claims the benefit of the following patent
applications, which are hereby incorporated by reference:
[0002] 1. This application is a continuation-in-part of U.S. patent
application Ser. No. 09/532,500 filed Mar. 21, 2000, by Schneider,
entitled "Fictitious domain name method, product, and apparatus",
and is a continuation-in-part of U.S. patent application Ser. No.
09/525,350 filed Mar. 15, 2000, by Schneider, entitled "Method for
integrating domain name registration with domain name resolution"
and claims the benefit of U.S. Provisional Application Ser. No.
60/143,859 filed Jul. 15, 1999, by Schneider entitled "Method and
apparatus for generation, registration, resolution, and emulation
of name space", now abandoned, U.S. Provisional Application Ser.
No. 60/135,751 filed May 25, 1999, by Schneider entitled "Method
and system for name space resolution", now abandoned and U.S.
Provisional Application Ser. No. 60/125,531 filed Mar. 22, 1999, by
Schneider entitled "Method and system for the emulation of name
space", now abandoned.
[0003] 2. U.S. Provisional Application Ser. No. 60/160,125 filed
Oct. 18, 1999, by Schneider, entitled "Method and system for
integrating resource location, search services, and registration
services."
[0004] 3. U.S. Provisional Application Ser. No. 60/153,594 filed
Sep. 13, 1999, by Schneider entitled "Method and apparatus for
using a portion of a URI to select and display advertising."
[0005] 4. U.S. Provisional Application Ser. No. 60/153,336 filed
Sep. 10, 1999, by Schneider entitled "Method and apparatus for
generating hyperlink references and/or performing an operative
function in response to detected indicia."
FIELD OF THE INVENTION
[0006] This invention relates to identifier detection, and more
specifically relates to a method, product, and apparatus for
performing an operative function in response to detecting an
identifier.
BACKGROUND OF THE INVENTION
[0007] The Internet is a vast computer network consisting of many
smaller networks that span the world. A network provides a
distributed communicating system of computers that are
interconnected by various electronic communication links and
computer software protocols. Because of the Internet's distributed
and open network architecture, it is possible to transfer data from
one computer to any other computer worldwide. In 1991, the
World-Wide-Web (WWW or Web) revolutionized the way information is
managed and distributed.
[0008] The Web is based on the concept of hypertext and a transfer
method known as Hypertext Transfer Protocol (HTTP) which is
designed to run primarily over a Transmission Control
Protocol/Internet Protocol (TCP/IP) connection that employs a
standard Internet setup. A server computer may issue the data and a
client computer displays or processes it. TCP may then convert
messages into streams of packets at the source, then reassemble
them back into messages at the destination. Internet Protocol (IP)
handles addressing, seeing to it that packets are routed across
multiple nodes and even across multiple networks with multiple
standards. HTTP protocol permits client systems connected to the
Internet to access independent and geographically scattered server
systems also connected to the Internet.
[0009] Client side browsers, such as Netscape Navigator and/or
Microsoft Internet Explorer (MSIE) provide a graphical user
interface (GUI) based client applications that implement the client
side portion of the HTTP protocol. One format for information
transfer is to create documents using Hypertext Markup Language
(HTML). HTML pages are made up of standard text as well as
formatting codes that indicate how the page should be displayed.
The client side browser reads these codes in order to display the
page. A web page may be static and requires no variables to display
information or link to other predetermined web pages. A web page is
dynamic when arguments are passed which are either hidden in the
web page or entered from a client browser to supply the necessary
inputs displayed on the web page. Common Gateway Interface (CGI) is
a standard for running external programs from a web server. CGI
specifies how to pass arguments to the executing program as part of
the HTTP server request. Commonly, a CGI script may take the name
and value arguments from an input form of a first web page which is
be used as a query to access a database server and generate an HTML
web page with customized data results as output that is passed back
to the client browser for display.
[0010] The Web is a means of accessing information on the Internet
that allows a user to "surf the web" and navigate the Internet
resources intuitively, without technical knowledge. The Web
dispenses with command-line utilities, which typically require a
user to transmit sets of commands to communicate with an Internet
server. Instead, the Web is made up of millions of interconnected
web pages, or documents, which may be displayed on a computer
monitor. Hosts running special servers provide the Web pages.
Software that runs these Web servers is relatively simple and is
available on a wide range of computer platforms including PC's.
Equally available is a form of client software, known as a Web
browser, which is used to display Web pages as well as traditional
non-Web files on the client system.
[0011] A network resource identifier such as a Uniform Resource
Identifier (URI) is a compact string of characters for identifying
an abstract or physical resource. URIs are the generic set of all
names and addresses that refer to objects on the Internet. URIs
that refer to objects accessed with existing protocols are known as
Uniform Resource Locators (URLs). A URL is the address of a file
accessible on the Internet. The URL contains the name of the
protocol required to access the resource, a domain name, or IP
address that identifies a specific computer on the Internet, and a
hierarchical description of a file location on the computer. For
example the URL "http://www.example.com/index.html", where "http"
is the scheme or protocol, "www.example.com" is the Fully Qualified
Domain Name (FQDN), and "index.html" is the filename located on the
server.
[0012] Because an Internet address is a relatively long string of
numbers (e.g., 31.41.59.26) that is difficult to remember, Internet
users rely on domain names, memorable and sometimes catchy words
corresponding to these numbers, in order to use electronic mail
(e-mail) and to connect to Internet sites on the Web. The Domain
Name System (DNS) is a set of protocols and services on a network
that allows users to utilize domain names when looking for other
hosts (e.g., computers) on the network. The DNS is composed of a
distributed database of names. The names in the DNS database
establish a logical tree structure called the domain name space.
Each node or domain in the domain name space is named and may
contain subdomains. Domains and subdomains are grouped into zones
to allow for distributed administration of the name space.
[0013] A domain name consists of two parts: a host and a domain.
Technically, the letters to the right of the "dot" (e.g., tut.net)
are referred to as Top Level Domains (TLDs), while hosts, computers
with assigned IP addresses that are listed in specific TLD
registries are known as second-level domains (SLDs). For the domain
name "tut.net", ".net" is the TLD, and "tut" is the SLD. Domain
name space is the ordered hierarchical set of all possible domain
names either in use or to be used for locating an IP address on the
Internet. TLDs are known as top-level domains because they comprise
the highest-order name space available on the Internet.
Second-level domains, as well as third-level domains (3LDs) such as
"king.tut.net", are subsidiary to TLDs in the hierarchy of the
Internet's DNS.
[0014] There are two types of top-level domains, generic and
country code. Generic top-level domains (gTLDs) were created to
allocate resources to the growing community of institutional
networks, while country code top-level domains (ccTLDs) were
created for use by each individual country, as deemed necessary.
More than 240 national, or country-code TLDs (e.g., United States
(.us), Japan (.jp), Germany (.de), etc.) are administered by their
corresponding governments, or by private entities with the
appropriate national government's acquiescence. A small set of
gTLDs does not carry any national identifier, but denote the
intended function of that portion of the domain space. For example,
".com" was established for commercial networks, ".org" for
not-for-profit organizations, and ".net" for network gateways. The
set of gTLDs was established early in the history of the DNS and
has not been changed or augmented in recent years (COM, ORG, GOV,
and MIL were created by January 1985, NET in July 1985, and INT was
added in November 1988).
[0015] URLs are used in media and written in documents or typed
within e-mail, and data files, etc. as a means to make reference to
accessible online content that helps express the context of the
ideas one wishes to communicate. URLs are generally written in an
abbreviated manner as partial URLs or domain names (e.g.,
"http://www.example.com" is the URL, "www.example.com" is the FQDN,
and "example.com" is the domain name). During the early stages of
commercialization on the Internet, businesses displayed the full
URL when advertising a commercial or display ad as a means to
locate the resources of the business on the Internet. Improvements
have been made to recognize partial URLs when entered in the
location field of a web browser or network accessible device for
automatically appending protocol information so a full URL request
can be made. By submitting a domain name or FQDN in the location
field, the browser modifies the request by adjusting the partial
URL and adding "http://" in front of the domain name or FQDN in
order to construct a valid URL. As a result of this convenience,
companies have modified their advertising and distribution of URLs
through print, film, radio, television and other media as
"example.com" or "www.example.com" instead of the URL
"http://www.example.com". Though a helpful mnemonic for consumers
to more readily identify and access the location and origin of
goods and services on a public network such as the Internet, the
mnemonic is only applicable when using a command line of a device
or location field of a web browser program as a means to access the
advertised web site.
[0016] There is a need for such a method or device to assure that
identifiers such as partial URLs (e.g., domain names and FQDNs) may
be translated back to a full URL or web address so that the
continuity for hyperlinking across separate mediums is realized.
Furthermore, there is a need to extend the use of an identifier by
performing an operative function upon detection of such identifiers
across different media.
SUMMARY OF THE INVENTION
[0017] Briefly, this invention relates to detecting indicia and
generating hyperlink references or performing an operative function
in response to such detected indicia. The present invention enables
hyperlink references to be generated upon detection of domain names
or fictitious indicia. The invention allows a user to create a
hyperlink reference by only supplying a domain name having a TLD or
TLDA as input. The present invention enables the user to "surf the
web" for material related to a current broadcast based on
generating hyperlinks from closed caption or other decoded text.
The invention allows for partial URLs to be used in documents and
other sources aside from the location field of the browser with the
ability to hyperlink from such abbreviated reference. The present
invention enables a user to automatically dial the telephone or
update a phone book in response to a radio or television broadcast.
The invention provides notification if a user won a lottery. The
present invention also provides notification when a user might want
to buy or sell a stock. Other objects and advantages will be
appreciated by those skilled in the art from the following
teachings of the present invention.
[0018] In general, in accordance with the present invention a
method for processing a signal having audio includes the steps of
determining whether the signal includes encoded text, processing
the encoded text in response to determining that the signal does
include encoded text, storing a portion of the audio signal in a
sound cache in response to determining that the signal does not
include encoded text, determining whether an identifier can be
recognized from any portion of the sound cache, and performing an
operative function corresponding to the identifier in response to
determining that the identifier can be recognized, from the sound
cache.
[0019] Identifier detection may further include the step of
determining whether any portion of the sound cache resembles any
portion of a sound table having stored sounds, wherein the stored
sounds resemble at least one identifier. The step of determining
whether to process a remaining portion of the audio signal may also
be included. Encoded text may be processed by decoding a portion of
the encoded text, determining whether the decoded text includes any
identifiers, and performing an operative function corresponding to
the identifier in response to determining that the decoded text
does include the identifier.
[0020] When an identifier is a phone number the corresponding
operative function may further include the step of selecting from
one of a speed dial, auto dial, phone book, generating a hyperlink
to dial said phone number, and dialing said phone number. When an
identifier is an e-mail address the corresponding operative
function may further include the step of selecting from one of an
address book and an e-mail message composition window designated to
send to said e-mail address. When an identifier is a lottery number
the corresponding operative function may further include the step
of comparing the lottery number to a table of preselected lottery
numbers. When an identifier is a stock symbol the corresponding
operative function may further include the step of providing a
stock update from the stock symbol. When an identifier is a zip
code the corresponding operative function may further include the
step of selecting from one of an address book and decoding a postal
address from the cache preceding the identifier. When an identifier
includes a HLD (e.g., VDN, FDN) the corresponding operative
function may further include the step of selecting from one of a
bookmarking the domain name and generating an accessible hyperlink
from the domain name.
[0021] In accordance with another aspect of the present invention,
a method for generating hyperlinks from a first data file includes
the steps of detecting any unlinked portions of text having a HLD
from the first data file, selecting which the unlinked portions of
text are to be modified, generating a hyperlink for each selected
unlinked portion, and generating a second file that includes the
first data file having the hyperlinks in place of the selected
unlinked portions of text. The unlinked portions of text may be
modified by selecting a label for each selected unlinked portion.
Each hyperlink may include the selected label for each selected
unlinked portion.
[0022] In accordance with yet additional aspects of the present
invention, an apparatus which implements substantially the same
functionality in substantially the same manner as the methods
described above is provided.
[0023] In accordance with other additional aspects of the present
invention, a computer-readable medium that includes
computer-executable instructions may be used to perform
substantially the same methods as those described above is
provided.
[0024] The foregoing and other features of the invention are
hereinafter fully described and particularly pointed out in the
claims. The following description and the annexed drawings set
forth in detail one or more illustrative aspects of the invention,
such being indicative, however, of but one or a few of the various
ways in which the principles of the invention may be employed.
BRIEF DESCRIPTION OF THE DRAWINGS
[0025] FIG. 1a is a block diagram of an exemplary distributed
computer system in accordance with the present invention.
[0026] FIG. 1b is a diagram depicting the location field or web
page search request used in a conventional web browser.
[0027] FIG. 1c is a block diagram illustrating exemplary
information records stored in memory in accordance with the present
invention.
[0028] FIG. 2 is a flowchart illustrating the steps performed by a
prior art system for generating hyperlink references.
[0029] FIG. 3 is a flowchart illustrating the steps performed for
generating hyperlinks based on detecting a highest level domain
(HLD) in accordance with the present invention.
[0030] FIG. 4 is a flowchart illustrating the steps performed for
hyperlink generation in accordance with the present invention.
[0031] FIG. 5a depicts an e-mail message used as an input source
file in accordance with the present invention.
[0032] FIG. 5b is an illustration of the user interface for
displaying candidate links for conversion from the input source
file in accordance with the present invention.
[0033] FIG. 5c depicts a modified e-mail message that is an output
file generated from combining the user interface with the input
source file in accordance with the present invention.
[0034] FIG. 6 is a flowchart illustrating the steps performed for
decoding text from a broadcast to perform an operative function in
accordance with the present invention.
[0035] FIG. 7 is a flowchart illustrating the steps performed for
converting speech to text in real time to perform an operative
function in accordance with the present invention.
DETAILED DESCRIPTION OF THE INVENTION
[0036] The present invention will now be described with reference
to the drawings, wherein like reference numerals are used to refer
to like elements throughout.
[0037] FIG. 1a illustrates an exemplary system for providing a
distributed computer system 100 in accordance with one aspect of
the present invention and includes client computers or any network
access apparatus 110 connected to server computers 120 via a
network 130. The network 130 may use Internet communications
protocols (IP) to allow the clients 110 to communicate with the
servers 120. The communication device of a network access apparatus
110 may include a transceiver, a modem, a network interface card,
or other interface devices to communicate with the electronic
network 130. The network access apparatus 110 may be operatively
coupled to and/or include a Global Positioning System (GPS). The
modem may communicate with the electronic network 130 via a line
116 such as a telephone line, an ISDN line, a coaxial line, a cable
television line, a fiber optic line, or a computer network line.
Alternatively, the modem may wirelessly communicate with the
electronic network 130. The electronic network 130 may provide an
on-line service, an Internet service provider, a local area network
service, a wide area network service, a cable television service, a
wireless data service, an intranet, a satellite service, or the
like.
[0038] The client computers 110 may be any network access apparatus
including hand held devices, palmtop computers, personal digital
assistants (PDAs), notebook, laptop, portable computers, desktop
PCs, workstations, and/or larger/smaller computer systems. It is
noted that the network access apparatus 110 may have a variety of
forms, including but not limited to, a general purpose computer, a
network computer, an internet television, a set top box, a
web-enabled telephone, an internet appliance, a portable wireless
device, a game player, a video recorder, and/or an audio component,
for example.
[0039] Each client 110 typically includes one or more processors
166, memories 168, and input/output devices 170. An input device
may be any suitable device for the user to give input to client
computer system 110, for example: a keyboard, a 10-key pad, a
telephone key pad, a light pen or any pen pointing device, a
touchscreen, a button, a dial, a joystick, a steering wheel, a foot
pedal, a mouse, a trackball, an optical or magnetic recognition
unit such as a bar code or magnetic swipe reader, a voice or speech
recognition unit, a remote control attached via cable or wireless
link to a game set, television, and/or cable box. A data glove, an
eye-tracking device, or any MIDI device may also be used. A display
device may be any suitable output device, such as a display screen,
text-to-speech converter, printer, plotter, fax, television set, or
audio player. Although the input device is typically separate from
the display device, they may be combined; for example: a display
with an integrated touchscreen, a display with an integrated
keyboard, or a speech-recognition unit combined with a
text-to-speech converter.
[0040] The servers 120 may be similarly configured. However, in
many instances server sites 120 include many computers, perhaps
connected by a separate private network. In fact, the network 130
may include hundreds of thousands of individual networks of
computers. Although client computers 110 are shown separate from
the server computers 120, it is understood that a single computer
might perform the client and server roles. Those skilled in the art
will appreciate that the computer environment 100 shown in FIG. 1a
is intended to be merely illustrative. The present invention may
also be practiced in other computing environments. For example, the
present invention may be practiced in multiple processor
environments wherein the client computer includes multiple
processors. Moreover, the client computer need not include all of
the input/output devices as discussed above and may also include
additional devices. Those skilled in the art will appreciate that
the present invention may also be practiced via Intranets and more
generally in distributed environments in which a client computer
requests resources from a server computer.
[0041] During operation of the distributed system 100, users of the
clients 110 may desire to access information records 122 stored by
the servers 120 while utilizing, for example, the Web. Furthermore,
such server systems 120 may also include one or more search engines
having one or more databases 124. The records of information 122
may be in the form of Web pages 150. The pages 150 may be data
records including as content plain textual information, or more
complex digitally encoded multimedia content, such as software
programs, graphics, audio signals, videos, and so forth. It should
be understood that although this description focuses on locating
information on the World-Wide-Web, the system may also be used for
locating information via other wide or local area networks (WANs
and LANs), or information stored in a single computer using other
communications protocols.
[0042] The clients 110 may execute Web browser programs 112, such
as Netscape Navigator or MSIE to locate the pages or records 150.
The browser programs 112 enable users to enter addresses of
specific Web pages 150 to be retrieved. Typically, the address of a
Web page is specified as a URI or more specifically as a URL. In
addition, when a page has been retrieved, the browser programs 112
may provide access to other pages or records by "clicking" on
hyperlinks (or links) to previously retrieved Web pages. Such links
may provide an automated way to enter the URL of another page, and
to retrieve that page.
[0043] FIG. 1b more specifically illustrates an exemplary selection
of common operative components of a web browser program 112. The
web browser 112 enables a user to access a particular web page 150
by typing the URL for the web page 150 in the location field 154.
The web page 150 contents corresponding to the URI from the
location field 154 may be displayed within the client area of the
web browser display window 158, for example. Title information from
the web page 150 may be displayed in the title bar 160 of the web
browser 112. The web page 150 contents may further include a user
interface element such as that of an input text box 162 for
inputting search requests and, in turn, search results having
identifiers 164 such as a hyperlink or URI.
[0044] FIG. 1c illustrates a block diagram of a storage device such
as memory 168 in operative association with a processor 166. The
processor 166 is operatively coupled to input/output devices 170 in
a client 110 and/or server 120 computing system. Stored in memory
168 may be information records 122 having any combination of
exemplary content such as lists, files, and databases. Such records
may include for example: user modifiable configuration settings
174, heuristic rules 176, Keyword table 178, TLD cache 180, phone
cache 182, history analysis 184, sound table 186, address book 188,
and advertising cache 190. These information records may be further
introduced and discussed in more detail throughout the disclosure
of this invention.
[0045] FIG. 2 is a flowchart illustrating the steps performed by a
prior art system for generating hyperlink references. A device such
as a network access apparatus 110, servlet, applet, stand-alone
executable program, a command line, or user interface element such
as a text box object or location field 154 of a web browser 112,
receives and parses input such as text or voice in step 210. An
input file may be read from memory 168 and it may be determined in
step 215 whether an end of file (EOF) marker is read. Upon EOF, the
script or program completes execution. While an EOF has not been
detected, words may be parsed from the input file in step 220. For
each word, it may be determined in step 225 whether the word is a
URI or FQDN. When it is determined that the word is not a URI or
FQDN then steps may be repeated (215, 220, 225) until an EOF is
reached or the word is a URI or FQDN. When it is determined that
the word is a URI or FQDN then it may be determined in step 230
whether the word is to be converted. If the word is not converted
then steps are repeated (215, 220, 225) until an EOF is reached or
the word is a URI or FQDN. If the word is to be converted then a
hyperlink reference is generated from the word and then steps are
repeated (215, 220, 225) until an EOF is reached or the word is a
URI or FQDN.
[0046] In accordance with methods known to one of ordinary skill in
the art, the detection of whether a word is a URI or FQDN is
performed by determining whether the word includes a prefix such as
a scheme/protocol or common host server name (e.g., "http", "ftp",
"telnet", "www", etc.). This method is particularly applicable in
the field of word processing, spell checking, and identifier
detection. For instance, it is common for an e-mail composition
program to markup a URI or FQDN on the fly, but neglect to markup a
domain name on the fly or by prompting the user. In another
example, it is explained in U.S. Provisional Application Ser. No.
60/160,125 filed Oct. 18, 1999, by Schneider, entitled "Method and
system for integrating resource location, search services, and
registration services" that no provisions have been made to detect
the presence of a domain name before processing a search request.
Any results that are returned from a search request are based on
finding a database match to the domain name as a keyword or literal
string.
[0047] In a hierarchical naming system such as the DNS, a first
domain represents the highest level domain (HLD). A HLD that is
determined not resolvable is referred to as a Top Level Domain
Alias (TLDA). A resolvable HLD is referred to as a Top Level Domain
(TLD). Specific methods for applying TLDAs are explained in U.S.
patent application Ser. No. 09/532,500 filed Mar. 21, 2000, by
Schneider, entitled "Fictitious domain name method, product, and
apparatus" and U.S. Provisional Application Ser. No. 60/153,336
filed Sep. 10, 1999, by Schneider entitled "Method and apparatus
for generating hyperlink references and/or performing an operative
function in response to detected indicia."
[0048] FIG. 3 is a flowchart illustrating a step performed for
improving how hyperlink references may be generated. When it is
determined in step 225 that the word is not a URI or FQDN it is
then further determined in step 310 whether the word includes a
HLD. When it is determined in step 310 that the word does not have
a HLD then steps may be repeated (215, 220, 225) until an EOF is
reached, or the word is either a URI or FQDN (step 225), or
includes a HLD (step 310). When it is determined that the word
includes a HLD then it may be determined in step 230 whether the
word is to be converted as discussed in FIG. 2. The detection of
whether a word includes a HLD is performed by determining whether
the word includes a suffix (rather than a prefix as discussed
above) such as ".com", ".cc", etc. Detection may be performed by
comparing the word to a table of resolvable TLDs 180.
[0049] FIG. 4 illustrates how yet further improvements may be made
when generating hyperlink references. A device such as a network
access apparatus 110, servlet, applet, stand-alone executable
program, a command line, or user interface element such as a text
box object or location field 154 of a web browser 112, receives and
parses input such as text or voice in step 210. An input file may
be read from storage and it may be determined in step 215 whether
an end of file (EOF) marker is read. Upon EOF, the script or
program completes execution. While an EOF has not been detected,
words may be parsed from the input file in step 220. For each word,
it may be determined in step 225 whether the word is a URI or FQDN
or whether the word includes a HLD (step 310).
[0050] When it is determined that the word is not a URI or FQDN it
may then be further determined in step 310 whether the word
includes a HLD. When it is determined in step 310 that the word
does not have a HLD then steps may be repeated (215, 220, 225)
until an EOF is reached or the word is either a URI or FQDN or
includes a HLD. When it is determined (225, 310) that either the
word is a URI or FQDN or that the word includes a HLD, then it may
be determined what label is used to generate an anchored hyperlink
reference. If it is determined in step 410 that a URI label is used
to generate the anchored hyperlink reference then an anchored
hyperlink reference with a URI label may be generated in step 415
from the word. If not, and it is determined in step 420 that a FQDN
label is used to generate the anchored hyperlink reference then an
anchored hyperlink reference with a FQDN label may be generated in
step 425 from the word. If not, and it is determined in step 430
that a domain name label is used to generate the anchored hyperlink
reference then an anchored hyperlink reference with a domain name
label may be generated in step 435 from the word. If the word is
not converted then steps may be repeated (215, 220, 225) until an
EOF is reached or the word is either a URI or FQDN or includes a
HLD.
[0051] The methods discussed above may apply to any text file or
document from web pages, e-mail, newsgroups, and to any data file
that represents information that may be applicable for applying
hyperlinks to such data file. Any standalone application including
a program, servlet, or applet and any function, macro, or script
including VB Script, JavaScript, or PERL script to name a few may
be executed by any computing device to provide an output file in
response to a given input file or batch of files. The drawings of
FIGS. 5a, 5b, 5c illustrate how such a program may be particularly
used to process such an input file. Methods for applying automated
markup of web pages for the purpose of web publishing are explained
in U.S. patent application Ser. No. 09/532,500 filed Mar. 21, 2000,
by Schneider, entitled "Fictitious domain name method, product, and
apparatus" and U.S. Provisional Application Ser. No. 60/153,336
filed Sep. 10, 1999, by Schneider entitled "Method and apparatus
for generating hyperlink references and/or performing an operative
function in response to detected indicia."
[0052] FIG. 5a depicts the typical source code of a composed e-mail
message. Within the message are partial URLs that have a HLD. When
the steps of FIG. 4 are applied by reading the e-mail source file,
the program extracts all words that are candidate for conversion
and displays an interface as illustrated in FIG. 5b with options to
select how the partial URLs or certain select words within the
e-mail source are to be marked up. After selections are made and
submitted by the user, steps for anchoring labels as shown in FIG.
4 are applied to generate a new e-mail source file with the partial
URLs marked up according to the user's selection. The new e-mail
source file may be reviewed in more detail in FIG. 5c to observe
the correspondence between the user interface of FIG. 5b and the
input source file of FIG. 5a. Modifications may be made to the
script to automatically markup the partial URLs without displaying
the user interface of FIG. 5b.
[0053] Another aspect of the present invention detects and/or
generates identifiers in real time from input sources such as
instant messaging, chat rooms, web conferencing, interactive
television, any television broadcast, cable, satellite, video tape,
DVD, and other sources that have a digital, analog or
digital/analog signal where text may be decoded from. There are a
variety of systems available for multiplexing and transmitting
character and graphic information during the vertical retrace line
period of video signals, such as television signals. This type of
system includes, for instance, the character information
broadcasting system in Japan; the world standard teletext (WST);
the extended version of the United Kingdom teletext system; the
closed caption system of the U.S.A., etc.
[0054] Video data frequently includes data, such as closed caption
text data, that is transmitted during the vertical-blanking
interval (VBI). The closed caption text data is typically
transmitted during line 21 of either the odd or even field of the
video frame in a National Television Standards Committee (NTSC)
format. Closed caption decoders strip the text data from the video
signal, decode the text data, and reformat the data for display,
concurrent with the video data, on a television screen. Such closed
caption decoders process the text data separately from a video
signal. The closed caption data is displayed substantially in real
time.
[0055] The associated data encoded in the vertical blanking period
of the NTSC signal comprises digital data. The digital data may
include ASCII text, any alpha numeric coding, or graphical
information. Because the digital data is encoded in the vertical
blanking period, the audio/video content in the NTSC signal is not
disturbed. The associated data may comprise a wide variety of
information pertaining to the audio/video content, such as news
headlines, programming details, captioning for the associated
audio/video, classified advertisements, and weather.
[0056] In a conventional TV set, teletext information is decoded
from the broadcast video signal with the use of dedicated hardware
that processes the data and displays it on the TV screen. In a
teletext capable PC, this same dedicated teletext hardware is used
to extract and process the teletext information from the video
stream and then store it until the processed teletext information
is sent to the host computer. The host computer then runs a
software application that receives the processed data and formats
it for display on the computer screen.
[0057] Currently, many PC-TV products allow a user to view TV on a
computer monitor. Some products allow information to be viewed with
the addition of appropriate hardware, typically a module that plugs
into the TV card. Typically, a TV tuner receives a signal from
either an antenna or cable connection. The selected channel is
output from the tuner to the TV decoder chip and to the teletext
decoder chip.
[0058] Advancements have been made to enable decoding to extend
beyond that of a dedicated chip or processor to include software
drivers to perform this task. A client application running on PC
calls closed caption decoder driver in order to enable and disable
the displaying of closed caption data. All application calls are
made to closed caption capture layer (CCC) by client application.
Capture layer extracts the Line 21 data from video processor
hardware using hardware driver and notifies decoding layer that
there is data available to process. Decoding layer then processes
the data retrieved by capture layer and displays the closed caption
text on the monitor in a window specified by client
application.
[0059] FIG. 6 illustrates the steps for performing functions based
on decoding text data from a broadcast. A device receives in step
610 a broadcast and decodes in step 615 text data from the
broadcast signal. Data is stored in step 620 and words are parsed
in step 625 from the stored data. The words are matched against
rules 176 or a table of keywords 178 to determine in step 630
whether an identifier has been detected. If not, and it is
determined in step 635 that there is more data, then the next word
is parsed in step 625 from the stored data. If a keyword or the
like has been detected in step 630 then it may be determined in
step 640 whether the word is a phone number. When the word is a
phone number, the number may be stored in a phone cache 182 in step
645 to speed-dial, autodial, generate a hyperdial link, or update a
phone book. If the word is not a phone number then it may be
determined in step 650 whether the word is a lottery number. When
the word is a lottery number, the winning numbers are stored for
history analysis 184 and compared in step 655 with selected lottery
numbers to notify the outcome of the lottery. If the word is not a
lottery number, then it may be determined in step 660 whether the
word is a stock symbol having a price. When the word is a stock
symbol having a price, the stock symbol and price are stored for
history analysis 184 and compared in step 665 with a threshold
price to alert a user by providing notification of when a stock
price has exceeded a min/max threshold. If the word is not a stock
symbol with a price then it may be determined in step 670 whether
the word is a zip code. When the word is a zip code, a postal
address is extracted from the decoded text to update in step 675 an
address book 188 and/or generate postal mail.
[0060] If the word is not a zip code then it may be determined in
step 310 whether the word includes a HLD. When the word includes a
HLD, it may further be determined in step 690 whether the word is
an e-mail address. If the word is an e-mail address then an address
book may be updated in step 675 and/or an e-mail composition is
displayed to respond to the identifier/keyword from the decoded
text in step 615. If the word is not an e-mail then the word having
the HLD may be processed in step 695 at a minimum as a domain name.
In either case, a hyperlink may be generated from the word having
the HLD. When it is determined that the word does not have a HLD,
then the word may be processed in step 685 as a generalized keyword
for categorization, advertisements, or as a search request.
Advertisements may be selected accordingly from the advertising
cache 190, as further explained in U.S. Provisional Application
Ser. No. 60/153,594 filed Sep. 13, 1999, by Schneider entitled
"Method and apparatus for using a portion of a URI to select and
display advertising." After the word is processed by any of the
above conditions the next word may be parsed in step 625 until it
is determined in step 635 that there is no more data at which point
the current application is saved and execution is completed.
[0061] The client application that processes the decoded text may
further be programmed to detect additional identifiers including
weather, alerts, warnings, time, news, header information of
program segments or commercials, etc. Some keywords in the table
178 may include text such as but not limited to "1-800", "1-888",
"1-877", a list of stock symbols, the "." delimiter or "www" to
identify a possible domain name, a list of resolvable TLDs, the "@"
delimiter to identify a possible e-mail address, zip codes, area
codes, protocols such as "http", "ftp", etc. In addition, the time
period of expected decoded data may be listed as well. For
instance, it may be known that the lottery is announced 7:30 pm
everyday on a specific broadcast. Keywords to anticipate the
numbers, including the redundancy of announcing the numbers are
combined as part of the detection mechanism of the client
application. Also included in the client application may be
routines to convert the mnemonic of a telephone number into digits
for the purpose of storage and dialing. For example, decoded text
from a broadcast yields "1-800-CALL-NOW" which is detected as
indicia by the software and then further converted for storage in a
phone book as "1-800-225-5669". A table of stored sounds 186
similar to the table of keywords listed above may be used in
another aspect of the present invention (see FIG. 7.)
[0062] Further applications may include responding to such decoded
text by determining keywords or categories to select ads for
display. For example, in an interactive television application,
text may be decoded from the closed caption data of a digital
broadcast and keywords are extracted to retrieve ads, coupons, or
rebates that may be concurrently displayed in the letterbox of the
original broadcast. There are numerous variations that may be
practiced by those skilled in the are by displaying advertising in
response to a closed caption or teletext signal of a broadcast from
which the subscriber or user can benefit from.
[0063] Other input sources without encoded text such as telephone,
internet telephone, radio, web radio, or live audio broadcasts may
be taken advantage of by yet another aspect of the present
invention, which converts speech to text and detects identifiers
and markup partial URLs in real time. The generation of hyperlinks
for the purposes of performing operative functions such as dialing
a phone number, composing an e-mail message, or connecting to a
network address to name a few are discussed in more detail.
[0064] FIG. 7 illustrates the steps performed for performing an
operative function in response to detecting an identifier from an
audio source. When audio is received in step 710, a device or
network access apparatus 110 may store the received audio in a
sound cache in step 715. While storing audio, the stored audio may
be compared in step 720 by consulting a table of stored sounds 186
and/or a set of heuristic rules 176 (e.g., a specified time frame
to expect stored sounds). If there is at least a fuzzy and/or
phonetic waveform match in step 725 (e.g., suitably duplicates,
resembles, matches, or is otherwise correlated with a stored sound,
voice recognition, speech recognition, etc.) between a portion of
the stored audio and the sound table 186, a sound byte may be
generated from the sound cache and converted in step 730 to text by
a speech-to-text or voice recognition decoder for further analysis.
While the sound byte is converted to text (step 730) or when there
is no recognition match (step 725) then it may be determined in
step 735 whether the device continues to process the audio source
by further consulting (step 720) the sound table 186. When there is
an indication in step 735 that no further processing is requested,
then the device may store in memory 168 any successfully converted
text as words. When there is further processing, steps (720, 725)
may be repeated until there is indication otherwise. When a match
or the like has been detected in step 725 then it may be determined
in step 640 whether the converted text or word is a phone
number.
[0065] Though the above aspects demonstrate hyperlink references
may be generated from input, similar teachings may be applied to
those skilled in the art by providing a user interface element such
as a text box object as input. The text box object may be located
anywhere and on any web page including a text box that may be
embedded or displayed as part of an on-line advertisement. The text
box object may be used in a stand-alone application or stored on
magnetic and/or optical media that may be non-volatile, writable,
removable, or portable. The text box object may be incorporated as
an applet or servlet and embedded in other applications. The text
box may be integrated in the task bar or any part of the GUI's OS,
or the OS bypassed and a user interface element overlaid as a
graphic on a display device based on modifications to a video card
and/or it's associated firmware or software drivers. A command line
text box may be further overlaid as an interactive object in other
embodiments such as Internet television, cable television, digital
television, or interactive television through an Internet appliance
or set top box.
[0066] Those skilled in the art may make and use software code to
function as a browser plug-in, which may be downloaded by a user to
integrate into a command line or client browser 112. Modifying the
source code of the browser program itself may be more desirable, in
effect, enabling tens of millions of users to take advantages of
more creative ways to use fictitious identifiers as a means to
access a resolvable URI. For any of the above implementations, the
resolvability of an HLD may be determined from either the client or
server side of any host or node on the network including routers,
resolvers, nameservers, etc.
[0067] Although the invention has been shown and described with
respect to a certain preferred aspect or aspects, it is obvious
that equivalent alterations and modifications will occur to others
skilled in the art upon the reading and understanding of this
specification and the annexed drawings. In particular regard to the
various functions performed by the above described items referred
to by numerals (components, assemblies, devices, compositions,
etc.), the terms (including a reference to a "means") used to
describe such items are intended to correspond, unless otherwise
indicated, to any item which performs the specified function of the
described item (e.g., that is functionally equivalent), even though
not structurally equivalent to the disclosed structure which
performs the function in the herein illustrated exemplary aspect or
aspects of the invention. In addition, while a particular feature
of the invention may have been described above with respect to only
one of several illustrated aspects, such feature may be combined
with one or more other features of the other aspects, as may be
desired and advantageous for any given or particular
application.
[0068] The description herein with reference to the figures will be
understood to describe the present invention in sufficient detail
to enable one skilled in the art to utilize the present invention
in a variety of applications and devices. It will be readily
apparent that various changes and modifications could be made
therein without departing from the spirit and scope of the
invention as defined in the following claims.
* * * * *
References