Easy To Use Patents Search & Patent Lawyer Directory

At Patents you can conduct a Patent Search, File a Patent Application, find a Patent Attorney, or search available technology through our Patent Exchange. Patents are available using simple keyword or date criteria. If you are looking to hire a patent attorney, you've come to the right place. Protect your idea and hire a patent lawyer.

Automated aggregation and comparison of business spending relative to
similar businesses

Abstract

A system and method compares aggregated spending transactions of a target
entity with those of a collection of entities. The system and method
aggregates spending transactions of the target entity, and compares with
the corresponding aggregated spending transactions of the collection of
entities.

1. A computer-implemented method of comparing spending transactions of a
target entity with spending transactions of a collection of entities,
each spending transaction having a payee, a date, and an amount, the
method comprising: aggregating the spending transactions of the target
entity with respect to at least one attribute of the spending
transactions of the target entity to obtain an aggregated spending amount
of the target entity; determining a collective aggregated spending amount
corresponding to the aggregated spending amount of the target entity, the
collective aggregated spending amount derived from spending transactions
of entities of the collection and having attributes that correspond to
the at least one attribute of the spending transactions of the target
entity; and generating a comparison of the aggregated spending amount of
the target entity and the collective aggregated spending amount.

2. The method of claim 1, further comprising saving the spending
transactions of the target entity persistently in a database.

3. The method of claim 1, wherein aggregating the spending transactions of
the target entity comprises aggregating the spending transactions of the
target entity based on time period to obtain the aggregated spending
amount of the target entity.

4. The method of claim 1, wherein aggregating the spending transactions of
the target entity comprises: generating categorized spending transactions
based on the spending transactions of the target entity and central
categorization mapping data, the central categorization mapping data
comprising payees and corresponding categories; and aggregating the
categorized spending transactions based on category to obtain the
aggregated spending amount of the target entity.

5. The method of claim 1, further comprising receiving data of the target
entity at a server, the server being geographically separated from the
target entity, the data comprising a profile of the target entity and the
spending transactions of the target entity.

6. The method of claim 5, wherein the data further comprise at least one
selective criterion, and wherein determining a collective aggregated
spending amount comprises: identifying qualified entities of the
collection, each qualified entity meeting the selective criterion; and
determining a collective aggregated spending amount corresponding to the
aggregated spending amount of the target entity, the collective
aggregated spending amount derived from spending transactions of the
qualified entities and having attributes that correspond to the at least
one attribute of the spending transactions of the target entity.

7. The method of claim 6, wherein the selective criterion requires the
profile of each qualified entity to match the profile of the target
entity, and wherein identifying qualified entities of the collection
comprises: identifying entities with profiles matching the profile of the
target entity as the qualified entities.

8. The method of claim 5, wherein receiving the data of the target entity
comprises periodically receiving the data of the target entity.

9. The method of claim 8, wherein an identifier is associated with the
profile of the target entity, and wherein receiving the data of the
target entity comprises receiving the profile of the target entity once
and periodically receiving the spending transactions of the target entity
and the identifier.

10. A computer-implemented method of comparing an aggregated spending
amount of a target entity with corresponding collective aggregated
spending amount, the method comprising: determining the corresponding
collective aggregated spending amount based on the aggregated spending
amount of the target entity and spending transactions of a collection of
entities, each spending transaction having a payee, a date, and an
amount; and generating a comparison of the aggregated spending amount of
the target entity and the corresponding collective aggregated spending
amount.

11. The method of claim 10, further comprising receiving data of the
target entity at a server, the server being geographically separated from
the target entity, the data comprising the profile of the target entity
and the aggregated spending amount of the target entity.

12. The method of claim 11, wherein the data further comprise at least one
selective criterion and at least one aggregative criterion, and wherein
determining the corresponding collective aggregated spending amount
comprises: identifying qualified entities of the collection, each
qualified entity meeting the selective criterion; and determining the
corresponding collective aggregated spending amount based on spending
transactions of the qualified entities and the aggregative criterion.

