WO2000010110A1 - An electronic software distribution system - Google Patents

An electronic software distribution system Download PDF

Info

Publication number
WO2000010110A1
WO2000010110A1 PCT/US1999/018299 US9918299W WO0010110A1 WO 2000010110 A1 WO2000010110 A1 WO 2000010110A1 US 9918299 W US9918299 W US 9918299W WO 0010110 A1 WO0010110 A1 WO 0010110A1
Authority
WO
WIPO (PCT)
Prior art keywords
title
store
epos
software
tree
Prior art date
Application number
PCT/US1999/018299
Other languages
French (fr)
Inventor
Chun An Lee
S. Mockus Darrell
Original Assignee
Release Software Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Release Software Corporation filed Critical Release Software Corporation
Priority to AU56731/99A priority Critical patent/AU5673199A/en
Publication of WO2000010110A1 publication Critical patent/WO2000010110A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Definitions

  • the present invention relates to electronic software distribution, and more specifically, to a rapid deployment system for electronic software distribution.
  • ESD electronic software distribution
  • the ePOS may be a conventional World Wide Web site, for example, and may represent a software reseller or publisher, such as Egghead, @Home, or Adobe.
  • the software can be downloaded to the user and the user can make payment electronically via the network, without a need for physical storage medium or physical remuneration.
  • a user can select a software title, download it, and pay for it without leaving the computer.
  • These stores may be either implemented by the respective software resellers or publishers, or implemented by a single company who provides software titles for distribution through numerous ePOS locations.
  • a company can provide multiple different types of ePOS sites.
  • an ePOS location may be maintained for a general software reseller, such as Egghead. Egghead carries various software titles.
  • Another ePOS location may be for the Sports Connection. The Sports Connection may carry only sport related software titles.
  • the layout of the store, the user interface, and the shopping experience are different between different ePOS sites. If a single company wishes to maintain multiple ePOS sites, this entails considerable work. Each store has to be set up separately.
  • the user interface vanes widely between stores. For example, Egghead wants a user logging into Egghead's site to see a splash screen indicating that he or she is on the Egghead site. Additionally, the navigation and layout depends on the site. A company wishing to maintain multiple ePOS sites generally sets up each of these ePOS sites separately from scratch.
  • a software category tree is set up for each ePOS site.
  • the software category tree permits a user to search by sub j ect for any software title.
  • the tree may include a trunk that is all software titles, a main branch for games, etc.
  • This type of categorization is highly dependent on the type of site. It is complex and takes a long time to set up a software category tree.
  • the setting up of the software category tree requires a trained programmer to set up at each ePOS site. Additionally, each time a title is added it needs to be placed into the software category tree for each ePOS site. This is time consuming, and usually requires a human operator, since judgment decisions have to be made.
  • a software distribution system is described.
  • a method for supporting multiple stores on a network, each store having a unique software category tree for organizing software titles available through the store is desc ⁇ bed.
  • the method of adding a title comprises the steps of receiving a new title into the title database.
  • the new title is classified into a microcategory.
  • a software category tree node associated with the microcategory is identified for each of the multiple stores.
  • the new title is linked to the software category tree node in each of the plurality of stores.
  • a method of establishing an electronic point of sale (ePOS) comprises the steps of receiving characteristic information.
  • a system for generating an electronic point of sale (ePOS) the system comprises a receiver for receiving characteristic information about the ePOS.
  • the template further includes a layout generator for generating a layout for the ePOS based on the characteristic information received by the receiver.
  • the template further includes a tree generator for generating a software category tree based on the characteristic information from a template.
  • the template includes a modification tool for modifying the software category tree from the template.
  • Figure 1 is a block diagram of a network system in which the present invention may be implemented.
  • Figure 2 is a block diagram of one embodiment of a rapid deployment unit.
  • Figure 3 is a sample user interface for an ePOS.
  • Figure 4 is a sample software library tree including micro-categories.
  • Figure 5 is a block diagram showing one embodiment of the relationship of the catego ⁇ es in the database.
  • Figure 6 is a flowchart of establishing and breaking links between titles in a title library and store software library trees.
  • FIG. 7 is a flowchart of the process of setting up an ePOS site.
  • a software distribution system is desc ⁇ bed.
  • the software distribution system permits rapid establishment of electronic stores, or electronic points of sale (ePOS).
  • ePOS electronic points of sale
  • Each of these ePOS includes an inventory of software titles.
  • the software distribution system further enables rapid distribution of new titles into multiple electronic points of sale (ePOS).
  • the software distribution system supports unlimited number of ePOS having customized features, a shared title library, and ePOS specific software library tree.
  • FIG. 1 is a block diagram of a network system in which the present invention may be implemented.
  • the user 110 is connected to a network 120.
  • the network 120 is the Internet, a local area network (LAN), or another type of network.
  • the user 110 may connect to the network 120 through a modem, Ethernet link, local area network (LAN), etc.
  • a number of ePOS sites 130 are also coupled to the network 120.
  • the ePOS sites 130 may be hosted on separate server systems connected to network 120. Alternatively, multiple ePOS sites 130 may be located on a single server.
  • Each ePOS site 130 is accessible to the user 110 through the network 120.
  • each ePOS site 130 has a separate
  • the ePOS sites 130 access a database 140 for software titles, as will be described below.
  • the database 140 may be a distributed database distributed across multiple locations.
  • the database 140 may reside on the same server as an ePOS site 130.
  • Each ePOS site 130 accesses a title library including those software titles that may be downloaded from the ePOS site 130.
  • the ePOS 130 may further include titles that are sold via mail only.
  • the title library may be maintained on a central server database 150 accessed by each ePOS site 130, it may be distributed across multiple servers, or each ePOS site 130 may maintain its own title library.
  • a rapid deployment unit 150 is also coupled to the network 120.
  • the rapid deployment unit 150 permits rapid deployment of new ePOS locations, and addition of new titles to existing ePOS locations, as will be desc ⁇ bed below.
  • Figure 2 is a block diagram of one embodiment of a rapid deployment unit 150.
  • the rapid deployment unit 150 may be accessible through the network or a dial-up connection, permitting certain companies to implement their own ePOS locations, without direct support.
  • the rapid deployment unit 150 includes a receiver 220, a layout generator 230, a tree generator
  • the receiver 220 receives information about the store to be established.
  • this characteristic information may include a store name, a logo, a color scheme for the store, and a store type.
  • the store type defines what types of software are sold at the store.
  • a store type may be "sports oriented software" or "general software.”
  • other types of information may be included.
  • the target audience i.e. adults, children, teens, etc.
  • the layout generator 230 uses the information in the database 260 to generate a template for a store layout.
  • the layout generator may include prebuilt store layouts for multiple types of stores.
  • the modification tool 260 allows customization of this layout.
  • the rapid deployment unit 150 permits the user to save the customized layout as a template for future store deployment.
  • the layout includes a number of elements, including core components and a user interface.
  • Core components are shared among all stores.
  • all stores have a uniform access mechanism to access data from a database.
  • all stores access the same database.
  • core components include: shopping cart, tax calculation, shipping calculation, search engine, order form, receipt, download area, and order processing.
  • other core components may include featured products, hits, and deals. Because the core components are shared, adding a new store does not require additional work to support the core components.
  • the core components may be customized, for example in display format, using the modification tool 250. For one embodiment, by sharing core components, if core components are modified, this modification carries through to all of the ePOS that use the core components.
  • the change may be implemented across all stores by changing it in the core component database. This simplifies modifications across all stores. Because stores are different, e.g. they may range from a golf specialty store to a generic software distributor, the user interface vanes widely.
  • the layout unit generates a user interface (UI) for a new ePOS. If the store charactenstics are available, the user interface is semi-customized based on the logo, splash screen designs, and store type. The user interface typically demands greater degree of customization.
  • the modification tool 250 permits customization of the user interface.
  • the tree generator 240 generates a category tree to organize the software titles for access. Such organization depends on the type of store, type of expected consumer, etc.
  • the tree generator 240 may be used to generate a category tree that is non-customized, partially customized, or fully customized.
  • a category tree can be constructed by duplicating an existing tree from another store. Full customization is supported through construction of the tree from a basic template representing a tree structure.
  • the database is designed in such a way that there is no restriction on how many honzontal or vertical levels the category tree can have, allowing maximum degree of flexibility.
  • the partially customized category tree takes as its template an existing tree, and modifies it for the store. For example, once one sports store has been established, it is likely that a different sports store would want a similar category tree. The category tree can then be partially customized.
  • the category tree is implemented as a database table.
  • the database table that supports software category tree system is tblSwCategory. tblSwCategory
  • Each store has a root note, which is defined as a category item that has
  • SWChildJGD ! 255.
  • the modification tool 250 further can add custom features to the store.
  • Custom features are a unique functionality added to one or more stores. By default they are not shared among all stores. An example of a custom feature is special tax calculation for Canadian stores.
  • custom features are implemented as server components that can be turned into standard features.
  • the modification tool 250 is a standard interface editing tool that may be used to modify the layout generated by the layout generator.
  • the modification tool 250 is distributed between the other structures, such that there is a separate modification tool incorporated into the layout generator and the tree generator.
  • a title library is shared between all stores.
  • the title library is in the database 140.
  • the micro -category system is desc ⁇ bed in more detail below. Addition of titles to a new store also supports a cookie-cutter mechanism. This can be done as part of the category tree duplication process.
  • the title library structure is descnbed in more detail with respect to Figure 7.
  • Figure 3 is a sample user interface for an ePOS.
  • the ePOS includes a logo 320.
  • the ePOS 310 also displays a plurality of software titles 370 organized into vanous overview categones 330.
  • the overview categones 330 are illustrated as folders. This can be changed for each ePOS 310. Alternately, no images of software titles 370 are displayed.
  • a list of the highest level of a software category tree 340 is displayed, labeled "departments". This indicates the types of software earned by this particular ePOS.
  • the ePOS 310 is a general software store.
  • the ePOS may be a games-only store, a sports focus store, a store specializing in software from a particular vendor, etc.
  • this special section 350 displaying hits, deals, and bargains, are core components of every ePOS.
  • this special section 350 may be displayed larger, for example, in place of the software titles 370.
  • a search function 360 is also displayed.
  • the search section 360 is a core component, that exists across all ePOS sites, for one embodiment. Alternatively, or in addition to the simple search, a power search, or another type of search, may be implemented.
  • Figure 4 is a sample software library tree including micro-categones. Figure 4 illustrates two stores, Store A 410 and Store B 450.
  • Store A 410 is a general software store.
  • Store B 450 is a specialty software games store.
  • Store A 410 includes a first tier 420 of a software library tree 415.
  • the first tier 420 includes items such as Business Applications and Games. Of course, other categories may be included. These items on the software library tree 415 are illustrated merely as an example. For one embodiment, up to 255 items may be included in the first tier 420 of Store A 410.
  • the second tier 430 are items that are organized under the first tier 420 catego ⁇ es. For example, under the business applications category 420, accounting and finance are illustrated as second tier 430 items. For finance 430, a third tier 440 is also illustrated. For one embodiment, there may be up to 255 tiers, each with up to 255 items.
  • Microcatego ⁇ es 445 are associated with a node in the software library tree 415.
  • the node is the lowest level tier for the sub j ect, for one embodiment.
  • Multiple microcategories 445 are shown associated with a second tier 430 item, 'Action games'.
  • the microcategories 445 associated with the item 'Action games' include 'killer hand- to-hand', 'shoot' em up games', and 'dragons and mazes'. Of course, other microcategories may be associated with the node. Additionally, the microcategory 'dragons and mazes' is also associated with the second tier node 430 'Strategy games'. A microcategory may be associated with multiple nodes in a single store. For one embodiment, the placement of the titles in the microcategones is independent of the software library tree 415.
  • Store B 450 carries only games, and has first tier categones 460 of 'Sports Games' and 'Action Games'
  • the category 'Action Games' 460 includes two sub- categones. These tier two subcategones 470 are 'Bloody Action' and 'Kinder and
  • FIG. 5 is a block diagram illustrating one embodiment of the connections between items in the title library database structure.
  • the database structure may be a table structure, for one embodiment.
  • the database structure may be a multi-dimensional array, or another type of database structure.
  • the title library database structure is as follows:
  • the tblPackage 510 includes the information for vanous software packages.
  • the version identification (ID) identifies a version of each software package, and is linked to the tblVersions 530.
  • the category ID identifies the microcategory of each software title and is linked to the tblCategory 550.
  • the tblPackage 510 also includes the pnce of each software package.
  • the tblTitles 520 includes information about each of the software titles.
  • the tblTitles 520 includes the title name, and a description of each of the titles.
  • the tblTitles 520 also includes the title ID linked from the tblVersions 530.
  • a category ID, identifying the microcategory of each title is also included in the tblTitles 520, and is further linked to the tblCategory 550.
  • the tblVersions 530 identifies the vanous versions of each software title.
  • the tblVersions 530 includes a version ID, linked from the tblPackage 510.
  • the tblVersions 530 further includes a platform identifying the computer platform(s) on which the version runs and sell options.
  • the tblVersions 530 also includes the title ID linked to the tblTitles 520.
  • the tblCategory 550 includes a parent ID, identifying the parent, or hierarchically higher ordered categories to which this category is related.
  • the tblCategory 550 further includes the category ID identifying a microcategory associated with each category in the software tree.
  • the tblCategory 550 further includes a store ID linked to the tblStores 560.
  • the tblCategoryDescnption 540 includes a desc ⁇ ption of each category, and a category ID.
  • the category ID is linked to the tblCategory 550.
  • the tblStores 560 includes a store ID and a store name. These catego ⁇ es explain one version of the interrelationship between the categones in the database. Alternative interrelationships may be implemented.
  • Figure 6 is a flowchart of establishing and breaking links between titles in a title library and store software library trees.
  • the process is started. For one embodiment, the process is started whenever a new title designated for general distribution is added to the title library. For one embodiment, some titles are designated for only special or narrow distribution. This process is not initiated for those titles, and those titles are not added into the same micro categones as general distribution titles.
  • the new title is assigned to a microcategory.
  • the title information entered into the title database already includes the microcategory for the title.
  • the microcategory information is entered at block 620.
  • the process tests whether a link has been established with all stores. If the link has not been established with all stores, the process continues to block 630. Otherwise, the process continues to block 660.
  • the category node of the software library tree associated with the microcategory of the current title is determined. As shown in Figure 4, the microcategory is associated with one or more nodes of the store. For one embodiment, a store does not include all microcatego ⁇ es. Therefore, if the store does not have a microcategory, a null node is returned.
  • a link is established between the category node of the software library tree and the current title.
  • the microcategory is only used to determine where to establish a link between the software library trees in the stores and the titles. Thus this link is a direct link.
  • the process then returns to block 630, to determine whether a link has been established with all stores. This process is very fast.
  • the links are established in parallel, rather than in se ⁇ es.
  • the process tests whether there are any special instructions regarding any titles.
  • the special instructions may include deletion of a title from a store, deletion of a title from all stores, or modification of a title in or more stores. For one embodiment, if a title is to be modified in all stores, the process deletes the title, and reenters the modified title. If there are no special instructions, the process continues to block 665 and ends. Otherwise, the process continues to block 670.
  • the process determines whether the special instruction is a deletion of a title from all stores. If it is, the process continues to block 675. Otherwise, the process continues to block 680.
  • the title is deleted from the title database. This severs all links between the title and category nodes in the vanous stores. This automatically removes the title from all stores. For one embodiment, any modified copies of the title are also linked to the title in the title database, and are also deleted. The process then returns to block 665, and ends.
  • the process continues to block 680.
  • the process breaks the link between the category node in the store and the title.
  • the process determines whether the special instruction was a deletion or a modification. If the special instruction was a deletion of a title from a store, the process returns to block 665, and ends. Otherwise, the process continues to block 690.
  • the title is copied to the store, and modified appropnately, and a new link is established between the modified title and the appropnate category node. In this way, the modified title appears in the appropnate category node in the particular store. The process then returns to block 665, and ends.
  • Figure 7 is a flowchart of the process of setting up an ePOS site.
  • the process starts.
  • the process is initiated when a request is received to establish a new store, or electronic point of sale.
  • this request may be received from a store that wishes to establish an electronic presence, or from a company that wishes to sell its software electronically.
  • charactenstic information about the store is received.
  • the charactenstic information may include only the store type and location.
  • the charactenstic information may include enough information to provide a semi- customized site without any further input.
  • the charactenstic information may include the store name, a store logo, a color scheme, a splash screen for the store. Additionally, any further information that may be used to customize, or semi-customize the store, may be received as part of the charactenstic information. If no information is received, the store is assumed to be a general software store carrying all types of software.
  • a template is retrieved for the store.
  • the process may auto-select the template type based on the charactenstic information.
  • a user may select from among a plurality of templates that are displayed to the user.
  • the template includes core components, a user interface, and a category tree.
  • the category tree is selected based on the store type.
  • a genenc category tree template is selected, which may be customized by the user or the modification tool 250.
  • the process determines whether customization is needed. For one embodiment, this decision is made by a user implementing the store. For another embodiment, the process automatically determines if customization is needed, based on the amount of information received at block 720. For one embodiment, the user can overnde the automatic determination. If no customization is needed, the process continues directly to block 760. Otherwise, the process continues to block 750.
  • the process continues to block 750.
  • the elements that need customization are customized. For one embodiment, this is done by a user.
  • the process determines what items need to be customized, and prompts the user using a template wizard type application. For example, if no store name was entered, the process may prompt the user to enter a store name, or to indicate a location at which the store name may be found. Similarly, for an absence of a tree structure definition, the process may prompt the user to select among preset tree structures. Alternatively, the user may override the prompting, and program the customized features directly. The process then returns to block 760.
  • microcategories are associated with category nodes on the software library tree. Again, this may be done by a user, automated based on an intelligent agent that evaluates the titles of the nodes of the software library tree and the microcategories, or using a template wizard.
  • links are established between the category nodes and titles in each microcategory. As described above with respect to Figure 6, a direct link is established between the title and the store. This permits deletion and modification of the titles on an individual store basis.
  • the store is deployed.
  • the store is initially deployed to a Quality Assurance (QA) site.
  • the store is then tested at the QA site, and only after testing is the store deployed as an ePOS site accessible to the public.
  • QA Quality Assurance
  • the establishment of an ePOS site accessible to the public is simplified. For one embodiment, this process reduces the time spent to establish an electronic point of sale from a couple of days by a trained programmer to generally less than one hour by a non-programmer.

