Time-based tracking of social lift

Various of the disclosed embodiments concern systems and methods for tracking virality and social lift of media content. In some embodiments, an analytics engine creates and tags URLs to media content using generation codes, time codes, or both. The codes and their respective values allow the analytics engine to determine whether trends or patterns exist in how media content is viewed and shared. The generation codes and time codes can be used instead of, or in addition to, conventional UTM codes. The generation code, time code, or both, can be used to determine which segments (e.g., generations, time periods) of viewers generate a profit, subsequent viewers, etc. For example, the analytics engine can determine when an advertising campaign for a piece of media content should be terminated, rather than simply indicating whether the campaign should continue.

FIELD OF THE INVENTION

Various embodiments relate generally to tracking virality of media content. More specifically, various embodiments relate to analytics systems and methods for analyzing sharing habits and viewing patterns of media content.

BACKGROUND

The demand for media content, both interactive and static, that is readily available and easily shareable has increased due to the increased popularity of social media platforms such as Facebook® and Twitter®. A content host (e.g., website owner) can generate and/or store media content, such as stories, videos, and quizzes, that are to be accessed by viewers. In some instances the content host pays for advertisements in an effort to increase viewership of a particular piece of content. For example, the content host might pay a social media/networking platform or a search engine (e.g., Google®) to advertise a quiz using static or dynamic ads, banner ads, text ads, etc. A successful advertising campaign boosts viewership (i.e., increase the number of viewers) for the particular piece of content.

Traditionally, the content provider has been able to track at least some viewer characteristics using Urchin Traffic Monitor (UTM) codes. But UTM codes are limited in their ability to provide granular data from which nuanced viewing and sharing patterns can be discovered. For example, UTM codes are limited in their ability to measure viewer characteristics that can be used to determine success of an advertising campaign, track viewing and sharing measurements that affect virality, and compare the virality of multiple pieces of media content. But this information can affect how decisions are made by content providers, content hosts, sponsors (e.g., of a piece or type of media content), advertisers, etc.

The figures depict various embodiments described throughout the Detailed Description for purposes of illustration only. While specific embodiments have been shown by way of example in the drawings and are described in detail below, the invention is amenable to various modifications and alternative forms. The intention, however, is not to limit the invention to the particular embodiments described. Accordingly, the claimed subject matter is intended to cover all modifications, equivalents, and alternatives falling within the scope of the invention as defined by the appended claims.

DETAILED DESCRIPTION

Various embodiments are described herein that relate to systems and methods for tracking virality and social lift of media content. More specifically, various embodiments relate to electronic systems and methods for tagging/coding uniform resource locators (URLs) to media content and determining whether patterns exist in how media content is viewed and shared. “Virality” refers to the tendency of a piece of media content (e.g., image, video, story, quiz) to be circulated rapidly and widely from one viewer to another.

As will be described in depth below, media content can be shared by viewers or users that transmit URLs or links targeting a particular URL to one another. Oftentimes, links and URLs are shared through social media platforms, such as Facebook® and Twitter®. Social media platforms allow media content to be quickly circulated to a large group of potential viewers.

In order to track virality, the URLs can include a generation code instead of, or in addition to, conventional Urchin Traffic Monitor (UTM) codes. The generation code can be used to assign a generation value to each viewer of a piece of media content. Some or all of the viewers can then be separated by viewing generation. In some embodiments, the URL includes a time code that can be used by an analytics engine to group viewers based on when the link was shared. For example, a subset of viewers could be separated based on when the link is received (i.e., shared by a Gen_0viewer). This allows individual viewers to be attributed to a particular day of an advertising campaign or budget.

Tagging URLs with a generation code, a time code, or both, allows the analytics engine to track viral or social lift across multiple generations and/or time period(s). The analytics engine can determine which generations or time periods generate a profit, subsequent viewers, etc. For example, the analytics engine can determine whether an advertising campaign should continue based on the increase or decrease in revenue from more recent viewers.

Traditionally, UTM codes are used to describe attributes of an individual viewer. However, various embodiments described herein permit subsequent viewers to “inherit” certain viewing parameters (e.g., campaign source, date) from previous viewers. Other viewing parameters (e.g., content, term) can continue to be specific to each viewer. Such embodiments allow for more accurate campaign attribution. Because Gen_1, Gen_2, etc., viewers only exist because of an earlier Gen_0viewer, it is important to track whether the Gen_0viewer was attracted via an advertising campaign at a particular date/time or no campaign at all.

