Register or Login To Download This Patent As A PDF
| United States Patent Application |
20070136149
|
| Kind Code
|
A1
|
|
Woodward; Franklin Goodhue
;   et al.
|
June 14, 2007
|
Restricted purchase of regulated items over a network
Abstract
A technique is disclosed for implementing electronic commerce transactions
via a data network. A regulated item selected by a customer is
identified. The regulated item may correspond to an item which satisfies
predetermined criteria, indicating that the regulated item is prohibited
from being purchased by the customer. Action is then taken to prohibit
the purchase of the selected item, via the data network, by the customer.
According to one embodiment, the action taken to prohibit the purchase of
the regulated item is automatically implemented at a server system
configured to implement electronic commerce transactions between an
on-line merchant and the customer. According to a specific
implementation, the predetermined criteria correspond to regulations
which restrict sales of the regulated items to persons in a particular
jurisdiction based upon certain criteria such as, for example, time of
day, day of week, age of the customer, type of product being sold, etc.
| Inventors: |
Woodward; Franklin Goodhue; (Orinda, CA)
; Mills; James Connell; (San Francisco, CA)
; Hodge; Randolph Ashton; (Mountain View, CA)
; Miller; Andrew Karl; (Los Altos, CA)
; Wijaya; Joyo; (Menlo Park, CA)
|
| Correspondence Address:
|
IPVENTURE, INC.
5150 EL CAMINO REAL
SUITE A-22
LOS ALTOS
CA
94022
US
|
| Serial No.:
|
701206 |
| Series Code:
|
11
|
| Filed:
|
February 1, 2007 |
| Current U.S. Class: |
705/26.25; 705/26.81 |
| Class at Publication: |
705/027 |
| International Class: |
G06Q 3/00 20060101 G06Q030/00 |
Claims
1. A computer-implemented method for implementing electronic commerce
transactions via a network, the method comprising: identifying a
regulated item selected by a customer, the regulated item corresponding
to an item which satisfies one or more predetermined criteria, the one or
more predetermined criteria indicating at least that the item is subject
to one or more regulations, and the regulated item being made available
from a merchant via an on-line store; placing the regulated item in an
electronic shopping cart associating with an order of the customer from
the on-line store, the order also having delivery information from the
customer regarding delivery of the order; and subsequently taking action
to remove the regulated item from the electronic shopping cart associated
with the customer, the removal of the regulated item from the electronic
shopping cart being based on the one or more predetermined criteria and
the delivery information.
2. A method as recited in claim 1, wherein the delivery information
includes at least a location, and wherein said taking action comprises
determining whether to remove the regulated item from the electronic
shopping cart by at least comparing the location with the one or more
predetermined criteria.
3. A method as recited in claim 1, wherein at least one of the one or more
predetermined criteria corresponds to at least one of the one or more
regulations which restrict sales of the regulated item to persons in a
particular jurisdiction.
4. A method as recited in claim 3, wherein ajurisdiction is a state.
5. A method as recited in claim 1, wherein the regulated item corresponds
to a product having at least an alcohol component.
6. A method as recited in claim 1, wherein the regulated item is wine.
7. A method as recited in claim 1, wherein at least one of the one or more
regulations at least restricts sales of the regulated item to persons
under a predetermined age.
8. A method as recited in claim 1, wherein the delivery information
includes a day of week, and wherein at least one of the one or more
regulations at least restricts the sale of the regulated item on at least
one day of the week.
9. A method as recited in claim 1, wherein at least one of the one or more
regulations requires an appropriate recipient to be present to receive
the delivery of the regulated item.
10. A method as recited in claim 1, wherein at least one of the one or
more regulations depends on a location associated with the customer.
11. A method as recited in claim 1, wherein the one or more regulations
are acquired from a data store associated with a server system that
performs said method, and wherein the data store stores a plurality of
regulation limitations for a plurality of different locations.
12. A computer-implemented method for facilitating online purchase of
regulated products over a network, said method comprising: (a) providing
an online store for products, at least a portion of the products being
regulated products; (b) enabling a customer to interact with the online
store to create an online order for a plurality of the products; (c)
requesting the customer to set a delivery time for the online order; (d)
receiving a requested delivery time for the online order from the
customer; (e) determining whether the online order includes at least one
regulated product; (f) determining, when said determining (e) determines
that the online order includes at least one regulated product, whether
the requested delivery time is permitted based on at least one regulation
associated with the at least one regulated product; and (g) producing a
perceptible indication that the at least one regulated product is not
permitted to be delivered at the requested delivery time when said
determining (f) determines that the at least one regulated product is not
permitted to be delivered at the requested delivery time.
13. A computer-implemented method for implementing electronic commerce
transactions via a network, the method comprising: identifying a
regulated item selected by a customer, the regulated item corresponding
to an item which satisfies one or more predetermined criteria, the one or
more predetermined criteria indicating that the item is prohibited from
being purchased by the customer, the one or more predetermined criteria
corresponding to at least one regulation which restricts sales of the
regulated item to persons in a particular location; and taking action,
other than or in addition to presenting a notification message, to
prevent the purchase of the regulated item via the network by the
customer in accordance with the at least one regulation.
14. A method of claim 13, wherein said taking action comprises modifying a
display of items available for purchase by the customer, wherein the
display modification includes restricting display of items which are
prohibited from being purchased by the customer based upon the one or
more predetermined criteria.
15. A method of claim 13, wherein said taking action comprises taking
action to prevent the customer from adding the regulated item to an
electronic shopping cart associated with the customer.
16. A method of claim 13, wherein said taking action comprises taking
action to prevent the customer from completing a checkout operation with
respect to an electronic shopping cart containing the regulated item.
17. A method of claim 13, wherein said taking action is automatically
implemented at a server system configured to implement electronic
commerce transactions between an on-line merchant and the customer.
18. A method of claim 13, wherein the regulated item corresponds to a
class of regulated products selected from the group consisting of:
alcohol products, tobacco products, and dairy products, and wherein the
one or more predetermined criteria correspond to one or more regulations
which prohibit delivery of the regulated item to persons in a particular
location or which restrict sales of the regulated item to persons under a
particular age.
19. A method of claim 13, wherein the one or more predetermined criteria
include at least one regulation code parameter for use in identifying
items which are associated with a class of regulated products; and
wherein said regulated item has associated therewith a specific
regulation code parameter.
20. A method of claim 13, wherein the one or more predetermined criteria
includes at least one restriction parameter for use in identifying at
least one type of compliance action to be performed in order to comply
with a legal regulation which restricts sales of the regulated item to
persons in a particular location.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation of U.S. patent application Ser.
No. 09/813,235, filed Mar. 19, 2001, and entitled "TECHNIQUE FOR HANDLING
SALES OF REGULATED ITEMS OVER A DATA NETWORK", which is hereby
incorporated herein by reference.
[0002] This application is also related to the following patent
applications: U.S. patent application Ser. No. 09/568,603, filed May 10,
2000, and entitled "INTEGRATED SYSTEM FOR ORDERING, FULFILLMENT, AND
DELIVERY OF CONSUMER PRODUCTS USING A DATA NETWORK" (Attorney Docket No.
WVANP001); and U.S. patent application Ser. No. 09/750,385, filed Dec.
27, 2000, and entitled "TECHNIQUE FOR IMPLEMENTING ITEM SUBSTITUTION FOR
UNAVAILABLE ITEMS RELATING TO A CUSTOMER ORDER" (Attorney Docket No.
WVANP013). Each of the above-referenced U.S. patent applications is
incorporated herein by reference in its entirety for all purposes.
BACKGROUND OF THE INVENTION
[0003] 1. Field of the Invention
[0004] The present invention relates generally to electronic commerce, and
more specifically to a technique for handling on-line sales and delivery
of regulated items implemented using a data network.
[0005] 2. Background
[0006] Over the past decade there has been a dramatic increase in on-line
electronic commerce transactions conducted between consumers and
retailers via the Internet or World Wide Web. Typically, during an
electronic commerce transaction, the on-line merchant or retailer
displays an electronic catalog of items which are available for purchase
by a consumer or customer. The consumer then selects desired items to add
to his or her electronic shopping cart and, when finished, requests to
proceed to "checkout" in order to purchase the selected items and
complete the electronic commerce transaction. Once the "checkout"
transaction has been completed, the on-line merchant then fulfills the
customer order, and either ships or delivers the customer order to a
delivery location specified by the customer.
[0007] It is noted that most electronic commerce transactions that occur
over the Internet are subject to the regulatory laws of the state or
region where each on-line sales transaction has occurred. Typically, the
laws and regulations governing on-line sales transactions are determined
based upon the customer's billing address or the location where the
delivery is to take place.
[0008] It is the responsibility of the on-line merchant to be aware of and
conform with the requirements of each state's regulations relating to
electronic commerce transactions in that state. Unfortunately, many
on-line merchants are not able to conform with each state's regulations
governing on-line sales transactions when engaging in electronic commerce
transactions with customers in a particular state. One reason for this is
that many systems which are designed to implement electronic commerce
transactions are not configured to take into account each of the
regulations governing electronic commerce transactions when taking orders
from customers residing in different states or regions.
[0009] Accordingly, there exists a continual need to improve upon
electronic commerce techniques in order to comply with laws and
regulations which affect electronic commerce and on-line sales
transactions.
SUMMARY OF THE INVENTION
[0010] According to specific embodiments of the present invention, a
method and computer program product are disclosed for implementing
electronic commerce transactions via a data network. A regulated item
selected by a customer is identified. The regulated item may correspond
to an item which satisfies predetermined criteria, indicating that the
regulated item is prohibited from being purchased by the customer. Action
can then taken to prohibit the purchase of the selected item, via the
data network, by the customer. According to one embodiment, the action
taken to prohibit the purchase of the regulated item is automatically
implemented at a server system configured to implement electronic
commerce transactions between an on-line merchant and the customer.
According to a specific implementation, the predetermined criteria
correspond to regulations which restrict sales of the regulated items to
persons in a particular jurisdiction based upon certain criteria such as,
for example, time of day, day of week, age of the customer, type of
product being sold, etc.
[0011] According to specific embodiments, a variety of techniques may be
used to prevent the purchase of the regulated item by the customer. In
one embodiment, the display of items available for purchase by the
customer may be modified to restrict the display of items which are not
allowed to be purchased by the customer based upon specific criteria. In
another embodiment, the customer may be prevented from adding the
regulated item to the customer's electronic shopping cart. Alternatively,
the customer may be prevented from purchasing or checking out the
regulated item during an on-line checkout procedure.
[0012] According to one particular embodiment, the present invention
relates to a computer-implemented method for implementing electronic
commerce transactions via a network. The method includes at least the
acts of: identifying a regulated item selected by a customer, the
regulated item corresponding to an item which satisfies one or more
predetermined criteria, the one or more predetermined criteria indicating
at least that the item is subject to one or more regulations, and the
regulated item being made available from a merchant via an on-line store;
placing the regulated item in an electronic shopping cart associating
with an order of the customer from the on-line store, the order also
having delivery information from the customer regarding delivery of the
order; and subsequently taking action to remove the regulated item from
the electronic shopping cart associated with the customer, the removal of
the regulated item from the electronic shopping cart being based on the
one or more predetermined criteria and the delivery information.
[0013] According to another particular embodiment, the present invention
relates to a computer-implemented method for facilitating online purchase
of regulated products over a network. The method includes at least the
acts of: providing an online store for products, at least a portion of
the products being regulated products; enabling a customer to interact
with the online store to create an online order for a plurality of the
products; requesting the customer to set a delivery time for the online
order; receiving a requested delivery time for the online order from the
customer; determining whether the online order includes at least one
regulated product; determining, when it has been determined that the
online order includes at least one regulated product, whether the
requested delivery time is permitted based on at least one regulation
associated with the at least one regulated product; and producing a
perceptible indication that the at least one regulated product is not
permitted to be delivered at the requested delivery time when it is
determined that the at least one regulated product is not permitted to be
delivered at the requested delivery time.
[0014] According to still another particular embodiment, the present
invention relates to a computer-implemented method for implementing
electronic commerce transactions via a network. The method includes at
least the acts of: identifying a regulated item selected by a customer,
the regulated item corresponding to an item which satisfies one or more
predetermined criteria, the one or more predetermined criteria indicating
that the item is prohibited from being purchased by the customer, the one
or more predetermined criteria corresponding to at least one regulation
which restricts sales of the regulated item to persons in a particular
location; and taking action, other than or in addition to presenting a
notification message, to prevent the purchase of the regulated item via
the network by the customer in accordance with the at least one
regulation.
[0015] Additional objects, features and advantages of the various aspects
of the present invention will become apparent from the following
description of its preferred embodiments, which description should be
taken in conjunction with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[0016] FIG. 1 shows a schematic block diagram showing the most relevant
parts of integrated system architecture 100 in accordance with a specific
embodiment of the present invention.
[0017] FIG. 2 shows a flow diagram of a Customer Order Handling Process
200 in accordance with a specific embodiment of the present invention.
[0018] FIG. 3A shows a flow diagram of a Regulated SKU Processing
Procedure A in accordance with a specific embodiment of the present
invention.
[0019] FIG. 3B is a flow diagram of an Item Restriction Analysis Procedure
in accordance with a specific embodiment of the present invention.
[0020] FIG. 4 shows an example of a Regulation Table in accordance with a
specific embodiment of the present invention.
[0021] FIGS. 5 and 6 show alternate embodiments of the Regulated SKU
Processing Procedure.
[0022] FIGS. 7A-7C illustrate various types of rules, conditions,
regulations, and/or other information which may be used for implementing
the regulated item processing technique in accordance with a specific
embodiment of the present invention.
[0023] FIG. 8 shows a specific embodiment of a network device suitable for
implementing the regulated item processing techniques of the present
invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0024] According to specific embodiments of the present invention, a
technique is described for handling on-line sales of regulated items or
products during electronic commerce transactions. It will be appreciated
that the handling of on-line sales of regulated items of merchandise
provides a difficult challenge since there are literally thousands of
federal, state, county, city, and township regulations which may need to
be complied with across thousands of geographic jurisdictions.
Additionally, many of these laws and regulations were not originally
drafted to take into account electronic commerce transactions. As a
result, an additional level of difficulty in applying such regulations to
electronic commerce exists in that legal interpretations of such laws
need to be preformed so as to correctly apply the appropriate laws and
regulations to electronic commerce transactions.
[0025] Generally, the regulatory laws governing retail commerce
transactions mandate specific restrictions concerning the pricing,
display, sale, and/or delivery of regulated products. Many of these laws,
however, are similar in nature, and therefor may be distilled down to a
limited number of common conditions which require compliance activity.
According to a specific embodiment of the present invention, the
conditions and compliance activities are preferably treated in a
systematic manner in order to allow the generation of a base set of rules
which may then be re-applied, perhaps with different parameters, to
different jurisdictions. According one implementation, the base set of
rules may be represented as business rules which may be embodied by a set
of lists or tables that enable an electronic commerce system to quickly,
easily, and reliably identify regulated items of merchandise, and to
easily respond to changing laws and/or regulations.
[0026] FIGS. 7A-7C illustrate various types of rules, conditions,
regulations, and/or other information which may be used for implementing
the regulated item processing technique in accordance with a specific
embodiment of the present invention. As described in this application,
the term "regulated SKU" or "regulated item" may be defined as a SKU
(i.e., item of merchandise) which has associated with it special needs
for the display, sale, delivery, pricing and/or vendor selection as
mandated by law or other requirements.
[0027] According to a specific embodiment of the present invention,
selected SKUs in the on-line catalog may be assigned a corresponding
regulation code attribute which enables that SKU to be identified as
belonging to a particular class of regulated products. In a specific
implementation, the assignment of a regulation code attribute may be
applied only to regulated SKUs of the on-line catalog. An example of a
regulation code assignment scheme is shown in FIG. 7C of the drawings.
[0028] FIG. 7C shows a Regulation Code Attribute Table 770 in accordance
with a specific embodiment of the present invention. The Regulation Code
Attribute Table 770 may be used to help identify regulated SKUs which
belong to a particular class or sub-class of regulated products.
According to one implementation, the regulation code attributes may be
structured so as to allow identification of different levels of
granularity within a particular regulated product category. For example,
as shown in FIG. 7C, the regulation code table 770 includes a regulation
code entry 772 and an associated description 774 of the class or
sub-class of the regulated products associated with that particular
regulation code. Thus, for example, as shown in FIG. 7C, the regulation
code "A" may be used to identify all SKUs which are related to alcohol
type products. The regulation code "AB" may be used to identify all SKUs
which are associated with beer products. In this example, the regulation
code "AB" for beer products represents a sub-class of regulated alcohol
products. The regulation code "AB3" may be used to identify SKUs which
are associated with beer having a 3.2% alcohol content, which is a
sub-class of the regulated beer products. Thus, for example, if a
particular SKU has an associated regulation code attribute of AB3, this
SKU may be interpreted as being an alcohol product, a beer product,
and/or a 3.2% beer product. It will be appreciated that any or all of
these interpretations may be used for applying the appropriate regulatory
rules for handling on-line sales of this item.
[0029] As shown in FIG. 7C, the Regulation Code Attribute Table 770 may be
used to define a plurality of different classes and sub-classes of
regulated products such as, for example, alcohol, beer, 3.2% beer,
distilled spirits, wine, dairy, insignia, tobacco, cigarettes, cigars,
pipe tobacco, non-regulated products, etc. It will be appreciated that
the regulated classes and sub-classes of products described in the table
of FIG. 7C does not represent a complete list of all regulated products.
Moreover, the regulation code attribute table may be modified to include
additional classes and sub-classes of other regulated products, which
will generally be known to one having ordinary skill in the art.
[0030] In addition to the regulation code attributes, a list or table of
conditions may also be provided for use in identifying legal requirements
which may mandate that the electronic commerce system evoke one or more
types of compliance actions when selling particular regulated products to
customers over a data network such as, for example, the Internet.
[0031] FIG. 7A shows an example of a conditions list or Conditions Table
700 in accordance with a specific embodiment of the present invention.
According to one implementation, the conditions table may enumerate
different types of regulatory conditions which may evoke compliance
actions within any of the on-line merchant's service areas.
[0032] As shown in FIG. 7A, the Conditions Table 700 includes a plurality
of entries relating to specific condition identifiers or condition IDs.
Each entry represents a specific condition or legal requirement which may
require the on-line merchant to evoke one or more compliance actions.
Each entry in the Conditions Table 700 may include, for example, a
Condition ID field 702 and a description field 704.
[0033] In the example of FIG. 7A, the Conditions Table 700 may be used to
define a plurality of different regulatory conditions such as, for
example, minimum age conditions, dry delivery address conditions, day of
week shopping conditions, day of week delivery conditions, hours of
operation conditions, period of day shopping conditions, period of day
delivery conditions, same state delivery conditions, minimum price
conditions, etc.
[0034] For example, the condition "MIN AGE" may be used to represent legal
regulations or mandates which exist related to shoppers, customers, or
delivery recipients whose age is less than a specified minimum. The
Condition ID entry corresponding to "DAY OF WEEK SHOPPING" may be used to
refer to regulations or mandates which exist relating to the sale and/or
delivery of items which are restricted during certain days of the week.
For example, certain states have mandated that alcohol is not to be sold
to customers on Sunday or Election Day. It will be appreciated that the
Conditions Table 700 represents a portion of the various conditions
regulating electronic commerce transactions, and that the table may be
modified to include additional conditions which will generally be known
to one having ordinary skill in the art.
[0035] The Conditions Table 700 of FIG. 7A does not specify what actions
are to be implemented in enforcing a particular condition. Thus,
according to one implementation, the conditions list may be used as way
to categorize and list each possible type of regulatory condition that
may affect electronic commerce transactions conducted by the on-line
merchant.
[0036] According to a specific embodiment, selected conditions in the
conditions list may evoke one or more compliance actions or restrictions
by the on-line merchant. Further, according to a specific implementation,
at least one list or table may be generated which includes various types
of compliance actions which may be automatically evoked by the online
merchant's computer system in order to restrict the sale of specific
regulated products.
[0037] FIG. 7B shows an example of a regulation list or table 750 in
accordance with a specific embodiment of the present invention. As shown
in FIG. 7B, the restrictions table 750 includes a plurality of entries
which specify various types of compliance actions which may be
automatically implemented by the on-line merchant's electronic commerce
system to enforce or ensure compliance with specific regulatory
conditions. According to one embodiment, the same restriction may be
applied to more than one condition.
[0038] As shown in the example of FIG. 7B, each entry in the Restriction
Table 750 includes a Restriction ID field 752 and a description field
754. Each restriction entry corresponds to a specific compliance action
which may be used by the on-line merchant to enforce one or more
regulatory conditions. For example, the restriction "no cart" may be used
to indicate that a condition will be enforced by not allowing a customer
to add a SKU item to the customer's electronic shopping cart. The
restriction "no checkout" may be used to indicate that a condition may be
enforced by not allowing the customer to purchase the SKU item.
[0039] According to a specific implementation, after the various
regulation codes, condition IDs and restriction IDs parameters have been
defined, these parameters may then be collated into a regulation list or
table in order to generate a set of rules that may used to manage all or
selected variations of regulatory compliance affecting electronic
commerce transactions conducted by the on-line merchant in various
jurisdictions. An example of a regulation table is shown in FIG. 4 of the
drawings.
[0040] FIG. 4 shows an example of a Regulation Table 400 in accordance
with a specific embodiment of the present invention. As described in
greater detail below, the regulation table may be used to map various SKU
regulation codes, conditions, restrictions, and parameterized values in
order to allow an on-line merchant to implement the appropriate
regulatory compliance action(s) when selling or delivering a regulated
SKU product to a customer in specific jurisdictions. Entries in the
regulation table may be made that set defaults for all distribution
centers. However, individual distribution centers may be able to override
the default entries with different or more stringent controls for
specific delivery zones or sub-zones. According to one embodiment, the
regulation table may be consulted to determine whether additional
processing may be necessary whenever a regulated SKU is encountered at
appropriate points in the customer order processing cycle.
[0041] According to a specific implementation, different regulation tables
may be generated for handling sales or delivery of regulated products in
specific regions or zones. Alternatively, a master regulation list may be
generated for handling sales or deliveries or regulated products
throughout all jurisdictions in which the merchant is engaging in
electronic commerce transactions. Using the master regulation table, a
single set of rules may be used to manage all variations of regulatory
compliance in all jurisdictions of activity. Moreover, for any regulated
SKU which is identified in a particular jurisdiction, the system of the
present invention may reference the master restriction table in order to
identify the appropriate rules(s) which apply when engaging in electronic
commerce transaction activities relating to the regulated SKU.
[0042] For example, as shown in FIG. 4 of the drawings, the Regulation
Table 400 includes a plurality of regulation entries (e.g., 401, 403,
etc.), wherein each regulation entry includes a specific set of
parameters which defines specific compliance actions which are to be
automatically implemented if certain conditions or other parameters have
been satisfied with respect to a particular class or sub-class of
regulated product. The different parameters of the regulation table may
include, for example, compliance actions based upon one or more of the
following parameters: distribution center 402, delivery zone 404 or
sub-zone 406, regulation code 408, Condition ID 410, Restriction ID 412,
age of the customer 414, delivery address 416, day of the week 418, time
of day 420, month of year, week of month, day of month, calendar date,
effective data 422, expiration date 424, etc. Thus, for example, entry
401 of Regulation Table 400 relates to a compliance action which may be
applied at all distribution centers in which alcohol products (e.g. SKUs
associated with regulation code A) may not be sold (i.e. "No Checkout")
to customers who do not meet the minimum age requirement of being at
least 21 years of age. Entry 403 of the Regulation Table 400 relates to a
compliance action which may be applied to all distribution centers in
which tobacco products (e.g. SKUs associated with regulation code T) may
not be sold (i.e. "No Checkout") to customers who do not meet the minimum
age requirement of being at least 18 years of age.
[0043] It will be appreciated that the technique of the present invention
may also accommodate jurisdictions having more or less stringent
requirements relating to at least a portion of regulated products. For
example, the city of Atlanta, Georgia prohibits the sale of alcohol on
Sundays and Election Day, and also prohibits the sale of distilled
spirits (e.g., alcohol products containing more than 21% alcohol by
volume) by general merchants or grocery stores. The city of Atlanta also
allows alcohol to be sold to persons who are at least 18 years of age. In
order to comply with these legal requirements, specific entries may be
included in the Regulation Table 400 of FIG. 4.
[0044] For example, entry 405 relates to a compliance action which may be
implemented only at Atlanta distribution centers (ATL01), wherein alcohol
products may not be sold to customers who are not at least 18 years of
age. Entries 407 and 409 of the Regulation Table 400 relate to compliance
actions wherein distilled spirits (e.g. SKUs associated with the
regulation code AD) products are not displayed as being for sale to
on-line customers whose residence address or delivery address is located
in Atlanta.
[0045] Additionally, one or more entries in the Regulation Table 400 may
include an effective date field 422 to allow a particular regulation
entry to be entered into the table before the new regulation actually
goes into effect. Further, selected regulation entries may include an
expiration date field 424 which may be used for specifying a particular
date and/or time when the corresponding legal regulation will no longer
be in effect.
[0046] In the example of FIG. 4, two or more conditions and/or
restrictions on separate line entries for the same regulation code may be
interpreted as having an OR relationship. Two or more conditions and/or
restrictions on the same line entry for a given SKU regulation code may
be interpreted as having an AND relationship. For example, entry 401 of
Regulation Table 400 relates to a compliance action which may be applied
at all distribution centers in which alcohol products may not be sold to
customers who do not meet the minimum age requirement of being at least
21 years of age, and where the regulation becomes effective on Apr. 15,
2000.
[0047] It will be appreciated that the Regulation Table 400 of FIG. 4
illustrates a specific embodiment for handling on-line sales of regulated
products. However, it will be appreciated that the technique described
herein for handling on-line sales of regulated products in different
jurisdictions may be implemented using a variety of different
implementation techniques. For example, according to a different
embodiment, a specific set of rules and/or parameters may be used to
define compliance actions in specific jurisdictions. For example, in
order to prevent Sunday delivery of alcohol products for all delivery
zones in the Atlanta region, the following set of rules and/or parameters
may be applied: [0048] Atlanta delivery zones=ALL [0049] Month of
Year=ALL [0050] Week of Month=ALL [0051] Day of Week=Sunday [0052]
Period of Day=ALL
[0053] In order to prevent sale or delivery of alcohol to Atlanta
residence on Election Day (i.e., the first Tuesday in November), the
following rules and/or parameters may be defined: [0054] Atlanta
delivery zones=ALL [0055] Month of Year=November [0056] Week of Month=1
[0057] Day of Week=Tuesday [0058] Period of Day=ALL
[0059] FIG. 1 shows a schematic block diagram of a specific embodiment of
an integrated system architecture 100 which may be used for implementing
the regulated item processing technique of the present invention. As
shown in FIG. 1, system 100 includes a plurality of subsystems and other
components for effecting electronic commerce over a data network. A brief
description of at least a portion of the plurality of subsystems of
system 100 is presented below.
[0060] For example, system 100 of FIG. 1 may include a Publishing (PUB)
Subsystem 140 which provides an interface to merchants, vendors and/or
content managers 133; a Webstore Subsystem (WS) 132 which manages the
on-line store interface with customers, including customer shopping and
ordering transactions; an Order Management Subsystem (OMS) 150 which
manages pricing data, item availability data, inventory data, vendor
data, finance, procurement, etc.; an Order Fulfillment Subsystem (OFS)
160 which facilitates the fulfillment of customer orders; etc. Each of
the various subsystems shown in FIG. 1 of the drawings will now be
described briefly below.
[0061] According to a specific implementation, the PUB Subsystem 140 may
be used for managing SKU inventory and catalog information (e.g. SKUs,
UPCs, products, categories, descriptive attributes, etc.). Additionally,
according to a specific implementation, the PUB subsystem may be used for
allowing merchants or vendors to enter regulatory information such as,
for example, regulation code parameters for selected SKUs, condition
information, restriction information, etc.
[0062] "Inventory" is the stock of SKU items actually available for
customer orders. Each different item of inventory is associated with a
respective stock keeping unit or SKU, regardless of whether the item is
available for customer purchase. A "stock keeping unit" or SKU may be
defined as a unique identifier that corresponds to a particular consumer
item. A type of product, for example, Brand A ketchup, may have several
unique SKUs, each corresponding, for example, to different sizes and/or
flavors of Brand A ketchup.
[0063] Merchants and content managers 133 may enter and maintain SKU
information stored in the PUB database using the PUB Web GUI interface
134 and PUB Bulk Loader interface 136. The SKU information may include
SKU attribute values such as, for example, UPCs, vendors, categories,
category hierarchy, images, articles, descriptive information, regulation
codes, etc. The PUB Web GUI interface 134 allows merchants to edit SKU
information, products, and/or categories. The PUB Bulk Loader 136
supports the processing of data files from outside the PUB Subsystem into
the PUB database 141. According to a specific embodiment, the PUB Bulk
Loader is configured to allow merchants to upload a variety of data file
types into the PUB database including flat data files, and image files.
The Bulk Loader processes the flat file information to create appropriate
database records for the PUB catalog.
[0064] Periodically (e.g., minutes, hours, days) the OMS polls the PUB
database for new and updated SKU information, and stores the retrieved
data into the OMS database 151. According to a specific embodiment, OMS
maintains available-to-promise (ATP), price, and inventory (e.g.,
replenishment and purchasing) information for each SKU. OMS may also
capture and/or manage sales and shipment data relating to each SKU.
Periodically, OMS passes new and updated SKU information it acquires from
the PUB Subsystem to the OFS. The SKU information may be used by OFS, for
example, to maintain physical inventory and fulfill orders.
[0065] According to a specific embodiment, the PUB Subsystem 140 may be
used as an interface to allow merchants/vendors to enter regulated
merchandise processing instructions relating to specific SKUs. An
examples of regulated merchandise processing instructions for selected
regulated products is shown in FIGS. 4 and 7A-C of the drawings.
[0066] It will be appreciated that, in an alternate embodiment, the
regulated merchandise processing instructions may be entered by
merchants, vendors, or other human operators via the Webstore interface
132, or via other desired system interfaces. Further, according to a
specific implementation, the merchant or vendor is able to add,
rearrange, and remove items from the list of regulated items.
[0067] According to at least one alternate embodiment, regulated
merchandise processing instructions may be generated manually or
automatically using a general set of business rules and information
relating to laws and regulations governing on-line sales transactions in
selected states and/or regions. A preliminary list of regulated items may
also be generated in the same manner to be approved or edited by
merchants. In any of these embodiments, the regulated merchandise
processing instructions are typically stored in a database for retrieval
at an appropriate point of use.
Webstore Subsystem (WS)
[0068] According to a specific implementation, the Webstore Subsystem (WS)
132 provides an interface for enabling customers to access an on-line
store (e.g. Webstore), which, for example, may be used to provide a
customer with an electronic representation of a retail store. In a
specific embodiment where the Webstore may be implemented as a website on
the World Wide Web, customers 102 may access the Webstore via the
Internet 104 or World Wide Web using any one of a plurality of
conventional browsers. The Webstore user interface may be designed to
provide a rich set of functions without requiring any special browser
plug-ins. Thus, according to a specific embodiment, customers may access
the Webstore using any client machine, regardless of the machine's
operating system platform. Additionally, for security purposes, the
Webstore interface also supports data encryption for exchange of any
sensitive or private information between the customers and the website.
According to a specific embodiment, the secure Webstore interface may be
implemented using a secure http protocol (HTTPS), commonly known to those
of ordinary skill in the art.
[0069] In accordance with a specific embodiment, the Webstore Subsystem
132 may be configured to support a number of customer related features
such as, for example, self registration; accessing of customer account
information; browsing of product categories and category hierarchy;
viewing of product images and product information; keyword searches;
delivery scheduling; accessing of customer order history; customizable
shopping lists; on-line shopping and ordering; etc.
[0070] The Webstore Subsystem (herein referred to as the Webstore) may be
implemented using at least one server which is connected to the data
network. According to a specific embodiment, the Webstore may be
implemented using a plurality of web servers (e.g. a load-balanced web
server farm) which helps to minimize server response time and provide
real-time failover and redundancy capabilities. Further, according to a
specific embodiment, in order to keep the web server response time to a
minimum, the Webstore may be configured such that all processing is
performed on a single server, within one process. Where a plurality of
Webstore servers are used, redundant processing may be performed by at
least a portion of the servers so that a single Webstore server may
handle all Webstore processing tasks associated with a particular on-line
customer. It will be appreciated that the Webstore server boundaries may
be crossed where appropriate, such as, for example, when accessing
desired databases via the data network.
Order Management Subsystem (OMS)
[0071] The Order Management Subsystem (OMS) 150 manages a variety of
aspects related to the integrated system architecture of system 100,
including, for example, pricing, availability, inventory, vendors,
financials, procurement, and data flows between various subsystems.
[0072] As shown in FIG. 1, the OMS subsystem 150 includes at least one
database 151 for storing various data received from at least a portion of
the other subsystems. According to a specific embodiment, the database
151 is configured to include a plurality of schemas, such as, for
example, standard packaged application schemas and/or customized schemas.
According to a specific implementation, the OMS database is configured as
a single Oracle database running on a Sun Solaris server.
[0073] According to a specific implementation, OMS batch processing may be
controlled using a process scheduler. The process scheduler is able to
manage the number of concurrent processes being run and the date/time at
which certain processes are to run or be executed. The process scheduler
may also enable central visibility of all processes currently running.
Batch processing and reporting may be accomplished using a variety of
different technologies commonly known to one having ordinary skill in the
art.
[0074] The Order Management Subsystem may be configured to support both
asynchronous and synchronous interfaces with the other subsystems. In a
specific embodiment, the OMS is configured to support an asynchronous
interface with each of the other subsystems. Additionally, each OMS
interface is configurable, and may be configured to support the running
of batch processes as often as is desirable.
[0075] Implementation of the various interfaces between OMS and the other
subsystems may be accomplished using a variety of different techniques
commonly known to one having ordinary skill in the art. The following
description provides an example of at least some of the various
techniques which may be used for interfacing OMS with the other
subsystems. However, it will be appreciated that the specific interfaces
described below may be implemented using other techniques commonly known
to those of ordinary skill in the art.
[0076] The interface between the OMS and the Webstore Subsystem may be
implemented, for example, using a plurality of executable programs. A
first portion of the executable programs may be responsible for moving
data from the Webstore to the OMS. This data may include, for example,
new/updated customer data, new/updated order data, order cutoff
information, order billing information, customer return information,
customer credits and fees (e.g. bill adjustment data), etc. A second
portion of the executable programs is responsible for moving data from
the OMS to the Webstore Subsystem. This data may include, for example,
inventory data, availability data, pricing data, and information about
shipped customer orders.
Order Fulfillment Subsystem (OFS)
[0077] The Order Fulfillment Subsystem 160 manages all functionality of
the distribution center (DC). In the embodiment of FIG. 1, the OFS
includes appropriate hardware and/or software for managing the DC,
including, for example, a warehouse management system (e.g. application
software), at least one database 161, an optional automated material
handling (AMH) controller component 163, if desired (which manages
conveyor, carousel, and scanner components), etc.
[0078] In a specific implementation, the Order Fulfillment Subsystem 160
may be implemented using a warehouse management system such as, for
example, the MOVE warehouse management system provided by Optum, Inc. of
Costa Mesa, Calif. The warehouse system also provides an interface with
the Order Management Subsystem. In a specific embodiment, this interface
may be implemented using a business host interface (BHI). The warehouse
management subsystem may also provide the interface for allowing the OMS
subsystem to communicate with the OFS database 161.
[0079] The description is only a partial description of an architecture
that is suitable for practicing the current invention, with emphasis on
the subsystems that are most directly involved in the Regulated SKU
Processing Procedure of the present invention. For a more complete
description of such an architecture, see U.S. patent application Ser. No.
09/568,603 (Attorney Docket No. WVANP001).
[0080] It will be appreciated that other embodiments of the system of FIG.
1 may be used for implementing the technique of the present invention.
For example, entire subsystems or selected features or components of the
WS Subsystem 132, OMS Subsystem 150, PUB Subsystem 140, and/or OFS
Subsystem 160 may be eliminated (if desired) or incorporated into other
subsystems of the system of FIG. 1. Such modifications will be apparent
to one having ordinary skill in the art. In a specific embodiment, it is
preferable that the system 100 include at least a Webstore Subsystem (for
receiving customer orders and maintaining inventory records), and an
Order Fulfillment Subsystem (for fulfilling customer orders).
[0081] FIG. 2 shows a flow diagram of a Customer Order Handling Process
200 in accordance with a specific embodiment of the present invention.
The Customer Order Handling Process of FIG. 2 depicts a simplified
overview of the various processes by which customer orders are taken, the
customer orders are processed, and the customer orders are fulfilled and
delivered in accordance with a specific embodiment of the present
invention.
[0082] At 202, a customer enters his or her customer order via the
Webstore 132 interface (described above). According to a specific
embodiment, a "customer order" includes a list of SKU items that have
been ordered, their associated quantities, and other relevant information
(e.g., payment information, delivery time information, etc.)
[0083] The customer order may include one or more "line item orders,"
where each line item order corresponds to a particular SKU and includes a
desired quantity of the ordered SKU.
[0084] According to a specific embodiment, during the customer ordering
process, customers will be provided information relating to availability
of items. For example, customers may be provided with information
relating to particular items which will not be available for delivery at
the delivery window selected by the customer.
[0085] Returning to FIG. 2, at a designated time after a customer order
has been placed, a "cutoff" time occurs (204), at which point the
customer is no longer able to modify the order. The customer order is
then sent along with other "cutoff" customer orders to be processed
(206). The processing of a customer order is generally described in U.S.
patent application Ser. No. 09/568,603 (Attorney Docket No. WVANP001),
previously incorporated herein by reference. In one implementation, order
processing may be implemented at the Webstore Subsystem 132. In alternate
embodiments, the order processing may be implemented at any desired
subsystem which has been configured to handle the various tasks
associated with the processing of customer orders. After the customer
order has been processed, the customer order is then fulfilled (208) by
obtaining the appropriate items from a warehouse, distribution center, or
other locations. Once the order has been fulfilled, it may then be
delivered (210) to the customer.
[0086] According to different embodiments of the present invention, there
are a variety of techniques which may be used to help prevent the sale of
restricted products to on-line customers which would violate legal
regulations in various jurisdictions. For example, one technique for
preventing illegal sales of restricted products is to prevent the
restricted products from being displayed to the customers during the
on-line customer shopping session. Another technique is to not allow the
regulated item to be added to the customer's electronic shopping cart. A
further example is to not permit the regulated item to be checked out of
the customer's electronic shopping cart. Yet another example is to
prevent delivery of the regulated item to the customer. Several of these
examples are described in greater detail below with respect to FIGS. 3A,
3B, 5, and 6 of the drawings.
[0087] FIG. 3A shows a flow diagram of a Regulated SKU Processing
Procedure A (300) in accordance with a specific embodiment of the present
invention. According to one implementation, the Regulated SKU Processing
Procedure 300 may be implemented during an on-line customer shopping
session. Additionally, according to a specific implementation, the
Regulated SKU Processing Procedure 300 may be implemented at the web
store 130 of FIG. 1.
[0088] Initially, as shown at 302 of FIG. 3A, a customer may access the
on-line merchant's electronic commerce system in order to initiate a
shopping session. According to a specific implementation, as shown in
FIG. 1, for example, the customer may access the Webstore 130 for
initiating an on-line shopping session.
[0089] Once the customer has initiated a shopping session with the on-line
merchant's electronic commerce system, the customer may begin to shop by
browsing the on-line merchant's catalog and adding items to the
customer's electronic shopping cart. According to a specific
implementation, the customer may schedule (304) a specific delivery
window (e.g. specifying a particular date and time) for receiving
delivery of the customer order. For example, the on-line merchant
Webvan.com requires that customers select a delivery window for each
customer order that is placed with the on-line system. Once the customer
order has been fulfilled, it will subsequently be delivered to the
customer at the time and date specified by the selected delivery window.
At the time of delivery, the customer may be asked to provide a signature
for proof of receipt of the customer order. According to some
jurisdictions, the sale of a product is considered to occur at the time
that the product is actually delivered to the customer. Accordingly, it
will be appreciated that, according to specific embodiments, the delivery
window may determine whether the sale of a particular restricted product
is permitted.
[0090] According to a specific embodiment, each customer delivery address
may be geocoded or mapped to a respective area, zone, and/or subzone,
which, according to a specific implementation, are not based upon the zip
code of the delivery address. This mapping technique is advantageous
since municipal regulations frequently define regulated regions of
commerce by area, zone, or subzone (e.g. "dry zones" where the sale of
alcohol is prohibited). Moreover, such regulated regions may bisect one
or more zip code regions. Accordingly, using the customer delivery
address geocoding technique of the present invention, delivery zones or
subzones may be defined which map directly to a municipally regulated
zone or subzones. Thus, for example, if a municipally regulated "dry
zone" is mandated which bisects one or more zip code regions, a delivery
zone may be defined to correspond to the mandated dry zone boundaries,
regardless of zip code boundaries. Regulated product(s) may then be
prevented from being sold or delivered to customers whose delivery
address is within this "dry" delivery zone.
[0091] According to a specific embodiment, after the customer selects or
schedules a delivery window for delivery of the customer order, the
customer's electronic shopping cart may be examined to determine (306)
whether the customer's electronic shopping cart includes any items.
According to a specific embodiment, if it is determined that the customer
cart is not empty, an Item Restriction Analysis Procedure may be executed
(308) in order to remove any regulated items selected by the customer
which are not available to be delivered at the specified delivery window.
An example of an Item Restriction Analysis Procedure is shown in FIG. 3B
of the drawings.
[0092] During the Item Restriction Analysis Procedure, a first item from
the customer's scheduled shopping cart is selected (352). The selected
item is then analyzed (354) in order to determine whether the selected
item corresponds to a regulated item which is not allowed to be delivered
at the designated delivery window. In performing this determination, a
regulation code associated with the selected item or SKU may be
identified. A regulation table (e.g. Regulation Table 400) may then be
consulted to determine whether the sale or delivery of the identified,
regulated SKU is permissible. If it is determined that the selected item
is not allowed to be sold or delivered to the customer at the designated
delivery window, a selected item may be removed (356) from the customer's
scheduled shopping cart and placed into an unscheduled shopping cart. If,
however, it is determined that the selected item is allowed to be sold
and delivered to the customer at the designated delivery window, no
further action is taken regarding the selected item. Once the Item
Restriction Analysis Procedure has been performed for the selected item,
a determination may then be made (358) as to whether there are additional
items in the customer's scheduled shopping cart. If so, a next item from
the scheduled shopping cart is selected for analysis. This process may
continue until each of the items in the customer's scheduled shopping
cart have been analyzed by the Item Restriction Analysis Procedure.
[0093] Returning to FIG. 3A, once the Item Restriction Analysis Procedure
has performed an analysis on the items in the customer's scheduled
shopping cart, a determination may then be made (310) as to whether the
customer's scheduled shopping cart is empty. If so, the customer may be
advised (312) that no items are available to be delivered at the selected
delivery window. According to a specific implementation, the customer may
then be provided with the opportunity to select an alternate delivery
window.
[0094] According to an alternate embodiment, the customer may not be
required to select a delivery window. For example, many on-line merchants
such as, for example, Amazon.com, do not require the customer to select a
delivery window for receipt of the customer order. Rather, the on-line
merchant allows the customer to purchase products via the Internet. The
purchased items are then packaged and shipped to the customer via common
carrier. Typically, the customer is charged for the purchase of the goods
at the time that the order is shipped to the customer.
[0095] One technique for handling on-line sales of regulated products is
to dynamically modify the display of products which are available to be
sold/delivered to each customer. This is shown, for example, at events
314 and 316 of FIG. 3A.
[0096] During the customer's on-line shopping session, the customer may
request (314) display of selected items available for purchase by the
on-line merchant. According to a specific implementation, the display of
items available for purchase by the customer may be modified (316) based
upon predetermined rules such as, for example, the regulation criteria
defined in one or more regulation lists. The modification of the product
display may be based upon a number of different factors such as, for
example, the customer's delivery address, the customer's age, the
customer's residence address, the date/time of delivery (if any), etc.
According to one embodiment, the products which are not allowed to be
sold or delivered to a specific customer may be hidden or otherwise
prevented from being displayed to that customer. Alternatively, the
regulated items may be displayed to the customer, but the customer will
not be allowed to add the regulated item to the customer's electronic
shopping cart.
[0097] Another technique for handling on-line sales of regulated items is
to screen for regulated items as the customer selects each item to add to
his or her electronic shopping cart. This is generally shown by events,
for example, 318-326 of FIG. 3A.
[0098] Initially, the customer may select a particular item, and submit a
request to add (318) the selected item to the customer's shopping cart.
An analysis may then be conducted (320) in order to determine whether the
selected item is allowed to be sold and delivered to the customer (at a
specified delivery window, if any). In performing this determination, a
regulation code associated with the selected item or SKU may be
identified. A regulation table (e.g. Regulation Table 400) may then be
consulted to determine whether the sale or delivery of the identified,
regulated SKU is permissible.
[0099] If it is determined that the selected item is not allowed to be
sold and delivered to the customer, the customer may be advised (322)
that the selected item is not available to be added to the customer's
electronic shopping cart. Additionally, according to a specific
implementation, the regulated item may be placed (324) into an
unscheduled shopping cart for the customer. If, on the other hand, it is
determined that the selected item is allowed to be sold and delivered to
the customer, the selected item may then be added to the customer's
electronic shopping cart. Thereafter, the customer may continue with his
or her on-line shopping session or may request to proceed to checkout.
[0100] According to a specific embodiment, another approach for handling
on-line sales of regulated products is to screen the customer's
electronic shopping cart for regulated items during checkout. This
technique is generally described, for example, by events 326-332 of FIG.
3A.
[0101] Referring to FIG. 3A, at some point during the on-line shopping
session, the customer may request to proceed to checkout in order to
purchase the goods in the customer's electronic shopping cart. If,
according to one embodiment, precautions have already been implemented
for preventing inappropriate regulated items from being placed into the
customer's scheduled shopping cart, then the checkout operation may
proceed normally, whereby items in the customer's scheduled shopping cart
may be check out (328) for purchase by the customer. If, according to a
specific embodiment, selected regulated items have previously been placed
into an unscheduled shopping cart for the customer, a determination may
then be made (330) as to whether any items exist in the customer's
unscheduled shopping cart. If so, the customer may be advised (332) of
the existence of the unscheduled shopping cart. Thereafter, the customer
may then choose to continue shopping using the customer's unscheduled
shopping cart.
[0102] Alternate embodiments of the Regulated SKU Processing Procedure are
shown in FIGS. 5 and 6 of the drawings. In each of these embodiments,
on-line sales of regulated SKU items may be handled during the customer
checkout operation, where upon the content of the customer's shopping
cart may be screened for regulated items which are not allowed to be
sold/delivered to the customer.
[0103] As shown in the embodiment of FIG. 5, once the customer has
requested (502) checkout, an Item Restriction Analysis Procedure may be
executed (504) for analyzing the contents of the customer's shopping
cart. An example of an Item Restriction Analysis Procedure is shown in
FIG. 3B, described previously. In the example of FIG. 3B, the Item
Restriction Analysis Procedure will remove regulated items from the
customer's current shopping cart which are not allowed to be sold or
delivered to the customer, and may place the removed items into a new
shopping cart. At 506 a determination is made as to whether there are any
remaining items to be checked out of the customer's current shopping cart
after having executed the Item Restriction Analysis Procedure. If so,
flow may then commence starting at point B of FIG. 3A. If, however, it is
determined that there are no current items to be checked out from the
customer's shopping cart, the customer may be advised (508) that there
are no items available to be delivered or sold to the customer. The
customer may also be advised as to the reason why the regulated items are
unavailable. Thereafter, flow may then continue at point A of FIG. 3A.
[0104] As shown in the embodiment of FIG. 6, once the customer has
requested (552) checkout, a determination is then made (554) as to
whether there are any regulated items identified in the customer's
shopping cart which are not allowed to be sold or delivered to the
customer, based upon predetermined criteria such as that shown, for
example, in FIG. 4. If so, the customer may be requested (556) to remove
the identified regulated items from the customer's electronic shopping
cart. After all of the identified regulated items have been removed from
the customer's electronic shopping cart, flow may then continue at point
B of FIG. 3A.
[0105] Another technique for preventing illegal sales of restricted
products is to prevent delivery of the regulated item to the customer.
According to a specific embodiment, delivery couriers (110, FIG. 1) may
be notified that a particular shipment contains one or more regulated
items. A delivery courier may then be required to verify specific
information (e.g. proof of age of the customer) before delivering the
regulated item(s) to the customer. According to a specific
implementation, the delivery restrictions may be provided to the delivery
courier via the use of a mobile field device (MFD) 106. A mobile field
device (MFD) may be configured to download and/or upload various types of
information, including, for example, customer order history information,
delivery information (e.g. vehicle delivery routes, stops, etc.),
customer returns information, credits, adjustments, regulated delivery
information, etc.
Other Embodiments
[0106] Generally, the regulated item processing techniques of the present
invention may be implemented on software and/or hardware. For example,
they can be implemented in a separate user process, in a library package
bound into network applications, on a specially constructed machine, etc.
In a specific embodiment of this invention, the technique of the present
invention is implemented in software such as an application running on an
operating system.
[0107] A software or software/hardware hybrid implementation of the
regulated item processing technique of this invention may be implemented
on a general-purpose programmable machine selectively activated or
reconfigured by a computer program stored in memory. Such programmable
machine may be a network device designed to handle network traffic, such
as, for example, a router or a switch. Such network devices may have
multiple network interfaces including frame relay and ISDN interfaces,
for example. Specific examples of such network devices include routers
and switches. A general architecture for some of these machines will
appear from the description given below. In an alternative embodiment,
the regulated item processing technique of this invention may be
implemented on a general-purpose network host machine such as a personal
computer or workstation. Further, the invention may be at least partially
implemented on a card (e.g., an interface card) for a network device or a
general-purpose computing device.
[0108] Referring now to FIG. 8, a network device 60 suitable for
implementing the regulated item processing techniques of the present
invention includes a master central processing unit (CPU) 62, interfaces
68, and a bus 67 (e.g., a PCI bus). When acting under the control of
appropriate software or firmware, the CPU 62 may be responsible for
implementing specific functions associated with the functions of a
desired network device. For example, when configured to perform the
functions of a server system adapted to implement electronic commerce
transactions, the CPU 62 may be responsible for analyzing packets,
encapsulating packets, forwarding packets to appropriate network devices,
identifying regulated items or SKUs, identifying legal requirements or
conditions which require compliance action to be taken with regard to the
sale of regulated products, determining appropriate compliance actions to
be implemented for identified regulated items, etc. The CPU 62 preferably
accomplishes all these functions under the control of software including
an operating system (e.g. Windows NT), and any appropriate applications
software.
[0109] CPU 62 may include one or more processors 63 such as a processor
from the Motorola family of microprocessors or the MIPS family of
microprocessors. In an alternative embodiment, processor 63 is specially
designed hardware for controlling the operations of network device 60. In
a specific embodiment, a memory 61 (such as non-volatile RAM and/or ROM)
also forms part of CPU 62. However, there are many different ways in
which memory could be coupled to the system. Memory block 61 may be used
for a variety of purposes such as, for example, caching and/or storing
data, programming instructions, etc.
[0110] The interfaces 68 are typically provided as interface cards
(sometimes referred to as "line cards"). Generally, they control the
sending and receiving of data packets over the network and sometimes
support other peripherals used with the network device 60. Among the
interfaces that may be provided are Ethernet interfaces, frame relay
interfaces, cable interfaces, DSL interfaces, token ring interfaces, and
the like. In addition, various very high-speed interfaces may be provided
such as fast Ethernet interfaces, Gigabit Ethernet interfaces, ATM
interfaces, HSSI interfaces, POS interfaces, FDDI interfaces and the
like. Generally, these interfaces may include ports appropriate for
communication with the appropriate media. In some cases, they may also
include an independent processor and, in some instances, volatile RAM.
The independent processors may control such communications intensive
tasks as packet switching, media control and management. By providing
separate processors for the communications intensive tasks, these
interfaces allow the master microprocessor 62 to efficiently perform
routing computations, network diagnostics, security functions, etc.
[0111] Although the system shown in FIG. 8 illustrates one specific
network device of the present invention, it is by no means the only
network device architecture on which the present invention can be
implemented. For example, an architecture having a single processor that
handles communications as well as routing computations, etc. is often
used. Further, other types of interfaces and media could also be used
with the network device.
[0112] Regardless of network device's configuration, it may employ one or
more memories or memory modules (such as, for example, memory block 65)
configured to store data, program instructions for the general-purpose
network operations and/or other information relating to the functionality
of the regulated item processing techniques described herein. The program
instructions may control the operation of an operating system and/or one
or more applications, for example. The memory or memories may also be
configured to include data structures which store regulation code
information, Condition ID information, Restriction ID information,
regulation information, etc.
[0113] Because such information and program instructions may be employed
to implement the systems/methods described herein, the present invention
relates to machine readable media that include program instructions,
state information, etc. for performing various operations described
herein. Examples of machine-readable media include, but are not limited
to, magnetic media such as
hard disks, floppy disks, and magnetic tape;
optical media such as CD-ROM disks; magneto-optical media such as
floptical disks; and hardware devices that are specially configured to
store and perform program instructions, such as read-only memory devices
(ROM) and random access memory (RAM). The invention may also be embodied
in a carrier wave travelling over an appropriate medium such as airwaves,
optical lines, electric lines, etc. Examples of program instructions
include both machine code, such as produced by a compiler, and files
containing higher level code that may be executed by the computer using
an interpreter.
[0114] Although several preferred embodiments of this invention have been
described in detail herein with reference to the accompanying drawings,
it is to be understood that the invention is not limited to these precise
embodiments, and that various changes and modifications may be effected
therein by one skilled in the art without departing from the scope of
spirit of the invention as defined in the appended claims.
* * * * *