Sign up to receive free email alerts when patent applications with chosen keywords are publishedSIGN UP

Abstract:

A method and system for customizing web sites for visitor to increase the
likelihood a visitor becomes deepens the relationship with the web site
or becomes a customer is disclosed. A progression level design defines
levels and conditions for moving between those levels. At each level, the
web site is customized in predetermined ways commensurate with that
level. Information on the visitor is gathered to evaluate their level and
possibly upgrade or downgrade that level. Reports detail flow of visitors
between levels for various time periods. Where that flow is not desired,
the progression level design can be changed by adding, removing or
changing levels and conditions.

Claims:

1. A lead management system for managing visitor interaction with a web
site to cause customization the web site for a visitor, the lead
management system comprising: a progression design comprising a plurality
of progression levels and a plurality of level qualifications, the
plurality of progression levels comprising a first progression level and
a second progression level; one or more servers that implement the
progression design, the one or more servers programmed to: gathering
interaction information from a visitor to the web site, assigning the
visitor to the first progression level from the plurality of progression
levels, evaluating the interaction information to determine the visitor
has met a first progression condition for movement from the progression
level to the second progression level, moving the visitor from the first
progression level to the second progression level after complying with
the first progression condition, monitoring inactivity of the visitor
with respect to the web site to determine that the visitor has met a
second progression condition, moving the visitor from the second
progression level to another progression level after complying with the
second progression condition, and generating a report that conveys
movement of a plurality of visitors through the first progression
condition and second progression condition, wherein the plurality of
visitors include the visitor.

Description:

CROSS-REFERENCES TO RELATED APPLICATIONS

[0001] This application is a continuation of U.S. patent application Ser.
No. 13/595,882, filed Aug. 27, 2012, which is a continuation of U.S.
patent application Ser. No. 13/316,359, filed Dec. 9, 2011, which is a
bypass continuation of PCT/US2011/042039, filed Jun. 27, 2011. This
application is also a continuation-in-part of U.S. patent application
Ser. No. 13/356,907, filed Jan. 24, 2012, which is a non-provisional of
U.S. Patent Application No. 61/589,654 filed Jan. 23, 2012. Each of the
above-listed applications is hereby incorporated by reference in its
entirety for all purposes.

BACKGROUND

[0002] This disclosure relates in general to customer engagement tools
and, but not by way of limitation, to web site engagement tools.

[0003] Web sites are often an integral plan in advertizing product and
engaging customers or potential customers. Nurturing those visitors to
the web site has traditionally taken expertise, skill and hands-on effort
that is impractical to convert visitors into customers. An experienced
sales person could size-up a visitor as a prospective customer, but the
amount of visitors and their various interaction would overwhelm any
sales person trying to manually gather prospects from web site visitors.
Web sites have traditionally not yielded as much customers as had been
hoped such that its marketing potential is often in question.

[0004] There are metric gathering tools and cookies to track user
interaction with one or more web sites. Information is provided on web
sites through content and third-party advertizing. That information can
be tracked to know what users are interacting with and how they are using
the web site. Reports containing this information is often poorly
organized and of little help in determining what aspects of a web site
might result in customer affinity and eventual sales.

[0005] There are marketing automation systems that largely use e-mail to
deliver prospects to web sites. Campaigns can be designed with varying
levels of customization where information is known for prospects. Once
the marketing automation system delivers a prospect to a web site,
further monitoring of the visitor's interaction with the web site is not
performed. Delivering a prospect of the web site through a campaign may
have little correlation to making a sale.

SUMMARY

[0006] In one embodiment, the present disclosure provides a method and
system for customizing web sites for visitor to increase the likelihood a
visitor becomes deepens the relationship with the web site or becomes a
customer. A progression level design defines levels and conditions for
moving between those levels. At each level, the web site is customized in
predetermined ways commensurate with that level. Information on the
visitor is gathered to evaluate their level and possibly upgrade or
downgrade that level. Reports detail flow of visitors between levels for
various time periods. Where that flow is not desired, the progression
level design can be changed by adding, removing or changing levels and
conditions.