13. The method of claim 12, wherein the selective criterion comprises a
qualification of profile of an entity of the collection based on the
profile of the target entity, and wherein identifying qualified entities
of the collection comprises identifying qualified entities based on the
profiles of the qualified entities.

14. The method of claim 11, wherein receiving the data of the target
entity is performed periodically.

15. The method of claim 14, wherein an identifier is associated with the
profile of the target entity, and wherein receiving the data comprises
receiving the profile of the target entity once and receiving the
aggregated spending amount and the identifier periodically.

16. The method of claim 10, further comprising saving the aggregated
spending amount of the target entity persistently in a database.

17. The method of claim 10, further comprising: sending central
categorization mapping data by a server, or portion thereof to a client
computer, the central categorization mapping data comprising payees and
corresponding categories, the server being geographically separated from
the client computer, the sent central categorization mapping data being
used to generate the aggregated spending amount of the target entity; and
receiving the aggregated spending amount of the target entity.

18. A system for comparing spending transactions of a target entity with
spending transactions of a collection of entities, each spending
transaction having a payee, a date, and an amount, comprising: a
processor for executing programs; and a central server executable by the
processor, the server including: instructions for aggregating the
spending transactions of the target entity with respect to at least one
attribute of the spending transactions of the target entity to obtain an
aggregated spending amount of the target entity; instructions for
determining a collective aggregated spending amount corresponding to the
aggregated spending amount of the target entity, the collective
aggregated spending amount derived from spending transactions of entities
of the collection and having attributes that correspond to the at least
one attribute of the spending transactions of the target entity; and
instructions for generating a comparison of the aggregated spending
amount of the target entity and the collective aggregated spending
amount.

19. A computer program product for use in conjunction with a computer
system, the computer program product comprising a computer readable
storage medium and a computer program mechanism embedded therein, the
computer program mechanism including: instructions for aggregating the
spending transactions of the target entity with respect to at least one
attribute of the spending transactions of the target entity to obtain an
aggregated spending amount of the target entity; instructions for
determining a collective aggregated spending amount corresponding to the
aggregated spending amount of the target entity, the collective
aggregated spending amount derived from spending transactions of entities
of the collection and having attributes that correspond to the at least
one attribute of the spending transactions of the target entity; and
instructions for generating a comparison of the aggregated spending
amount of the target entity and the collective aggregated spending
amount.

Description

CROSS-REFERENCE TO RELATED PATENT APPLICATIONS

[0001] This application is a continuation-in-part of U.S. patent
application Ser. No. 11/331,507, entitled "Automated Aggregation and
Comparison of Individual Spending Relative to Population of Similar
Users," by Jeffrey P. Zimmerman, filed on Jan. 13, 2006, which is hereby
incorporated by reference in its entirety.

[0002] The present invention is related to U.S. Utility patent application
Ser. No. 11/388,414 (Attorney Docket Number 10024), for "Associating
Multiple Categories with Single Payee or Payor in Financial Software
Application," filed Mar. 24, 2006, the disclosure of which is
incorporated herein by reference.

BACKGROUND

[0003] The present invention relates generally to systems and methods for
comparing financial information of a business entity with that of others.
A financial manager of a business entity may be able to learn about the
general business spending of the entity, but may find it difficult to
determine whether the entity is over-spending relative to other entities.
Thus, it is desirable to be able to compare the spending transactions of
a business entity with those of similar entities by category, by time
period, and by other attributes such as payee.

[0004] One approach to allow a business entity to compare their spending
transactions with those of others is to provide it with average business
spending data gathered by market researchers. This approach is inadequate
because many factors affect business spending, such as location of the
business, type of business, demographic or geographic segments of the
target customers, to name only a few. Comparing the spending of a
business with average business spending makes little sense in helping the
business to spot over-spending. This approach is also inadequate because
businesses cannot compare their spending by category with average
business spending, as the average business spending data do not provide
categorized spending data. Also, market researchers tend to value such
business spending information highly, and small businesses usually do not
have financial resources to pay for such data.

