Patent ID: 12254508

DETAILED DESCRIPTION

For the purposes of promoting an understanding of the principles in accordance with the disclosure, reference will now be made to the embodiments illustrated in the drawings, and specific language will be used to describe them. It will nevertheless be understood that no limitation of the scope of the disclosure is thereby intended. Any alterations and further modifications of the inventive features illustrated herein, and any additional applications of the principles of the disclosure as illustrated herein, which would normally occur to one skilled in the relevant art and having possession of this disclosure, are to be considered within the scope of the disclosure claimed.

In describing and claiming the present disclosure, the following terminology will be used in accordance with the definitions set out below. As used in this specification and the appended claims, the singular forms “a,” “an,” and “the” include plural referents unless the context clearly dictates otherwise. As used in this specification and the appended claims, the terms “comprising,” “including,” “containing,” “having,” “characterized by,” and grammatical equivalents thereof are inclusive or open-ended terms that do not exclude additional, unrecited elements or method steps.

Referring now toFIG.1, there is depicted a system20suitable for conducting e-commerce over a network, such as the Internet. According to examples of embodiments of the present invention, the system20can be positioned to provide products for sale on an online retailer/wholesaler website, sometimes referred to as an e-commerce website. The system20can include an online retailer or wholesale services in the form of an e-commerce server21. One or more user computers27are positioned remotely from and in communication with the e-commerce server21through an electronic communication network30, such as the Internet or other internetwork.

The system20can also include an e-commerce computer program24stored on a tangible computer medium, such as, for example, one or more various types of memory, such as, for example, memory23of the server21. The program24may contain instructions, that when executed by the processor22, cause the processor22to provide an e-commerce website to users on the remote computers27. The system20can also include a plurality of database servers (not shown) that warehouse data regarding e-commerce conducted through the system20.

As understood by those skilled in the art, the memory23of the server21can include volatile and nonvolatile memory known to those skilled in the art including, for example, RAM, ROM, and magnetic or optical disks, just to name a few. It should also be understood by those skilled in the art that although illustrated as a single server, the illustrated configuration of the server21is given by way of example and that other types of servers or computers configured according to various other methodologies known to those skilled in the art can be used.

The server21shown schematically in, for example,FIG.1may represent an e-commerce enterprise comprising a server or server cluster or server farm and is not limited to any individual physical server. The server site may be deployed as a server farm or server cluster managed by a server-hosting provider. The number of servers and their architecture and configuration may be increased based on usage, demand, and capacity requirements for the system20.

Similarly, database servers (not shown) may connected to the server21, each database server representing a server or server cluster or server farm and are not limited to any individual physical server or configuration. As also understood by those skilled in the art, user computers27in these embodiments can be a laptop, desktop, personal digital assistants or PDAs, cell phones, servers, computers, or other types of computers. As known and understood by those skilled in the art, the network30can include the Internet or world wide web of a plurality of computers/servers in communication with one or more other computers through a communication network, and/or portions of a local or other area network.

As further understood by those skilled in the art, the program24can be in the form of microcode, programs, routines, and symbolic languages that provide a specific set for sets of ordered operations that control the functioning of the hardware and direct its operation, as known and understood by those skilled in the art. The program24, according to an embodiment of the present invention, also need not reside in its entirety in volatile memory, but can be selectively loaded, as necessary, according to various methodologies as known and understood by those skilled in the art. As further understood by those skilled in the art, the term “computer-readable medium” encompasses distribution media, intermediate storage media, execution memory of a computer, and any other medium or device capable of storing the program24implementing the functionality or processes of various embodiments of the present invention for later reading by a computer. The program24can be copied from the computer-readable medium to a hard disk or a similar intermediate storage medium.

When the program24, or portions thereof, is to be run, it can be loaded either from its distribution medium or its intermediate storage medium into the execution memory of the computer, configuring the computer to act in accordance with the functionality or method of various embodiments this invention. All such operations are well known to those skilled in the art of computer systems.

According to an exemplary embodiment of the present invention, the program24can include a set of instructions that when executed by the processor22, causes the server21, to perform the operations of: providing an e-commerce website, including product information regarding products for sale. The product information may be displayed to users on the remote computers27on webpages, as viewed, for example, on a display26of one or more remote user computers27, through the communication network30, e.g., Internet.

To assist users in finding products listed for sale by the e-commerce server21, product listings on the e-commerce server21may be organized pursuant to a unique schema, which includes product attributes and taxonomy information. The product attributes may be utilized to respond to search results conducted by users. Product attributes may be utilized to categorize products in the unique taxonomy. Alternatively, the products may be manually categorized in the taxonomy. Further, products may be categorized in search results based on their product attributes.