[0007] In another embodiment, a lead management system for managing
visitor interaction with a web site to cause customization the web site
for a visitor is disclosed. The lead management system includes a
progression design and one or more servers. The progression design
includes a plurality of progression levels and a plurality of level
qualifications, the plurality of progression levels include a first
progression level and a second progression level. One or more servers,
that implement the progression design, are programmed to: gather
interaction information from a visitor to the web site, assign the
visitor to the first progression level from the plurality of progression
levels, evaluate the interaction information to determine the visitor has
met a first progression condition for movement from the progression level
to the second progression level, move the visitor from the first
progression level to the second progression level after complying with
the first progression condition, monitor inactivity of the visitor with
respect to the web site to determine that the visitor has met a second
progression condition, move the visitor from the second progression level
to another progression level after complying with the second progression
condition, and generate a report that conveys movement of a plurality of
visitors through the first progression condition and second progression
condition, wherein the plurality of visitors include the visitor.

[0008] In yet another embodiment, one or more machine-readable medium
having machine-executable instructions configured to manage visitor
interaction with a web site to cause customization of the web site for a
visitor is disclosed. The one or more machine-readable medium comprising
code for: receiving a progression design comprising a plurality of
progression levels and a plurality of level qualifications, the plurality
of progression levels comprising a first progression level and a second
progression level; gathering interaction information from a visitor to
the web site; assigning the visitor to the first progression level from
the plurality of progression levels; evaluating the interaction
information to determine the visitor has met a first progression
condition for movement from the progression level to the second
progression level; moving the visitor from the first progression level to
the second progression level after complying with the first progression
condition; monitoring inactivity of the visitor with respect to the web
site to determine that the visitor has met a second progression
condition; moving the visitor from the second progression level to
another progression level after complying with the second progression
condition; and generating a report that conveys movement of a plurality
of visitors through the first progression condition and second
progression condition, wherein the plurality of visitors include the
visitor.

[0009] In still another embodiment, a method for managing visitor
interaction with a web site to customize the web site for a visitor is
disclosed. In one step, a progression design is received that includes a
plurality of progression levels and a plurality of level qualifications,
the plurality of progression levels including a first progression level
and a second progression level. Interaction information is gathered from
a visitor to the web site. The visitor is assigned to the first
progression level from the plurality of progression levels. The
interaction information is evaluated to determine the visitor has met a
first progression condition for movement from the progression level to
the second progression level. The visitor is moved from the first
progression level to the second progression level after complying with
the first progression condition.

[0010] Inactivity of the visitor with respect to the web site is monitored
to determine that the visitor has met a second progression condition. The
visitor is moved from the second progression level to another progression
level after complying with the second progression condition. A report is
generated that conveys movement of a plurality of visitors through the
first progression condition and second progression condition, wherein the
plurality of visitors include the visitor.

[0011] Further areas of applicability of the present disclosure will
become apparent from the detailed description provided hereinafter. It
should be understood that the detailed description and specific examples,
while indicating various embodiments, are intended for purposes of
illustration only and are not intended to necessarily limit the scope of
the disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

[0012] The present disclosure is described in conjunction with the
appended figures:

[0013]FIG. 1 depicts a block diagram of an embodiment of a lead
management system;

[0014] FIGS. 2A and 2B depict a level diagram of embodiments of a progress
level design;

[0015]FIG. 3 depicts a level diagram of an embodiment that shows visitor
movement;

[0017]FIG. 5 depicts a chart of an embodiment showing aggregate movement
for each level;

[0018]FIG. 6 illustrates a flowchart of an embodiment of a process for
managing leads;

[0019]FIG. 7 illustrates a flowchart of an embodiment of a process for
gathering interaction between visitors and a web site;

[0020] FIG. 8 depicts a block diagram of an embodiment of a computer
system; and

[0021] FIG. 9 depicts a block diagram of an embodiment of a
special-purpose computer system.

[0022] In the appended figures, similar components and/or features may
have the same reference label. Further, various components of the same
type may be distinguished by following the reference label by a dash and
a second label that distinguishes among the similar components. If only
the first reference label is used in the specification, the description
is applicable to any one of the similar components having the same first
reference label irrespective of the second reference label.