[0005] Another approach is to provide business entities with access to a
central database storing spending transactions of many business entities.
This raises concerns over privacy and proprietary information. Because
the spending transactions stored do not include category information,
businesses cannot compare their spending by attributes such as category.
Also, unless a business can limit the comparison to similar businesses,
the results may not be helpful.

SUMMARY

[0006] In various embodiments, the present invention provides methods and
systems for comparing spending transactions of a target business entity
by category, payee, or other attributes, with those of other business
entities. The spending transactions of the target business entity are
first aggregated by at least one attribute, such as category, to generate
an aggregated spending amount. The aggregated spending amount is then
compared with the aggregated spending amount of the collection of
business entities.

[0007] In one embodiment, the target business entity can limit business
entities it compares with by providing selective criteria. A central
server maintains a central categorization mapping database storing a
collection of payees and their corresponding categories. When the central
server receives spending transactions of the target business entity, it
generates categorized spending transactions, aggregates the generated
spending transactions by category into aggregated spending amounts, and
saves the spending transactions. The central server retrieves and
aggregates spending transactions of business entities meeting the
selective criteria, and compares by category with the aggregated spending
amounts of the target business entity. The central server then saves the
comparison result, or makes the result available to the target business
entity in the form of a report.

[0008] In another embodiment, spending transactions are aggregated locally
in a client computer of the business entities by generating aggregated
spending amounts based on categorization mapping data downloaded from a
central server. The aggregated spending amounts are then uploaded to the
central server. The central server compares the received aggregated
spending amounts with aggregated spending amount of business entities
meeting selective criteria. The central server then saves the comparison
result, or makes the result available to the target business entity in
the form of a report.

BRIEF DESCRIPTION OF THE DRAWINGS

[0009] FIG. 1 is a block diagram depicting an architecture for a system
for comparing spending transactions of a business entity with those of
others according to one embodiment.

[0010] FIG. 2 is a flow diagram depicting a method for comparing spending
transactions of a business entity by category with those of others
according to one embodiment.

[0011] One skilled in the art will readily recognize from the following
discussion that alternative embodiments of the structures and methods
illustrated herein may be employed without departing from the principles
of the invention described herein.

DETAILED DESCRIPTION OF THE EMBODIMENTS

[0012] The present invention is now described more fully with reference to
the accompanying Figures. The present invention may be embodied in many
different forms and should not be construed as limited to the embodiments
set forth herein. Rather these embodiments are provided so that this
disclosure will be complete and will fully convey principles of the
invention to those of skilled in the art.

[0013] Embodiments of the present invention can be implemented in either a
personal financial software package or an accounting software package. It
can be implemented as a feature of a software package, or as a feature of
a web-based application or website, or as a plug-in that can be installed
and used in connection with an existing software application.

System Architecture

[0014] Referring to FIG. 1, there is shown a block diagram illustrating
the architecture of one embodiment of a system 100 for comparing spending
transactions of a business entity with those of a collection of business
entities. The system 100 includes a central server 110, a profile
database 120, a transaction database 130, and a central categorization
mapping database 140.

[0015] The central server 110 is connected to the profile database 120,
the transaction database 130, and the central categorization mapping
database 140. The central server 110 and the databases 120-140 can be in
a single computer, or in separate computers communicating with each other
through a network. The databases 120-140 may be a relational database or
any other type of database that stores data used by the central server
110.

[0016] The central server 110 receives data from the network 160, and
saves the received data to the databases 120-140 based on the content of
the data. The central server 110 also processes requests received from
the network 160, generates queries based on the requests, submits the
queries to the databases 120-140, and retrieves query results. The
central server 110 generates reports based on query results and sends the
reports to the network 160.