Terminology

The term “module” refers broadly to software, hardware, or firmware components (or any combination thereof). Modules are typically functional components that can generate useful data or another output using specified input(s). A module may or may not be self-contained. An application program (also called an “application”) may include one or more modules, or a module may include one or more application programs.

The terminology used in the Detailed Description is intended to be interpreted in its broadest reasonable manner, even though it is being used in conjunction with certain examples. The terms used in this specification generally have their ordinary meanings in the art, within the context of the disclosure, and in the specific context where each term is used. For convenience, certain terms may be highlighted, for example using capitalization, italics, and/or quotation marks. The use of highlighting has no influence on the scope and meaning of a term; the scope and meaning of a term is the same, in the same context, whether or not it is highlighted. It will be appreciated that the same element can be described in more than one way.

System Topology Overview

FIG. 1is a generalized block diagram depicting certain components in a system100for tracking virality of media content across generations in accordance with various embodiments. An analytics engine102can generate or use URLs and/or selectable links to media content. In some embodiments, the media content is stored locally in database104. In other embodiments, the media content is stored remotely in a database108that is communicatively coupled to the analytics engine102.

The analytics engine102can append one or more desired parameters to a URL to a particular piece of media content110a. The pieces of media content110a-gdepicted byFIG. 1represent the same piece of media content being viewed by distinct viewers112,114a-b,116a-d. Some or all of these viewers may be categorized in different generations (e.g., viewer112in Generation0, viewers114a-bin Generation1). The URL can include a generation code having a generation value of “N,” which represents the number of times the particular piece of media content has been shared within a “chain” of viewers. For example, each time a Generation0viewer elects to share a URL, a new chain is created. While “N” is generally an integer value, other numbering and naming conventions may be used. The generation value is typically set to an initial value (e.g., zero) before the link or URL is shared. For example, a URL to a piece of media content (e.g., a quiz) may initially be http://www.brainfall.com/quiz/?utm_user_gen=0. Viewers in Generation0(“Gen_0”) are those viewers that have been gathered organically (e.g., browsed media content) or were targeted directly by the content host, an advertising campaign, etc. That is, viewer112may naturally find the media content (e.g., member of organic website traffic), receive the URL directly from the content host (e.g., via email promotion), be the target of an advertising campaign, etc.

A viewer112can access the URL or a link targeting the URL over a network106. The URL and link can be used and hosted by the analytics engine102or another computing system. The network106can be, for example, the Internet, a local area network, a wide area network, or a point-to-point dial-up connection. As described above, when the analytics engine102initially appends a generation code to the URL, the generation value can be set to an initial value (e.g., N=0).

If a Gen_0viewer112subsequently decides to share the URL with others, the generation value of the generation code can be updated (e.g., to “N+1”). For example, the URL to the same piece of media content may be updated to http://www.brainfall.com/quiz/?utm_user_gen=1. Those viewers114a-bthat follow the URL or link provided by Gen_0viewer112can be defined as Gen_1viewers114a-b. Similarly, any viewers who follow a URL or link shared by a Gen_1viewer114a-bcan be defined as Gen_2viewers116a-d.

FIG. 2includes a table200that separates viewers of a piece of media content by generation according to various embodiments. A system, such as system100ofFIG. 1, that is capable of generating and/or analyzing URLs that include a generation code can separate viewers of a particular piece of media content202by generation value. Table200ofFIG. 2illustrates the distribution of viewers across three generations for a piece of media content202. In some embodiments, the piece of media content202is identified by a random unique identifier (ID) or unique name that allows pieces of media content, and their viewers, to be distinguished from one another.

As will be further described below with respect toFIGS. 4-5, the table can include other values, such as generation name204, generation code/value206, and total viewer count208within each generation. Trends (e.g., increases, decreases) or patterns in the total viewer count208can be analyzed by an analytics engine or another computing system to determine virality and track social lift of the piece of media content202.

FIG. 3is a generalized block diagram depicting certain components in a system300for tracking virality of media content over time in accordance with various embodiments. An analytics engine302can use, append, generate, etc., URLs and/or selectable links to media content. The media content can be stored locally in database304or in a remote database308, which is communicatively coupled to the analytics engine302over a network306. In some embodiments, local database304and/or remote database308communicate with the analytics engine302over a secured network or private network distinct from the public network used to distribute URLs and deliver media content to viewers.

The analytics engine302can append desired parameters to a URL to a piece of media content, such as a time code316that can be used to categorize viewers based on the time of viewing or sharing. The time code316can be configured to include a time value, date value, or both. WhileFIG. 3utilizes specific numbering conventions (utm_date=yy_mm_dd, utm_time=hh_mm_ss), other naming and numbering conventions can also be used. For example, a single time code316could be used to communicate both date and time.

In some embodiments, the URL also includes a generation code. The time value, in conjunction with a generation value, can be used for ordering or categorizing some or all of the viewers within a generation. For example, an analytics engine302can recognize that all Gen_1viewers314a-cofFIG. 3received a link to the piece of media content310a-cfrom a Gen_0viewer on either March 21 (utm_date=15_03_21) or Mar. 22, 2015 (utm_date=15_03_22). As described above, the time code316represents when the viewer's Gen_0user shared the link.

In some embodiments, the time code316is used independently of the generation code. For example, the URL shared with Gen_1viewer314amay be http://www.brainfall.com/quiz/?utm_date=15_03_21. URLs that include time codes allow a statistical analysis to be performed on groups of viewers who are classifiable by sharing date. In other embodiments, the time code315is used in conjunction with a generation code. For example, the URL for Gen_1viewer314amay be http://www.brainfall.com/quiz/?utm_user_gen=1&utm_date=15_03_21. Further identifying viewers by generation allows for more granular analytics to be applied.

FIG. 4includes a table400that separates viewers of a piece of media content by sharing date as may occur in some embodiments. A system, such as system300ofFIG. 3, can attribute viewers of a piece of media content to a particular day of an advertising campaign by analyzing when the Gen_0viewer shared the link with other viewers. For example, table400illustrates the distribution of Gen_1viewers of a piece of media content402by sharing date404. The table400can also include viewing date, viewing time, etc., in addition to, or instead of, sharing date404. That is, some embodiments append codes/parameters that allow the system to track and analyze viewing date, viewing window (e.g., total time spent viewing a piece of media content), etc.

The time code allows the system or an administrator to separate viewers by time value(s) associated with viral events, such as sharing or viewing media content. That is, the time codes and time values allow for more rigorous analytics to be applied. In some embodiments, the system is able to identify viewer count406for one or more time periods or date ranges, calculate the profit generated408by those viewers, determine how many subsequent viewers (e.g., Gen_2viewers) were generated by each group, etc. Such measurements can help content providers and content hosts determine what media content to advertise, content popularity, advertising campaign profitability, when to begin or terminate an advertising campaign, etc. The analytics systems described herein can assist an administrator (e.g., content host, advertiser, user) in determining exactly when an advertising campaign should end, rather than simply indicating whether or not the campaign should continue.

In some instances, a more technical system is employed that generates unique IDs for viewers or viewing sessions that are stored in a lookup database.FIG. 5depicts a lookup database500that is searchable by unique ID in accordance with some embodiments. Unique IDs could be generated for individual viewing sessions, rather than for particular viewers. That is, the unique IDs may be completely unrelated to the viewer (e.g., a single viewer who visits a host website multiple times can cause multiple unique IDs to be generated). Tracking individual viewers may be useful in some instances, but undesirable in other instances. The unique ID may also be a Twitter® username, Facebook® username, etc.

In addition to conventional UTM codes that track source, medium, term, content, campaign, etc., the lookup database500may also allow viewers to be attributed to specific sources504or be traced through previous generations506of viewers. This allows the system or administrator to determine which viewers generate profit, are prolific sharers, are more likely to convert a “share” into a viewer, etc. Such viewers can then be specifically targeted by the content host/provider or an advertiser in the future. In some embodiments, the unique IDs are used to generate viral distribution maps that indicate how a piece of media content spread from Gen_0to future generations.

The lookup database500and unique IDs also allow downstream performance to be analyzed. For example, the number of subsequent viewers (“children”) originating from a particular viewer (“parent”) can be tracked. Consequently, the lookup database500can be used to determine whether a viewer is high-value or low-value. In some embodiments, advertisements, content, etc., can be targeted to those users who are considered high-value. The metrics that are collected may be used to algorithmically make real-time updates to advertising campaigns.

