In order to describe the manner in which the above-recited and other advantages and features can be obtained, a more particular description is described below and will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments and are not therefore to be considered to be limiting of its scope, implementations will be described and explained with additional specificity and detail through the use of the accompanying drawings.
Embodiments are discussed in detail below. While specific implementations are discussed, it should be understood that this is done for illustration purposes only. A person skilled in the relevant art will recognize that other components and configurations may be used without parting from the spirit and scope of the subject matter of this disclosure.
Processing device 102 may be, for example, a server or other processing device capable of executing a database system. Processing device 104 may be a personal computer (PC), a handheld processing device, or other processing device capable of executing applications and communicating with processing device 102 via network 106.
Network 106 may be a wired or wireless network and may include a number of devices connected via wired or wireless means. Network 104 may include only one network or a number of different networks, some of which may be networks of different types. Network 106 may include a packet-switching network, a wireless network, an ATM network, a Frame Relay network, an optical network, a Public Switched Telephone Network (PSTN), a satellite network, the Internet, or an intranet or other types of networks, or any combination of the above networks.
In operating environment 100, processing device 104 may execute an application which accesses information in a database of processing device 102 via network 106. In an embodiment consistent with the subject matter of this disclosure, the database may include an electronic catalog of products. Some of the products may include digital products such as, for example, music, videos, games, software applications, or other digital products.
Processor 220 may include at least one conventional processor or microprocessor that interprets and executes instructions. Memory 230 may be a random access memory (RAM) or another type of dynamic storage device that stores information and instructions for execution by processor 220. Memory 230 may also store temporary variables or other intermediate information used during execution of instructions by processor 220. ROM 240 may include a conventional ROM device or another type of static storage device that stores static information and instructions for processor 220. Storage device 250 may include any type of media for storing data and/or instructions. When processing device 200 is used to implement processing device 102, storage device 250 may include one or more databases of a database system.
Input device 260 may include one or more conventional mechanisms that permit a user to input information to processing device 200, such as, for example, a keyboard, a mouse, or other input device. Output device 270 may include one or more conventional mechanisms that output information to the user, including a display, a printer, or other output device. Communication interface 280 may include any transceiver-like mechanism that enables processing device 200 to communicate with other devices or networks. In one embodiment, communication interface 280 may include an interface to network 106.
Processing device 200 may perform such functions in response to processor 220 executing sequences of instructions contained in a machine-readable medium, such as, for example, memory 230, or other medium. Such instructions may be read into memory 230 from another machine-readable medium, such as storage device 250, or from a separate device via communication interface 280.
In a typical database such as, for example, an electronic catalog, products included in the database may be assigned to different categories and the categories may be assigned a position in a hierarchical structure. Thus, a user browsing the database may start by browsing a hierarchy of predefined categories and may subsequently browse other categories of interest at a lower level in the hierarchy. However, a user may have difficulty finding an item which does not fit well into the predefined structure of hierarchical categories.
In embodiments consistent with the subject matter of this disclosure, items within a database such as, for example, an electronic catalog, may have one or more associated attributes. The attributes may describe one or more features of the item. For example, digital items stored in an electronic catalog may include attributes such as, for example: “works with XYZ operating system or later”, “requires at least 512 MB of memory”, “educational product”, “for ages 5-9”, etc.
A user of a processing device such as, for example, processing device 104, may request a display of nodes. Each of the displayed nodes may represent a different attribute with respect to the items in a database such as, for example, an electronic catalog. The user may select one of the nodes and, as a result of the selection, the displayed nodes may be pivoted. The selected node may be displayed as a root node while the remaining nodes may be displayed as descendent nodes, or children, of the root node. Further, each of the descendent nodes may represent one or more items in the database having the attribute of the root node and the attribute of the respective descendent node.
The user may further select or pin one of the descendent nodes. Pinning a descendent node may cause one or more new nodes to be displayed as descendent nodes of the pinned node. The one or more descendent nodes may each represent one or more items in the database that have the attributes of the pinned node and an additional respective attribute.
Each item of the database may have one or more attributes associated therewith. Some attributes may be inherent such as, for example, “educational software”, and “requires more than 512 MB of memory”, as well as other attributes. Other attributes may be derived or calculated such as, for example, “works on laptop”, “works with XYZ series of games”, or other attributes. Whether an item in the database has a particular derived attribute may be determined by applying a rule. In some embodiments, a user may be permitted to define a rule with respect to a derived or calculated attribute. This will be discussed in more detail below.
In embodiments in which the database is an electronic catalog, the electronic catalog may include copies of digital products for downloading. Examples of the digital products may include music, videos, games, and software applications, as well as other digital products. Further, the electronic catalog may include an activation code with respect to at least some of the digital products. For example, a user may purchase and download a digital product from the electronic catalog and may receive an activation code for activating the digital product. After installation of a digital product on a user's processing device, the user may enter a respective activation code to activate the features of the installed digital product.
When a user is satisfied with the display of nodes, the user may select a subset of the displayed nodes for an offline database or electronic catalog. A processing device such as, for example, processing device 102, may then create the offline database such as, for example, the offline electronic catalog, and may copy the offline database to a portable device. In some embodiments, the portable device may be a handheld processing device. In other embodiments, the portable device may be a portable storage device such as, for example, a U3 device or other portable storage device, which may be connected to a portable processing device at a later time. Other examples of portable storage devices may include CD, DVD, and flash RAM, as well as other storage media.
In embodiments in which the database is an offline electronic catalog and the offline electronic catalog is accessible by a portable processing device such as, for example, a handheld processing device, the portable processing device may display a group of nodes, wherein each of the nodes represents a different attribute with respect to one or more items in the offline electronic catalog. A user of the portable device may select one of the displayed nodes, resulting in the pivoting of the displayed nodes, as described above with respect to the online electronic database. Further, selecting or pinning one of the displayed descendent nodes may result in new descendent nodes of the pinned node being displayed, as previously described with respect to the online electronic database. The user may then select one of the displayed nodes to cause a listing of products having the attributes associated with the selected node.
A user having a portable processing device with an offline database such as, for example, an offline electronic catalog, may use the offline database to permit a viewer to view information about products of interest included in the offline database. If the viewer is interested in a digital product included in the offline database, the user may copy the digital product to a portable processing device of the viewer via a wired or wireless connection or the user may copy the digital product to a portable storage device such as, for example, a U3 device, a flash RAM device, a CD, a DVD, or other portable storage medium. Further, instead of downloading the digital product from the offline database for the viewer who is interested in having a copy of the digital product, the user may have prepackaged portable storage media including a number of digital products described in the offline database. In such a case, the user may simply hand one of the prepackaged portable storage media having the digital product of interest to the viewer who is interested in the digital product.
If the digital product is one which requires an activation code to activate features of the digital product after being installed on a processing device the user may have a number of activation codes for a variety of digital products and may simply provide an appropriate activation code to the viewer. Alternatively, the user may send a request for an activation code to a processing device, such as a server which may include activation codes for a number of digital products. The request may be sent wirelessly or via wired means through a network such as, for example, network 106 or another network. In one embodiment consistent with the subject matter of this disclosure, the user may send the request for the activation code from his or her processing device using Short Message Service (SMS). In one implementation, an SMS message may be sent via a satellite network. Upon receipt of the request for an activation code, the server or other processing device may respond with a message including the activation code. In an implementation in which the request for the activation code is sent via a SMS message, the server or other processing device responding to the request may respond via another SMS message. The user's processing device may receive the response and display the activation code to the user, who may then provide the code to the viewer.
When a user accesses the online database or electronic catalog via a processing device, the user may be presented with a display of a group of nodes, as illustrated by an exemplary display of
Each of the attributes may be an inherent attribute or a derived or calculated attribute. Examples of inherent attributes may include “requires at least a Pentium class processor or equivalent”, and “works only with XYZ operating system or later”, or other inherent attributes. A derived or calculated attribute is determined according to a rule. Examples of derived or calculated attributes may include “works on laptop”, “is compatible with XYZ products”, as well as other derived or calculated attributes.
In the exemplary display of
A user may select any one of nodes 302-312 to cause a new display to be presented, as illustrated in an exemplary display illustrated in
A user may select one of the displayed descendent nodes of
As shown in the exemplary display of
The display shown in
The exemplary display shown in
The display shown in
In some embodiments consistent with the subject matter of this disclosure, the user may continue the pinning process by pinning any of the nodes that are leaf nodes, which may result in one or more descendent nodes of the pinned node being displayed.
In embodiments consistent with the subject matter of this disclosure, a user may select a subset of the displayed nodes and may request the creation and download of an offline database such as, for example, an offline electronic catalog, including information about products represented by the selected subset of the displayed nodes. The offline electronic catalog may include downloadable files with respect to at least one digital product and may include activation keys associated with at least some of the at least one digital product.
The electronic catalog may be downloaded to a portable processing device or to a portable storage device such as, a U3 device, a flash RAM device, a CD, a DVD, or other portable storage device. If the electronic catalog is downloaded to a portable storage device, the portable storage device may later be connected to a portable processing device such as, for example, a handheld processing device, such that a user may browse the offline electronic catalog by using the portable processing device.
In some embodiments, the portable processing device having access to the offline electronic catalog may include displays such as, for example, those illustrated in
The process may begin with a user of a processing device such as, for example, processing device 104, requesting accessing to a database such as, for example, an electronic catalog, on a remote processing device such as, for example processing device 102. In response to the request for access to the database, processing device 102 may provide information to processing device 104, such that processing device 104 displays a group of nodes, each of which may represent at least one product with a particular respective attribute (act 402). The user may select one of the displayed nodes for pivoting, as described with respect to
Processing device 104 may receive the user's selection and may pass information indicating the user's selection to processing device 102 via a network such as, for example network 106. Upon receiving the information including the user's selection, processing device 102 may send information to processing device 104 via network 106, such that a display of pivoted nodes is shown on a display screen of processing device 104 (act 406). The display of pivoted nodes may be as described with reference to
Next, the user may select one of the descendent nodes for pinning via processing device 104 (act 408). Information describing which of the displayed nodes is selected for pinning may be sent to processing device 102 via network 106. Processing device 102 may then determine whether any products of the electronic catalog include attributes of the pinned node, as well as other attributes (act 410). If processing device 102 determines that at least one product of the electronic catalog includes attributes of the pinned node and at least one other attribute, then processing device 102 may provide display information to processing device 104, via network 106, such that processing device 104 may display one or more descendent nodes of the pinned node. Each of the one or more descendent nodes of the pinned node may represent at least one product having attributes of the pinned node and one other respective attribute, as described previously with respect to
The process illustrated by the flowchart of the
In some embodiments consistent with the subject matter of this disclosure, a user may define a rule for a derived or calculated attribute.
As shown in
Rule 502 of
Information regarding the selected subset of displayed nodes may be transmitted from processing device 104 to another processing device having the electronic catalog such as, for example, processing device 102, via a network such as, for example, network 106. Processing device 104 may receive the information regarding the selected subset of displayed nodes and may create an offline electronic catalog including information about products represented by the selected subset of the displayed nodes (act 604). Processing device 102 may then download the offline electronic catalog to processing device 104, which may be a portable device (act 606). Processing device 104 may store the electronic catalog on a storage medium such as, for example, a hard disk drive. Alternatively, processing device 104 may store the electronic catalog on a portable storage medium such as, for example, a U3 device, a flash RAM device, a CD, a DVD, or other portable storage medium, which may later be used with a processing device such as, for example, a portable processing device, for showing information from the offline electronic catalog to others.
Some digital products may require an activation key to enable features of a digital product after installation. The user of the processing device having access to the offline electronic catalog may indicate a desire for an activation key via selection of a menu item, or via other means (act 706). The activation key may be sent via a network such as, for example, network 106, or via another network. In one implementation, a request for an activation key may be sent from the processing device to a processing device that includes the activation key by means of a Short Message Service (SMS) message. In other implementations, other means may be used to communicate the activation key request to the processing device that includes the activation key.
The processing device that includes the activation key may receive the activation key request and may respond by sending a message including the activation key via a network such as, for example, network 106 (act 708). In implementations in which the processing device receives the request for an activation key via a SMS message, the processing device may respond by sending a SMS including the activation key to the requesting processing device.
Although the exemplary displays of
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms for implementing the claims.
Although the above descriptions may contain specific details, they should not be construed as limiting the claims in any way. Other configurations of the described embodiments are part of the scope of this disclosure. Further, implementations consistent with the subject matter of this disclosure may have more or fewer acts than as described, or may implement acts in a different order than as shown. Accordingly, the appended claims and their legal equivalents should only define the invention, rather than any specific examples given.