[0017] The profile database 120 stores profiles of business entities. In
one embodiment, a business entity can submit its profile to the central
server 110. When the central server 110 receives the profile, the central
server 110 saves the profile in the profile database 120.

[0018] The transaction database 130 stores spending transactions of
business entities submitted to the central server 110. The central
categorization mapping database 140 stores information mapping business
entities to business categories. In some embodiments, a business entity
can be related to more than one category.

[0019] The system 100 is communicatively coupled to the network 160 and
client computers 150a, 150b, and 150c, as indicated by dotted lines. The
network 160 may be a wired, a wireless network, or a combination thereof.
The network 160 may be a public network, a private network, or a
combination thereof. Examples of the network 160 include the Internet, an
intranet, a cellular network, a local-area network (LAN), a wide-area
network (WAN), or a combination thereof.

[0020] A client computer 150 can be used by a business entity to transmit
information to the central server 110. The client computer 150 has access
to information of the business entity. Such information can be stored in
the client computer 150, an external storage device, or a computer
accessible by the client computer 150. In some embodiments, only
authorized personnel within the business entity can access the central
server 110 via the client computer 150.

[0021] A client computer 150 can be associated with one or more business
entities. Alternatively, a business entity can have multiple client
computers 150 connected to the central server 110.

[0022] In another embodiment, a client computer 150 can be within an
enterprise network of the associated business entity (also called a
client network). The client network is connected to the network 160
through one or more routers and/or firewalls. There can be multiple
computers on the client network functioning as a client computer 150 for
the business entity.

[0023] The central server 110 and client computers 150 may be of
conventional design, including a processor, an addressable memory, and
other conventional features such as a display, local memory, input/output
ports, and a network interface. In other embodiments one or more of the
components of the central server 110 and client computers 150 may be
located remotely and accessed via a network.

[0024] One skilled in the art will recognize that the system architecture
illustrated in FIG. 1 is merely exemplary, and that the invention may be
practiced and implemented using many other architectures and
environments.

Method

[0025] Referring now to FIG. 2, there is shown a flow diagram depicting a
method for comparing spending transactions of a target business entity by
category with those of other business entities as specified in selective
criteria in accordance with one embodiment of the present invention. The
steps of the process illustrated in FIG. 2 may be implemented in
software, hardware, or a combination of hardware and software. In one
embodiment, the steps of FIG. 2 may be performed by one or more
components of the architecture shown in FIG. 1, although one skilled in
the art will recognize that the method could be performed by systems
having different architectures as well.

[0026] The central server 110 receives 210 a profile, spending
transactions, selective criteria, and aggregative criteria from the
target business entity via the client computer 150a. The profile and
spending transactions are of the target business entity. In one
embodiment, in order for the central server 110 to accept profile and
spending transactions of a business entity, the business entity needs to
subscribe to the central server 110. The subscription may require the
business entity to provide its profile information.

[0027] In one embodiment, the client computer 150a sends such data to the
central server 110 when authorized personnel within the business entity
requests a report comparing the spending transactions of the business
entity with those of subscribed business entities. Alternatively, the
client computer 150a sends such data automatically and periodically
(e.g., monthly) or whenever the client computer 150a is connected to the
network 160, or in response to some other trigger event(s). The ability
to automatically and periodically receive 210 spending transactions
allows the central server 110 to maintain up-to-date spending
transactions of subscribed business entities. Therefore, a target
subscribed business entity can compare its spending transactions with
up-to-date spending transactions of a collection of subscribed business
entities. It is noted that the collection of subscribed business entities
can include the target subscribed business entity.

[0028] The profile data can include any type of data, including for
example business name, business address, ZIP code, annual profit, size of
payroll, number of employees, tax filing status, bank, age of the
business, type of the business, and/or targeted customers. Such profile
data can be uploaded each time the client computer 150a uploads data.
Alternatively, in one embodiment, the profile data is only uploaded once,
and subsequently uploaded data can include a profile ID in lieu of some
or all of the profile data.