Abstract

A software distribution system is described. A method for supporting multiple stores on a network, each store having a unique software category tree for organizing software titles available through the store is described. For one embodiment, the method of adding a title comprises the steps of receiving a new title into the title database. The new title is classified into a microcategory. A software category tree node associated with the microcategory is identified for each of the multiple stores. The new title is linked to the software category tree node in each of the plurality of stores. For one embodiment, a method of establishing an electronic point of sale (ePOS) comprises the steps of receiving characteristic information. A system for generating an electronic point of sale (ePOS), the system comprises a receiver for receiving characteristic information about the ePOS. The template further includes a layout generator for generating a layout for the ePOS based on the characteristic information received by the receiver. The template further includes a tree generator for generating a software category tree based on the characteristic information from a template. Finally, the template includes a modification tool for modifying the software category tree from the template.

Description

AN ELECTRONIC SOFTWARE DISTRIBUTION SYSTEM FIELD OF THE INVENTION The present invention relates to electronic software distribution, and more specifically, to a rapid deployment system for electronic software distribution. BACKGROUND
Software products have traditionally been distributed to consumers on physical storage media, such as magnetic disks and tapes, and optical media, such as CD-ROMs, DVDs, etc. However, this form of distribution is being rapidly replaced by electronic software distribution (ESD). With ESD, a consumer can use a computer to purchase software from an electronic point of sale (ePOS) or "store."
The ePOS may be a conventional World Wide Web site, for example, and may represent a software reseller or publisher, such as Egghead, @Home, or Adobe. The software can be downloaded to the user and the user can make payment electronically via the network, without a need for physical storage medium or physical remuneration. Using his or her computer, a user can select a software title, download it, and pay for it without leaving the computer.
These stores may be either implemented by the respective software resellers or publishers, or implemented by a single company who provides software titles for distribution through numerous ePOS locations. A company can provide multiple different types of ePOS sites. For example, an ePOS location may be maintained for a general software reseller, such as Egghead. Egghead carries various software titles. Another ePOS location may be for the Sports Connection. The Sports Connection may carry only sport related software titles. Thus, the layout of the store, the user interface, and the shopping experience are different between different ePOS sites. If a single company wishes to maintain multiple ePOS sites, this entails considerable work. Each store has to be set up separately.
The user interface vanes widely between stores. For example, Egghead wants a user logging into Egghead's site to see a splash screen indicating that he or she is on the Egghead site. Additionally, the navigation and layout depends on the site. A company wishing to maintain multiple ePOS sites generally sets up each of these ePOS sites separately from scratch.
Furthermore, a software category tree is set up for each ePOS site. The software category tree permits a user to search by subject for any software title. Thus, for example, the tree may include a trunk that is all software titles, a main branch for games, etc. This type of categorization is highly dependent on the type of site. It is complex and takes a long time to set up a software category tree. The setting up of the software category tree requires a trained programmer to set up at each ePOS site. Additionally, each time a title is added it needs to be placed into the software category tree for each ePOS site. This is time consuming, and usually requires a human operator, since judgment decisions have to be made.
As can be seen, prior art methods of maintaining multiple ePOS sites are complicated and involve a lot of time and effort.
SUMMARY OF THE INVENTION A software distribution system is described. A method for supporting multiple stores on a network, each store having a unique software category tree for organizing software titles available through the store is descπbed. For one embodiment, the method of adding a title comprises the steps of receiving a new title into the title database. The new title is classified into a microcategory. A software category tree node associated with the microcategory is identified for each of the multiple stores. The new title is linked to the software category tree node in each of the plurality of stores. For one embodiment, a method of establishing an electronic point of sale (ePOS) comprises the steps of receiving characteristic information. A system for generating an electronic point of sale (ePOS), the system comprises a receiver for receiving characteristic information about the ePOS. The template further includes a layout generator for generating a layout for the ePOS based on the characteristic information received by the receiver. The template further includes a tree generator for generating a software category tree based on the characteristic information from a template. Finally, the template includes a modification tool for modifying the software category tree from the template. BRIEF DESCRIPTION OF THE DRAWINGS
The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
Figure 1 is a block diagram of a network system in which the present invention may be implemented.
Figure 2 is a block diagram of one embodiment of a rapid deployment unit. Figure 3 is a sample user interface for an ePOS. Figure 4 is a sample software library tree including micro-categories. Figure 5 is a block diagram showing one embodiment of the relationship of the categoπes in the database. Figure 6 is a flowchart of establishing and breaking links between titles in a title library and store software library trees.
Figure 7 is a flowchart of the process of setting up an ePOS site. DETAILED DESCRIPTION A software distribution system is descπbed. The software distribution system permits rapid establishment of electronic stores, or electronic points of sale (ePOS). Each of these ePOS includes an inventory of software titles. The software distribution system further enables rapid distribution of new titles into multiple electronic points of sale (ePOS). The software distribution system supports unlimited number of ePOS having customized features, a shared title library, and ePOS specific software library tree.
Figure 1 is a block diagram of a network system in which the present invention may be implemented. The user 110 is connected to a network 120. For one embodiment, the network 120 is the Internet, a local area network (LAN), or another type of network. The user 110 may connect to the network 120 through a modem, Ethernet link, local area network (LAN), etc. A number of ePOS sites 130 are also coupled to the network 120. The ePOS sites 130 may be hosted on separate server systems connected to network 120. Alternatively, multiple ePOS sites 130 may be located on a single server. Each ePOS site 130 is accessible to the user 110 through the network 120. For one embodiment, each ePOS site 130 has a separate
DNS address and is accessed through the World Wide Web.
The ePOS sites 130 access a database 140 for software titles, as will be described below. For one embodiment, the database 140 may be a distributed database distributed across multiple locations. For another embodiment, the database 140 may reside on the same server as an ePOS site 130. Each ePOS site 130 accesses a title library including those software titles that may be downloaded from the ePOS site 130. For one embodiment, the ePOS 130 may further include titles that are sold via mail only. The title library may be maintained on a central server database 150 accessed by each ePOS site 130, it may be distributed across multiple servers, or each ePOS site 130 may maintain its own title library.
For one embodiment, a rapid deployment unit 150 is also coupled to the network 120. The rapid deployment unit 150 permits rapid deployment of new ePOS locations, and addition of new titles to existing ePOS locations, as will be descπbed below. Figure 2 is a block diagram of one embodiment of a rapid deployment unit 150. For one embodiment, the rapid deployment unit 150 may be accessible through the network or a dial-up connection, permitting certain companies to implement their own ePOS locations, without direct support. For one embodiment, the rapid deployment unit 150 includes a receiver 220, a layout generator 230, a tree generator
240, a modification tool 250, and a database 260.
The receiver 220 receives information about the store to be established. For one embodiment, this characteristic information may include a store name, a logo, a color scheme for the store, and a store type. For one embodiment, the store type defines what types of software are sold at the store. For example, a store type may be "sports oriented software" or "general software." Alternatively, other types of information may be included. For example, the target audience, i.e. adults, children, teens, etc. For one embodiment, if no information is received about the store, the store is assumed to be a general software store carrying all types of software. The layout generator 230 uses the information in the database 260 to generate a template for a store layout. For one embodiment, the layout generator may include prebuilt store layouts for multiple types of stores. The modification tool 260 allows customization of this layout. For one embodiment, when a layout is customized, the rapid deployment unit 150 permits the user to save the customized layout as a template for future store deployment. The layout includes a number of elements, including core components and a user interface.
Core components are shared among all stores. For one embodiment, all stores have a uniform access mechanism to access data from a database. For one embodiment, all stores access the same database. Examples of core components include: shopping cart, tax calculation, shipping calculation, search engine, order form, receipt, download area, and order processing. For one embodiment, other core components may include featured products, hits, and deals. Because the core components are shared, adding a new store does not require additional work to support the core components. For another embodiment, the core components may be customized, for example in display format, using the modification tool 250. For one embodiment, by sharing core components, if core components are modified, this modification carries through to all of the ePOS that use the core components. For example, if the sales tax changes, the change may be implemented across all stores by changing it in the core component database. This simplifies modifications across all stores. Because stores are different, e.g. they may range from a golf specialty store to a generic software distributor, the user interface vanes widely. The layout unit generates a user interface (UI) for a new ePOS. If the store charactenstics are available, the user interface is semi-customized based on the logo, splash screen designs, and store type. The user interface typically demands greater degree of customization. The modification tool 250 permits customization of the user interface.
The tree generator 240 generates a category tree to organize the software titles for access. Such organization depends on the type of store, type of expected consumer, etc. For one embodiment, the tree generator 240 may be used to generate a category tree that is non-customized, partially customized, or fully customized. For a store that does not require its own custom category tree, a category tree can be constructed by duplicating an existing tree from another store. Full customization is supported through construction of the tree from a basic template representing a tree structure. For one embodiment, the database is designed in such a way that there is no restriction on how many honzontal or vertical levels the category tree can have, allowing maximum degree of flexibility. The partially customized category tree takes as its template an existing tree, and modifies it for the store. For example, once one sports store has been established, it is likely that a different sports store would want a similar category tree. The category tree can then be partially customized.
For one embodiment, the category tree is implemented as a database table. The database table that supports software category tree system is tblSwCategory. tblSwCategory
Developer_ID:ιnt \
SwParent_ID:ιnt | pnmary key
SWChιld_ID:ιnt /
SwOrdeπint Each store has a root note, which is defined as a category item that has
SwParent_ID = 0, and SWChildJGD != 255. There is a micro-categories root defined as a category item that has
SwParentJD = 0, and SWChildJD = 255. For one embodiment, all micro-categories have SwParent_ID = 255. The modification tool 250 further can add custom features to the store. Custom features are a unique functionality added to one or more stores. By default they are not shared among all stores. An example of a custom feature is special tax calculation for Canadian stores. For one embodiment, custom features are implemented as server components that can be turned into standard features. For one embodiment, the modification tool 250 is a standard interface editing tool that may be used to modify the layout generated by the layout generator. For one embodiment, the modification tool 250 is distributed between the other structures, such that there is a separate modification tool incorporated into the layout generator and the tree generator.
A title library is shared between all stores. For one embodiment, the title library is in the database 140. Through a micro-category system, addition of new titles to all existing stores is a simple process. The micro -category system is descπbed in more detail below. Addition of titles to a new store also supports a cookie-cutter mechanism. This can be done as part of the category tree duplication process. The title library structure is descnbed in more detail with respect to Figure 7.
Figure 3 is a sample user interface for an ePOS. The ePOS includes a logo 320. The ePOS 310 also displays a plurality of software titles 370 organized into vanous overview categones 330. In this implementation, the overview categones 330 are illustrated as folders. This can be changed for each ePOS 310. Alternately, no images of software titles 370 are displayed.
A list of the highest level of a software category tree 340 is displayed, labeled "departments". This indicates the types of software earned by this particular ePOS. In this instance, the ePOS 310 is a general software store. Alternatively, the ePOS may be a games-only store, a sports focus store, a store specializing in software from a particular vendor, etc.
Additional categoπes are displayed in the special section 350 labeled "check these out." For one embodiment, this special section 350, displaying hits, deals, and bargains, are core components of every ePOS. Alternatively, this special section 350 may be displayed larger, for example, in place of the software titles 370.
A search function 360 is also displayed. The search section 360 is a core component, that exists across all ePOS sites, for one embodiment. Alternatively, or in addition to the simple search, a power search, or another type of search, may be implemented. Figure 4 is a sample software library tree including micro-categones. Figure 4 illustrates two stores, Store A 410 and Store B 450.
Store A 410 is a general software store. Store B 450 is a specialty software games store.
Store A 410 includes a first tier 420 of a software library tree 415. The first tier 420 includes items such as Business Applications and Games. Of course, other categories may be included. These items on the software library tree 415 are illustrated merely as an example. For one embodiment, up to 255 items may be included in the first tier 420 of Store A 410. The second tier 430 are items that are organized under the first tier 420 categoπes. For example, under the business applications category 420, accounting and finance are illustrated as second tier 430 items. For finance 430, a third tier 440 is also illustrated. For one embodiment, there may be up to 255 tiers, each with up to 255 items.
Microcategoπes 445 are associated with a node in the software library tree 415. The node is the lowest level tier for the subject, for one embodiment. Multiple microcategories 445 are shown associated with a second tier 430 item, 'Action games'.
The microcategories 445 associated with the item 'Action games' include 'killer hand- to-hand', 'shoot' em up games', and 'dragons and mazes'. Of course, other microcategories may be associated with the node. Additionally, the microcategory 'dragons and mazes' is also associated with the second tier node 430 'Strategy games'. A microcategory may be associated with multiple nodes in a single store. For one embodiment, the placement of the titles in the microcategones is independent of the software library tree 415.
Store B 450 carries only games, and has first tier categones 460 of 'Sports Games' and 'Action Games' The category 'Action Games' 460 includes two sub- categones. These tier two subcategones 470 are 'Bloody Action' and 'Kinder and
Gender'. Alternative subcategones may be used. The microcategories 'killer hand-to- hand' and 'shoot' em up games' are associated with the 'Bloody Action' category. The microcategory 'Dragons and Mazes' is associated with a different category, the 'Kinder and Gentler' category. As can be seen, microcategories may be in very different locations in two separate stores. Additionally, microcategoπes may be associated with multiple nodes within a single store. This permits simple distribution of titles in the title database to multiple stores and to multiple locations within each store, as will be descnbed below. Figure 5 is a block diagram illustrating one embodiment of the connections between items in the title library database structure. The database structure may be a table structure, for one embodiment. For another embodiment, the database structure may be a multi-dimensional array, or another type of database structure. For one embodiment, the title library database structure is as follows:
Figure imgf000010_0001
Figure 5 illustrates the connections between the tables. The tblPackage 510 includes the information for vanous software packages. The version identification (ID) identifies a version of each software package, and is linked to the tblVersions 530. The category ID identifies the microcategory of each software title and is linked to the tblCategory 550. The tblPackage 510 also includes the pnce of each software package. „ The tblTitles 520 includes information about each of the software titles. The tblTitles 520 includes the title name, and a description of each of the titles. The tblTitles 520 also includes the title ID linked from the tblVersions 530. A category ID, identifying the microcategory of each title, is also included in the tblTitles 520, and is further linked to the tblCategory 550.
The tblVersions 530 identifies the vanous versions of each software title. The tblVersions 530 includes a version ID, linked from the tblPackage 510. The tblVersions 530 further includes a platform identifying the computer platform(s) on which the version runs and sell options. The tblVersions 530 also includes the title ID linked to the tblTitles 520.
The tblCategory 550 includes a parent ID, identifying the parent, or hierarchically higher ordered categories to which this category is related. The tblCategory 550 further includes the category ID identifying a microcategory associated with each category in the software tree. The tblCategory 550 further includes a store ID linked to the tblStores 560.
The tblCategoryDescnption 540 includes a descπption of each category, and a category ID. The category ID is linked to the tblCategory 550. The tblStores 560 includes a store ID and a store name. These categoπes explain one version of the interrelationship between the categones in the database. Alternative interrelationships may be implemented.
Figure 6 is a flowchart of establishing and breaking links between titles in a title library and store software library trees. At block 610, the process is started. For one embodiment, the process is started whenever a new title designated for general distribution is added to the title library. For one embodiment, some titles are designated for only special or narrow distribution. This process is not initiated for those titles, and those titles are not added into the same micro categones as general distribution titles.
At block 620, the new title is assigned to a microcategory. For one embodiment, the title information entered into the title database already includes the microcategory for the title. For another embodiment, the microcategory information is entered at block 620.
At block 630, the process tests whether a link has been established with all stores. If the link has not been established with all stores, the process continues to block 630. Otherwise, the process continues to block 660. At block 640, the category node of the software library tree associated with the microcategory of the current title is determined. As shown in Figure 4, the microcategory is associated with one or more nodes of the store. For one embodiment, a store does not include all microcategoπes. Therefore, if the store does not have a microcategory, a null node is returned. At block 650, a link is established between the category node of the software library tree and the current title. For one embodiment, the microcategory is only used to determine where to establish a link between the software library trees in the stores and the titles. Thus this link is a direct link. The process then returns to block 630, to determine whether a link has been established with all stores. This process is very fast. For one embodiment, the links are established in parallel, rather than in seπes.
At block 660, the process tests whether there are any special instructions regarding any titles. The special instructions may include deletion of a title from a store, deletion of a title from all stores, or modification of a title in or more stores. For one embodiment, if a title is to be modified in all stores, the process deletes the title, and reenters the modified title. If there are no special instructions, the process continues to block 665 and ends. Otherwise, the process continues to block 670. At block 670, the process determines whether the special instruction is a deletion of a title from all stores. If it is, the process continues to block 675. Otherwise, the process continues to block 680.
At block 675, the title is deleted from the title database. This severs all links between the title and category nodes in the vanous stores. This automatically removes the title from all stores. For one embodiment, any modified copies of the title are also linked to the title in the title database, and are also deleted. The process then returns to block 665, and ends.
If the instruction is not delete all, as found at block 670, the process continues to block 680. At block 680, the process breaks the link between the category node in the store and the title.
At block 685, the process determines whether the special instruction was a deletion or a modification. If the special instruction was a deletion of a title from a store, the process returns to block 665, and ends. Otherwise, the process continues to block 690.
At block 690, the title is copied to the store, and modified appropnately, and a new link is established between the modified title and the appropnate category node. In this way, the modified title appears in the appropnate category node in the particular store. The process then returns to block 665, and ends.
Figure 7 is a flowchart of the process of setting up an ePOS site. At block 710, the process starts. Generally, the process is initiated when a request is received to establish a new store, or electronic point of sale. For one embodiment, this request may be received from a store that wishes to establish an electronic presence, or from a company that wishes to sell its software electronically.
At block 720, charactenstic information about the store is received. The charactenstic information may include only the store type and location. Alternatively, the charactenstic information may include enough information to provide a semi- customized site without any further input. For example, the charactenstic information may include the store name, a store logo, a color scheme, a splash screen for the store. Additionally, any further information that may be used to customize, or semi-customize the store, may be received as part of the charactenstic information. If no information is received, the store is assumed to be a general software store carrying all types of software.
At block 730, a template is retrieved for the store. For one embodiment, there may be only a single template. Alternatively, the process may auto-select the template type based on the charactenstic information. For yet another embodiment, a user may select from among a plurality of templates that are displayed to the user. The template includes core components, a user interface, and a category tree. For one embodiment, the category tree is selected based on the store type. For another embodiment, a genenc category tree template is selected, which may be customized by the user or the modification tool 250.
At block 740, the process determines whether customization is needed. For one embodiment, this decision is made by a user implementing the store. For another embodiment, the process automatically determines if customization is needed, based on the amount of information received at block 720. For one embodiment, the user can overnde the automatic determination. If no customization is needed, the process continues directly to block 760. Otherwise, the process continues to block 750.
If customization is needed, the process continues to block 750. At block 750, the elements that need customization are customized. For one embodiment, this is done by a user. For another embodiment, the process determines what items need to be customized, and prompts the user using a template wizard type application. For example, if no store name was entered, the process may prompt the user to enter a store name, or to indicate a location at which the store name may be found. Similarly, for an absence of a tree structure definition, the process may prompt the user to select among preset tree structures. Alternatively, the user may override the prompting, and program the customized features directly. The process then returns to block 760.
At block 760, microcategories are associated with category nodes on the software library tree. Again, this may be done by a user, automated based on an intelligent agent that evaluates the titles of the nodes of the software library tree and the microcategories, or using a template wizard. At block 770, links are established between the category nodes and titles in each microcategory. As described above with respect to Figure 6, a direct link is established between the title and the store. This permits deletion and modification of the titles on an individual store basis.
At block 780, the store is deployed. For one embodiment, the store is initially deployed to a Quality Assurance (QA) site. The store is then tested at the QA site, and only after testing is the store deployed as an ePOS site accessible to the public. As can be seen, using wizards, prebuilt templates and layouts, the establishment of an ePOS site accessible to the public is simplified. For one embodiment, this process reduces the time spent to establish an electronic point of sale from a couple of days by a trained programmer to generally less than one hour by a non-programmer.
In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention as set forth in the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.