[0023] In the appended figures, similar components and/or features may
have the same reference label. Where the reference label is used in the
specification, the description is applicable to any one of the similar
components having the same reference label.

DETAILED DESCRIPTION

[0024] The ensuing description provides preferred exemplary embodiment(s)
only, and is not intended to limit the scope, applicability or
configuration of the disclosure. Rather, the ensuing description of the
preferred exemplary embodiment(s) will provide those skilled in the art
with an enabling description for implementing a preferred exemplary
embodiment. It is understood that various changes may be made in the
function and arrangement of elements without departing from the spirit
and scope as set forth in the appended claims.

[0025] Referring first to FIG. 1, a block diagram of an embodiment of a
lead management system 100 is shown. Visitors 132 interact with a web
site 104 of a customer of the lead management system 108. Them marketing
automation system 112 drives prospects to the web site. Although a
marketing automation system 112 is shown separately, it could be integral
with the lead management system 108 in other embodiments. The lead
management system 108 choreographs the web site's interaction with the
visitor to hopefully result in a sale to or a deeper relationship with
the visitor.

[0026] The marketing automation system 112 in this embodiment performs
e-mail campaigns on prospects to engage them at the web site 104.
Campaign messages 120 are distributed through the e-mail server 116 to
prospects that may click-through the e-mail message to a landing pad on
the web site 104. The campaign messages 120 can be customized for a
particular prospect. Where a prospect becomes a visitor at the web site,
the prospect profile 122 can optionally be provided to the interaction
gathering engine 120 in some embodiments.

[0027] The web site 104 includes an interaction gathering engine 120 that
monitors the behavior of visitors 132 on the web site 104 and records
demographic information given by visitors 132. The interaction gathering
engine 120 could be hosted on the same computer system, hosting service
or content delivery network (CDN) as the web site 104. Some demographic
information can be provided by external sources, for example, the
marketing automation system 112. The web site 104 provides some
information to all visitors, but other gated content 124 is only provided
to visitors who have reached a particular qualified level.

[0028] Information for the user and their behavior on the web site 104 are
by the interaction gathering engine. The lead management system 108 takes
the information and stores it in visitor profiles 128. Interaction
between the lead management system 108 and the marketing automation
system 112 allows sharing of profiles 122, 128. Additionally, the lead
management system 108 can trigger the marketing automation system 112 to
perform an e-mail campaign. Visitors are moved between levels that are
defined in a progression design 124. The progression designs are stored
for multiple web sites 104. A particular web site 104 has a progress
level design stored as a progression design that includes multiple levels
that visitors can achieve. Gated content 124 on the web site is content
that is only available conditionally in a particular level of the
progress level design or under other predetermined circumstances.

[0029] With reference to FIG. 2A, a level diagram of an embodiment of a
progress level design 200-1 is shown. The interface depicted operates in
several modes according to check boxes 224, 228, 232 that allow selection
of a visitor movement mode 224, a progress level design mode 228 and a
visitor ageing mode 232. In this embodiment, the progress level design
mode 228 is selected. The other modes are shown in subsequent figures.

[0030] The progress level design 200-1 is stored in as a progression
design 124 and can be for a single web site 104 or a group of web sites.
This embodiment includes three levels, but there could be any number of
levels as defined by a customer of the lead management system. This
embodiment includes an anonymous level 204 where visitors 132 first land
on the web site 104 without giving any information. Once information is
given by the visitor or the marketing automation system 112, the visitor
progresses to an engaged level 208.

[0031] For each visitor 132 that is identified, a lead score is tracked.
The lead score can be a function of the amount of interaction where
different actions are given different scores. For example, downloading a
white paper, providing additional demographic information, answering
questions, viewing video or audio content, reading web pages, browsing
time, or other behavioral information is scored to change the lead score.
Additionally, the demographic or other information provided to the web
site 104 can affect the lead score. For example, a purchasing manager
title given may be scored higher than the title of janitor. Once a lead
score of 150 is reached in this embodiment, the visitor moves to a buying
horizon level 212.

