Wiki-principle based intranet- and
internet search assistant and bookmark sharing tool which uses
auto-type detection methods, approximate (fuzzy) searches,
and regular expression pattern searches to immediately redirect
a user-entered shortcuts to target URIs (WIBISA).
Flowchart version 2 published on 02. Feb 2005, 08:20 UTC
Example: Just type 'vt' followed by your search term(s) into the Location bar and hit return. Sogudi translates your text into a fully qualified URL and the VersionTracker search comences.
Many more helpful shortcuts are included; you can modify these and easily create your own. Type 'mu' to search MacUpdate, 'dict' to search Dictionary.com, 'mov' for the Internet Movie Database, etc. If you leave off the shortcut, Sogudi will send all the words to its default shortcut instead.
You can now type search terms into the
address bar just like you can in the Google Search field from
Apple. The difference is that Sogudi allows you to change the search
engine you use. See the Default Shortcut topic of Sogudi.
it requiresMac OS X 10.2.x, 10.3.x, or
Tiger and Safari 1.0 or later.
Wiki-based
Intranet- and Internet Search Assistant and bookmark sharing tool using
auto-type detection and approximate and regular expression pattern
shortcuts WIBISA
Electronic Publication Date: 10 Nov 2004 16:01 UTC
Proposed
International Patent Classification: IPC G06F17/30
SUMMARY
A
"wiki"-based
Intranet- and Internet Search Assistant and bookmark sharing tool is
disclosed
which uses auto-type detection methods and/or approximate pattern
matching
and/or regular expression pattern matching and/or exact pattern
matching for mixed
alpha-numeric user inputs. The inputs can either be in one-part-form
consisting
of one word, an abbreviation (shortcut) or even a misspelling (typo)
thereof
for a wanted service or of two-part
form consisting of a word, an abbreviation (shortcut) or a misspelling
(typo)
thereof for a wanted service followed
by one or several search items to be sent to that wanted service. The
Search
Assistant uses a sequence of decisions to find a first match and
transfers the
users'
input
to the service corresponding to the first match. The
decision where to forward the users= query depends on results of
queries against tables,
decision trees, hashes or databases, regular expressions or against
page names
of one or many “wikis”, the contents of the tables, decision trees,
hashes,
databases, regular expressions or wikis being dynamically changeable by
a user
community using the "wiki-principle"
wherein any user can create or change any table, decision tree, hash or
database
entry and pages on the wikis from anywhere and at any time, and all
changes are
logged to prevent vandalism. The benevolent attitude of the majority of
users
is foreseen to draw correspondences between shortcuts and wanted
services to a
stable equilibrium, so that wanted
services will become the most wanted
services for a shortcut after a
while. An administrator can clean and prune the tables by using special
secret
commands.
DESCRIPTION
The
disclosure describes a method software or apparatus hardware for guiding requests (one item or word) and search
queries (two or more items or words) of human or artificial systems
such as
computers or robots - herein collectively called USER - by forwarding
their
requests or search queries comprising characters, digits, binary digits
-
herein called
QUERYSTRING, which comprises either a single word SHORTCUT or a word
SHORTCUT
followed by one or several pairs of character SEPARATOR and one or
several
words SEARCHITEM(S)
QUERYSTRING
:= http://wibisa/SHORTCUT
:= http://wibisa/SHORTCUT:SEARCHITEM(S)
as quickly as possible to the
most
suited target service realised by means or methods of a so-called
service
SERVER, addressable and identified by a so-called UNIFORM RESOURCE
IDENTIFIER
URI according to RFC2396 [1] using the Internet Protocol or another
method for
transmitting information and is characterised by performing the method
steps or
by means performing the method steps in the sequence or in a different
sequence
of the steps of
a)
WIBISA-DIRECT:
if the
QUERYSTRING has the format of an Internet address pattern URIPATTERN in
conformity with RFC2396, it immediately forwards the action to the
service denoted
by QUERYSTRING determined to be a URIPATTERN, and optionally stores the
so-determined correspondence QUERYSTRING, USER, URIPATTERN, TIME/DATE
in a
first protocol log file or database and counts the access, and then
stops
executing by not performing the following steps
b)
WIBISA-PREFIX-AP/RE
(approximate/regular expression):
if the condition
of a) is not fulfilled, then performing a first search in a first
table, tree,
hash or database PREFIXTABLE with an
approximate [2] or exact matching or "regular expression" RE
[3] algorithm for the said SHORTCUT, the table realising a
correspondence
between a first subset PREFIXES of possible SHORTCUTS and a first
plurality of
service addresses called PREFIXURI, which addresses might also be
present in
one or more of the other tables of the disclosed method or apparatus,
wherein
each of the SHORTCUTS has a corresponding PREFIXURI matching in
approximate or
exact bounds, and immediately forwarding the request QUERYSTRING of the
USER to
the said service denoted by PREFIXURI if a match between the SHORTCUT
and one
of the PREFIXES is found and optionally
storing the so-determined correspondence between QUERYSTRING, USER,
PREFIXURI,
TIME/DATE in the first log file or
database and counting the access to the first table, and then stops
executing
by not performing the following steps
c)
WIBISA-SHORTCUT-AP/RE/SC
(approximate/regular
expression/shortcut detection):
if no matches
were found while performing the search steps of a) and b), then
performing a
second search in a second table, tree, hash or database ALIASTABLE with
an
approximate or exact matching or regular expression algorithm for the
said SHORTCUT,
the table realising a correspondence between a second subset ALIASES of
possible
SHORTCUTS and a second plurality of service addresses called ALIASURI,
which addresses
might also be present in one or more of the other tables of the
disclosed
method or apparatus, wherein each of the second SHORTCUTS has a
corresponding
ALIASURI matching in approximate or exact bounds, and as soon as a
match is
found then immediately forwarding the request QUERYSTRING of the USER
to the
said service ALIASURI and optionally storing the correspondence between
QUERYSTRING, USER, ALIASURI, TIME/DATE in the first log file or
database and
counting the access to the second table, and then stops executing by
not
performing the following steps
d) WIBISA-ATD/RE
(auto-type detection/regular expression):
if no matches
were found while performing the search steps of a) to c), then
performing a
third search in a third table, tree, hash or database
AUTO-TYPE-DETECTION RULES
[4] realised by evaluating a set of stored "regular
expressions" which
define a plurality of regular expression rules RE for the character
properties
PATTERN of the characters which the QUERYSTRING composes of, the said
plurality
of rules corresponding and matching to a third plurality of service
addresses
called ATDSERVERURI, which addresses might also be present in one or
more of
the other tables of the disclosed method or apparatus, and as soon as
one of
the regular expression rules RE matches the PATTERN then immediately
forwarding
the QUERYSTRING of the USER to the said service ATDSERVERURI and
optionally
storing the so-determined correspondence between QUERYSTRING, USER,
ATDSERVERURI,
PATTERN, RE, TIME/DATE in the first log file or database and counting
the
access to the third table, and then stops executing by not performing
the
following steps,
e)
WIBISA-AUTOWIKI-AP/RE/SC
(approximate/regular expression/shortcut):
if no matches
were found while performing the search steps of a) to d), then
performing a
fourth search with an approximate or exact matching or regular
expression algorithm
for the said QUERYSTRING or SHORTCUT in a fourth table WIKIPAGENAMES
comprising of Internet or Intranet page names and addresses WIKIURI
which are page
names and addresses of one or many so-called "wikis", a "wiki" [5]
being a dynamic or static set of Internet or Intranet pages which can
quickly
be created and modified by every USER being member of a limited or
unlimited
group of USER, which said addresses WIKIURI might also be present in
one or
more of the other tables of the disclosed method or apparatus, wherein
said
wiki page creations or modifications are logged in a second log file
usually
belonging to the wiki, and if a matching PAGENAME is found in the
fourth table
WIKIPAGENAMES, then accessing the wiki page approximately or exactly
matching
the QUERYSTRING or SHORTCUT and optionally storing the so-determined correspondence between QUERYSTRING, USER,
PAGENAME, WIKIURI, TIME/DATE in the first protocol log file or database
and
counting the accesses to the fourth table, and then stops executing by
not performing
the next steps,
f)
WIBISA-USERDEFAULT:
if no matches
were found while performing the search steps of a) to e), then
forwarding the
QUERYSTRING of the USER to a default service USERDEFAULTURI, this
service being
permanently determined by the USER but changeable at his/her
discretion,
wherein the definition and storage of the USERDEFAULTURI is
accomplished by
means and methods of storing information at the USER premises or at
another arbitrary
place such as in form of a data file and/or in form of a so-called
COOKIE and/or
in form of an entry in a database and/or by means and in form of a
wiki-page,
which every USER being member of a limited or unlimited group of USER
can
quickly create or modify, the changes being logged, and optionally
storing the
so-determined correspondence between
QUERYSTRING, USER, USERDEFAULTURI, TIME/DATE in the first protocol log
file or
database and counting this event, and then stops executing by not
performing
the next step:
g)
WIBISA-DEFAULT:
if no matches
were found while performing the search steps of a) to f), then
forwarding the
QUERYSTRING to a default service
DEFAULTURI which can be any arbitrary target service such as a search
or
translation engine, but preferably is an Intra- or Internetserver which
looks
up a telephone book or a similar address repository for the one
SEARCHITEM and
optionally storing the so-determined
correspondence between QUERYSTRING, USER, DEFAULTURI, TIME/DATE
in the
first protocol log file or database and counting this event, and then
stops
executing,
wherein the most suited
service is
determined by the first match while performing the steps a) to g) in
sequence,
the algorithm being dynamically controlled by the dynamic contents of
the first
table PREFIXTABLE, the second table AUTO-TYPE-DETECTION RULES, and the
third
table ALIASTABLE, these tables being realised as one, two or three wiki
pages
on an Intranet or on the Internet, so that every USER being member of a
limited
or unlimited group of USER can quickly create or modify one or any of
the
tables, and can therefore determine for all USERs the way the disclosed
method
or apparatus assists or guides the requests to the most suited target
service,
all changes to the tables being logged, and
the
fourth table being regularly updated, for example daily, or
automatically
generated by a scheduler, or
non-automatically by demand, by accessing and indexing all "wiki" or "wikis" pages
and their page names, and wherein
the
optional SEARCHITEM(S) comprised in the QUERYSTRING might be
transformed, modified, or translated by
the disclosed
method or apparatus in order fit exactly the input format or the
interface
required by the said determined most suited target service, the input
format
might differ from the format a USER is used to.
It
is expressly and unambiguously disclosed, that the steps a), b), c),
d), e), f),
g) can also be performed in any other order, differing from the order
mentioned
above, which could lead to a different prioritisation between the
stored
shortcuts and the corresponding services.
The
table entries PREFIXURI and ALIASURI, which are formatted as UNIFIED
RESOURCE
IDENTIFIERS URI, can also recursively refer back to the disclosed
method or apparatus
in that a QUERYSTRING is searched in a first run and matches in one of
the
steps b) to g) to an entry QUERYSTRING' corresponding to
a PREFIXURI or
ALIASURI which in sequence executes the steps a) to f) again with that
modified
QUERYSTRING'. The
recursion can be realised internally without the QUERYSTRING'
leaving the method or apparatus in a recursive call or recursive calls.
The
numbers of recursions need to be counted and limited internally to a
reasonable
small number to avoid infinite loops. This is the only event, that the
disclosed method or apparatus cannot assist the USER and needs to issue
an
error message to the USER. As an alternative to the error message, the
processing could continue with step f).
It
is also disclosed to implement an optional detection of the USER
computer name
or another USER identifier which allows the method or apparatus to work
only
with a subset of all stored table entries. This advantageously realises
a
user-dependent search assistant in that it hides certain entries for
certain
users and enables or disables visibility and action of the one or other
entry
for them.
The
PREFIXTABLE is preferably an intrinsic part of the method or apparatus
and
contains at least partially unchangeable correspondences between
PREFIXES and
PREFIXURIs to assure a basic functionality even in the case of
destroyed or
unavailable other tables. Optional entries in this PREFIXTABLE, which
are not
visible to certain USERs, can be used for remote control, debugging,
administration and maintenance, such as to start a listing of all
entries of
all tables in the order they are processed, or to trace what table
entries
would match an QUERYSTRING X, or to change the visibility and action
mode of
certain table entries for the certain users as explained above.
References and prior art:
[1]
Uniform
Resource Identifiers (URI) RFC2396.
http://www.faqs.org/rfcs/rfc2396.html
[2]
Approximate
GREP:.
http//webglimpse.org;
http://en.wikipedia.org/wiki/Agrep;
http://www.tgries.de/agrep
[3]
Regular
Expression (RE). http://en.wikipedia.org/wiki/Regular_expression
[4]
Auto-Type Detection.
Published in "Definitive
Wunschliste 14.02.1997" European Patent Office, Munich/The
Hague/Berlin/Vienna, 1997;
[5]
Wiki.
http://en.wikipedia.org/wiki/Wiki
Examples for cases:
a)
http://www.wibisa.org/www.google.org/searchthis
detecting
a URIPATTERN, transforming the searchitem and going there
b)
http://www.wibisa.org/phone:123456789
detecting
PREFIX phone and transferring SEARCHITEM to PREFIXURI
http://www.phonebook.org/query=123456789
c)
http://www.wibisa.org/dutytravelrequestform
http://www.wibisa.org/google:searchitem
detecting
ALIASES
and transferring control to ALIASURI (without a further string) or
transferring
SEARCHITEM to ALIASURI
d)
http://www.wibisa.org/ABC2396
matches regular expression [A-Z]{3}[0-9]{1,4} and transfers control to ATDSERVERURI with or without a further string
e)
http://www.wibisa.org/Main_Page
matches a Wiki
Page with that name; transfer is controlled to that page
f), g)
http://www.wibisa.org/donald
if no previous matches are
found, a default action USERDEFAULTSERVERURI is called if it is defined, or a DEFAULTSERVERURI, which is preferably a company=s
phonebook or Internet search engine, but can be any other one of the foregoing cases.
End of original disclosure as of November 10, 2004
Disclosed by Thomas Gries on November 10, 2004 on
http://www.tgries.de/wibisa