Claims

CLAIMS What is claimed is:
1. In a system supporting a plurality of stores on a network, each store having a unique software category tree for organizing software titles available through the store, a method of adding a title comprising the steps of: receiving a new title into the title database; classifying the new title into a microcategory; determining a software category tree node associated with the microcategory for each of the plurality of stores; and linking the new title to the software category tree node.
2. The method of claim 1, wherein the linkage between the software category tree node and the title is a direct link.
3. The method of claim 1 , wherein the new title is individually removable from each of the plurality of stores.
4. The method of claim 3, wherein the step of individually removing the new title comprises the steps of: selecting a title in the title database; and breaking the link between the title and the software category tree node in the specific store, such that the title remains in the microcategory and in the title database but can not be accessed from the specific store.
5. The method of claim 1, further comprising deleting a title from all stores by deleting the title in the title database, and thereby breaking all of the links between the title and the software category tree nodes in all of the plurality of stores.
6. The method of claim 1, wherein the new title may be modified individually for each store.
7. The method of claim 1 , wherein a store may reorganize the software category tree, and the titles automatically are reestablished in new locations if the microcategories are associated with the new locations.
8. The method of claim 1, wherein if a new store is added to the plurality of stores, the software titles automatically are populated into the new store, when microcategories are associated with the software category tree of the new store.
9. The method of claim 1, wherein the software category tree is supported by a database such that each store has a root node and up to 255 branches from the root node.
10. A system for generating an electronic point of sale (ePOS) comprising: a receiver configured to receive characteristic information about the ePOS; a layout generator configured to generate a layout for the ePOS based on the characteristic information received by the receiver; a tree generator configured to generate a software category tree based on the characteristic information from a template; and a modification tool configured to modify the software category tree from the template.
11. The system of claim 10, wherein the modification tool is further for modifying other features of the ePOS.
12. The system of claim 10, wherein the characteristic information comprises store name, logo, color scheme, and store category.
13. The system of claim 10, further comprising: core components used to access software titles for sale by the ePOS, the core components comprising one or more of the following: shopping cart, search engine, featured products, order forms, and order processing. 14. The system of claim 13, wherein the core components are only modified in their visual presentation.
15. The system of claim 13, wherein the core components are shared among a plurality of stores.
16. The system of claim 10, wherein the layout includes a user interface. 17. The system of claim 10, wherein the tree generator includes a plurality of prebuilt trees for various store types, and the tree generator is further for selecting one of these prebuilt trees, and modifying the prebuilt tree based on the characteristics. 18. A computer data signal embodied in a carrier wave and representing sequences of instructions which, when executed by a processor, cause said processor to add an additional title into a plurality of different software category trees for a plurality of different stores on the network, by performing the steps of: executing a first computer program to determine a software category tree node associated with a microcategory into which the title is classified for each of the plurality of different stores; executing the first computer program to establish links between the additional title and the software category tree nodes in each of the plurality of different stores.
19. A computer data signal embodied in a carrier wave and representing sequences of instructions which, when executed by a processor, cause said processor to establish an electronic point of sale (ePOS) on a network, by performing the steps of: executing a first computer program to receive characteristic information about the ePOS; executing a second computer program to generate a user interface for the ePOS; executing a third computer program to link a core element to the ePOS; executing a fourth computer program to generate a software category tree for the ePOS, to categories a plurality of titles available through the ePOS.
10. The computer data signal embodied in a carrier wave of claim 19, wherein executing the fourth computer program to generate the software category tree for the ePOS comprises retrieving a prebuilt tree, and modifying the prebuilt tree to suit the ePOS.
PCT/US1999/018299 1998-08-14 1999-08-13 An electronic software distribution system WO2000010110A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU56731/99A AU5673199A (en) 1998-08-14 1999-08-13 An electronic software distribution system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13404598A 1998-08-14 1998-08-14
US09/134,045 1998-08-14