[0032] Reports of stagnant visitors are generated so that remedial action
can be manually or automatically taken. For example, a visitor might be
moved from a later-stage level to an earlier-stage level where there has
been a period of inactivity. This keeps the highly-qualified leads in the
later-stage levels to a minimum to reduce the visitors that are unlikely
to be customers. In this embodiment, stagnant visitors are automatically
moved from the buying horizon level 212 to the engaged level 208 after 15
days of inactivity and from the engaged level 208 to the anonymous level
204 after ninety days of inactivity. Additionally, a visitor 132 in this
embodiment moves back to the anonymous level 204 where the visitor 132
manually erases contact information previously given to the web site 104.

[0033] Referring next to FIG. 2B, a level diagram of an embodiment of a
progress level design 200-2 is shown. This embodiment adds a couple more
levels over the embodiment of FIG. 2B. The number of levels and
conditions that move between levels is unlimited and only bounded by the
complexity desired by the customer. When in the buying horizon level 212
and there has been 45 days without interaction with the web site 104 by
the visitor, the visitor is moved to a nurturing program level 216. Any
number of things could be done in this level to make the web site 104 or
customer more inviting to the visitor before returning to the engaged
level 208. For example, advertizing could be removed from the web site
104, coupons could be offered, personalization of the web site 104 for
the visitor could be performed, representatives of the web site could
call, text or e-mail the visitor, etc.

[0034] After 120 days of inactivity in the engaged level 208, the visitor
could be moved by the lead management system 108 to the marketing
automation level. In this level, the marketing automation system 112 is
provided any additional visitor profile information 128 to perform one or
more e-mail messages to the visitor 132 to encourage their return to the
web site 104. With a return to the web site 104 by the visitor, they
would return to the engaged level 208.

[0035] With reference to FIG. 3, an embodiment a level diagram 300 of that
shows visitor movement is presented. The visitor movement mode 224 is
selected, which pulls-up uses a time range control 308 specified with a
begin pulldown control 304 and an end pulldown control 312. The time
range control 308 shows the days in the range. A particular point or
sub-range of days can be selected on the time range control 308 to narrow
the dataset used.

[0036] For each conditional line between levels, the number of visitors
132 is shown for the given time range chosen. In this way, any unusual
flows of visitors 132 can be observed to improve the progress level
design. For example, a large number of visitors 132 are returning to the
anonymous level 204 from the engaged level 208 because of inactivity. The
remedial action could be to add in a nurturing level or perform an e-mail
campaign to reengage the visitors 132.

[0037] The average number of visitors 132 in a particular level for the
date range is also displayed in the level diagram 300. In this example,
the anonymous level 204 has 432 visitors 132 on average. Where an
unexpected number of visitors 132 are stuck at a particular level, more
levels could be added to finesse out what could be a problem. For
example, the anonymous level 204 has some new visitors 132 and some that
have returned for a higher level. Those to groups could have their own
level to treat them differently by the web site 104.

[0038] Referring next to FIG. 4A, an embodiment of a level diagram 400-1
showing visitor ageing in various levels is depicted. The visitor
movement control 224 and the visitor ageing control 232 are active. The
explanation of the visitor movement control 224 is not reiterated here,
but follows the description above in relation to FIG. 3. The values given
are average values for the specified thirty-four day time period.

[0039] The visitor ageing control 232 places charts next to each level
that show how long visitors 132 have been at each level. For complex
level diagrams, the charts for individual levels could be put in a hover
control or turned on or off individually. A barchart is used in this
embodiment to show the number of visitors in each sub-range of dates. For
example, there are seven visitors 132 that have been in the buying
horizon level 212 for one week, thirteen for between one week and two
weeks, twenty-six for between two and three weeks, eleven for between
three and four weeks, and thirty-three for longer than one month.

[0040] Although barcharts are used in this embodiment, other embodiments
could use other charts or even display raw data. For example, a curve
could be shown that indicates the number of visitors that have been
stagnant for each day in the range. The barchart could be rotated. Some
embodiments could allow more or less grouping of the staleness date
ranges.

[0041] With reference to FIG. 4B, an embodiment of a level diagram 400-2
showing visitor ageing in various levels is depicted. In this example,
only the visitor ageing control 232 is active. Additionally, the time
range control 308 has been used to select values for a particular day in
the range of days available. The barcharts are updated to reflect data
for Day 10 or July 6th. The time range control 308 could be
manipulated by dragging to select a number of days as a subrange in the
thirty-four days of data.

[0042] Referring next to FIG. 5, a chart of an embodiment 500 showing
aggregate movement for each level is shown over a week period. This
embodiment has three levels arranged from low to high from the
perspective that a higher level is more likely to become a customer. The
barchart is for the last week of information, but the prior day or month
could also be shown. Additionally, selection of a custom date range could
be done. For each level, the number of static visitors 504 (i.e., those
that have stayed in the particular level) is shown along with those that
moved from a lower level 512 (i.e., forward movement toward being a
customer). For example, in the engaged level 208 there are sixty visitors
132 who stayed the entire week, seven visitors were degraded from a
higher level and eighteen visitors were enhanced from a lower level.

[0043] With reference to FIG. 6, a flowchart of an embodiment of a process
600 for managing leads is shown. The depicted portion of the process 600
begins in block 604 where a customer creates progression levels and
conditions for moving between those levels. The progression level design
is stored in by the lead management system 108 as a progression design
124 in block 606. Any prospect profiles 122 are passed to the visitor
profiles 128 when the viewer 132 clicks through to the web site 104 in
block 608. The interaction gathering engine 120 reports information from
the viewer 132 that could be expressed by the viewer 132 or behavior of
the viewer 132 in block 610.

[0044] The lead management system 108 controls the web site 104 according
to the progression level design in block 612. In this way, each viewer
132 receives a customized experience according to what they have done
previously. For example, certain gated content 124 is only made available
to visitors beyond a threshold in their lead score or at a particular
level. Additionally, the advertizing could change, the suggested content
could be updated, the quality of service (QoS) could be changed, etc.

[0045] In block 616, the lead management system 108 produces various
reports. The reports are viewed by customers of the lead management
system 108 to determine how the progression level design can be improved.
The reports could be displayed, printed or sent in electronic form to the
customers. An interface to the lead management system 108 allows for
interaction with the reports. In this embodiment, the lead management
system 108 is software as a service in the cloud, but in other
embodiments, the lead management system 108 could be enterprise software
integral or in communication with the web site 104. In bock 620, the
progression level designed is updated with more or less levels and
conditions, etc. to improve performance and convert more visitors 132
into customers.

[0046] Referring next to FIG. 7, a flowchart of an embodiment of a process
628 for gathering interaction between visitors and a web site is shown.
The process 628 corresponds to block 628 in FIG. 6. The depicted portion
of the process begins in block 704 where the visitor profile 128 is
updated with information gathered by the interaction gathering engine
120, the marketing automation system 112 or elsewhere. Staleness (i.e.,
elapsed time without interaction between visitor and web site) is
information that is updated in the visitor profile 128. The gathered
information is evaluated to update the lead score in block 708.

[0047] In bock 712, the current progression level is retrieved from the
visitor profile 128. It is determined in block 716 if any of the
conditions to exit from the current progression level. If none of the
conditions are met as determined in block 720, no changes to level are
made. Where a condition is met, the new progression level is stored for
the visitor 132 in the visitor profile 128 in block 724. The behavior of
the web site 104 is automatically updated for the visitor 132 according
to the new progression level.

[0048] A number of variations and modifications of the disclosed
embodiments can also be used. For example, customization of a web site is
described, but the same customizations could be performed by application
software, a run-time applet, a smart-phone application, or any software
function that provide information to potential customers.

[0049] Referring next to FIG. 8, an exemplary environment with which
embodiments may be implemented is shown with a computer system 800 that
can be used by a designer 804 to design, for example, electronic designs.
The computer system 800 can include a computer 802, keyboard 822, a
network router 812, a printer 808, and a monitor 806. The monitor 806,
processor 802 and keyboard 822 are part of a computer system 826, which
can be a laptop computer, desktop computer, handheld computer, mainframe
computer, etc. The monitor 806 can be a CRT, flat screen, etc.