[0030] As shown above, Small Hi-Tech Co. paid $230.30 to AT&T for phone
and Internet services on Mar. 29, 2006. It paid $356.63 and $136.59 to
Staples on Mar. 21 and Mar. 24, 2006, respectively, for office supplies.
Small Hi-Tech Co. spent $273.16 for food catering service from Half Moon
Bay Catering. The target business entity also incurred a monthly cost of
$542.77 for utility from Pacific Gas and Electric Company (PG&E).

[0031] Alternatively, the spending transactions may already be aggregated
by time period, such as month of transaction, before being received 210
by the central server 110, as illustrated by the table below. This
approach can alleviate privacy concerns of the target business entity and
reduce network traffic.
TABLE-US-00002
Payee Date Amount
AT&T March, 2006 $230.30
Half Moon Bay Catering March, 2006 $273.16
Staples March, 2006 $493.22
PG&E March, 2006 $542.77

[0032] As shown above, the two spending transactions incurred in March,
2006 with Staples are aggregated into one transaction.

[0033] The optional selective criteria specify what kind of business
entities for the target business entity to compare with. For example, a
small Silicon Valley high-tech start-up company might be compared with
other high-tech business entities located in the same geographic region
and having less than 30 employees. Alternatively, the selective criteria
can limit the comparing group to be customers of a specific bank and/or
by other criteria.

[0034] The optional aggregative criteria specify how the spending
transactions should be aggregated. For example, it may be desirable to
compare the spending of the target business entity by category with that
of the subscribed business entities. Alternatively, it may be more
desirable to only aggregate the spending transactions on time and payee.
For example, it may be desirable to compare the annual spending of the
target business entity on PG&E utility bills with that of the subscribed
business entities who are also customers of PG&E.

[0035] The optional selective criteria and aggregative criteria can be set
by authorized personnel within the target business entity in the request
for a report, by the client computer 150a, or by the central server 110
based (for example) on selective criteria and/or aggregative criteria
previously used to generate a report for the target business entity.

[0036] When the aggregative criteria specify the spending transactions to
be aggregated by category, the central server 110 generates 220
categorized spending transactions based on the central categorization
mapping database 140. The central server 110 queries the central
categorization mapping database 140, retrieves categories corresponding
to the payees of the spending transactions of the target business entity,
and generates 220 categorized spending transactions based on the received
spending transactions and the retrieved categories.

[0037] When the spending transactions of the target business entity
include payees not present in the central categorization mapping database
140, the central server 110 can prompt the user (usually an authorized
employee of the target business entity) to provide such information, and
add such payee-category information to the central categorization mapping
database 140. Alternatively, the central server 110 can check whether a
profile of the payee is stored in the profile database 120. If a profile
of the payee is located, the central server 110 can determine the
category of the payee based on the information in the profile. In some
embodiments, a payee can be mapped into more than one category. When the
central server 110 processes a spending transaction having a payee
associated with multiple categories, the central server 110 can prompt
the user to choose a category for the spending transaction. More
information about associating a payee with multiple categories can be
found in the previously referenced U.S. patent application Ser. No.
11/388,414 (Attorney Docket Number 10024), titled "Associating Multiple
Categories with Single Payee or Payor in Financial Software Application."

[0039] As shown above, the payee AT&T and Half Moon Bay Catering are
associated with the Service category, Staples is associated with the
Office Supply category, and PG&E is associated with the Utility category.

[0040] The central server 110 aggregates 230 the spending transactions of
the target business entity according to the aggregative criteria. The
aggregative criteria include aggregation by time, by category, or by
other attributes, such as payee. The table below illustrates the
resultant exemplary data of Small Hi-Tech Co. after aggregating 230 the
categorized spending transactions by category.
TABLE-US-00004
Aggregated Spending
Category Amount of March 2006
Utility $542.77
Office Supply $493.22
Service $503.46