Publications (1)

Publication Number Publication Date
WO2000010110A1 true WO2000010110A1 (en) 2000-02-24

Family

ID=22461511

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/018299 WO2000010110A1 (en) 1998-08-14 1999-08-13 An electronic software distribution system

Country Status (2)

Country Link
AU (1) AU5673199A (en)
WO (1) WO2000010110A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4787050A (en) * 1985-11-12 1988-11-22 Brother Industries, Ltd. Apparatus for managing software bending machines
EP0649121A2 (en) * 1993-10-15 1995-04-19 International Business Machines Corporation Digital information accessing, delivery, and reproduction
WO1998002820A1 (en) * 1996-07-12 1998-01-22 Bitsource, Inc. Method, apparatus and computer program products for efficiently distributing information

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4787050A (en) * 1985-11-12 1988-11-22 Brother Industries, Ltd. Apparatus for managing software bending machines
EP0649121A2 (en) * 1993-10-15 1995-04-19 International Business Machines Corporation Digital information accessing, delivery, and reproduction
WO1998002820A1 (en) * 1996-07-12 1998-01-22 Bitsource, Inc. Method, apparatus and computer program products for efficiently distributing information

Also Published As

Publication number Publication date
AU5673199A (en) 2000-03-06

Similar Documents

Publication Publication Date Title
US20190095969A1 (en) Affiliate website creation using text associated with website
US20200327173A1 (en) Website creation using content and product codes associated with keywords
US20190236533A1 (en) Network-based distribution of application products
US8280865B1 (en) Web site content change management
US7249031B2 (en) Selective merchandise price optimization
US7092918B1 (en) Apparatus for merchandise price optimization
US7249033B1 (en) Apparatus and method for selective merchandise price optimization
CN102054021B (en) Use WEB portal application method for customizing and the system of profile
US7249032B1 (en) Selective merchandise price optimization mechanism
US7610258B2 (en) System and method for exposing a child list
US20020049961A1 (en) Rule-based personalization framework
JP2009508190A (en) Customer relationship management system and method
US7890919B1 (en) Automatic component update and integration
US20050076330A1 (en) Browser-based editor for dynamically generated data
CN111258567A (en) Service code development processing method and device
US20050033764A1 (en) Interactive editor for data driven systems
WO2000010110A1 (en) An electronic software distribution system
Libby et al. Shipping
Raja et al. Naked objects framework
CN116643839A (en) SAAS application resource management system based on containerization

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase