This disclosure relates generally to screening of online news articles and, more particularly, to an Artificial Intelligence (AI) based selection of news articles that are highly relevant to a corporate client/account in terms of potential business opportunity.
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems (IHS). An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Modern information handling systems include many different types of consumer and commercial electronic devices such as, for example, personal computers (e.g., desktops or laptops), tablet computers, mobile devices (e.g., personal digital assistants (PDAs) or smart phones), corporate (or small business) server and data processing systems, and the like. These devices may vary in size, shape, performance, functionality, and price. In any event, almost all of these modern devices are equipped with relevant hardware and software to allow their users to access a number of different websites over the Internet and perform online transactions.
In a corporate environment, the sales and marketing team members increasingly rely on information handling systems to access the Internet to mine information and online news articles related to their clients to check if new business opportunities can be created with the clients. Currently, there are a lot of news sources out there in the market. Also, there are many online news aggregators such as, for example, Google® News, Yahoo® News, and so on, that have the capability to collect and filter news from a number of online news sources (such as, for example, The New York Times, CNN, Reuters, Wall Street Journal, Forbes, Financial Times, and the like) based on a particular area of interest or particular filter criterion (for example, the name of a corporate client) provided by a user (such as a salesperson or an Account Executive (AE) of a corporate entity). These news aggregators allow the user to view the news headlines (or news summaries) from different news sources on the display screen of the user's information handling system. The user can then click on the link of the desired news article to read the entire article from the website of the news source.
This Summary provides a simplified form of concepts that are further described below in the Detailed Description. This Summary is not intended to identify key or essential features and should therefore not be used for determining or limiting the scope of the claimed subject matter.
In the context of screening of online news articles, the present disclosure relates to using an AI-based machine learning (ML) module to further curate the news articles filtered by an online news aggregator. The ML module automates the process of selecting news articles that are most relevant to the corporate entity in creating new business opportunities with its customers/clients. With the boom of information in the modern world, it may be difficult for a corporate salesperson or AE to manage and keep up with all the online news and market trends related to the clients in the AE's portfolio. For a set of news articles provided by a news aggregator service (like Google® News or Yahoo® News), the ML module automates and streamlines the process of sifting through these news articles to intelligently select and present only those news articles to the corporate user (for example, the salesperson or AE) that are really important to the user in creating potential, new business transactions with the user's clients. Other non-relevant or marginally-relevant news may be removed from the search results received from the news aggregator to avoid distractions. In doing so, the ML module may rely on many different types of commercial information—such as, for example, the corporate entity's product/service offerings (current and in the near future), historical sales and marketing information related to a client, current account status of the client, and past business transactions with the client—to intelligently select the most relevant news articles for the user.
In one embodiment, the present disclosure is directed to a method, which comprises: (i) receiving, by a computing system, a list of online news articles related to a client of a corporate entity, wherein the list contains news articles generated within a pre-determined time period and pre-sorted by an online news aggregator; (ii) identifying, by the computing system using a machine learning (ML) module, a first subset of online news articles from the list that are relevant to a commercial area of interest specific to the corporate entity; and (iii) selecting, by the computing system using the ML module, a second subset of online news articles from within the first subset based on an analysis of corporate entity-specific business data and commercial capabilities of the corporate entity, wherein the second subset contains news articles that are specifically relevant for a potential business transaction with the client. The ML module may be AI-based. In particular embodiments, the method further comprises presenting the online news articles in the second subset in an ordered manner—starting with the most-relevant news article at the top and ending with the least-relevant news article.
In another embodiment, the present disclosure is directed to a computing system, which comprises: a memory storing program instructions; and a processing unit coupled to the memory and operable to execute the program instructions. In the computing system, the program instructions, when executed by the processing unit, cause the computing system to: (i) receive a list of online news articles related to a client of a corporate entity, wherein the list contains news articles generated within a pre-determined time period and pre-sorted by an online news aggregator; (ii) identify, using an ML module, a first subset of online news articles from the list that are relevant to a commercial area of interest specific to the corporate entity; and (iii) select, using the ML module, a second subset of online news articles from within the first subset based on an analysis of corporate entity-specific business data and commercial capabilities of the corporate entity, wherein the second subset contains news articles that are specifically relevant for a potential business transaction with the client.
In a further embodiment, the present disclosure is directed to a computer program product comprising a non-transitory computer-usable medium having computer-readable program code embodied therein, wherein the computer-readable program code is adapted to be executed by a computing system to implement a method. The method comprises: (i) receiving a list of online news articles related to a client of a corporate entity, wherein the list contains news articles generated within a pre-determined time period and pre-sorted by an online news aggregator; (ii) identifying, using a machine learning (ML) module, a first subset of online news articles from the list that are relevant to a commercial area of interest specific to the corporate entity; and (iii) selecting, using the ML module, a second subset of online news articles from within the first subset based on an analysis of corporate entity-specific business data and commercial capabilities of the corporate entity, wherein the second subset contains news articles that are specifically relevant for a potential business transaction with the client.
The ML module as per teachings of the present disclosure is an AI-based analytical tool that goes beyond the existing news aggregator platforms to intelligently provide highly-relevant, customer/account specific news to respective account executives (AEs) based on a number of different types of company-specific commercial information mentioned earlier. This saves a significant amount of time of an AE when searching online for commercially-significant client-specific news that can create potentially new business opportunity with the client. The AE may not need to manually sift through a large amount of online content presented by the news aggregator in order to extract what is most relevant for the AE's future business with the client. This pro-active approach enables the AE to focus more on client development and gain customer's confidence in the company's product/service portfolio through client-specific, targeted marketing that takes into account the latest news and market trends affecting the client. In turn, the corporate entity gets financially rewarded through new business opportunities.
A more complete understanding of the present disclosure may be obtained by reference to the following Detailed Description when taken in conjunction with the accompanying Drawings. For ease of discussion, the same reference numbers in different figures indicate similar or identical items.
For purpose of this disclosure, an information handling system may include any instrumentality or aggregate of instrumentalities operable to compute, calculate, determine, classify, process, transmit, receive, retrieve, originate, switch, store, display, communicate, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, or other purposes. For example, an information handling system may be a personal computer (e.g., desktop or laptop), tablet computer, mobile device (e.g., personal digital assistant (PDA) or smart phone), server (e.g., blade server or rack server), a network storage device, a network controller, or any other suitable device, and may vary in size, shape, performance, functionality, and price. The information handling system may include random access memory (RAM), one or more processing resources such as a central processing unit (CPU) or hardware or software control logic, read-only memory (ROM), and/or other types of nonvolatile memory. Additional components of the information handling system may include one or more disk drives, one or more network ports for communicating with external devices as well as various input and output (I/O) devices, such as a keyboard, a mouse, touch-screen and/or video display. The information handling system may also include one or more buses operable to transmit communications between the various hardware components.
It is noted here that, for ease of discussion, a computer software, program code or module may be referred to as “performing,” “accomplishing,” or “carrying out” a function or process. However, it is evident to one skilled in the art that such performance may be technically accomplished by a processor when the software or program code is executed by the processor. The program execution would cause the processor to perform the tasks or steps instructed by the software to accomplish the desired functionality or result. However, for the sake of convenience, in the discussion below, a processor or software component may be referred to interchangeably as an “actor” performing the task or action described, without technically dissecting the underlying software execution mechanism. Furthermore, a hyphenated term (e.g., “pre-determined”, “computer-readable”, “AI-based”, etc.) may be occasionally interchangeably used with its non-hyphenated version (e.g., “predetermined,” “computer readable”, “AI based”, etc.), and a capitalized entry (e.g., “News Aggregator”, “News Article,” “Relevant News Selection Module”, etc.) may be interchangeably used with its non-capitalized version (e.g., “news aggregator,” “news article,” “relevant news selection module”, etc.). Such occasional interchangeable uses shall not be considered inconsistent with each other.
As mentioned before, with the boom of information in the modern world, it may be difficult for a corporate salesperson or AE to manage and keep up with all the online news and market trends related to the clients in the AE's portfolio. Although the AE may be able to use the search facility provided by an online news aggregator (such as, for example, Google® News, Yahoo® News, and the like) to filter news from multiple sources based on selection of a desired category of news or a specific search term, there is still a lot of news that gets generated on a daily basis and the news aggregator may not determine what is specifically relevant to the AE. As a result, even though the AE can subscribe to certain news topics through the news aggregator's website (or search engine) or get news based on desired categories or keywords, the AE still can't really know which news article(s) in the list of search results received from the aggregator are really important for the AE in terms of creating a new business opportunity with the clients in AE's portfolio.
For example, if an AE is working for a corporate entity or company that provides technological products and/or services and if the AE manages the account of a national burger chain, the AE may sign-up with an online news aggregator and subscribe to news (or news feeds) mentioning the name of AE's client (here, the burger chain) so that the AE can stay up-to-date with the latest happenings with the client in the marketplace to look for any possible business opportunity for future sales or other commercial transaction. The news aggregator may suggest multiple stories generated within the time period specified by the AE (for example, last one week, or last 10 days) and mentioning the AE's client by name. However, the AE may not have enough time to go through every story in detail—starting from top of the list to the bottom of the list—to figure out if the news article is indeed relevant to the AE's company's line of business. There is simply no way for the AE to know from looking at the aggregator's search results which articles are relevant for the AE and which are not. For example, if a news article discusses introduction of a new burger or a new burger sauce by the AE's client, then that article is simply irrelevant to the AE's line of work. If many such articles appear on the top of the list presented by the news aggregator, then the AE may expend and waste a large amount of time sifting through them while the most relevant news article—from AE's perspective—may be somewhere at the bottom of the list. That most-relevant news article may contain news about AE's client acquiring a new technology start-up and may choose to invest heavily in Information Technology (IT) infrastructure/hardware as a result of the acquisition. In many cases, the AE may even miss this important article because of the plethora of irrelevant or marginally-relevant articles the AE may need to go through. This results in a loss of potential business opportunity and, hence, loss of revenue for AE's employer. When this situation is multiplied by the total number of accounts managed by an AE (for example, 50 clients/accounts, or 100 clients/accounts) and the total number of AEs in a company (which may run into thousands or even tens of thousands for a large multi-national corporation), the potential for lost business opportunities may grow exponentially. The overwhelming amount of news presented to the AE for review may be quite time-consuming, especially in view of the need for the AE to also perform his/her job-related sales and marketing tasks including client calls, visits to client sites, sales presentations, and so on. Therefore, the demands of job duties and the limited amount of time available for news reviews may result in a realistic possibility of an AE missing the highly-relevant client-specific news and losing a possible business opportunity.
It is therefore desirable to devise a methodology that can alleviate the news-screening burden on an AE by providing an automated tool that can remove the uncertainties, delays, and risks inherent in a manual screening of online news. It is further desirable that the tool can curate the news received from an online news aggregator based on a number of criteria specific to the corporate entity employing the AE and to the client portfolio of the AE, and select only those news articles for review by the AE that are most relevant in creating new business opportunities with AE's customers/clients.
The present disclosure relates to automated selection of client-specific relevant news based on machine learning (ML) techniques. In one embodiment, an AI-based relevant news selection module (an ML module) automates and streamlines the process of screening the news articles appearing in the search results received from an online news aggregator and intelligently selects only those articles for presentation to a user (for example, a corporate salesperson or AE) that are really important to the user in creating potentially new business transactions with the user's clients in the near future. Other non-relevant or marginally-relevant news may be removed to avoid distractions. The ML module may rely on many different types of commercial information—such as, for example, the product/service offerings (current and in the near future) of the corporate entity employing the user, historical sales and marketing information related to a user's client, current account status of the client, and past business transactions with the client—to intelligently select the most relevant news articles for the user. Thus, the ML module goes beyond the existing news aggregator platforms by further curating the aggregator-provided results and selecting only those news articles that hold promise for an AE in exploring new business opportunities with a client.
It is noted here that the terms “corporate entity,” “company,” or other terms of similar import may be used interchangeably herein to refer to a business entity or commercial enterprise that employs at least one salesperson or AE who manages at least one client account as part of his/her account portfolio. Similarly, the terms “user,” “salesperson,” “account executive” (or “AE”), or other terms of similar import may be used interchangeably herein to refer to a marketing team member or a sales staff member of a company who may benefit from the selection of relevant news as per teachings of the present disclosure. Additionally, the terms “client” or “account” may be used interchangeably as well to refer to a customer of the corporate entity managed by an AE as part of the AE's job portfolio. It is understood that the client itself may be a business entity as well.
It is further noted here that, merely for ease of discussion, the term “online” may not always appear along with the terms “news,” “news article,” “news source,” “news aggregator,” and the like. However, it is understood that, despite such absence of mention, the discussion herein applies to selection of news articles appearing online (for example, over the Internet). It is also understood that, for ease of discussion, the terms “news” or “news articles” are used as a short-hand to refer to the summaries or web links appearing in the search results received from a news aggregator. As discussed before, a user may click on the desired link to read the entire news article from the respective news source.
More generally, as noted at block 104 in
In particular embodiments, the RNS module 102 may use machine learning techniques to evaluate the received list of news articles (at block 104) against the above-mentioned information retrieved from the database 106 specific to the corporate entity—that is, the corporate entity-specific business data and content related to the commercial capabilities of the corporate entity. Based on the evaluation, the RNS module 102 may select only those news articles that contain news specifically relevant to the corporate client (or account) managed by the AE in the sense that the news articles may provide the requisite information to the AE that allows the AE to explore a potential business transaction with the client (as discussed in more detail with reference to
In certain embodiments, the RNS module 102 also may receive one or more user preferences (block 110) and present the news articles at arrow 108 based on the user's preference(s). For example, the user may wish to see the links for only a pre-defined number of top-ranked articles (for example, the top three most-relevant articles). In that case, the RNS module 102 may present the results at arrow 108 starting with the most relevant article at the top and ending with the least-relevant article at the bottom. An example of such presentation is given by the subset 306 shown in
In one embodiment, the ML-based RNS module 102 may be trained using historical data including corporate entity-specific business data and information related to commercial capabilities of the corporate entity. As noted earlier, these data may have been stored in a single database such as, for example, the database 106, or in multiple databases (not shown). Some examples of these types of data are already provided before. For example, the historical data may contain information such as, for example, details of the product orders placed in the past by a specific client and profits associated with those product orders, the portfolio of clients managed by an AE, the products and/or services currently offered by the corporate entity to its enterprise customers, and the like. The training of various ML-based classifiers and analytical tools in the RNS module 102 may generate a trained version of the RNS module 102. An exemplary flowchart illustrating classifier selection as part of the training of the RNS module 102 is shown in
In the flowchart 200, each block represents one or more tasks that can be implemented in hardware, software, or a combination thereof. In the context of software, the blocks represent computer-executable instructions that, when executed by one or more processors, cause the processors to perform the recited tasks. Generally, computer-executable instructions include routines, programs, objects, modules, components, data structures, and the like that perform particular functions or implement particular abstract data types. The order in which the blocks are described is not intended to be construed as a limitation, and any number of the described tasks can be combined in any order and/or in parallel to implement the process shown in the flowchart 200. For discussion purpose, the process in the flowchart 200 is described with reference to
Initially, the computing system (for example, the computer system 700 in
In this manner, the computing system may perform an automated selection of a highly-relevant set of news articles to be presented to the user to enable the user to efficiently explore the possibility of a new business transaction with the user's client in a financially-rewarding manner, while significantly mitigating the risks associated with a manual screening/selection of such articles. The business transaction may be a simple sales call or a new sales presentation, a visit to the client's site for additional discussion, or may be a more-involved transaction such as an actual sale of a product or service. Regardless of the nature or financial worth of the transaction, it is important to point out that the additional screening afforded by the RNS module 102 not only saves countless manual hours of AEs sifting through news articles to do their jobs, but it also presents highly-relevant content to an AE so that the AE can explore new, potential business opportunities with the AE's clients. The AE may frequently miss important news in the traditional manual review of results received from a news aggregator, which can be potentially costly in the competitive marketplace. The rigorous, automated, and highly-specific screening by the RNS module 102 prevents that from happening. Furthermore, even if the news articles selected by the RNS module 102 do not contain commercially highly-beneficial information, they may provide information sufficient to prompt the AE to perform additional online searches to obtain more information about a client that can indeed result in a potential business opportunity with the client.
Each search result 308-314 in the list 302 may identify the source of the news article and provide a link to the website of the source (such as, for example, The New York Times, CNN, Forbes, and the like), the headline of the news article in the form of a clickable link, an image (if available) associated with the news article, and the timing when the news article was generated (for example, 2 days ago, 9 days ago, and so on). In certain cases, a short summary—for example, a few sentences from the initial paragraph in the news article—also may be displayed in the search result below the news headline. It is seen from the list 302 in
As indicated by the dotted arrow 316, in its operational phases 1 and 2 (which are discussed in more detail later with reference to
Thereafter, as indicated by the dotted arrow 318, in its operational phase 3 (which is discussed in more detail later with reference to
It is noted here that the arrows 316 and 318 are shown dotted in
In phase 2, the RNS module 102 may determine the relevance of the news links scraped in phase 1 and identify those “real” news articles that are truly relevant to the company's area of business, as noted at block 404. In part of the news analysis in phase 2, in some embodiments, the RNS module 102 may take into account the company's current and near-future product/service portfolio offerings. After a news article is determined to be relevant to a company's line of business, the RNS module 102 may further analyze the article in phase 2 to identify business or commercial discussion specified within the article for which up-sell/cross-sell and new business opportunities may be targeted by an AE.
In phase 3, as noted at blocks 405-406, the RNS module 102 may retrieve company's product offering (and/or service offering) and historical client account information from one or more databases (as represented, for example, by the database 106 in
Thereafter, different ML techniques/models may be used as classifiers to classify each sample article as containing “real” or “fabricated” (or suspicious) news to establish authenticity of the news article. Some exemplary ML classifiers include a neural-network based Support Vector Machine (SVM) classifier (linear), a Random Forest classifier, a Logistic Regression model, and a Multinomial Naive Bayes model. These classifiers may use deep learning based Natural Language Processing (NLP) techniques along with Sentiment Analysis models to classify the news content in a training sample as “real” or “fabricated”. Sentiment Analysis models may use data mining processes, text analysis, and other language-processing techniques to identify, extract, and capture data for analysis to discern subjective opinion of a document or collection of documents like blog posts, news articles, social media feeds, and so on. An ML classifier may filter out or remove the news articles that are identified as “fabricated” and keep only the “real” news articles for further classification. The performance of each ML classifier/model—as observed in terms of its classification of a sample as “real” or “fabricated”—may be evaluated through cross-validation, as noted at block 507. As part of cross-validation, the performance of each ML classifier may be evaluated on a set of test samples of news articles. The test samples may be complementary to the training samples. For example, in a k-fold cross-validation method, the input data may be split into “k” subsets of data. An ML model may be trained on “k-1” subsets (all but one subset), and then evaluated on the subset that was not used for training. This process may be repeated “k” times, with a different subset reserved for evaluation (and excluded from training) each time. In the embodiment of
At block 508 in
As noted with reference to
In particular embodiments, the relevance percentile of a news article may be calculated as a difference between the corresponding indegree score and the corresponding outdegree score of the article. Thus, in the context of
As noted at block 404 in
In certain embodiments, once the news articles relating to the corporate entity's area of interest are identified, the RNS module 102 may again parse those articles (as part of its processing under phase 2) using NLP techniques (such as the earlier-mentioned “bag of words” method) to determine the count for the business (or corporate area of interest) mentioned in each article. In particular embodiments, once the count for the business mentioned crosses a user-defined threshold frequency (or a default threshold), the news article may be classified as relevant to the corporate entity's commercial area of interest (that is, the news that has the potential to impact the company's business/revenue).
In this manner, at the conclusion of its operational phases 1 and 2 (identified by exemplary blocks 402-404 in
After the conclusion of phases 1 and 2, the RNS module 102 may execute its operational phase 3 (an example of which is given at blocks 405-406 in
In one embodiment, the input devices 708 may provide user inputs—such as user inputs received at block 110 in
The processor 702 is a hardware device that may include a single processing unit or a number of processing units, all of which may include single or multiple computing units or multiple cores. When the computing device 700 is a multiprocessor system, there may be more than one instance of the processor 702 or there may be multiple processors coupled to the processor 702 via their respective interfaces (not shown). The processor 702 may include an integrated Graphics Processing Unit (GPU) or the GPU may be a separate processor device in the system 700. The processor 702 may be implemented as one or more microprocessors, microcomputers, microcontrollers, Digital Signal Processors (DSPs), Central Processing Units (CPUs), Graphics Processing Units (GPUs), state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the processor 702 may be configured to fetch and execute computer-readable instructions stored in the memory 704, the peripheral storage 712, or other computer-readable media. In some embodiments, the processor 702 may be a System on Chip (SoC).
The memory 704 and the peripheral storage unit 712 are examples of non-transitory computer media (e.g., memory storage devices) for storing instructions that can be executed by the processor 702 to perform the various functions described herein. For example, the memory unit 704 may include both volatile memory and non-volatile memory (e.g., RAM, ROM, or the like) devices. Further, in particular embodiments, the peripheral storage unit 712 may include one or more mass storage devices such as, for example, hard disk drives, solid-state drives, removable media, including external and removable drives, memory cards, flash memory, floppy disks, optical disks (e.g., CD, DVD), a storage array, a network attached storage, a storage area network, or the like. Both memory 704 and mass storage devices constituting the peripheral storage 712 may be collectively referred to as memory or computer storage media herein, and may be a media capable of storing computer-readable, processor-executable program instructions as computer program code that can be executed by the processor 702 as a particular machine configured for carrying out the operations and functions described in the implementations herein.
The computing device 700 may also include one or more communication interfaces as part of its interface unit 706 for exchanging data via a network. The communication interfaces can facilitate communications within a wide variety of networks and protocol types, including wired networks (e.g., Ethernet, Digital Subscriber Loop (DSL), Data Over Cable Service Interface Specification (DOCSIS), Fiber Optics network, Universal Serial Bus (USB), etc.) and wireless networks (e.g., Wireless Local Area Network (WLAN), Global System for Mobile Communications (GSM), Code Division Multiple Access (CDMA), Institute of Electrical and Electronics Engineers (IEEE) standard 802.11, Bluetooth®, Wireless USB, cellular, satellite, etc.), the Internet, and the like. Communication interfaces in the interface unit 706 can also provide communication with external storage (not shown), such as in a storage array, network attached storage, storage area network, one or more databases (such as the corporate database 106 in
The computer storage media, such as the memory 704 and the mass storage devices in the peripheral storage 712, may be used to store software and data. For example, the computer storage media may be used to store the operating system (OS) for the computing device 700, various device drivers for the device 700, various inputs provided by the user during the implementation and operation of the RNS module 102, and the data such as audio content, video content, text data, streaming content, data retrieved from the database 106 shown in
In one embodiment, a non-transitory, computer-readable data storage medium, such as, for example, the system memory 704 or the peripheral data storage unit 712 may store program code or software for the RNS module 102 as per particular embodiments of the present disclosure. In the embodiment of
In particular embodiments, the computing device 700 may include an on-board power supply unit 714 to provide electrical power to various system components illustrated in
The example systems and devices described herein are merely examples suitable for some implementations and are not intended to suggest any limitation as to the scope of use or functionality of the environments, architectures and frameworks that can implement the processes, components and features described herein. Thus, implementations herein are operational with numerous environments or architectures, and may be implemented in general purpose and special-purpose computing systems, or other devices having processing capability, and, hence, are considered machine-implemented. Generally, any of the functions described with reference to the figures can be implemented using software, hardware (e.g., fixed logic circuitry) or a combination of these implementations. The terms “module,” “mechanism” or “component” as used herein generally represents software, hardware, or a combination of software and hardware that can be configured to implement prescribed functions. For instance, in the case of a software implementation, the term “module,” “mechanism” or “component” can represent program code (and/or declarative-type instructions), such as the program code for the RNS module 102, that performs specified tasks or operations when executed on a processing device or devices (e.g., CPUs or processors). The program code can be stored in one or more computer-readable memory devices or other computer storage devices. Thus, the processes, components and modules described herein may be implemented by a computer program product.
Furthermore, this disclosure provides various example implementations or embodiments, as described and as illustrated in the drawings. However, this disclosure is not limited to the implementations described and illustrated herein, but can extend to other implementations, as would be known or as would become known to those skilled in the art. Reference in the specification to “one embodiment,” “particular embodiments,” “this implementation,” “some embodiments”, or other terms of similar import, means that a particular feature, structure, or characteristic described is included in at least one implementation or embodiment, and the appearances of these phrases in various places in the specification are not necessarily all referring to the same implementation/embodiment.
Although the present disclosure has been described in connection with several embodiments, the disclosure is not intended to be limited to the specific forms set forth herein. On the contrary, it is intended to cover such alternatives, modifications, and equivalents as can be reasonably included within the scope of the disclosure as defined by the appended claims.