[0050] A designer 804 can input commands into the computer 802 using
various input devices, such as a mouse, keyboard 822, track ball, touch
screen, etc. If the computer system 800 comprises a mainframe, a designer
804 can access the computer 802 using, for example, a terminal or
terminal interface. Additionally, the computer system 826 may be
connected to a printer 808 and a server 810 using a network router 812,
which may connect to the Internet 818 or a WAN.

[0051] The server 810 may, for example, be used to store additional
software programs and data. In one embodiment, software implementing the
systems and methods described herein can be stored on a storage medium in
the server 810. Thus, the software can be run from the storage medium in
the server 810. In another embodiment, software implementing the systems
and methods described herein can be stored on a storage medium in the
computer 802. Thus, the software can be run from the storage medium in
the computer system 826. Therefore, in this embodiment, the software can
be used whether or not computer 802 is connected to network router 812.
Printer 808 may be connected directly to computer 802, in which case, the
computer system 826 can print whether or not it is connected to network
router 812.

[0052] With reference to FIG. 9, an embodiment of a special-purpose
computer system 900 is shown. The lead management system 108 and
marketing automation system 112 are examples of a special-purpose
computer system 900. The above methods may be implemented by
computer-program products that direct a computer system to perform the
actions of the above-described methods and components. Each such
computer-program product may comprise sets of instructions (codes)
embodied on a computer-readable medium that directs the processor of a
computer system to perform corresponding actions. The instructions may be
configured to run in sequential order, or in parallel (such as under
different processing threads), or in a combination thereof. After loading
the computer-program products on a general purpose computer system 826,
it is transformed into the special-purpose computer system 900.

[0054] Computer-program product 905 may be stored in non-volatile storage
drive 980 or another computer-readable medium accessible to computer 802
and loaded into memory 970. Each processor 960 may comprise a
microprocessor, such as a microprocessor from Intel® or Advanced
Micro Devices, Inc.®, or the like. To support computer-program
product 905, the computer 802 runs an operating system that handles the
communications of product 905 with the above-noted components, as well as
the communications between the above-noted components in support of the
computer-program product 905. Exemplary operating systems include
Windows® or the like from Microsoft Corporation, Solaris® from
Sun Microsystems, LINUX, UNIX, and the like.

[0055] User input devices 940 include all possible types of devices and
mechanisms to input information to computer system 802. These may include
a keyboard, a keypad, a mouse, a scanner, a digital drawing pad, a touch
screen incorporated into the display, audio input devices such as voice
recognition systems, microphones, and other types of input devices. In
various embodiments, user input devices 940 are typically embodied as a
computer mouse, a trackball, a track pad, a joystick, wireless remote, a
drawing tablet, a voice command system. User input devices 940 typically
allow a user to select objects, icons, text and the like that appear on
the monitor 806 via a command such as a click of a button or the like.
User output devices 930 include all possible types of devices and
mechanisms to output information from computer 802. These may include a
display (e.g., monitor 806), printers, non-visual displays such as audio
output devices, etc.

[0056] Communications interface 950 provides an interface to other
communication networks and devices and may serve as an interface to
receive data from and transmit data to other systems, WANs and/or the
Internet 818. Embodiments of communications interface 950 typically
include an Ethernet card, a modem (telephone, satellite, cable, ISDN), a
(asynchronous) digital subscriber line (DSL) unit, a FireWire®
interface, a USB® interface, a wireless network adapter, and the
like. For example, communications interface 950 may be coupled to a
computer network, to a FireWire® bus, or the like. In other
embodiments, communications interface 950 may be physically integrated on
the motherboard of computer 802, and/or may be a software program, or the
like.

[0057] RAM 970 and non-volatile storage drive 980 are examples of tangible
computer-readable media configured to store data such as computer-program
product embodiments of the present invention, including executable
computer code, human-readable code, or the like. Other types of tangible
computer-readable media include floppy disks, removable hard disks,
optical storage media such as CD-ROMs, DVDs, bar codes, semiconductor
memories such as flash memories, read-only-memories (ROMs),
battery-backed volatile memories, networked storage devices, and the
like. RAM 970 and non-volatile storage drive 980 may be configured to
store the basic programming and data constructs that provide the
functionality of various embodiments of the present invention, as
described above.

