The present invention relates to the characterization of products and/or services, and, more particularly, to a method and system for description database creation, organization, and use.
Computers have become an integral part of the daily lives of millions of individuals across the globe. We use computers, be they desktop computers, tablets, smartphones, or the like, to all manner of ends in this regard. One such purpose is the buying and selling of physical products, services, and the like, but also virtual items such as music, software, content access, premium content, and the like. This area of computer use, sometimes referred to in the generic as electronic commerce, provides us with a vast array of such products and services from which to choose. Unfortunately, such a vast array of offerings comes with a price—identifying the best alternative offered can prove to be something akin to finding the proverbial “needle in a haystack.”
In this regard, present technologies employed to assist end-users with identifying and selecting a desired product or service from the available alternatives are, at best, rudimentary. Simple searching of text provided for a given offering leaves much to be desired. Problems with such an approach include inaccurate descriptions, terse titles, misspellings, poorly chosen search terms, and other such infirmities. Moreover, such an approach can fail to capture the evocative nature of the offering in question, and can miss salient features altogether. If the description has been written by one person, that person may not perceive (and hence not describe) the product in the same way or using the same language as others. The same product or service may be described using different words by people from different regions of the market. Such descriptions, having been written by one person, only capture that one person's perspective.
Such techniques are particularly ineffective in situations in which aspects of the products and/or services are primarily subjective in nature, and so are not susceptible (or are at least unsuited) to description by objective measure. Examples of such difficult-to-quantify offerings include paintings, sculptures, greeting cards, music, and other such offerings, due in part to their creative, expressive nature. Further complicating such an assessment are products and services that have pertinent aspects that are more conceptual in nature (e.g., the “safety” of some products and services, age-appropriate qualities, and other such aspects).
One alternative in assisting a customer with the selection process is the use of customer reviews. Once again, reliance must be placed on both the technology used to collect such reviews, as well as on the accuracy and usefulness of the reviews thus presented. The latter is particularly problematic, given that such reviews may be either few in number (e.g., “expert” reviews), or numerous but uninformed (e.g., customer reviews, provided by “lay”-persons who are providing their opinions with respect to their specific end uses, preferences, situation, and so on). And this is to say nothing of differences in perception from one person to the next—one person's “muted” may well be the next person's “bright.” Further still, search reviews may not exist, may be dated, may only be available for other versions of a given product or service, may be completely silent as to patently evident features or features that are important to the given customer, and/or suffer from other such failings. Another limitation of employing reviews to inform a customer's selection process is that such customer reviews are not, and cannot easily be, combined into a single, easily-used review—the customer is thus forced to read many such reviews to even begin to get a sense of the consensus view of the product or service in question.
The foregoing problems, as well as other such failings, stand as obstacles to the efficient, effective presentation of information regarding products, services, and other such offerings when making such presentation in an electronic commerce environment. That being the case, it is therefore desirable to provide mechanisms for determining and maintaining information relevant to a given offering. Further, it is so desirable to be able to present such information to an end-user in an effective, efficient manner
In one embodiment, a method, computer program product, and system according to the methods and systems described herein can, for example, be implemented in a computer system, and includes receiving a first set of descriptors at the computer system, receiving a second set of descriptors at the computer system, and forming a composite set of descriptors therefrom. The computer system is configured to cause presentation of a visual representation in a first user interface displayed by a first remote computer system and presentation of the visual representation in a second user interface displayed by a second remote computer system. The visual representation is associated with a product and/or service. The computer system is configured to receive the first set of descriptors via the first user interface, and the second set of descriptors via the second user interface. Each descriptor of the first set of descriptors is associated with the product and/or service by virtue of having been received in response to the presentation of the visual representation in the first user interface. Each descriptor of the second set of descriptors is associated with the product and/or service by virtue of having been received in response to the presentation of the visual representation in the second user interface. The forming the composite set of descriptors is performed by a processor of the computer system. The forming the composite set of descriptors includes forming an aggregated set of descriptors by aggregating one or more descriptors of the first set of descriptors and one or more descriptors of the second set of descriptors, and performing a weighting operation on the aggregated set of descriptors.
The foregoing is a summary and thus contains, by necessity, simplifications, generalizations and omissions of detail; consequently, those skilled in the art will appreciate that the summary is illustrative only and is not intended to be in any way limiting. As will also be apparent to one of skill in the art, the operations disclosed herein may be implemented in a number of ways, and such changes and modifications may be made without departing from concepts such as those disclosed herein and their broader aspects. Other aspects, inventive features, and advantages of systems according to the concepts disclosed herein will become apparent in the non-limiting detailed description set forth below.
The present invention may be better understood, and its numerous objects, features and advantages made apparent to those skilled in the art by referencing the accompanying drawings.
The following is intended to provide a detailed description of an example of the invention and should not be taken to be limiting of the invention itself. Rather, any number of variations may fall within the scope of the invention which is defined in the claims following the description.
Methods and systems such as those described herein provide the ability to create significantly more meaningful, as well as more efficiently searchable, descriptions of products and services than can be created by other approaches available presently. To this end, methods and systems such as those described herein support the creation, organization, and use of descriptors and provide a descriptor database for their storage, as well as providing for the creation, organization, and use of product/service information, which can be maintained, for example, in a content database. In so providing, such methods and systems facilitate the efficient, effective presentation of information regarding products, services, product-service systems, and other such offerings (referred to herein, in the generic, as products and/or services), when making such presentation in, for example, an electronic commerce environment. Further, such methods and systems provide a mechanism for determining and maintaining information relevant to a given offering in an efficient, effective manner, and further still, effect the communication and presentation of such information to an end-user in an effective, efficient manner.
As noted, existing alternatives for identifying products and/or services that meet a customer's needs and desires are fundamentally flawed, in part as a result of the mechanistic qualities and functionalities such systems employ. Further complicating such shortcomings is the intangible, conceptual nature of certain offerings. Further still, such existing alternatives also fail to recognize, and thus fail to capture, associations that may exist as between various offerings in the minds of end-users. In light of these and other infirmities, the ability of such existing alternatives falls well short of meeting customer expectations, and so results in a less than optimal customer experience.
To address such failings, methods and systems such as those described herein provide for and employ descriptors. A descriptor is a unit of information that is related in some fashion to a product and/or service. Thus, by obtaining descriptors from one or more analysts in a manner such as that described herein (also referred to herein as characterization), such methods and systems are capable of not only collecting, combining, maintaining, and using quantitative information (e.g., objective information that describes the product/service offered in literal terms, such as physical dimensions), but are also capable of collecting, combining, maintaining, and using subjective information (e.g., subjective information as to the impressions and perceptions evoked by such products and/or services in conceptual terms, such as degree, emotion evoked, conceptual relationships, and/or the like). In so doing, such methods and systems are able to quickly and accurately present products and/or services that better meet the expectations, needs, and desires of customers. By capturing “impressions,” “feelings evoked,” and other such subjective qualities, these methods and systems allow for the presentation of products and/or services that might otherwise go unnoticed, but which may still be related to the given product and/or service in a subjective sense. Such descriptors can be identified in any convenient manner, including an assigned numerical value, a hash value (e.g., by hashing the descriptor), and/or other such identifying information. As will be appreciated in light of the present disclosure, the use of a hashing function to generate such descriptor identifiers provides an efficient mechanism for communicating, storing, searching, and otherwise processing descriptors such as those described herein (e.g., such descriptor identifiers, also referred to herein as tokens, each being a value of some sort, such as a numerical value, hash value, or the like, that identifies a given descriptor (e.g., “1” identifying “red,” “2” identifying “green,” “3” identifying “blue,” and so on)).
With respect to end-users, methods and systems such as those described herein provide for the comparable concept of a search descriptor, which allows an end-user to provide information that can be used in searching for and identifying products and/or services. Such information can be in the manner of the descriptors provided by analysts, though such need not necessarily be the case, and so can be in the form of textual information, graphical information, haptic information, and/or other forms of information. Further, methods and systems such as those described herein provide functionality that provides for the recognition of, and so the ability to capture and represent, associations and relationships such as those that may exist between various products and/or services in the minds of analysts, and ultimately, end-users.
Such methods and systems also comprehend the notion of “relates to”—a product (e.g., an alarm clock) relates to the concept of “morning,” and so, as one example, one might relate a rooster to the concept of “alarm clock.” By accounting for such alternatives and presenting them to the customer, methods and systems according to embodiments described herein provide improved customer experience when interacting with a website or other such construct in the identification and selection of a product and/or service. Further, such methods and systems are also able to account for differences in perception, and by providing alternatives based on such relationships and perceptions, are able to provide end-users with the ability to more accurately and efficiently refine searches for the products and/or services being sought.
Thus, one of the advantages provided by methods and systems such as those described herein is the creation of a more useful description of the product and/or service. Such a description is advantageous, in part, because it is based on information (e.g., descriptors, such as words, phrases, selections, graphical feedback, and so on) provided by multiple analysts in response to the presentation of some manner of perceptible information (e.g., a descriptor such as a visual representation (e.g., image, animation, video clip, and the like), audible information, textual information, haptic information, or other perceptible information) presentable by some manner of user interface, whether that be visual, mechanical, audible, or otherwise. Such a process provides more meaningful descriptors than would otherwise be the case, as well as ensuring that relevant features of and impressions made by a given product and/or service are captured by the process. In so doing, methods and systems such as those described herein improve the likelihood that a given point of view regarding a feature of a product and/or service is not inadvertently excluded in gathering descriptors for the given product and/or service. Further, such approaches allow methods and systems such as those described herein to weight such descriptors using notions of consensus, importance to the author, producer, manufacturer, or other such entity (as appropriate to the products and/or services in question), use by end-users, and so on. This results in descriptors that provide a markedly better (e.g., more comprehensive), more usable, more easily searched description of products and/or services than might be created using another approach, as will be apparent from the discussions below in connection with
Network architecture 100 also provides for communication via intranet/WAN 110 using one or more other devices. Such devices can include, for example, a general packet radio service (GPRS) client 140 (e.g., a “smart phone,” a “tablet” computer, or other such mobile device), a secure web client (depicted in
Server systems 180 include a number of components that allow server systems 180 to provide various functionalities (e.g., supporting various communications, web-based services, cloud-based services, enterprise services, and so on). Among these components, in certain embodiments, are a number of servers, which can be implemented in hardware and/or software. Examples of such servers include web servers (depicted in
Servers such as those included in server systems 180 are designed to include hardware and/or software configured to facilitate functionalities that support operations according to the concepts disclosed herein, among other possible such components and mechanisms, in communication with one another (e.g., directly, via various application programming interfaces (APIs) and/or other such interfaces, and/or other such mechanisms and/or constructs). As will be discussed in greater detail in connection with
It will be appreciated that, in light of the present disclosure, the variable identifier “N” is used in several instances in various of the figures herein to more simply designate the final element of a series of related or similar elements (e.g., intranets 120(1)-(N), clients 125(1)-(N), and servers 130(1)-(N)). The repeated use of such variable identifiers is not meant to imply a correlation between the sizes of such series of elements. The use of variable identifiers of this sort in no way is intended to (and does not) require that each series of elements have the same number of elements as another series delimited by the same variable identifier. Rather, in each instance of use, variables thus identified may represent the same or a different value than other instances of the same variable identifier.
As will be appreciated in light of the present disclosure, processes according to concepts embodied by systems such as those described herein include one or more operations, which may be performed in any appropriate order. It is appreciated that operations discussed herein may consist of directly entered commands by a computer system user or by steps executed by application specific hardware modules, but the preferred embodiment includes steps executed by software modules. The functionality of steps referred to herein may correspond to the functionality of modules or portions of modules.
The operations referred to herein may be modules or portions of modules (e.g., software, firmware or hardware modules). For example, although the described embodiment includes software modules and/or includes manually entered user commands, the various example modules may be application specific hardware modules. The software modules discussed herein may include script, batch or other executable files, or combinations and/or portions of such files. The software modules may include a computer program or subroutines thereof encoded on computer-readable storage media.
Additionally, those skilled in the art will recognize that the boundaries between modules are merely illustrative and alternative embodiments may merge modules or impose an alternative decomposition of functionality of modules. For example, the modules discussed herein may be decomposed into submodules to be executed as multiple computer processes, and, optionally, on multiple computers. Moreover, alternative embodiments may combine multiple instances of a particular module or submodule. Furthermore, those skilled in the art will recognize that the operations described in example embodiment are for illustration only. Operations may be combined or the functionality of the operations may be distributed in additional operations in accordance with the invention.
Alternatively, such actions may be embodied in the structure of circuitry that implements such functionality, such as the micro-code of a complex instruction set computer (CISC), firmware programmed into programmable or erasable/programmable devices, the configuration of a field-programmable gate array (FPGA), the design of a gate array or full-custom application-specific integrated circuit (ASIC), or the like.
Each of the blocks of the flow diagram may be executed by a module (e.g., a software module) or a portion of a module or a computer system user using, for example, a computer system such as computer system 210. Thus, the above described method, the operations thereof and modules therefor may be executed on a computer system configured to execute the operations of the method and/or may be executed from computer-readable storage media. The method may be embodied in a machine-readable and/or computer-readable storage medium for configuring a computer system to execute the method. Thus, the software modules may be stored within and/or transmitted to a computer system memory to configure the computer system to perform the functions of the module, for example.
Such a computer system normally processes information according to a program (a list of internally stored instructions such as a particular application program and/or an operating system) and produces resultant output information via I/O devices. A computer process typically includes an executing (running) program or portion of a program, current program values and state information, and the resources used by the operating system to manage the execution of the process. A parent process may spawn other, child processes to help perform the overall functionality of the parent process. Because the parent process specifically spawns the child processes to perform a portion of the overall functionality of the parent process, the functions performed by child processes (and grandchild processes, etc.) may sometimes be described as being performed by the parent process.
Such a computer system typically includes multiple computer processes executing “concurrently.” Often, a computer system includes a single processing unit which is capable of supporting many active processes alternately. Although multiple processes may appear to be executing concurrently, at any given point in time only one process is actually executed by the single processing unit. By rapidly changing the process executing, a computer system gives the appearance of concurrent process execution. The ability of a computer system to multiplex the computer system's resources among multiple processes in various stages of execution is called multitasking. Systems with multiple processing units, which by definition can support true concurrent processing, are called multiprocessing systems. Active processes are often referred to as executing concurrently when such processes are executed in a multitasking and/or a multiprocessing environment.
The software modules described herein may be received by such a computer system, for example, from computer readable storage media. The computer readable storage media may be permanently, removably or remotely coupled to the computer system. The computer readable storage media may non-exclusively include, for example, any number of the following: magnetic storage media including disk and tape storage media, optical storage media such as compact disk media (e.g., CD-ROM, CD-R, etc.) and digital video disk storage media, nonvolatile memory storage memory including semiconductor-based memory units such as FLASH memory, EEPROM, EPROM, ROM or application specific integrated circuits; volatile storage media including registers, buffers or caches, main memory, RAM, and the like; and other such computer-readable storage media. In a UNIX-based embodiment, the software modules may be embodied in a file, which may be a device, a terminal, a local or remote file, or other such devices. Other new and various types of computer-readable storage media may be used to store the software modules discussed herein.
Example Architectures for Characterization of Products and/or Services
As was noted with respect to network architecture 100, the various clients depicted in
With regard to the former, descriptor input client 210(1) includes a user interface module 250, a presentation module 252, and a descriptor input module 254. Product/service information is received at presentation module 252 of descriptor input client 210(1) from content server 234 via web server 232. User interface module 250 presents an analyst employing descriptor input client 210(1) with a user interface, in which product/service information is presented. As noted elsewhere herein, product/service information presented to an analyst can include, for example, a visual representation (e.g., an image, animation, video clip, or the like), audible representation (e.g., spoken word, or the like), haptic information, an image of text (e.g., an image of three-dimensional words), a narrative of some sort (e.g., a short story, a passage from a book, a novel, a magazine article, or any other sort of such information), meta-information regarding presentable information, music, and/or any other sensory information, so long as such sensory information is perceptible in some way by human senses. For example, the aforementioned visual representation can be presented in a user interface displayed on a computer's display.
The product/service information is thus presented, for example, in the user interface displayed by a display of descriptor input client 210(1) by way of presentation module 252 and user interface module 250. In turn, the analyst enters (or otherwise communicates) one or more descriptors, which are received via user interface module 250 and collected by descriptor input module 254. Descriptor input module 254 then communicates, at the appropriate point, the descriptors thus collected to descriptor database server 236. As will be appreciated in light of the present disclosure, such a process can be performed by multiple analysts in parallel, and also employ a “batch” approach (in which visual representations representative of multiple products/services are sent to the analyst for review, and the descriptors for each returned subsequently). Such processes are described in greater detail in connection with
Conversely, an end-user (e.g., a customer) can access a website presented by web server 232 using one of user clients 220(1)-(N). For example, a customer can access such a website served by web server 232 using user client 220(1) (also referred to herein as a remote computer system, or more simply, a remote computer). User client 220(1) is depicted as including a user interface module 260, a presentation module 262, a selection input module 264, a feedback module 266, and an interaction monitoring module 268. User client 220(1) presents pages of the website by way of user interface module 260 and presentation module 262. In turn, the customer can interact with the user interface generated by user interface module 260 in a number of ways, in order to search for and identify products and/or services. For example, a customer can use such a user interface to provide one or more search descriptors for use in searching for and identifying products and/or services. As noted earlier, and as will be described in greater detail subsequently, such a search descriptor is a unit of information that is related in some fashion to a product and/or service that can be used in the aforementioned searching for and identifying products and/or services. Another example of functionality supported by embodiments of a user interface according to the present disclosure is one supporting a selection process, in which the customer selects one or more selections related to the offering desired and/or makes other indication as to the product/service desired (particularly effective when using predefined descriptor identifiers). As will be appreciated in light of the present disclosure, these and other approaches can be used alone or combined in a number of ways, thereby providing the end-user with unprecedented flexibility in searching for and identifying products and/or services.
Such search descriptors (or other indications) are received by selection input module 264 via user interface 260, communicated to server systems 230 via network 240. Server systems 230, and more particularly content server 234 in conjunction with descriptor database server 236, identify products and/or services that best meet the desires, preference, and so on, of the customer, based on the information received. In response, product/service information (e.g., a visual representation related to the products and/or services) thus identified and retrieved is sent to user client 220(1). This information is then presented in the user interface by way of presentation module 262 and user interface module 260. As will be described in more detail subsequently, feedback module 266 provides support for obtaining user feedback from the customer in an explicit fashion. That being the case, feedback module 266 presents the customer with feedback alternatives (e.g., product rating input, experience rating, and the like) via user interface module 260. Similarly, interaction monitoring module 268 monitors interactions between the customer and the user interface. Such monitoring can be performed before, during, and/or after the selection process, as well as with respect to any other interactions with the website in question. Here again, by using descriptor identifiers where appropriate and advantageous, communication bandwidth and storage consumption can be minimized, and more efficient use of computing resources achieved. As before, examples of the foregoing processes are provided and described in greater detail in connection with
Situated between aggregation layer 310 and database interface layer 330 is data access layer 320, which supports storage/retrieval of aggregated data to/from one or more databases. Data access layer 320 facilitates such storage/retrieval by using a common structure to provide such aggregated data. Data access layer 320 facilitates access to such databases (depicted in
In the example presented as server systems architecture 400, such computer systems access server systems 402 via network 405 by accessing a web server 410, which presents web pages generated using hyper-text markup language (HTML) or other mechanisms, for example. In so doing, web server 410 “serves” (provides) information to such computer systems from the servers of server systems 402, which can include, for example, a content server 420 and a DDB server 425. In order to present web pages having information regarding products and/or services (referred to herein as products and/or services information, or more simply, product/service information), web server 410 serves at least a portion of such product/service information from content server 420. Content server 420, in order to provide such product/service information, includes a content processing module 430 (in certain embodiments, communicatively coupled to a content database 435) and a user information processing module 440 (in certain embodiments, communicatively coupled to a feedback information database 445). In certain embodiments, content server 420 provides product/service information to web server 410 by invoking content processing module 430, which retrieves product/service information (as well as any associated metadata) from content database 435. As will be appreciated in light of the present disclosure, content processing module 430 and content database 435 (and content server 420, generally) can employ a database server architecture such as database server architecture 300. An example of the structure of such product/service information and its associated metadata is described in connection with
Similarly, user information processing module 440, being communicatively coupled to feedback information database 445, provides the ability to store/retrieve feedback information to/from feedback information database 445, in order to maintain information regarding customers' experiences in using a system according to methods and systems such as those described herein. For example, such feedback information can be received directly from customers, in response to a solicitation for such information (e.g., by way of a rating system presented to the customer as part of their use of the website). Such direct feedback can comprehend a customer's experience(s) reflecting the customer's opinion of the alternatives presented (e.g., in terms of the alternatives' perceived relatedness to the product/service desired (i.e., each alternative's “strength of correlation”), the appropriateness of the alternatives presented (e.g., in terms of how well alternatives presented agreed with the customer's tastes, desires, and expectations), and other such factors.
In order to support the searching and identification of product/service information, server systems 402 also provide for a descriptor database server such as DDB server 425. In contrast to the operational nature of content server 420 (i.e., the provision of product/service information by content server 420, in response to receipt of one or more search descriptors and/or other such information), DDB server 425 supports the gathering, processing, and maintenance of information, in the form of descriptors and information related thereto, that is related to the products and services represented by such product/service information. DDB server 425 thus includes a descriptor processing module 450 (in certain embodiments, communicatively coupled to a descriptor database 455) and an interaction information processing module 460 (in certain embodiments, communicatively coupled to an interaction information database 465). Descriptor processing module 450, using, for example, an architecture such as database server architecture 300, stores information to and retrieves information from descriptor database 455. Descriptor processing module 450 receives information (e.g., descriptors in the form of sets of descriptors received from remote computer systems such as descriptor input clients 210(1)-(N)). From such sets of descriptors, composite sets of descriptors are formed, as described in greater detail subsequently. An example of the structure of such descriptors, sets of descriptors, and composite sets of descriptors, as well as associated metadata, are described in connection with
Descriptor processing module 450 can also access feedback information in feedback information database 445 by way of communications with content processing module 430 and/or user information processing module 440. The feedback information thus obtained can then be used to revise information related to descriptors stored in descriptor database 455. In so doing, a server systems architecture such as server systems architecture 400 is able to provide an improved customer experience by effecting changes to the information maintained in descriptor database 455 such that the information better reflects customer experiences and expectations.
With further regard to the gathering and maintenance of information useful in improving customer experience, interaction information can be stored in/retrieved from interaction information database 465 by interaction information processing module 460. The interaction information stored in interaction information database 465 can reflect, for example, a customer's interactions with the given website, information regarding product/service selections made, information regarding the customer's navigation through the product/service alternatives presented, and other sources of such interaction information as may be gleaned from a customer's use of and interactions with the website. In a fashion similar to that noted with respect to feedback information, such interaction information can be used in revising information related to descriptors stored in descriptor database 455, and in so doing, improve customer experience by effecting changes to the related information.
Thus, in certain embodiments, feedback information database 445 can include information regarding a customer's explicit feedback with respect to their experience with searching for a desired product and/service, as noted. In contrast, the information maintained in interaction information database 465 can reflect a given customer's interactions with the website, as automatically recorded during those interactions. In the implementation depicted in
Such products and/or services are represented in
As will be appreciated, then, product/service metadata includes information that supports the identification, and so, storage/retrieval of product/service information (one or more product/service information entries associated with the product/service identifier) using that product/service identifier. Further, such product/service metadata can also include information that facilitates identification of one or more composite set(s) of descriptors (using, e.g., one or more composite set identifiers), thereby facilitating an association between the particular product/service information and the descriptors of the one or more composite set(s) of descriptors. In this regard, it will be appreciated that, while only a single such reference is depicted for each such product/service metadata in
Descriptor metadata such as descriptor metadata 492(1)-(N) not only provides for association of a corresponding one of descriptor identifiers 490(1)-(N) and descriptors 494(1)-(N), but also includes information including, for example, frequency of occurrence of the given descriptor, weighting assigned to the given descriptor (weighting value), weighting scale employed (e.g., relative, absolute, source, reputation, and/or the like), relevance value determined for the given descriptor, relevance value scale employed (e.g., relative, absolute, and/or the like), reputation information (e.g., an overall value for the source(s) of the given descriptor), and/or other such information.
Composite set metadata entries 484(1)-(N) can include this and other such information, with respect to the given composite set identifier associated therewith. In fact, in order to provide more efficient storage, such descriptor metadata can include information regarding a number of descriptors that hash to essentially the same descriptor identifier (e.g., by ignoring some number of lower-order bits), and so allow for the more efficient storage of such information. Further, such composite set metadata can also include information that facilitates identification of one or more product/service identifiers (and so, associated product/service information entries), thereby facilitating an association between the given composite set of descriptors and the one or more product/service information entries. In this regard, it will be appreciated that, while only a single such reference is depicted for each such composite set metadata entry in
Example Processes for Characterization of Products and/or Services
A determination is then made as to whether a request for information regarding a product and/or service has been received (510). As noted, such information is referred to herein as product/service information, and includes one or more products, one or more services, one or more product-service systems, virtual products and/or services, and/or other such offerings. Upon the receipt of a request for product/service information, a server system such as DDB server 425, performs processing of the request for the product/service information using the composite set of descriptors thus generated (520). An example of such a process, as well as its associated sub-processes, is discussed in greater detail in connection with
Once the request for product/service information has been processed, a determination is made as to whether the user at the remote computer (e.g., a customer) has indicated a desire to continue the selection process (530). If the customer has so indicated, the process proceeds to waiting for a request for further product/service information (510). In the alternative, if the customer has indicated that their selection process is complete (530), such as by selecting a given product and/or service, the process proceeds to a determination as to whether any feedback information has been received (step 540). Such feedback information can, in fact, include explicit feedback information (e.g., information received from the customer indicating the customer's estimation of the accuracy, usefulness, efficiency, and other factors with respect to the products and/or services presented to the customer in response to their request for such). Alternatively (or in combination), such feedback information can include information regarding the customer's interactions with the product/service information, the website by which such product/server information is presented, navigation information, and the like. Such feedback information allows server systems such as server systems 402 (and more particularly, DDB server 425) to revise information regarding descriptors (e.g., composite sets of descriptors and/or their corresponding descriptor metadata), in an effort to better meet customer's expectations as to the product/service information provided in response to a request therefor. If such feedback information is received (540), the server systems involved revise the affected composite sets of descriptors and/or descriptor metadata using the feedback information received (550). Once the revisions have been made, or no such revisions are needed/supported, the process returns to awaiting the receipt of a request for product/service information (510). Ultimately, at some point, the process depicted in
As will be appreciated in light of the present disclosure, descriptor metadata can be any information that is associated with a given descriptor. As such, descriptor metadata can include information such as frequency of occurrence of the descriptor and/or other such weighting information (e.g., author weighting information, customer feedback/interactions, and other such information, either separately or combined), information regarding analyst reputation for the given descriptor (e.g., average reputation of the analysts using the associated descriptor), descriptor characteristics (e.g., to what aspect of the product and/or service does the descriptor relate, such as physical dimensions, physical characteristics such as color, shape, and so on), conceptual impressions (e.g., mood, setting, and so on), and information regarding a descriptor's relationship to other descriptors, among a number of other such alternatives, which are all intended to come within the scope of the present disclosure.
The process of obtaining sets of descriptors according to embodiments such as those described herein begins, from the perspective of a server system, with the receipt of a request for a visual representation associated with one or more products and/or services (700). Once the server systems (e.g., DDB server 425) receives a request for such visual representations, the server retrieves one or more of the requested visual representations from an associated storage unit (e.g., descriptor processing module 450 requesting that content processing module 430 retrieve content such as visual representations from content database 435, or directly (if such information is maintained therein) by accessing descriptor database 455) (705).
Once the visual representation(s) (and/or other product/service information) have been retrieved, the visual representation(s) (and/or other product/service information) are sent to a remote computer (710). It will be appreciated that, in light of the present disclosure, multiple ones of such information can, in fact, be sent to multiple remote computers. At this juncture, the server awaits receipt of one or more sets of descriptors from the remote computer (715).
Once the set(s) of descriptors have been received (715), the set(s) of descriptors received are stored by the server (720). Once the set(s) of descriptors have been stored (720), a determination is made as to whether another set of descriptors is to be obtained (725). If additional sets of descriptors are to be obtained, the process iterates, proceeding to the receipt of the next set of descriptors (700). Otherwise, the process concludes. As will be appreciated in light of the present disclosure, the process of
The process of obtaining batches of sets of descriptors according to embodiments such as those described herein begins, from the perspective of a server system, with the receipt of a request for a visual representation associated with one or more products and/or services (750). Once a request for such visual representations have been received, the server (e.g., DDB server 425) retrieves multiple visual representations (and/or other product/service information) for the products and/or services in question, as per the request, from an associated storage unit (e.g., descriptor processing module 450 accessing descriptor database 455) (755). Once the information has been retrieved, the information is sent to a remote computer (760). It will be appreciated that, in light of the present disclosure, such information (e.g., multiple visual representations) can, in fact, be sent to multiple remote computers. At this juncture, the server awaits receipt of the requested sets of descriptors from the remote computer(s) (765). Until such a response is received, the process iterates. Once the sets of descriptors have been received (765), the sets of descriptors thus received are stored by the server (770). Once the sets of descriptors have been stored, the process concludes.
The process of
At this juncture, one or more descriptors are received via the user interface (820). A determination is periodically made as to whether additional descriptors are to be received (825). Such descriptors can take any form advantageous and appropriate to the application at hand, and may depend on the product, service, product-service system, or other offering that is the subject of characterization. For example, search descriptors can take the form of textual information (including single words, phrases, short passages, and/or any other amount of textual information considered to have relevance to the product/service in question), spoken word, selected visual representations (including images, video clips, and/or the like), other forms of informational recordings, data constructs reflecting selections by the end-user (e.g., selections in an electronic form), and/or any other representational information considered to be related in some fashion to the product(s) and/or service(s) in question. As will therefore be appreciated, the intent of the descriptors described herein is to provide a means by which the relatedness of descriptive information, with respect to the product/service in question, can be collected, maintained, and revised as necessary and appropriate. Further, such descriptors can be objective (e.g., “five feet long”) or subjective (e.g., “a warm shade of red”) in nature.
While additional descriptors are to be received, the process iterates (825 and 820). Once no further descriptors remain, the set of descriptors thus collected is sent to the appropriate server system (830). As noted earlier, a process using descriptor identifiers can be employed to minimize the communications bandwidth consumed, by sending only the descriptor identifiers, and based on that information, sending only the descriptors not already maintained in the descriptor database. At this juncture, a determination is made as to whether additional visual representations are to be requested (835). If additional visual representations are to be requested, the process iterates, proceeding to the point at which a request for another visual representation is sent to the appropriate server system (800). Alternatively, the process concludes. In this fashion, visual representations are requested, received, and presented using the user interface displayed on a display of the remote computer. In so doing, the process illustrated in
Once the requested visual representations have been received, the visual representations are stored at the remote computer (860). As will be appreciated in light of the present disclosure, processing of one or more of these visual representations such as that described earlier in connection with
Having presented the visual representation in the user interface, one or more descriptors are received via the user interface (875). As noted above, such descriptors can take any form advantageous and appropriate to the application at hand. Periodically, a determination is made as to whether additional descriptors are to be received (880). So long as additional descriptors are to be received, the process iterates (875 and 880). Once no further descriptors remain to be entered, the set of descriptors thus collected are stored for subsequent transmission to the appropriate server system (882).
At this juncture, a determination is made as to whether additional visual representations remain to be characterized (885). If additional visual representations are to be characterized, the process iterates, proceeding to the point at which another visual representation is selected and retrieved from the remote computer's storage unit (885). Alternatively, if no further visual representations remain for characterization, the sets of descriptors are retrieved and sent to the appropriate server system (890). The process then concludes. In this fashion, multiple visual representations can be requested, received, and presented using the user interface displayed on a display of the remote computer. In so doing, multiple descriptor sets can be presented in a more unified fashion, as might be appropriate, for example, when obtaining characterizations of products and systems making up a product-system offering. As before, ultimately, the process illustrated in
In either of the serial or batch approach, it will be further appreciated that descriptors can also be obtained by “seeding” the process through the presentation of a descriptor cloud, examples of which are described subsequently. In the application of a descriptor cloud to seed the collection of descriptors, such a descriptor cloud can be obtained from the author/creator/producer/provider of the product and/or service, or can represent an existing composite set of descriptors for the given product and/or service. An analyst presented with such information can then enter or otherwise indicate descriptors in reaction to the descriptor cloud, or can select ones of the descriptors in the descriptor cloud, for example. Conversely, such a descriptor cloud can be presented to an author/creator/producer/provider of a product and/or service in order to allow the party to better understand the way in which others (e.g., analysts and end-users) see the product and/or service. As will be appreciated, descriptor identifiers can also be put to good use in such applications, allowing only the descriptor identifiers and requisite metadata to be sent, when the corresponding descriptors are already maintained on the remote computer. Further still, a descriptor cloud can be presented to an author/creator/producer/provider at any point in the process of collecting sets of descriptors, forming one or more composite sets of descriptors, and/or after revision by analysts, end-users, and other such entities. In presenting such a descriptor cloud, information in, for example, a descriptor database is “revealed” to the author/creator/producer/provider, by which that party is able to gain insight into others' perceptions regarding the product and/or service.
If the set of descriptors is to be processed, any duplicate descriptors in the set of descriptors can, optionally, be removed (910). Next, the set of descriptors can be filtered using one or more descriptor characteristics (915). Descriptor characteristics for use in filtering can be gleaned from historical interactions with other sets of descriptors, preset parameters (e.g., based on, for example, user inputs, machine learning, or other such sources), and the like. As noted, the use of descriptors in methods and systems such as those described herein is intended to convey significantly more than just a literal description of a product and/or service, but rather to comprehend the evocative nature of the product/service information regarding the product, and in so doing, capture impressions, perceptions, and other such subjective aspects evoked by the product and/or service. For example, a descriptor for an image of a fire in a living room fireplace might evoke “warmth,” “family,” “home,” an/ or other such subjective concepts. By using methods and systems such as those described herein, such information, though difficult or impossible to quantify, can be collected from some number of analysts, and used to more accurately and efficiently present alternatives to an end-user (e.g., a customer) in the process of selecting an offering, for example.
Relevance values for each of the descriptors within the set of descriptors can also be determined at this juncture (920). As used herein, the determination of a given descriptor's relevance value within the given set of descriptors can be determined relative to other descriptors in that set of descriptors. As such, in this regard, the use of “within” indicates the relevance of the given descriptor to the product/service in question as compared to other descriptors in the set of descriptors (and so, with respect to those descriptors). Alternatively, as discussed elsewhere, such relevance values can be determined with regard to an absolute scale. Optionally, descriptors can be removed from the set of descriptors based on their corresponding relevance values, using one or more relevance criteria (925).
If the retrieved set of descriptors is not to be processed (or once such processing has been completed), a determination is made as to whether the descriptors of the set of descriptors are to have weighting operations performed thereon (930). If the weighting of the descriptors in the set of descriptors is to be determined, for each such descriptor, descriptor metadata is generated by performing one or more weighting operations on the given descriptor (935). Such weighting operations, as noted elsewhere herein, can take a variety of factors into consideration, including the reputation of the analyst contributing to the list of descriptors, the importance of each descriptor to the entity offering the product(s) and/or service(s), historical information regarding the given customer (e.g., preferences, prior purchases, and so on), and other such factors. As used herein, the term “weighting” can also comprehend the weight to be accorded the descriptor based on an absolute scale, a relative scale (e.g., as between descriptors in a given set of descriptors or a composite set of descriptors), or the like. Moreover, such weighting allows for the capture and representation of a given product's and/or service's expression of a given degree of a characteristic. For example, if the descriptor indicated “blue,” descriptor metadata associated with a descriptor (for such “blue-ness”) could range from “not very blue” to “extremely blue” - a subjective characteristic, to be sure, but one that can be subject to information indicating the degree thereof. Methods and systems such as those described herein can not only capture such information, but allow for such characteristics to be the subject of searching.
Once descriptor weighting operations have been performed (or, in the alternative, no such operations are to be performed), the processed set of descriptors, as well as any associated descriptor metadata, are stored in the appropriate storage unit (940). As will be appreciated in light of the present disclosure, search processing and storage can be effected by way of descriptor processing module 450 and descriptor database 455. A determination is then made as to whether another set of descriptors is to be processed (945).
In this regard, then, a determination is made as to whether one or more weighting operations are to be performed on the descriptors represented by entries in the list of descriptors (1010). If such weighting operations are to be performed, a determination is made as to the weight to be assigned to each descriptor within the list of descriptors, and the results of such weighting operations stored in the descriptor metadata for each affected descriptor's corresponding entry in the list of descriptors (1015). As noted, descriptor weighting represents the importance placed on each descriptor in the list of descriptors. The descriptor weighting for a given descriptor can be based on the importance of that descriptor in the opinion of one or more of the analysts (e.g., one or more of the analysts can provide or be solicited for the importance of one or more of the descriptors), by the author (or producer, manufacturer, or comparable entity), by customers, by authors in the given market segment, by the entity operating a system such as those described herein, and/or other such sources.
For example, the importance attributed to a given descriptor can be driven by the fact that, for certain products, physical dimensions are more important than subjective attributes (e.g., in the case of a microwave oven, the fact that the oven is a (desirable) “warm” shade of red is irrelevant if the oven's physical dimensions are too large for the oven to fit in the available space in the customer's kitchen). Such descriptor weighting can represent such weighting as between descriptors in the list of descriptors (e.g., one descriptor weighted more heavily than another) and/or on an absolute scale, though the representation of such relationships need not be the case. Further, such descriptor weighting can include not only information received from analysts, but also from the author/creator/manufacturer of such products and/or services and customers involved in perusing or acquiring such products and/or services. Such weighting can, for example, use each descriptor's frequency of occurrence in the retrieved set(s) of descriptors. Further, descriptors that are more objective (e.g., the objectively descriptive “one foot in diameter,” in the instance of a ball) and more subjective (“a warm shade of red,” in that instance) can be weighted differently, thereby allowing methods and systems such as those described herein to discern between such descriptions (as well as to allow for adjustment in recommendations by way of user input (e.g., the importance of literal descriptions versus evocative impressions)).
Having performed the aforementioned weighting operations (or, alternatively, having not), a determination is then made as to whether relevance analysis is to be performed (1020). If relevance analysis is to be performed, a determination is made, for each descriptor in the list of descriptors, as to the relevance value for the given descriptor in the list of descriptors (1025). Such relevance values can be determined by frequency of occurrence in responses from analysts, ratings by one or more reviewers, feedback from end-users, and/or other such sources. Further, relevance values can represent the relevance of the given descriptor on an absolute scale or a relative scale (e.g., with respect to the other descriptors in the list of descriptors). In contrast to the aforementioned descriptor weighting operations, such relevance analysis captures the relevance of each descriptor with respect to the product and/or service in question (i.e., a measure of how related the given descriptor is viewed as being to the given product and/or service, in the opinion of the analyst(s) and/or other entities (such as those described earlier)). Once determined, the relevance values are then stored (e.g., in the descriptor metadata for each descriptor) (1030).
Next, a determination is made as to descriptor characteristics for the descriptors in the list of descriptors (1035). If such a determination is to be made, descriptive characteristics are determined for each descriptor in the list of descriptors (1040). Search descriptor characteristics can include a rating of the literal versus impressionistic nature of the descriptors, the type of descriptor (e.g., size, color, and other such physical characteristics), how recently the descriptor was provided, the source of the descriptor (provided as part of the analysis process, and which can be revised as part of the feedback process, as noted), and/or other such metrics. Further, in providing for the processing of descriptors using descriptive characteristics, descriptors can be grouped based on one or more such characteristics. Further still, the descriptors, particularly after having been processed thusly, can be used in the generation and display of descriptor clouds for use by end-users and others, in a variety of situations. For example, using a greeting card as an example, having created the greeting card, the author would like to determine customers' reactions to the card, their impressions, what these customers think about the greeting card, and what the customers think the greeting card is about. Each descriptor in the descriptor cloud can also be linked to all other products or services exhibiting the same or similar descriptor. The link could be a “hard” link to a predefined collection or it could trigger a search using the descriptor as the search term.
By presenting the author with a descriptor cloud, the author can gain insight into these and other intangibles regarding their creation. As will be appreciated, such a descriptor cloud can also be presented to an end-user, in order to present the end-user with a weighted (e.g., as represented by the size of the font used to present a word, if the descriptor is amenable to such display), indicating the “meaningfulness” of each such descriptor. This aspect is described in further detail in connection with
The descriptors in the list of descriptors can then be filtered, if desired or needed (1045). If descriptor filtering is to be performed, descriptor metadata for each of the descriptors in the list of descriptors is used to filter those descriptors, for example, in a manner such as that described earlier in connection with
As will be appreciated in light of the present disclosure, methods and systems such as those disclosed herein provide for the generation and weighting of descriptors stored, for example, in a descriptor database. Once a composite set of descriptors is thus generated, such methods and systems support searching for one or more products and/or services based on such descriptors. Further, methods and systems such as those disclosed herein can be used to take raw information (e.g., one or more sets of descriptors or comparable information), and by way of processing such as that described herein, including the aggregating and forming of composite sets of descriptors therefrom, can determine the relevance of various descriptors with respect to the given product and/or service (regardless of its general nature (e.g., whether physical, virtual, or a combination thereof), and in so doing, provide the ability to search for a desired one or more of such products and/or services using such descriptors.
The process depicted in
Such operations are illustrated in the process of
Next, information regarding products and/or services (product/service information) is retrieved using the descriptors and any associated descriptor metadata identified and retrieved as a result of the aforementioned search (1130). Such product/service information represents, essentially, the server systems' best estimation of the product(s) and/or service(s) desired by the customer submitting the search. The content server then sends the product/service information retrieved (possibly accompanied by related visual representations, audio information, metadata, and/or other available information that may prove helpful to the customer in making a decision as to the product/service (offering) to purchase) to the remote computer (1140). The process then concludes.
The process depicted in
The one or more search descriptors and/or other information having been sent to the server system, the remote computer system awaits receipt of the resulting product/service information (1170). Upon receipt of this product/service information, the product/service information (including any visual representations, descriptor information, descriptor metadata, and/or other such information) is presented to the end-user in the user interface by way of the presentation module and user interface module (1180). A determination is then made as to whether the end-user has finished the product/service selection process (1190). If the end-user continues the selection process, the process iterates, proceeding to the point at which search descriptors and any related information are received via the user interface (1150). Alternatively, the process concludes. As will be appreciated in light of the present disclosure, it is possible that the search response from the server system (e.g., the content server) indicates that a product and/or service meeting the search criteria (e.g., search descriptors) set forth in the search request. In such a case, additional or alternative search criteria can be solicited from the end-user. Further in this regard, one or more of the search criteria (e.g., search descriptors) may not be sufficiently definitive for the content server to perform a search. In such a situation, the content server can indicate to the remote computer (and so, the end-user) that the search descriptor is, for example, ambiguous and request clarification. In fact, certain embodiments can provide an end-user with one or more suggestions for disambiguation of the search descriptor in question, in order to assist the end-user in formulating an acceptable search.
As before, then, one or more descriptors and/or other identifying information are received from the remote computer by the content server (1200). In a manner similar to that described previously, descriptors and any associated descriptor metadata are identified using the search descriptors and/or other identifying information (1205). In a process that supports the use of descriptor clouds, feedback information, interaction information, and the like, such as that depicted in
Thus, in the process depicted in
In the manner noted previously, and as will be apparent in light of the present disclosure, the processes described in connection with
In order to effect the foregoing, the process of
As the customer interacts with the information presented, systems on the remote computer can monitor these interactions (such web page navigation, selections within web pages, and the like), gathering and recording such interaction information for use in revising information stored in the databases of the content server and descriptor database server. These operations are illustrated in
Such collection operations are continued until, for example, customer feedback is to be obtained, searching information is to be sent, or upon the occurrence of some other such event. In this vein, a determination is then made as to whether feedback information is to be obtained, upon the cessation of the aforementioned gathering operations (1275). If feedback information is to be obtained, a feedback module such as feedback module 266 presents the customer with a form or other such displayed structure via a presentation module and a user interface module (1280). Once the customer has completed this informational request (or such a request is not made), any interaction information collected during the customer's interaction with the user interface is sent to the server systems (1285). Next, any feedback information collected is sent to the server systems (1290). Lastly, the one or more search descriptors, selections, and/or any other identifying information are sent to the server systems from the remote computer system (1295).
In the example depicted in
As shown above, the systems described herein can be implemented using a variety of computer systems and networks. Examples of such computing and network environments are described below with reference to
Bus 1412 allows data communication between central processor 1414 and system memory 1417, which may include read-only memory (ROM) or flash memory (neither shown), and random access memory (RAM) (not shown), as previously noted. RAM is generally the main memory into which the operating system and application programs are loaded. The ROM or flash memory can contain, among other code, the Basic Input-Output System (BIOS) which controls basic hardware operation such as the interaction with peripheral components. Applications resident with computer system 1410 are generally stored on and accessed from a computer-readable storage medium, such as a hard disk drive (e.g., fixed disk 1444), an optical drive (e.g., optical drive 1440), a floppy disk unit 1437, or other computer-readable storage medium.
Storage interface 1434, as with the other storage interfaces of computer system 1410, can connect to a standard computer-readable medium for storage and/or retrieval of information, such as a fixed disk drive 1444. Fixed disk drive 1444 may be a part of computer system 1410 or may be separate and accessed through other interface systems. Modem 1447 may provide a direct connection to a remote server via a telephone link or to the Internet via an internet service provider (ISP). Network interface 1448 may provide a direct connection to a remote server via a direct network link to the Internet via a POP (point of presence). Network interface 1448 may provide such connection using wireless techniques, including digital cellular telephone connection, Cellular Digital Packet Data (CDPD) connection, digital satellite data connection or the like.
Many other devices or subsystems (not shown) may be connected in a similar manner (e.g., document scanners, digital cameras and so on). Conversely, all of the devices shown in
Further, and as will be appreciated in light of the present disclosure, each of the operations described herein may be executed by a module (e.g., a software module) or a portion of a module, or a computer system user. Thus, the above-described method, the operations thereof and modules therefor may be executed on a computer system configured to execute the operations of the method and/or may be executed from computer-readable storage media. The method may be embodied in a machine-readable and/or computer-readable storage medium for configuring a computer system to execute the method. Thus, the software modules may be stored within and/or transmitted to a computer system memory to configure the computer system to perform the functions of the module.
The software modules described herein may be received by a computer system, for example, from computer-readable storage media. Such computer readable storage media may be permanently, removably or remotely coupled to the computer system. Computer-readable storage media may non-exclusively include, for example, any number of the following: magnetic storage media (including disk and tape storage media); optical storage media such as compact disk media (e.g., CD ROM, CD R, etc.) and digital video disk storage media; nonvolatile memory storage memory including semiconductor-based memory units such as FLASH memory, EEPROM, EPROM, ROM or application specific integrated circuits; and volatile storage media (including registers, buffers or caches, main memory, RAM, etc.). In a UNIX-based embodiment, the software modules may be embodied in a file, which may be a device, a terminal, a local or remote file, a socket, or other such element. Other new and various types of computer-readable storage media may also be used to store the software modules discussed herein.
Many other devices or subsystems (not shown) may be connected in a similar manner (e.g., bar code readers, document scanners, digital cameras and so on). Conversely, it is not necessary for all of the devices shown in
Moreover, regarding the signals described herein, those skilled in the art will recognize that a signal may be directly transmitted from a first block to a second block, or a signal may be modified (e.g., amplified, attenuated, delayed, latched, buffered, inverted, filtered or otherwise modified) between the blocks. Although the signals of the above described embodiment are characterized as transmitted from one block to the next, other embodiments of the present invention may include modified signals in place of such directly transmitted signals as long as the informational and/or functional aspect of the signal is transmitted between blocks. To some extent, a signal input at a second block may be conceptualized as a second signal derived from a first signal output from a first block due to physical limitations of the circuitry involved (e.g., there will inevitably be some attenuation and delay). Therefore, as used herein, a second signal derived from a first signal includes the first signal or any modifications to the first signal, whether due to circuit limitations or due to passage through other circuit elements which do not change the informational and/or final functional aspect of the first signal.
With reference to computer system 1410, modem 1447, network interface 1448 or some other method can be used to provide connectivity from each of client computer systems 1510, 1520 and 1530 to network 1550. Client systems 1510, 1520 and 1530 are able to access information on storage server 1540A or 1540B using, for example, a web browser or other client software (not shown). Such a client allows client systems 1510, 1520 and 1530 to access data hosted by storage server 1540A or 1540B or one of storage devices 1560A(1)-(N), 1560B(1)-(N), 1580(1)-(N) or intelligent storage array 1590.
The foregoing described embodiments wherein the different components are contained within different other components (e.g., the various elements shown as components of computer system 1410, discussed subsequently). It is to be understood that such depicted architectures are merely examples, and that in fact many other architectures can be implemented which achieve the same functionality. In an abstract, but still definite sense, any arrangement of components to achieve the same functionality is effectively “associated” such that the desired functionality is achieved. Hence, any two components herein combined to achieve a particular functionality can be seen as “associated with” each other such that the desired functionality is achieved, irrespective of architectures or intermediate components. Likewise, any two components so associated can also be viewed as being “operably connected”, or “operably coupled”, to each other to achieve the desired functionality.
The systems described herein are well adapted to attain the advantages mentioned as well as others inherent therein. While such systems have been depicted, described, and are defined by reference to particular descriptions, such references do not imply a limitation on the claims, and no such limitation is to be inferred. The systems described herein are capable of considerable modification, alteration, and equivalents in form and function, as will occur to those ordinarily skilled in the pertinent arts in considering the present disclosure. The depicted and described embodiments are examples only, and are in no way exhaustive of the scope of the claims.
The foregoing detailed description has set forth various embodiments of the systems described herein via the use of block diagrams, flowcharts, and examples. It will be understood by those within the art that each block diagram component, flowchart step, operation and/or component illustrated by the use of examples can be implemented (individually and/or collectively) by a wide range of hardware, software, firmware, or any combination thereof.
The systems described herein have been described in the context of fully functional computer systems; however, those skilled in the art will appreciate that the systems described herein are capable of being distributed as a program product in a variety of forms, and that the systems described herein apply equally regardless of the particular type of computer-readable media used to actually carry out the distribution. Examples of computer-readable media include computer-readable storage media, as well as media storage and distribution systems developed in the future.
The above-discussed embodiments can be implemented by software modules that perform one or more tasks associated with the embodiments. The software modules discussed herein may include script, batch, or other executable files. The software modules may be stored on a machine-readable or computer-readable storage media such as magnetic floppy disks, hard disks, semiconductor memory (e.g., RAM, ROM, and flash-type media), optical discs (e.g., CD-ROMs, CD-Rs, and DVDs), or other types of memory modules. A storage device used for storing firmware or hardware modules in accordance with an embodiment can also include a semiconductor-based memory, which may be permanently, removably or remotely coupled to a microprocessor/memory system. Thus, the modules can be stored within a computer system memory to configure the computer system to perform the functions of the module. Other new and various types of computer-readable storage media may be used to store the modules discussed herein.
The above description is intended to be illustrative and should not be taken to be limiting. As will be appreciated in light of the present disclosure, other embodiments are possible. Those skilled in the art will readily implement the steps necessary to provide the structures and the methods disclosed herein, and will understand that the process parameters and sequence of steps are given by way of example only and can be varied to achieve the desired structure as well as modifications that are within the scope of the claims. Variations and modifications of the embodiments disclosed herein can be made based on the description set forth herein, without departing from the scope of the claims, giving full cognizance to equivalents thereto in all respects.
Although the systems described herein have been described in connection with several embodiments, these embodiments and their descriptions are not intended to be limited to the specific forms set forth herein. On the contrary, it is intended that such embodiments address such alternatives, modifications, and equivalents as can be reasonably included within the scope of the appended claims.