It will be appreciated by those having ordinary skill that the product attributes may include any information associated with the products, including, without limitation, general product descriptions, product type, brand, style, fashion, specific product descriptions, variants, condition, pricing and availability, unique product identifiers, gender, age group, color, size, material, pattern, title, etc.

Referring now toFIG.2, a product seller50may desire to provide product listings on multiple e-commerce websites, shown as e-commerce websites 1 through N. Each e-commerce website may have its own schema for organizing product information, shown as schemas 1 through N. Each schema may have its own taxonomy structure and product attribute fields. That is, the taxonomies and product attributes across the e-commerce websites, 1 through N, may be unique. For example, a product categorization in the taxonomy of schema 1 may not be present in the taxonomy of schema 2. Likewise, product attributes dictated by schema 1 may not be present in the product attributes of schema 2. This is true because each schema may be unique to its own website as determined by the website operators.

Referring now toFIG.3, there is depicted a mapping server100for automatically mapping taxonomy and product attributes between different schemas used by e-commerce websites. In particular, the product seller50may define product listings according to a source schema of an e-commerce website A. That is, the e-commerce website A requires that the product seller50provide taxonomy and product attribute information unique to the source schema. In an illustrative embodiment, the taxonomy and product attribute information for the products is entered manually through a computer in accordance with schema 1. In an illustrative embodiment, the taxonomy and product attribute information entered is for at least one product listing. In an illustrative embodiment, the taxonomy and product attribute information are for at least one hundred product listings. The taxonomy and product attribute information for the products entered pursuant to source schema is stored in a product database on an electronic storage medium.

At a future time, the product seller50may also desire to provide product listings on the e-commerce website B. In lieu of having the product seller50manually re-enter the product information according to a target schema, the mapping server100automatically maps the product information provided under the source schema to the target schema in the manner that will be described below. The taxonomy and product attribute information for the products entered pursuant to the target schema is stored in a product database on an electronic storage medium.

The mapping server100includes a processor102and a memory104. The server100further includes a mapping program106stored on a tangible computer medium, such as, for example, one or more various types of memory, such as, for example, memory104. The program106contains instructions, that when executed by the processor102, causes the processor102to automatically map product taxonomy and attribute information from the source schema to the target schema. The server100can also include a plurality of database servers (not shown) that warehouse data regarding e-commerce conducted through the server100. The server100may include a database of master attributes for the product listings as will be described in more detail herein after.

As understood by those skilled in the art, the memory104of the server100can include volatile and nonvolatile memory known to those skilled in the art including, for example, RAM, ROM, and magnetic or optical disks, just to name a few. It should also be understood by those skilled in the art that although illustrated as a single server, the illustrated configuration of the server100is given by way of example and that other types of servers or computers configured according to various other methodologies known to those skilled in the art can be used.

The server100shown schematically in, for example,FIG.3may represent a server or server cluster or server farm and is not limited to any individual physical server. The server site may be deployed as a server farm or server cluster managed by a server-hosting provider. The number of servers and their architecture and configuration may be increased based on usage, demand and capacity requirements for the system.

Similarly, database servers (not shown) may connected to the server100, each database server representing a server or server cluster or server farm and are not limited to any individual physical server or configuration.

As further understood by those skilled in the art, the program106can be in the form of microcode, programs, routines, and symbolic languages that provide a specific set or sets of ordered operations that control the functioning of the hardware and direct its operation, as known and understood by those skilled in the art. The program106, according to an embodiment of the present invention, also need not reside in its entirety in volatile memory, but can be selectively loaded, as necessary, according to various methodologies as known and understood by those skilled in the art. As further understood by those skilled in the art, the term “computer-readable medium” encompasses distribution media, intermediate storage media, execution memory of a computer, and any other medium or device capable of storing the program106implementing the functionality or processes of various embodiments of the present invention for later reading by a computer. The program106can be copied from the computer-readable medium to a hard disk or a similar intermediate storage medium.

When the program106, or portions thereof, is to be run, it can be loaded either from its distribution medium or its intermediate storage medium into the execution memory of the server100, configuring the server100to act in accordance with the functionality or method of various embodiments of this invention. All such operations are well known to those skilled in the art of computer systems.

According to an exemplary embodiment of the present invention, the program106can include a set of instructions that when executed by the processor102, causes the server100, to perform the operations of mapping the product taxonomy and attribute information organized pursuant to a source schema to the organization of a target schema. It will be appreciated that the program106eliminates the need for the product seller50to manually enter the information pursuant to the target schema. It will be further appreciated that a product's categorization pursuant to a given taxonomy may be considered a product attribute for purposes of this disclosure. It will be further appreciated, that the information exchanged between the mapping server100and the e-commerce websites A and B may be transmitted over a network, such as the Internet.