[0041] As shown above, the central server 110 aggregates 230 the spending
transactions of Small Hi-Tech Co. with AT&T and Half Moon Bay Catering
because both of them are in the Service category. Two transactions with
Staples are aggregated in the Office Supply category, and the transaction
with PG&E is in the Utility category.

[0042] In another embodiment, the aggregation 230 of the spending
transactions is performed at the client computer 150a before the central
server 110 receives 210 the spending transactions. Such aggregation 230
can be by time, by payee, or by other attributes such as category.

[0043] When the spending transactions are aggregated 230 by category, the
client computer 150a stores a local categorization mapping database,
generates categorized spending transactions based on the local
categorization mapping database, and aggregates the categorized spending
transactions by category in a process similar to the one for the central
server 110 described above. The client computer 150a then uploads the
aggregated spending amounts to the central server 110.

[0044] The local categorization mapping database can act as a persistent
store of categorization mapping data that is periodically synchronized
with the central categorization mapping database 140. Alternatively, the
local categorization mapping database can be used as a temporary local
store of information downloaded from the central server 110 and kept only
for a short period of time, such as during a session.

[0045] The central server 110 saves 240 the profile received 210 from the
client computer 150a in the profile database 120, and saves 240 the
spending transactions in the transaction database 130. For privacy
purposes, the central server 110 can be configured to save only the
aggregated spending transactions, unless the target business entity
chooses otherwise. This approach can alleviate proprietary information
leakage concerns of the target business entity. The central server 110
can also be configured to save the selective criteria and/or aggregative
criteria.

[0047] For each qualified profile, the central server 110 aggregates 260
the corresponding retrieved spending transactions into aggregated
spending amounts based on the aggregative criteria. The central server
110 then derives 260 a set of representative aggregated spending amounts
from the aggregated spending amounts corresponding to all qualified
profiles. The representative aggregated spending amounts can be, for
example, an average (a median, or a sum) of aggregated spending amounts
corresponding to all qualified profiles. One skilled in the art will
recognize that other forms of aggregation can be used for generating
meaningful aggregated data for comparison purposes.

[0048] The central server 110 compares 270 the aggregated spending amounts
of the target business entity with the representative aggregated spending
amounts, generates 280 a report based on the comparison result, and then
makes 290 the report available to authorized personnel within the target
business entity and/or others.

[0049] Alternatively, the central server 110 compares 270 the aggregated
spending amounts of the target business entity not only with the
representative aggregated spending amounts, but also with the average
spending amounts of all subscribed business entities. The table below
illustrates an example of a generated report based on such comparison.
TABLE-US-00005
Average of San Francisco Bay
Area high-tech companies General
Amount for with less than 30 employees Average for
Category March 2006 for March 2006 March 2006
Utility $542.77 $500.76 $230.93
Office $493.22 $600.63 $327.34
Supply
Service $503.46 $230.03 $102.68

[0050] Alternatively, the central server 110 compares 270 the aggregated
spending amounts of the target business entity as percentages of its
total spending with those of business entities meeting the selective
criteria. The table below illustrates an example of a generated report
based on such comparison.
TABLE-US-00006
% of Total Average of San Francisco Bay
Spending Area Staples customers with
Payee in 2006 less than 30 employees for 2006
PG&E 4.25% 2.16%
Staples 4.16% 5.63%

[0051] Alternatively, the central server 110 can send comparison results
to the client computer 150a, and the client computer 150a generates the
report locally. Also, instead. of making 290 the report available to
authorized personnel within the target business entity, the central
server 110 can save the report and/or the comparison result.

[0052] When the profile database 120 and the transaction database 130 are
initially set up, there may not be enough spending transactions to
conduct any meaningful comparisons. Thus, in one embodiment, the central
server 110 uses general spending data to compare by category with
financial data of the target business entity. Such general average data
can include, for example, general spending data for each category.