[0058] Software instruction sets that provide the functionality of the
present invention may be stored in RAM 970 and non-volatile storage drive
980. These instruction sets or code may be executed by the processor(s)
960. RAM 970 and non-volatile storage drive 980 may also provide a
repository to store data and data structures used in accordance with the
present invention. RAM 970 and non-volatile storage drive 980 may include
a number of memories including a main random access memory (RAM) to store
of instructions and data during program execution and a read-only memory
(ROM) in which fixed instructions are stored. RAM 970 and non-volatile
storage drive 980 may include a file storage subsystem providing
persistent (non-volatile) storage of program and/or data files. RAM 970
and non-volatile storage drive 980 may also include removable storage
systems, such as removable flash memory.

[0059] Bus subsystem 990 provides a mechanism to allow the various
components and subsystems of computer 802 communicate with each other as
intended. Although bus subsystem 990 is shown schematically as a single
bus, alternative embodiments of the bus subsystem may utilize multiple
busses or communication paths within the computer 802.

[0060] Specific details are given in the above description to provide a
thorough understanding of the embodiments. However, it is understood that
the embodiments may be practiced without these specific details. For
example, circuits may be shown in block diagrams in order not to obscure
the embodiments in unnecessary detail. In other instances, well-known
circuits, processes, algorithms, structures, and techniques may be shown
without unnecessary detail in order to avoid obscuring the embodiments.

[0061] Implementation of the techniques, blocks, steps and means described
above may be done in various ways. For example, these techniques, blocks,
steps and means may be implemented in hardware, software, or a
combination thereof. For a hardware implementation, the processing units
may be implemented within one or more application specific integrated
circuits (ASICs), digital signal processors (DSPs), digital signal
processing devices (DSPDs), programmable logic devices (PLDs), field
programmable gate arrays (FPGAs), processors, controllers,
micro-controllers, microprocessors, other electronic units designed to
perform the functions described above, and/or a combination thereof.

[0062] Also, it is noted that the embodiments may be described as a
process which is depicted as a flowchart, a flow diagram, a data flow
diagram, a structure diagram, or a block diagram. Although a flowchart
may describe the operations as a sequential process, many of the
operations can be performed in parallel or concurrently. In addition, the
order of the operations may be re-arranged. A process is terminated when
its operations are completed, but could have additional steps not
included in the figure. A process may correspond to a method, a function,
a procedure, a subroutine, a subprogram, etc. When a process corresponds
to a function, its termination corresponds to a return of the function to
the calling function or the main function.

[0063] Furthermore, embodiments may be implemented by hardware, software,
scripting languages, firmware, middleware, microcode, hardware
description languages, and/or any combination thereof. When implemented
in software, firmware, middleware, scripting language, and/or microcode,
the program code or code segments to perform the necessary tasks may be
stored in a machine readable medium such as a storage medium. A code
segment or machine-executable instruction may represent a procedure, a
function, a subprogram, a program, a routine, a subroutine, a module, a
software package, a script, a class, or any combination of instructions,
data structures, and/or program statements. A code segment may be coupled
to another code segment or a hardware circuit by passing and/or receiving
information, data, arguments, parameters, and/or memory contents.
Information, arguments, parameters, data, etc. may be passed, forwarded,
or transmitted via any suitable means including memory sharing, message
passing, token passing, network transmission, etc.

[0064] For a firmware and/or software implementation, the methodologies
may be implemented with modules (e.g., procedures, functions, and so on)
that perform the functions described herein. Any machine-readable medium
tangibly embodying instructions may be used in implementing the
methodologies described herein. For example, software codes may be stored
in a memory. Memory may be implemented within the processor or external
to the processor. As used herein the term "memory" refers to any type of
long term, short term, volatile, nonvolatile, or other storage medium and
is not to be limited to any particular type of memory or number of
memories, or type of media upon which memory is stored.

[0066] While the principles of the disclosure have been described above in
connection with specific apparatuses and methods, it is to be clearly
understood that this description is made only by way of example and not
as limitation on the scope of the disclosure.