U.S. patent application number 13/472273 was filed with the patent office on 2013-11-21 for re-ranking a search result in view of social reputation.
This patent application is currently assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION. The applicant listed for this patent is Barry A. Kritt, Sarbajit K. Rakshit. Invention is credited to Barry A. Kritt, Sarbajit K. Rakshit.
Application Number | 20130311455 13/472273 |
Document ID | / |
Family ID | 49582169 |
Filed Date | 2013-11-21 |
United States Patent
Application |
20130311455 |
Kind Code |
A1 |
Kritt; Barry A. ; et
al. |
November 21, 2013 |
RE-RANKING A SEARCH RESULT IN VIEW OF SOCIAL REPUTATION
Abstract
A search result is re-ranked/re-ordered in view of a social
reputation of a user who will view the search result, where the
search result comprises an ordered sequence of identifications of a
plurality of network-accessible documents that match a search
query. The re-ranking comprises changing an order of at least one
of the identified plurality of network-accessible documents within
the ordered sequence. The search result is then rendered, as
re-ranked, for the user.
Inventors: |
Kritt; Barry A.; (Raleigh,
NC) ; Rakshit; Sarbajit K.; (Kolkata, IN) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Kritt; Barry A.
Rakshit; Sarbajit K. |
Raleigh
Kolkata |
NC |
US
IN |
|
|
Assignee: |
INTERNATIONAL BUSINESS MACHINES
CORPORATION
Armonk
NY
|
Family ID: |
49582169 |
Appl. No.: |
13/472273 |
Filed: |
May 15, 2012 |
Current U.S.
Class: |
707/723 ;
707/E17.071; 707/E17.141 |
Current CPC
Class: |
G06Q 50/01 20130101;
G06F 16/9535 20190101 |
Class at
Publication: |
707/723 ;
707/E17.071; 707/E17.141 |
International
Class: |
G06F 17/30 20060101
G06F017/30 |
Claims
1. A computer-implemented method of ordering a search result,
comprising: performing a search of network-accessible documents
using a search query provided by a first user; obtaining a search
result, responsive to the performing, the search result comprising
an ordered sequence of identifications of a plurality of the
network-accessible documents that match the search query;
determining a social reputation score of the first user;
automatically re-ranking the search result prior to displaying the
search result to the first user, based on the determined social
reputation score of the first user, comprising: for each of the
plurality of network-accessible documents that match the search
query, retrieving previously-stored reputation score information
associated therewith, the associated reputation score information
of the each document created from a social reputation score of at
least one accessing user who previously accessed the each document,
each of the at least one accessing user being distinct from the
first user; and changing an order of at least one of the identified
plurality of network-accessible documents within the ordered
sequence, such that ones of the plurality of network-accessible
documents for which the associated reputation score information
most closely matches the social reputation score of the first user
are prioritized in the changed order; and rendering, for the first
user, the search result as re-ranked.
2. The method according to claim 1, wherein the social reputation
score of the first user is based on evaluations of the first user
by a plurality of other users of a social networking site.
3. The method according to claim 2, wherein: the evaluations of the
first user and the social reputation score of the first user are
domain-specific; and the determined social reputation score
corresponds to a domain that is relevant to the obtained search
result.
4. The method according to claim 2, wherein the evaluation of the
first user by each of the other users is weighted, for computing
the social reputation score of the first user, based on a social
reputation score of the other user.
5. The method according to claim 2, wherein the evaluations of the
first user each comprise a recommendation of the first user by
another of the users of the social networking site.
6. The method according to claim 1, wherein the social reputation
score of the first user is based on contributions of the first user
to a social networking site.
7.-11. (canceled)
12. A system for ordering a search result, comprising: a computer
comprising a processor; and instructions which are executable,
using the processor, to implement functions comprising: performing
a search of network-accessible documents using a search query
provided by a first user; obtaining a search result, responsive to
the performing, the search result comprising an ordered sequence of
identifications of a plurality of the network-accessible documents
that match the search query; determining a social reputation score
of the first user; automatically re-ranking the search result prior
to displaying the search result to the first user, based on the
determined social reputation score of the first user, comprising:
for each of the plurality of network-accessible documents that
match the search query, retrieving previously-stored reputation
score information associated therewith, the associated reputation
score information of the each document created from a social
reputation score of at least one accessing user who previously
accessed the each document, each of the at least one accessing user
being distinct from the first user; and changing an order of at
least one of the identified plurality of network-accessible
documents within the ordered sequence, such that ones of the
plurality of network-accessible documents for which the associated
reputation score information most closely matches the social
reputation score of the first user are prioritized in the changed
order; and rendering, for the first user, the search result as
re-ranked.
13. The system according to claim 12, wherein the social reputation
score of the first user is based on evaluations of the first user
by a plurality of other users of a social networking site.
14. The system according to claim 13, wherein the evaluation of the
first user by each of the other users is weighted, for computing
the social reputation score of the first user, based on a social
reputation score of the other user.
15. (canceled)
16. A computer program product for ordering a search result, the
computer program product comprising: a non-transitory computer
readable storage medium having computer readable program code
embodied therein, the computer readable program code configured
for: performing a search of network-accessible documents using a
search query provided by a first user; obtaining a search result,
responsive to the performing, the search result comprising an
ordered sequence of identifications of a plurality of the
network-accessible documents that match the search query;
determining a social reputation score of the first user;
automatically re-ranking the search result prior to displaying the
search result to the first user, based on the determined social
reputation score of the first user, comprising: for each of the
plurality of network-accessible documents that match the search
query, retrieving previously-stored reputation score information
associated therewith, the associated reputation score information
of the each document created from a social reputation score of at
least one accessing user who previously accessed the each document,
each of the at least one accessing user being distinct from the
first user; and changing an order of at least one of the identified
plurality of network-accessible documents within the ordered
sequence, such that ones of the plurality of network-accessible
documents for which the associated reputation score information
most closely matches the social reputation score of the first user
are prioritized in the changed order; and rendering, for the first
user, the search result as re-ranked.
17. The computer program product according to claim 16, wherein the
social reputation score of the first user is based on evaluations
of the first user by a plurality of other users of a social
networking site.
18. The computer program product according to claim 17, wherein the
evaluation of the first user by each of the other users is
weighted, for computing the social reputation score of the first
user, based on a social reputation score of the other user.
19. (canceled)
Description
BACKGROUND
[0001] The present invention relates to computing systems, and
deals more particularly with searches that use computing systems to
locate network-accessible documents. Still more particularly, the
present invention relates to re-ranking results obtained from a
search in view of social reputation information pertaining to a
person who will view the results of the search.
[0002] The reputation of a person or entity is generally an
opinion, held by others, of the person or entity based on some
criteria. The criteria may be subjective in nature. Reputation can
be an important factor in many fields, including business and
education as well as personal endeavors.
[0003] In the so-called "social networking" sites that are provided
using online communication networks, a reputation score may be
assigned to a person or entity within the scope of the social
networking site. With reference to a person, the reputation score
may be used to describe the person's knowledge level, interest
level, contributions or postings on the site, and/or capabilities
in a particular domain. In some social networking sites, a facility
is provided whereby person can explicitly evaluate or recommend
other people, and a reputation score may be derived from this
information.
BRIEF SUMMARY
[0004] The present invention is directed to ordering a search
result. In one aspect, this comprises: performing a search of
network-accessible documents using a search query; obtaining a
search result, responsive to the performing, the search result
comprising an ordered sequence of identifications of a plurality of
the network-accessible documents that match the search query;
determining a social reputation score of a user for whom the
obtained search result will be rendered; re-ranking the search
result, based on the social reputation score, by changing an order
of at least one of the identified plurality of network-accessible
documents within the ordered sequence; and rendering, for the user,
the search result as re-ranked.
[0005] Embodiments of these and other aspects of the present
invention may be provided as methods, systems, and/or computer
program products. It should be noted that the foregoing is a
summary and thus contains, by necessity, simplifications,
generalizations, and omissions of detail; consequently, those
skilled in the art will appreciate that the summary is illustrative
only and is not intended to be in any way limiting. Other aspects,
inventive features, and advantages of the present invention, as
defined by the appended claims, will become apparent in the
non-limiting detailed description set forth below.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
[0006] The present invention will be described with reference to
the following drawings, in which like reference numbers denote the
same element throughout.
[0007] FIG. 1 depicts an example of a person's reputation score
within the domain of a hypothetical social networking site;
[0008] FIG. 2 provides a flowchart depicting logic which may be
used when implementing an embodiment of the present invention;
[0009] FIG. 3 depicts a data processing system suitable for storing
and/or executing program code; and
[0010] FIG. 4 depicts a representative networking environment in
which one or more embodiments of the present invention may be
used.
DETAILED DESCRIPTION
[0011] The present invention is directed to ordering a search
result, and more particularly to re-ranking (also referred to
herein as "re-ordering") a search result in view of a social
reputation. As noted earlier, in some social networking sites, a
facility is provided whereby person can explicitly evaluate or
recommend other people. An example of a graphical user interface
display 100 that might be used in a hypothetical social networking
site is depicted in FIG. 1. Information for two site users is shown
therein, indicating that a user "John Q. Public" has earned a
reputation score of +4 (see 110) from input provided by other users
of the social networking site while a user "Jane Q. Public" has
earned a reputation score of +12 (see 120) from input provided by
users of this same social networking site. The evaluations on which
the reputation scores are based may be made in view of the rated
person's capabilities, knowledge level, work quality in a
particular field, interest in a particular field,
contributions/postings, and/or other criteria.
[0012] While not illustrated in FIG. 1, it may happen that a
plurality of domain-specific or criteria-specific reputation scores
are used by a particular social networking site. As an example, one
reputation score might pertain to a user's business skills and a
different reputation score might pertain to the user's educational
background. Note also that the value of a particular social
reputation score might be indicative of a person's understanding or
expertise. If a score is maintained for a "business skills"
category, for example, a relatively high reputation score for this
category may indicate that the person has an in-depth understanding
of business issues, whereas a lower reputation score for this
category may indicate that the person has difficulty understanding
business issues or has little to no experience dealing with
business issues. (As will be recognized, evaluations may be
performed in many different ways using many different types of
criteria. Thus, the examples provided herein are by way of
illustration but not of limitation.)
[0013] When a user performs a search of network-accessible
documents (such as Web pages), results of the search are typically
displayed as a list of descriptive information pertaining to each
of a plurality of documents matching the search query and a
corresponding selectable link with which each of these documents
can be accessed. The selectable links are typically presented as
Uniform Resource Locators ("URLs") and the corresponding
descriptive information is aimed at guiding the user in choosing
which of the links to access. The search results are typically
ordered according to an expected relevance of the located documents
to the search query. These concepts are readily understood by those
of ordinary skill in the art. As is also readily understood, a user
who is viewing the search results might select one or more of the
selectable links, in turn, to peruse selected ones of the documents
that are accessible from the selectable links
[0014] In the general case, when comparing the ability of two
different people to interact with search results in this manner, it
may happen that a person who is a relative novice in a particular
field to which the search is directed prefers different selections
from the search results as compared to a person who is more skilled
and/or experienced in that particular field. The more
highly-skilled person might prefer more detailed or
technically-oriented documents from the search results, for
example, whereas the novice might prefer documents that address the
searched-for topic at a more basic or overview level.
[0015] Accordingly, an embodiment of the present invention is
directed to re-ranking a set of search results (also referred to
herein as "a search result") into a new order and then redisplaying
the re-ranked search results in the new order, where the re-ranking
is performed in view of a social reputation score of the user who
will view the displayed search results. Therefore, for the same set
of search results, different users will see the results in a
different order (unless the users happen to have the same social
reputation score). Different users may therefore effectively see
different search results. For example, when the search results
exceed the viewable display space, then search results presented to
a first user as the first page of results might not be viewable as
the first page of results shown to a second user because those
results could appear in a later, non-displayed portion of the
results initially presented to the second user.
[0016] In the general case, according to an embodiment of the
present invention, when a user performs an Internet search and one
or more documents D1, D2, . . . DN are located in response, a first
user may view these search results with the documents in that same
order D1, D2, . . . DN while a second user may view these search
results with the documents ordered as DN, DN-1, . . . D2, D1 and a
third order views these search results with the documents ordered
as D3, D5, D7, . . . , and so forth.
[0017] Suppose, by way of example, that User "A" has a reputation
score of 1 in a "business intelligence" category, whereas another
User "B" has a reputation score of 10 in that same category. When a
set of search results is obtained, an embodiment of the present
invention obtains the reputation score of the user for whom the
results will be presented, and will re-rank the order of the
documents in the search results in view of that reputation score.
User "A" might therefore be initially presented (i.e., on the first
page of the results display) with selectable documents from the
search results which are directed to a more basic level of business
intelligence, whereas User "B" might be initially presented with
selectable documents (from those same search results) that are
directed to a more advanced level of business intelligence. (Note
that a preferred embodiment of the present invention does not
remove documents from the search results, and therefore all users
would find the same collection of documents upon paging through all
pages of the search results display, although presented in a
different order.)
[0018] Techniques disclosed herein for re-ranking documents within
search results may also be used to re-rank advertisements which
will be displayed to a user. If an advertisement pertains to
college-level business courses, for example, then different
advertisement content might be presented to a user having a high
reputation score in a business intelligence category as compared to
a user who has a lower reputation score in the business
intelligence category--such as an advertisement for an Executive
MBA program versus for an advertisement for an introductory
business management course. Or, the advertisement selected for the
user with the lower reputation score might be taken from a
completely different field of interest, based on the user's lower
score.
[0019] Referring now to FIG. 2, a flowchart is provided that
depicts logic which may be used when implementing an embodiment of
the present invention.
[0020] A profile is preferably created for each user of a social
networking site (Block 200). This profile may be used to store the
reputation score for the user (and may be a profile used to store
other information of the social reputation site). Over time,
evaluations for users are received from other users of the social
networking site (Block 210), where these evaluations may be
domain-specific. With reference to FIG. 1, for example, user John
Q. Public might be evaluated for his job skills as a Manager (see
111), and might be separately evaluated for his interest in
bird-watching (see 112), although separate domain-specific
reputation scores have not been illustrated in FIG. 1.
[0021] The evaluations which are gathered from other users are
preferably used to calculate a social reputation score for each
user of the social networking site (Block 220), and this may
comprise domain-specific scores as has been discussed above. When
domain-specific scores are used, a particular user may have widely
varying reputation scores for different domains. Preferably, the
reputation score for each user is stored (Block 230) in the user
profile that was discussed above with reference to Block 200.
[0022] In one approach, a social recommendation score may be
computed by simply summing the number of positive recommendations
for each user, and subtracting any negative evaluations from this
sum. Alternatively, various types of additional and/or different
calculations may be performed to determine a social reputation
score, and more than one calculation may be used, if desired for a
particular embodiment of the present invention. For example, a
weighting factor may be used, whereby an evaluation from a person
who has a high value for his or her own reputation score may be
weighted more heavily than an evaluation from a person who has a
lower reputation score. As another example, a user's contributions
or postings to the social networking site may be monitored, and
this information may be factored into the person's social
reputation score.
[0023] At some point, a user performs a search (Block 240) and
results are obtained for that search (Block 250). As will be
readily understood, the search results include a set of selectable
links, where any of these selectable links can be activated to
retrieve a corresponding document that will then be displayed to
the user. (Note that while discussions herein refer primarily to
"displaying" information to a user, this is by way of illustration
and not of limitation. An embodiment of the present invention may
use a different type of rendering, such as an audible rendering,
and such alternatives are within the scope of the present
invention.)
[0024] An identification is obtained of the user of the computing
device on which the results will be displayed (Block 260). This may
comprise accessing stored information on the computing device, such
as the user's log-on name or other identifying information. This
identification is used to locate the user's profile and to thereby
obtain the relevant social reputation score for the user (Block
270). In an alternative approach, the functionality of Blocks 260
and 270 may be combined by obtaining a currently-active profile
associated with the computing device and obtaining the relevant
social reputation score from that profile.
[0025] The search results are then re-ranked (Block 280) in view of
the social reputation score and re-displayed to the user in a new
order according to this re-ranking. (It may happen, in some cases,
that the user's social reputation score indicates that the original
order of the search results is the preferred order for this
user.)
[0026] Block 290 describes a monitoring process whereby
network-accessible documents are indexed based on factors such as
(by way of example) user feedback from users who access those
documents, reputation score of users who access those documents,
and so forth, and this information is stored in a repository for
future use when re-ranking search results. (The processing of Block
290 may therefore precede the processing of any or all of Blocks
200-280, as a preprocessing operation, such that the obtained
information is available for use upon reaching Block 280. Or, as
another approach, the processing of Block 290 may be performed only
for documents located for a particular search, in which case the
processing of Block 290 suitably precedes the processing of Block
280.) The information stored in the repository by Block 290 for a
particular document may be termed a "relevance indicator" of the
document. User feedback might comprise, by way of example, asking
users who access a particular document to indicate the skill level
of a person who is most likely to benefit from the content of that
document. Or, the user feedback might comprise asking users whether
they thought the content of the accessed document was helpful, and
then storing the user's response in association with the reputation
score of the user who is providing the feedback. If a particular
document is thought to be highly helpful to users having a
particular value for their reputation score within a particular
domain, for example, then an embodiment of the present invention
may use this feedback to increase the document's ranking when the
document is located within search results for another user who has
a similar value for his or her reputation score.
[0027] As can be seen from the above discussion, an embodiment of
the present invention provides for re-ranking a search result in
view of a social reputation of a user, and may therefore present a
user with a more user-directed and/or relevant set of selectable
documents within a set of search results, as compared to using
known techniques.
[0028] Referring now to FIG. 3, a block diagram of a data
processing system is depicted in accordance with the present
invention. Data processing system 300, such as one of the
processing devices described herein, may comprise a symmetric
multiprocessor ("SMP") system or other configuration including a
plurality of processors 302 connected to system bus 304.
Alternatively, a single processor 302 may be employed. Also
connected to system bus 304 is memory controller/cache 306, which
provides an interface to local memory 308. An I/O bridge 310 is
connected to the system bus 304 and provides an interface to an I/O
bus 312. The I/O bus may be utilized to support one or more buses
314 and corresponding devices, such as bus bridges, input output
devices ("I/O" devices), storage, network adapters, etc. Network
adapters may also be coupled to the system to enable the data
processing system to become coupled to other data processing
systems or remote printers or storage devices through intervening
private or public networks.
[0029] Also connected to the I/O bus may be devices such as a
graphics adapter 316, storage 318, and a computer usable storage
medium 320 having computer usable program code embodied thereon.
The computer usable program code may be executed to execute any
aspect of the present invention, as have been described herein.
[0030] The data processing system depicted in FIG. 3 may be, for
example, an IBM System p.RTM. system, a product of International
Business Machines Corporation in Armonk, N.Y., running the Advanced
Interactive Executive (AIX.RTM.) operating system. An
object-oriented programming system such as Java may run in
conjunction with the operating system and provides calls to the
operating system from Java.RTM. programs or applications executing
on data processing system. ("System p" and "AIX" are registered
trademarks of International Business Machines Corporation in the
United States, other countries, or both. "Java" is a registered
trademark of Oracle America, Inc., in the United States, other
countries, or both.)
[0031] FIG. 4 illustrates a data processing network environment 400
in which the present invention may be practiced. The data
processing network 400 may include a plurality of individual
networks, such as wireless network 442 and wired network 444. A
plurality of wireless devices 410 may communicate over wireless
network 442, and a plurality of wired devices, shown in the figure
(by way of illustration) as workstations 411, may communicate over
network 444. Additionally, as those skilled in the art will
appreciate, one or more local area networks ("LANs") may be
included (not shown), where a LAN may comprise a plurality of
devices coupled to a host processor.
[0032] Still referring to FIG. 4, the networks 442 and 444 may also
include mainframe computers or servers, such as a gateway computer
446 or application server 447 (which may access a data repository
448). A gateway computer 446 serves as a point of entry into each
network, such as network 444. The gateway 446 may be preferably
coupled to another network 442 by means of a communications link
450a. The gateway 446 may also be directly coupled to one or more
workstations 411 using a communications link 450b, 450c, and/or may
be indirectly coupled to such devices. The gateway computer 446 may
be implemented utilizing an Enterprise Systems
Architecture/390.RTM. computer available from IBM. Depending on the
application, a midrange computer, such as an iSeries.RTM., System
i.TM., and so forth may be employed. ("Enterprise Systems
Architecture/390" and "iSeries" are registered trademarks, and
"System i" is a trademark, of IBM in the United States, other
countries, or both.)
[0033] The gateway computer 446 may also be coupled 449 to a
storage device (such as data repository 448).
[0034] Those skilled in the art will appreciate that the gateway
computer 446 may be located a great geographic distance from the
network 442, and similarly, the workstations 411 may be located
some distance from the networks 442 and 444, respectively. For
example, the network 442 may be located in California, while the
gateway 446 may be located in Texas, and one or more of the
workstations 411 may be located in Florida. The workstations 411
may connect to the wireless network 442 using a networking protocol
such as the Transmission Control Protocol/Internet Protocol
("TCP/IP") over a number of alternative connection media, such as
cellular phone, radio frequency networks, satellite networks, etc.
The wireless network 442 preferably connects to the gateway 446
using a network connection 450a such as TCP or User Datagram
Protocol ("UDP") over IP, X.25, Frame Relay, Integrated Services
Digital Network ("ISDN"), Public Switched Telephone Network
("PSTN"), etc. The workstations 411 may connect directly to the
gateway 446 using dial connections 450b or 450c. Further, the
wireless network 442 and network 444 may connect to one or more
other networks (not shown), in an analogous manner to that depicted
in FIG. 4.
[0035] As will be appreciated by one skilled in the art, aspects of
the present invention may be embodied as a system, method, or
computer program product. Accordingly, aspects of the present
invention may take the form of an entirely hardware embodiment, an
entirely software embodiment (including firmware, resident
software, micro-code, etc.), or an embodiment combining software
and hardware aspects that may all generally be referred to herein
as a "circuit", "module", or "system". Furthermore, aspects of the
present invention may take the form of a computer program product
embodied in one or more computer readable media having computer
readable program code embodied thereon.
[0036] Any combination of one or more computer readable media may
be utilized. The computer readable medium may be a computer
readable signal medium or a computer readable storage medium. A
computer readable storage medium may be, for example, but not
limited to, an electronic, magnetic, optical, electromagnetic,
infrared, or semiconductor system, apparatus, or device, or any
suitable combination of the foregoing. More specific examples (a
non-exhaustive list) of the computer readable storage medium would
include the following: an electrical connection having one or more
wires, a portable computer diskette, a hard disk, a random access
memory ("RAM"), a read-only memory ("ROM"), an erasable
programmable read-only memory ("EPROM" or flash memory), a portable
compact disc read-only memory ("CD-ROM"), DVD, an optical storage
device, a magnetic storage device, or any suitable combination of
the foregoing. In the context of this document, a computer readable
storage medium may be any tangible medium that can contain or store
a program for use by or in connection with an instruction execution
system, apparatus, or device.
[0037] A computer readable signal medium may include a propagated
data signal with computer readable program code embodied therein,
for example, in baseband or as part of a carrier wave. Such a
propagated signal may take any of a variety of forms, including,
but not limited to, electro-magnetic, optical, or any suitable
combination thereof. A computer readable signal medium may be any
computer readable medium that is not a computer readable storage
medium and that can communicate, propagate, or transport a program
for use by or in connection with an instruction execution system,
apparatus, or device.
[0038] Program code embodied on a computer readable medium may be
transmitted using any appropriate medium, including but not limited
to wireless, wireline, optical fiber cable, radio frequency, etc.,
or any suitable combination of the foregoing.
[0039] Computer program code for carrying out operations for
aspects of the present invention may be written in any combination
of one or more programming languages, including an object oriented
programming language such as Java, Smalltalk, C++, or the like, and
conventional procedural programming languages such as the "C"
programming language or similar programming languages. The program
code may execute as a stand-alone software package, and may execute
partly on a user's computing device and partly on a remote
computer. The remote computer may be connected to the user's
computing device through any type of network, including a local
area network ("LAN"), a wide area network ("WAN"), or through the
Internet using an Internet Service Provider.
[0040] Aspects of the present invention are described above with
reference to flow diagrams and/or block diagrams of methods,
apparatus (systems), and computer program products according to
embodiments of the invention. It will be understood that each flow
or block of the flow diagrams and/or block diagrams, and
combinations of flows or blocks in the flow diagrams and/or block
diagrams, can be implemented by computer program instructions.
These computer program instructions may be provided to a processor
of a general purpose computer, special purpose computer, or other
programmable data processing apparatus to produce a machine, such
that the instructions, which execute via the processor of the
computer or other programmable data processing apparatus, create
means for implementing the functions/acts specified in the flow
diagram flow or flows and/or block diagram block or blocks.
[0041] These computer program instructions may also be stored in a
computer readable medium that can direct a computer, other
programmable data processing apparatus, or other devices to
function in a particular manner, such that the instructions stored
in the computer readable medium produce an article of manufacture
including instructions which implement the function/act specified
in the flow diagram flow or flows and/or block diagram block or
blocks.
[0042] The computer program instructions may also be loaded onto a
computer, other programmable data processing apparatus, or other
devices to cause a series of operational steps to be performed on
the computer, other programmable apparatus, or other devices to
produce a computer implemented process such that the instructions
which execute on the computer or other programmable apparatus
provide processes for implementing the functions/acts specified in
the flow diagram flow or flows and/or block diagram block or
blocks.
[0043] Flow diagrams and/or block diagrams presented in the figures
herein illustrate the architecture, functionality, and operation of
possible implementations of systems, methods, and computer program
products according to various embodiments of the present invention.
In this regard, each flow or block in the flow diagrams or block
diagrams may represent a module, segment, or portion of code, which
comprises one or more executable instructions for implementing the
specified logical function(s). It should also be noted that, in
some alternative implementations, the functions noted in the flows
and/or blocks may occur out of the order noted in the figures. For
example, two blocks shown in succession may, in fact, be executed
substantially concurrently, or the blocks may sometimes be executed
in the reverse order, depending upon the functionality involved. It
will also be noted that each block of the block diagrams and/or
each flow of the flow diagrams, and combinations of blocks in the
block diagrams and/or flows in the flow diagrams, may be
implemented by special purpose hardware-based systems that perform
the specified functions or acts, or combinations of special purpose
hardware and computer instructions.
[0044] While embodiments of the present invention have been
described, additional variations and modifications in those
embodiments may occur to those skilled in the art once they learn
of the basic inventive concepts. Therefore, it is intended that the
appended claims shall be construed to include the described
embodiments and all such variations and modifications as fall
within the spirit and scope of the invention.
* * * * *