[0053] The above method can also be applied for a business entity to
compare its payroll information, tax information, and other financial
information such as profit and gross income, with those of other business
entities. Such comparisons can help the business entity identify its
strengths and weaknesses and improve its performance accordingly.

[0054] The present invention has been described in particular detail with
respect to one possible embodiment. Those of skill in the art will
appreciate that the invention may be practiced in other embodiments.
First, the particular naming of the components, capitalization of terms,
the attributes, data structures, or any other programming or structural
aspect is not mandatory or significant, and the mechanisms that implement
the invention or its features may have different names, formats, or
protocols. Further, the system may be implemented via a combination of
hardware and software, as described, or entirely in hardware elements.
Also, the particular division of functionality between the various system
components described herein is merely exemplary, and not mandatory;
functions performed by a single system component may instead be performed
by multiple components, and functions performed by multiple components
may instead performed by a single component.

[0055] Some portions of above description present the features of the
present invention in terms of algorithms and symbolic representations of
operations on information. These algorithmic descriptions and
representations are the means used by those of skilled in the data
processing arts to most effectively convey the substance of their work to
others skilled in the art. These operations, while described functionally
or logically, are understood to be implemented by computer programs.
Furthermore, it has also proven convenient at times, to refer to these
arrangements of operations as modules or by functional names, without
loss of generality.

[0056] Unless specifically stated otherwise as apparent from the above
discussion, it is appreciated that throughout the description,
discussions utilizing terms such as "determining" or "displaying" or the
like, refer to the action and processes of a computer system, or similar
electronic computing device, that manipulates and transforms data
represented as physical (electronic) quantities within the computer
system memories or registers or other such information storage,
transmission or display devices.

[0057] Certain aspects of the present invention include process steps and
instructions described herein in the form of an algorithm. It should be
noted that the process steps and instructions of the present invention
could be embodied in software, firmware or hardware, and when embodied in
software, could be downloaded to reside on and be operated from different
platforms used by real time network operating systems.

[0058] The present invention also relates to an apparatus for performing
the operations herein. This apparatus may be specially constructed for
the required purposes, or it may comprise a general-purpose computer
selectively activated or reconfigured by a computer program stored on a
computer readable medium that can be accessed by the computer. Such a
computer program may be stored in a computer readable storage medium,
such as, but is not limited to, any type of disk including floppy disks,
optical disks, CD-ROMs, magnetic-optical disks, read-only memories
(ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or
optical cards, application specific integrated circuits (ASICs), or any
type of media suitable for storing electronic instructions, and each
coupled to a computer system bus. Furthermore, the computers referred to
in the specification may include a single processor or may be
architectures employing multiple processor designs for increased
computing capability.

[0059] The algorithms and operations presented herein are not inherently
related to any particular computer or other apparatus. Various
general-purpose systems may also be used with programs in accordance with
the teachings herein, or it may prove convenient to construct more
specialized apparatus to perform the required method steps. The required
structure for a variety of these systems will be apparent to those of
skill in the, along with equivalent variations. In addition, the present
invention is not described with reference to any particular programming
language. It is appreciated that a variety of programming languages may
be used to implement the teachings of the present invention as described
herein, and any references to specific languages are provided for
invention of enablement and best mode of the present invention.

[0060] The present invention is well suited to a wide variety of computer
network systems over numerous topologies. Within this field, the
configuration and management of large networks comprise storage devices
and computers that are communicatively coupled to dissimilar computers
and storage devices over a network, such as the Internet.

[0061] Finally, it should be noted that the language used in the
specification has been principally selected for readability and
instructional purposes, and may not have been selected to delineate or
circumscribe the inventive subject matter. Accordingly, the disclosure of
the present invention is intended to be illustrative, but not limiting,
of the scope of the invention, which is set forth in the following
claims.