Referring now toFIGS.3and4, there are depicted flow diagrams of a general overview of the algorithm of the mapping program106for mapping between different schemas. As shown, the program106causes the processor102to first reverse map at least one of the product attributes and taxonomy information defined in the source schema to populate a master attribute table. The master attribute table may be stored in a database.

The reverse map may be unique to the source schema. The reverse map may be stored in a database. Using the master attribute table, the program106then causes the processor102to map the entries in the master attribute table to the target schema. The mapping from the master attribute table to target schema may be unique. It will be appreciated that once created, that the master attributes may be utilized to map to multiple schemas. But, it will be appreciated that each mapping to a target schema is unique.

Referring now toFIG.5, there are shown multiple examples, Examples A-G, of mappings from a source schema to a target schema by the server100using a reverse mapping and an assignment mapping. Each of these examples will be explained below.

Example A

This example demonstrates that a single product attribute in the source schema may be reverse mapped to multiple master attributes in the master attribute table. This example further demonstrates that multiple master attributes may be mapped to a taxonomy categorization in the target schema. This example further demonstrates that a single master attribute may be mapped to a product attribute in the target schema.

Example B

This example demonstrates that multiple product attributes in the source schema may be reversed mapped to determine a single master attribute. This example further demonstrates that a single master attribute may be mapped to determine multiple product attributes and a taxonomy categorization in the target schema.

Example C

This example demonstrates that a taxonomy categorization in the source schema may be reverse mapped to a master attribute. This example further demonstrates that a master attribute may be mapped to a product attribute in the target schema.

Example D

This example demonstrates that multiple master attributes may be mapped to a single taxonomy categorization in the target schema.

Example E

This example demonstrates that a product attribute in the source schema may be reverse mapped to a master attribute that is then mapped to multiple product attributes in the target schema as well as a taxonomy categorization.

Example F

This specific example demonstrates that a product attribute in the source schema may be reversed mapped to a master attribute in the master attributes table, and a different product attribute in the target schema.

Example G

This example demonstrates a specific example of how a taxonomy categorization in the source schema is mapped to a taxonomy categorization in the target schema. In this example, the target schema may not have a category for wedding rings in its taxonomy, but may have a taxonomy categorization for female gifts.

From the above examples, it will be appreciated that there is not necessarily a one-to-one correspondence between the source schema, master attributes, and the target schema. As used herein, the term “schema” may refer to the underlying organizational structure of the taxonomy and product attributes for organization of product information on an e-commerce website. It will be appreciated that the taxonomy categorization and the product attributes in the source and target schemas may be stored as name/value pairs in a database. It will be further appreciated that the master attributes may be stored as name/value pairs in a database.

Referring now toFIG.6, in an illustrative embodiment, the product seller50may directly enter product attributes into the master attribute table52such that no reverse mapping is required. The master attributes in the master attribute table may then be mapped to the schemas of different e-commerce websites, e-commerce websites 1-N, using unique assignment mappings 1-N.

Referring now toFIG.7, there is depicted a flow diagram of a computer-implemented process200for mapping at least one of product attributes and taxonomy information from a source schema to a target schema according to an illustrative embodiment of the present disclosure. The process200may be performed by the processor102of the mapping server100shown inFIG.3. That is, the process200may be embodied in the mapping program106that is executed by the processor102. At step202, a master table is defined as an organizational structure in a computer database. The master table may include a column of master attributes and master taxonomies. Associated with each of the master attributes and master taxonomies are fields for data entry. At step204, a computer-assisted reverse mapping from a source schema to the master table is defined. At step206, a first assignment mapping from the master table to a first target schema and a second assignment mapping to a second target schema are defined. At step208, at least one of product attributes and taxonomy information defined in the source schema is reverse mapped using the reverse mapping to populate fields in the master table. At step210, the product information in the fields of the master table is mapped to the first target schema using the first assignment mapping and, optionally, the product information in the fields of the master table is mapped to the second target schema using the second assignment mapping. It will be appreciated that additional assignment mappings may be defined to map the information in the master table to additional target schemas.