The unique IDs can also be used to determine whether a particular viewer should be added to a retargeting list for future advertising campaigns, content, etc. For example, anonymous users (e.g., those within a private network) can be identified and targeted in the following way. A unique ID can be assigned to the anonymous user when accessing the host website. Generally, the unique ID is stored on the network-accessible computing device (e.g., cellular phone, tablet, computer) used to access the website. In some instances the unique ID is stored in a cookie or cookie-like structure. When the anonymous user elects to share a link to the website, the unique ID is included within the shared link(s) as the parent ID. Whenever the anonymous user (“parent”) returns to the website, downstream performance can be checked by determining how many “children” users were generated. If the parent ID performed well (e.g., generated a large number of children), it can be added to a retargeting group.

FIG. 6includes a chart600depicting viewer count across multiple generations for a single piece of media content according to various embodiments. Using the generation codes and generation values, an analytics engine or computing system can generate a chart600that visually summarizes virality, social lift, or analytical results for one or more pieces of media content. Chart600allows total viewer count to be visually tracked by illustrating increases and decreases in viewership over the viral lifespan of a piece of media content. WhileFIG. 6presents these measurements as a line chart, other chart types can also be used such as bar charts, histograms, pie charts, doughnut charts, bubble charts, heat maps, etc. The virality measurements can also be provided in other formats (e.g., tables).

In some embodiments, the chart600is presented to an administrator or a user by a graphical user interface (GUI). The GUI and analytics engine can be part of the same computing system or distinct computing systems. For example, analytics engine may be part of a first computing device and the GUI may be part of a second computing device. In such embodiments, the analytics engine can generate analytical results, such as virality measurements, chart(s), etc., and transmit the analytical results to the second computing device over a network. As another example, both the analytics engine and the GUI may be part of the same computing device. The computing devices may be a server, a personal computer, a tablet, a laptop computer, a personal digital assistant (PDA), a cellular telephone, a smartphone, etc.

FIG. 7includes a chart700that compares viewer count for multiple pieces of media content702,704,706across generations as may occur in some embodiments. Each piece of media content, which may be a story, quiz, image, video, etc., has a different viral lifespan and peak viewership. For example, some pieces of media content (e.g., piece of media content702) have longer viral lifespans, which means they are shared across a substantial number of generations, while other pieces of media content (e.g., piece of media content706) have relatively short viral lifespans.

Media content can also experience various levels and periods of popularity. For example, Gen_0viewers represent the largest segment of viewers for piece of media content702. This may occur if the piece of media content702is the subject of an advertising campaign (i.e., many viewers are targeted directly). The number of viewers may decrease in subsequent generations if viewers in earlier generations (e.g., Gen_0, Gen_1, Gen_2) elect not to share the content or if potential viewers elect not to follow URLs and links that have been shared. As another example, piece of media content704experiences a revival in viewership beginning at Gen_17. The revival could be due, at least in part, to a single Gen_17user that widely shares the piece of media content or a higher conversion rate (i.e., high proportion of “shares” converted into viewers).

FIG. 8includes a chart800depicting viewer count for a piece of media content by the sharing date of Gen_0viewers as may occur in some embodiments. The chart800can be generated by an analytics engine (e.g., analytics engine302ofFIG. 3) or computing system that generates time codes and analyzes their values. Charts can also be generated by the analytics engine that depict the number of next-generation viewers generated, profit generated, etc., for each subset of viewers associated with a date or time period. For example, total profit generated can be plotted against sharing date.

FIGS. 9-11are charts900,1000,1100as may be generated in accordance with various embodiments. As described above, the charts can be presented to an interested party, such as an administrator, user, or client, through a GUI. In some embodiments, the GUI allows the interested party to modify the analytic and statistical measurements presented by selecting one or more pieces of media content, the time range over which analytics are applied, the statistical measurements and/or charts to be displayed, etc. The GUI can include both textual and graphical features. For example, a GUI may be configured to present results of statistical analyses in both a table and a chart.

Chart900ofFIG. 9compares the total lift of various pieces of media content. Total lift or social lift represents the increase or decrease in total views compared to the previous date or generation. For example, a total lift value of 0.50 represents a 50% increase in the total number of viewers. A running determination of total lift can be determined for any subset of viewers.FIG. 9, for example, includes all viewers (i.e., Gen_0+), but could include a more limited subset of viewers (e.g., Gen_1+ if directly targeted viewers are to be eliminated).

Chart1000ofFIG. 10illustrates the total viewer count over a three-day time period for various pieces of media content. The chart1000can be generated by an analytics engine that is able to create both generation codes and time codes. Similar charts can be created by analytics engines that generate either of these codes. In some embodiments, multiple viewing generations of a single piece of media content are tracked across a time range. For example, chart1000may indicate some pieces of media content are more popular at certain times, such as early afternoon or late evening. Viewing trends can also be compared for multiple pieces of media content at the same time, as shown inFIG. 10. More specifically, chart1000can be used to compare trends in overall viewership, generation viewer count, sharing, time/date viewing, etc., for multiple pieces of media content simultaneously. In some embodiments, two or more generations may be shown on the same axes (e.g., Gen_0Paid and Gen_1Paid overlaid on the same graph).

Chart1100ofFIG. 11depicts a running sum of Gen_1+ viewers (i.e., those viewers in generation one and all subsequent generations) against Gen_0viewers. The slope of each curve represents the relative increase of viewers that are gathered socially (e.g., by sharing links) versus those viewers that are organic or have been successfully targeted by an advertisement. The slope, particularly when the running sum of Gen_0is relatively low, may be useful in determining what media content is likely to become viral.

Comparisons that involve later generations (e.g., Gen_4+, Gen_6+) can be useful in determining true (i.e., unbiased) virality because these viewers are further removed from direct targeting. However, important viewing characteristics and financial measurements can come from comparing Gen_0and Gen_1viewers to other generations. For example, the measurements may indicate how media content is likely to propagate once outside of the base of loyal followers and/or advertising base.

The various charts described above are useful in identifying popular media content and successful advertising campaigns as quickly as possible. Identification of important trends and patterns will typically be based on historical trends of successful media content, although the systems and methods described herein can be used to do this more effectively and efficiently.

FIG. 12is a flow diagram depicting general steps in a process1200for tracking virality as may occur in some embodiments. The process1200can be used by an analytics engine or computing system to create generation codes that allow viewing trends and sharing trends to be tracked across generations of viewers. At block1202, a generation code can be created and/or used that includes an initial generation value. The initial generation value may, for example, be an integer value “N.” In some embodiments, the generation value represents the number of times that a piece of media content has been shared prior to being shared with the current viewer. Consequently, the initial generation value may be zero.

At block1204, a URL to a piece of media content can be tagged with the generation code. For example, a URL to a piece of media content (e.g., a quiz) may be tagged with utm_user_gen=0. A viewer can select the URL or a link targeted to the URL to view the media content. If a viewer is directly targeted by an advertisement or accesses the URL organically (e.g., by browsing a content website), the viewer will be characterized as Gen_0. That is, the generation value of the URL is set to the initial value (e.g., N=0). At block1206, the viewer is able to view and share the media content with other potential viewers. The viewer may share the media content by emailing, texting, or sharing (e.g., via social media platforms such as Facebook® and Twitter®) the URL.

At block1208, the analytics engine or computing system can determine whether the viewer elected to share the media content. If the viewer does not elect to share, no action is taken. However, if the viewer does elect to share, the generation value is updated, as shown at block1210. For example, the initial generation of “N” can be updated to “N+1.” Each time the URL is subsequently shared, the generation value is updated. The process1200can continue so long as the URL to the piece of media content continues to be shared by subsequent viewers.

FIG. 13is a flow diagram depicting general steps in a process1300for measuring virality and more accurately determining social lift as may occur in some embodiments. At block1302, an analytics engine can use a generation code that includes a generation value. At block1304, the analytics engine can tag or append a URL or a link targeting the URL to a particular piece of media content with the generation code. The URL, which includes the generation code and the generation value, allows viewer characteristics to be tracked and analyzed. At block1306, the generation value can be set. For example, if potential viewers are directly targeted by an advertisement directed toward the URL, the generation value may be zero. At block1308, the viewer can be allowed to share the piece of media content with other viewers. As described above, the viewer may elect to share the media content through Twitter®, Facebook®, Instagram®, LinkedIn®, or any other social media/networking platform.

At block1310, the analytics platform can increment the generation value if the viewer elects to share the media content. The generation value may be an integer value that represents the number of number of times the media content has been shared within a chain of viewers. In such embodiments, if the media content has been shared twice, the ensuing URL includes a generation value of two. At block1312, some or all of the viewers can be sorted into generations based on their generation values. At block1314, counts can be generated of the viewers within each generation. The viewer counts are useful in determining virality and social lift, among other measurements that impact marketing and advertising decisions. In some embodiments, the counts are subject to statistical analysis, the results of which can be textual (e.g., tables) or graphical (e.g., charts) in nature.

One skilled in the art will recognize the example URLs, unique IDs, etc., described herein are intended to be illustrative only. Various naming, numbering, and coding conventions could be used. Moreover, a particular convention (e.g., a lookup database that employs randomly-generated unique IDs that mask a viewer's identity) may be preferred in some situations, but undesirable in others. The term “UTM codes,” meanwhile, has been used throughout the specification to describe any parameters appended to a link. Other types of parameters and/or methods of appending the parameters could also be used, including, for example, parameters that are encoded and obfuscated within the URL.

FIG. 14is a block diagram illustrating an example of a computing system1400in which at least some operations described herein can be implemented. The computing system may include one or more central processing units (“processors”)1402, main memory1406, non-volatile memory1410, network adapter1412(e.g., network interfaces), video display1418, input/output devices1420, control device1422(e.g., keyboard and pointing devices), drive unit1424including a storage medium1426, and signal generation device1430that are communicatively connected to a bus1416. The bus1416is illustrated as an abstraction that represents any one or more separate physical buses, point to point connections, or both connected by appropriate bridges, adapters, or controllers. The bus1416, therefore, can include, for example, a system bus, a Peripheral Component Interconnect (PCI) bus or PCI-Express bus, a HyperTransport or industry standard architecture (ISA) bus, a small computer system interface (SCSI) bus, a universal serial bus (USB), IIC (I2C) bus, or an Institute of Electrical and Electronics Engineers (IEEE) standard1394bus, also called “Firewire.”

In various embodiments, the computing system1400operates as a standalone device, although the computing system1400may be connected (e.g., wired or wirelessly) to other machines. In a networked deployment, the computing system1400may operate in the capacity of a server or a client machine in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.

The computing system1400may be a server computer, a client computer, a personal computer, a user device, a tablet, a laptop computer, a PDA, a cellular telephone, an iPhone, an iPad, a Blackberry, a processor, a telephone, a web appliance, a network router, switch or bridge, a console, a hand-held console, any portable/mobile hand-held device, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by the computing system1400.

While the main memory1406, non-volatile memory1410, and storage medium1426(also called a “machine-readable medium”) are shown to be a single medium, the term “machine-readable medium” and “storage medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store one or more sets of instructions1428. The term “machine-readable medium” and “storage medium” shall also be taken to include any medium that is capable of storing, encoding, or carrying a set of instructions for execution by the computing system and that cause the computing system to perform any one or more of the methodologies of the presently disclosed embodiments.

In general, the routines executed to implement the embodiments of the disclosure, may be implemented as part of an operating system or a specific application, component, program, object, module or sequence of instructions referred to as “computer programs.” The computer programs typically comprise one or more instructions (e.g., instructions1404,1408,1428) set at various times in various memory and storage devices in a computer, and that, when read and executed by one or more processing units or processors1402, cause the computing system1400to perform operations to execute elements involving the various aspects of the disclosure.

The network adapter1412enables the computing system1400to mediate data in a network1414with an entity that is external to the computing device1400, through any known and/or convenient communications protocol supported by the computing system1400and the external entity. The network adapter1412can include one or more of a network adaptor card, a wireless network interface card, a router, an access point, a wireless router, a switch, a multilayer switch, a protocol converter, a gateway, a bridge, bridge router, a hub, a digital media receiver, and/or a repeater.

Other network security functions can be performed or included in the functions of the firewall, can include, but are not limited to, intrusion-prevention, intrusion detection, next-generation firewall, personal firewall, etc.

As indicated above, the techniques introduced here implemented by, for example, programmable circuitry (e.g., one or more microprocessors), programmed with software and/or firmware, entirely in special-purpose hardwired (i.e., non-programmable) circuitry, or in a combination or such forms. Special-purpose circuitry can be in the form of, for example, one or more application-specific integrated circuits (ASICs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), etc.

Remarks

Although the above Detailed Description describes certain embodiments and the best mode contemplated, no matter how detailed the above appears in text, the embodiments can be practiced in many ways. Details of the systems and methods may vary considerably in their implementation details, while still being encompassed by the specification. As noted above, particular terminology used when describing certain features or aspects of various embodiments should not be taken to imply that the terminology is being redefined herein to be restricted to any specific characteristics, features, or aspects of the invention with which that terminology is associated. In general, the terms used in the following claims should not be construed to limit the invention to the specific embodiments disclosed in the specification, unless those terms are explicitly defined herein. Accordingly, the actual scope of the invention encompasses not only the disclosed embodiments, but also all equivalent ways of practicing or implementing the embodiments under the claims.