In an illustrative embodiment, the present disclosure provides an e-commerce system comprising: a processor; a memory coupled to the processor; wherein the computer-readable instructions stored in the memory, when executed by the processor, cause the processor to perform the operations of (i) apply a pre-defined reverse mapping to product attributes defined in the source schema to populate a master attribute table with master attributes, and (ii) apply a first pre-defined assignment mapping to the master attributes in the master attribute table to define product attributes in a first target schema. The present disclosure may further provide an e-commerce system described above, wherein the computer-readable instructions are further operable, when executed by the processor, to cause the processor to perform the operations of applying a second pre-defined assignment mapping to the master attributes in the master attribute table to define product attributes in a second target schema. The present disclosure may further provide an e-commerce system described above, wherein the computer-readable instructions are further operable, when executed by the processor, to cause the processor to perform the operations of applying a third pre-defined assignment mapping to the master attributes in the master attribute table to define product attributes in a third target schema. The present disclosure may further provide an e-commerce system described above, wherein the computer-readable instructions are further operable, when executed by the processor, to cause the processor to perform the operations of applying the pre-defined reverse mapping to product taxonomy information defined in the source schema to populate the master attribute table with master product taxonomy information. The present disclosure may further provide an e-commerce system described above, wherein the computer-readable instructions are further operable, when executed by the processor, to cause the processor to perform the operations of applying the first pre-defined assignment mapping to the product taxonomy information in the master attribute table to define product taxonomy information in the first target schema. The present disclosure may further provide an e-commerce system described above, wherein the computer-readable instructions are further operable, when executed by the processor, to cause the processor to perform the operations of populating a product hierarchy of an e-commerce website with the product attributes defined in the first target schema. The present disclosure may further provide an e-commerce system described above, wherein the product attributes define a product listing for at least one product offered for sale online. The present disclosure may further provide an e-commerce system described above, wherein the product attributes define a product listing for at least one hundred products offered for sale online.

In an illustrative embodiment, the present disclosure provides a method of mapping schema data between a source schema and a target schema, said method comprising: defining, using a mapping server, a reverse mapping for mapping at least one of product attributes and taxonomy information defined in the source schema to entries of a master table; and defining, using the mapping server, a first assignment mapping for mapping entries in the master table to the first target schema. The present disclosure may further provide the method described above, further comprising applying, using the mapping server, the reverse mapping to at least one of product attributes and taxonomy information defined in the source schema to populate entries of the master table. The present disclosure may further provide the method described above, further comprising applying, using the mapping server, the first assignment mapping to the entries of the master attribute table to map the entries to the first target schema. The present disclosure may further provide the method described above, further comprising defining, using the mapping server, a second assignment mapping for mapping entries in the master table to a second target schema. The present disclosure may further provide the method described above, further comprising applying, using the mapping server, the second assignment mapping to the entries of the master table to map the entries to the second target schema. The present disclosure may further provide the method described above, further comprising defining, using the mapping server, a third assignment mapping for mapping entries in the master table to a third target schema. The present disclosure may further provide the method described above, further comprising applying, using the mapping server, the third assignment mapping to the entries of the master table to map the entries to the third target schema. The present disclosure may further provide the method described above, further comprising mapping taxonomy information in the source schema to entries in the master table. The present disclosure may further provide the method described above, further comprising mapping entries in the master table to taxonomy fields in the first target schema. The present disclosure may further provide the method described above, further comprising mapping entries in the master table to product attribute fields in the first target schema. The present disclosure may further provide the method described above, wherein the at least one of the product attributes and taxonomy information define a product listing for at least one product offered for sale online.

In an illustrative embodiment, the present disclosure may further provide a computer-implemented method of mapping product attributes from a source schema to a target schema, said method comprising: defining a master attribute table using a mapping server; defining a reverse mapping from the source schema to a master attribute list using the mapping server; defining an assignment mapping from the master attribute list to the target schema using the mapping server; processing, with the mapping server, product attributes in the source schema to populate master attributes in the master attribute table using the reverse mapping; and processing, with the mapping server, the master attributes in the master attribute table to define product attributes in the target schema.

In the foregoing Detailed Description, various features of the present disclosure are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed disclosure requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the following claims are hereby incorporated into this Detailed Description of the Disclosure by this reference, with each claim standing on its own as a separate embodiment of the present disclosure.

It is to be understood that the above-described arrangements are only illustrative of the application of the principles of the present disclosure. Numerous modifications and alternative arrangements may be devised by those skilled in the art without departing from the spirit and scope of the present disclosure and the appended claims are intended to cover such modifications and arrangements. Thus, while the present disclosure has been shown in the drawings and described above with particularity and detail, it will be apparent to those of ordinary skill in the art that numerous modifications, including, but not limited to, variations in size, materials, shape, form, function and manner of operation, assembly and use may be made without departing from the principles and concepts set forth herein.