Customized digital content generation systems and methods

Information

  • Patent Grant
  • 11567945
  • Patent Number
    11,567,945
  • Date Filed
    Thursday, August 27, 2020
    4 years ago
  • Date Issued
    Tuesday, January 31, 2023
    a year ago
Abstract
The invention provides in some aspects a method, executed on a digital data processing system, of mass generation of customized digital content that includes continuously identifying current external events taken by or with respect to a plurality of respective prospective targets and, upon identification of such an event, generating a set of actions, each identifying a digital content piece and a digital delivery mechanism therefor. Each action is generated, according to the method, based on the current identified events for a particular prospective target and on a database of information about prior events taken by or with respect to him/her. The sets of actions are queued upon generation and continuously retrieved on a first-in-first-out basis. And, upon retrieval, an action for generation of digital content for the respective prospective target is selected for transmittal from the set based on quotas associated with that target and/or the delivery mechanism identified for it per the selected action.
Description
BACKGROUND OF THE INVENTION

The invention pertains to digital data processing and, more particularly, to customized digital content generation. The invention has application, by way of example, in generating digital content based an ever-changing context of user interactions with an enterprise or other publisher of that content.


In order to generate and distribute digital content that will have impact on a target audience of users, a large enterprise generates millions of digital content pieces per campaign and distributes them at a rate of tens of thousand per minute or more. Achieving those rates and quantities requires a digital data processor. And, though those machines are fast, the rate and quantity at which the digital content pieces in the campaign must be generated destines a sizable portion of them to staleness.


By way of example, an email campaign targeting one million potential readers is typically launched and its substantive focus defined at least one to three days before the first digital content piece is generated and transmitted. By the time the one millionth piece has been sent, another day or two may have passed. Given the number of recipients and the length of time from launch to completion, its likely that five to ten percent of the content pieces that might otherwise have been relevant to their intended recipients have lost that by the time of receipt.


More concretely, such a campaign launched by an enterprise on a Monday and completed on a Thursday promoting air conditioners to potential customers in a metropolitan region in advance of a weekend heatwave would normally be expected to have a measurable impact—e.g., a click-through or response rate—on twenty to thirty thousand of those customers. During that four-day period, one thousand of those would-be responders are likely to have already purchased an air conditioner from the enterprise. For them, any email received as part of the campaign is wasted. In fact, it could be worse, if it offers better terms than the customers had gotten for their purchases.


And, of course, it is not just prior purchasers to whom the email campaign may be for naught: a myriad of other circumstances may change during the course of the campaign that renders it wasted as to another sizable segment of the target audience. The complexity is further magnified by the multitude of channels through which a modern-day campaign is effected, from social media (in all its forms) to email to snail mail, to name a few.


To be clear, it is not the fact of the email campaign that is, itself, problematic. It is the static nature of the content, which is typically determined days in advance of its actual final assembly, generation, and distribution. It is also the content delivery mechanism, which does not take into account the many alternate channels through which the modern-day enterprise reaches its audience.


The prior art has proposed various solutions to content generation, including Herman, U.S. Pat. No. 10,453,083, and Hyman, U.S. Pat. No. 10,601,751, neither of which hits the mark. These and other prior art solutions fail to suggest mechanisms for generating digital content that is both customized to the individual recipients to whom it is sent and that takes into account the ever-changing and last-minute circumstances of those recipients, particularly, vis-à-vis their interactions with the enterprise that publishes the content.


The problem is one very particular to computers: they are capable of—and, indeed necessary for—generating and distributing large quantities of digital content quickly; however, they lack the ability to adapt it to the ever-changing circumstances of the large numbers of recipients to whom it is distributed.


In view of the foregoing, an object of the invention is to provide improved digital data processing systems and methods.


A more particular object is to provide improved such systems and methods as are suited for customized digital content generation and distribution.


A still further object is to provide such improved systems and methods for digital content generation and distribution as take into account an ever-changing context of user interactions with the publisher of that content.


SUMMARY OF THE INVENTION

The foregoing are among the objects attained by the invention, which provides in some aspects a method, executed on a digital data processing system, of mass generation of customized digital content that includes continuously identifying current external events taken by or with respect to a plurality of respective prospective targets and, upon identification of such an event, generating a set of actions, each identifying a digital content piece and a digital delivery mechanism therefor. Each action is generated, according to the method, based on the current identified events for a particular prospective target and on a database of information about prior events taken by or with respect to him/her.


The sets of actions are queued upon generation and continuously retrieved on a first-in-first-out basis. And, upon retrieval from the queue, an action for generation of digital content customized for the respective prospective target is selected from the set based on quotas associated with that target and/or the delivery mechanism identified for it per the selected action. The digital data processing method further includes invoking, continuously and on selection of such an action, a content server to transmit the designated digital content piece to the respective prospective target via the delivery mechanism identified by that action.


Related aspects of the invention provide a digital data processing method, e.g., as described above, that includes ingesting incoming data streams, e.g., from any of the web, social media, call centers, transaction servers, and data warehouses, in order to identify the respective events. Those events, which occur asynchronously with respect to one another, can according to aspects of the invention, be identified substantially in real time with their respective occurrences. Other related aspects of the invention include memorializing the identified events in the aforesaid database.


Yet still other related aspects of the invention provide a digital data processing method, e.g., as described above, that includes generating identifiers of prospective targets on a round-robin basis from a list of known targets. This can be done continuously and concurrently, yet asynchronously, with respect to identifying current external events that may occur with respect to those perspective targets—though, according to some aspects of the invention, identifiers of targets for whom such events are detected are winnowed from among those generated from the list. Yet, like identifiers for prospective targets for whom external events are detected, the method includes generating sets of actions for prospective targets from identifiers generated round robin-style from the list.


Still further aspects of the invention provide digital data processing methods, e.g., as described above, comprising invoking one or more content servers based on the sets of actions to transmit 100,000 or more, 1,000,000 or more, or 10,000,000 or more, digital content pieces to different respective targets per day.


Yet other aspects of the invention provide digital data processing systems that generate custom digital content in accord with the methods above.


These and other aspects of the invention are evident in the drawings and in the text below.





BRIEF DESCRIPTION OF THE DRAWINGS

A more complete understanding of the invention may be attained by reference to the drawings, in which:



FIG. 1 depicts a digital data processing system of the type in which the invention operates;



FIG. 2 depicts a procedure executing within the system of FIG. 1 for generation of custom digital content.





DETAILED DESCRIPTION OF THE ILLUSTRATED EMBODIMENT

Architecture



FIG. 1 depicts a digital data processing system 10 according to the invention, as well as a system 10 in which the invention may be practiced. The system 10 includes a digital data device 12 for managing the generation of customized digital content (hereafter, alternatively “digital data processor 12”, “server 12”, “custom content server 12”, or the like) that is coupled to one or more further server digital data devices 13, 15, 17, and to a plurality of client digital data processors, here, represented by elements 14, 16 and 18, via a network 20 comprising a combination of one or more of the Internet, a wide area network (WAN), virtual private network (VPN), metropolitan area network (MAN), local area network (LAN), telephone networks and/or a combination of these and other networks (wired, wireless, public, private or otherwise).


The illustrated client digital data devices 14, 16, 18 are conventional tablet computers, PDAs, mobile phones or other digital data apparatus (including, for example, desktop computers, workstations, minicomputers, and laptop computers) of the type commercially available in the marketplace and suitable for operation as client devices for the consumption of digital content by their respective users (not shown) in the conventional manner known in the art as adapted in accord with the teachings hereof. The devices 14, 16, 18 each comprise central processing, memory, storage and input/output units and other constituent components (not shown) of the type conventional in the art that cooperate to execute client applications 14a-18a, such as web browsers, client apps, and so forth, all of the type conventional in the art as adapted in accord with the teachings hereof, for purposes of receiving and responding to digital content pieces of the type transmitted from web servers, email servers, social media servers, e-commerce servers or otherwise.


Although client digital data processors 14, 1618 are depicted and described in like manner here, it will be appreciated that this is for sake of generality and convenience: in other embodiments, these devices may differ in architecture and operation from that shown and described here and/or from each other, all consistent with the teachings hereof. And, although only three client devices 14, 16, 18 are shown in the drawing, in practice of the invention, there may be tens, hundreds, thousands, or millions of such devices, operated or operable by their respective users.


Like client digital data processors 14, 16, 18, server digital data processors 13, 15, 17 are digital data processing apparatus of the known in the art operating as web servers, email servers, social media servers, e-commerce servers or other digital content servers, all as adapted in accord with the teachings hereof. Though the servers 13, 15, 17 are typically implemented in a server-class computers, such as minicomputers, they may also be implemented in desktop computers, workstations, laptop computers, tablet computers, PDA or other suitable apparatus (again, as adapted in accord with the teachings hereof).


As above, although server digital data devices 13, 15, 17 are depicted and described in like manner here, it will be appreciated that this is for sake of generality and convenience: in other embodiments, these devices may differ in architecture and operation from that shown and described here and/or from each other, all consistent with the teachings hereof. And, although only three server devices 13, 15, 17 are shown in the drawing, in practice of the invention, there may a greater or lesser number of such devices, operated or operable by their respective administrators.


Custom content server 12 is a digital data processing apparatus of the type commercially available in the marketplace suitable for operation in accord with the teachings hereof to create and drive custom content to client devices 14, 16, 18 via servers 13, 15, 17. Though the server 12 is typically implemented in a server-class computer, such as a minicomputer, it may also be implemented in a desktop computer, workstation, laptop computer, tablet computer, PDA or other suitable apparatus (again, as adapted in accord with the teachings hereof).


Like the other digital data processors 13-18 shown in the drawing, custom content server 12 of the illustrated embodiment comprises central processing, memory, storage and input/output units and other constituent components (not shown) of the type conventional in the art, here, in the case of server 12, configured in accord with the teachings hereof to form rules engine 22 and rules base 24, transaction database 26, language database 28 and context registry 30, one or more of which may be absent in various embodiments of the invention.


Although only a single server digital data processor 12 is depicted and described here, it will be appreciated that other embodiments may have greater or fewer numbers of these devices. Those other servers may differ in architecture and operation from that shown and described here and/or from each other, all consistent with the teachings hereof. Still further, although server 12 of the illustrated embodiment is depicted as being remotely disposed from the client digital data devices 14, 16, 18, and server digital data devices, 13, 15, 17, in other embodiments, server 12 may be co-housed and/or co-extensive with one or more of those other devices.


Rules base 24 comprises a conventional rules base of the type known in the art (albeit configured in accord with the teachings hereof) for storing digitally encoded rules 25 and other application-related information in tables, database records, database objects, and so forth. Such stored rules 25 are likewise formatted and stored in the conventional manner known in the art (albeit configured in accord with the teachings hereof).


Here, rules base 24 is configured and contains rules for use in business process management applications, though in other embodiments it may be configured and used for other applications. Such a rules base can be of the type described in the US patents and patent applications assigned to the assignee hereof, e.g., U.S. Pat. Nos. 5,826,250, 6,976,144, 7,665,063, 8,335,704, 7,711,919, 7,640,222, 8,250,525, US 20080208785, US 20090132232, U.S. Pat. Nos. 8,843,435, 8,479,157, 8,468,492, 8,880,487, 8,924,335, 9,189,361, US 20130231970, U.S. Pat. Nos. 9,678,719, 8,959,480, 9,270,743, US 20150127736, U.S. Pat. No. 9,658,735, US 20160098298, US 20170090685, US 20170255341, all by way of non-limiting example, the teachings of which are incorporated by reference herein; though, a rules base that is architected and/or operated differently may be used as well or in addition.


Although shown in the illustrated embodiment as part of server 12, rules base 24 (or other repository) may reside elsewhere, e.g., remote to server 12. Moreover, some embodiments may utilize multiple rules bases, e.g., an enterprise-wide rules base 24 on the server 12 and domain-specific rules bases on one or more of client devices 14, 16, 18, all by way of example. To the extent that multiple rules bases are provided in any given embodiment, they may be of like architecture and operation as one another; though, they may be disparate in these regards, as well. Utilization of multiple rules bases may be accomplished in the manner described in one or more of the above-cited incorporated-by-reference U.S. patents and patent applications, e.g., U.S. Pat. No. 8,924,335, entitled “Systems and Methods for Distributed Rules Processing,” the teachings of which are incorporated heron by reference.


Transactional database 26 comprises a conventional database of the type known in the art (albeit configured in accord with the teachings hereof) for storing corporate, personal, governmental or other data that may be any of generated, stored, retrieved and otherwise processed (hereinafter, collectively referred to as “processed”) by rules in rules base 24 and/or rules stored/executed elsewhere. The data may be financial data, customer records, personal data, run-time data related to an application, or other type of data and it may be stored in tables, database records, database objects, and so forth, all by way of non-limiting example.


As above, some embodiments may utilize multiple transactional databases, e.g., an enterprise-wide database 26 on the server 12 and branch-office specific databases on the client devices 14, 16, 18, all by way of example. To the extent that multiple transactional databases are provided in any given embodiment, they may be of like architecture and operation as one another; though, may they be disparate in these regards, as well. Utilization of multiple transactional databases may be accomplished in the manner described in incorporated-by-reference U.S. Pat. No. 8,924,335.


Language base 28 encodes information regarding the syntax of the language (or languages) in which user interfaces generated by server 12 are presented on devices 14-18 and, more particularly, in the illustrated embodiment, by applications 14a-18a. That syntax can include one or more of grammar, spelling, usage, punctuation, and/or style. The language base 28 may comprise a language database of the variety commercially available in the marketplace—e.g., in the manner of spelling and grammar dictionaries provided with conventional word processors (which “dictionaries” often include usage-, punctuation- and/or style-related entries). Alternatively, the language syntax information may be embodied in one or more rules 25 of the rules base 24, or otherwise.


Context registry 30 is a store that includes information related to the respective contexts or circumstances in which the requested user interfaces (e.g., web pages) are and/or will be communicated to and executed on the respective client devices 14-18. That context or circumstance can include, by way of non-limiting example, user “properties” or business attributes (e.g., access requirements, disability settings, market segment, behavioral segment, age, locale, and so forth), client device 14-18 properties (e.g., processor speed, display size, keyboard capabilities, locale, and so forth), communication channel properties (e.g., the speed and type of connection between server 12 and the respective client devices 14-18) and portal properties (e.g., download file size limits, quality-of-service requirements and so forth). That context or circumstance can further include, by way of non-limiting example, the language, country and/or other locale settings and preferences of the user of a device on which the web page is to be displayed. Still other variations in the possible range of values stored in the context registry 30 are possible.


Illustrated digital data processor 12 also includes rules engine 22 of the type conventionally known in the art (albeit configured in accord with the teachings hereof) for use in processing rules from a rules base in order to process data, e.g., in (and/or for storage to) a transactional database in view of a language base and/or context registry or other data sources described above, for example, in connection with events signaled to and/or detected by the engine. In the illustrated embodiment, the rules engine is of the type used for business process management applications, though in other embodiments it may be of the type used for other applications. Preferred such rules engines are of the type described in the aforementioned incorporated-by-reference U.S. Pat. No. 5,826,250, entitled “Rules Bases and Methods of Access Thereof” and U.S. Pat. No. 7,640,222, entitled “Rules Base Systems and Methods with Circumstance Translation” and/or U.S. Pat. No. 8,250,525, entitled “Proactive Performance Management For Multi-User Enterprise Software Systems,” by way of example, the teachings too of which are incorporated by reference herein-all as adapted in accord with the teachings hereof.


The rules engine 22 may be implemented in a single software program or module, or a combination of multiple software modules/programs. Moreover, it may comprise programming instructions, scripts, rules (e.g., rules stored in rules base 24) and/or a combination thereof. And, even though the rules engine 22 of the illustrated embodiment is depicted as executing on just server digital data processor 12, in other embodiments, the engine 22 may execute on or across multiple digital data processors (e.g., 12, 14, 16 and 18). Executing the engine 22 over multiple digital data processors may be accomplished in the manner described in incorporated-by-reference U.S. Pat. No. 8,924,335, by way of non-limiting example.


Custom Content Generation


Described below is a method of operating system 10 and, particularly, server 12 and still more particularly, by way of example, rules engine 22, to execute a procedure 32 to generate digital content pieces customized for delivery to clients devices 14, 16, 18 via servers 13, 15, 17. This may be, for example, at the request of an administrator of device 12 issued via an browser interface (not shown) or a dedicated application (not shown) executing on that device or otherwise; conversely, such invocation of the method may be effected sans operator request, e.g., upon boot-up of server 12 or otherwise, all as per convention in the art as adapted in accord with the teachings hereof.



FIG. 2 depicts a procedure 32 for generation of custom digital content according to one practice of the invention. The procedure is depicted by way of code blocks, each associated with one or more steps of the procedure, as described below. In practice, each of those blocks—which are referred to as “steps” in the discussion that follows—may be implemented by informal or formal groupings of rules and/or code, whether organized in objects, functions, subroutines or other programming constructs, that execute within rules engine 22 or other software execution environment, all as is within the ken of those skilled in the art in view of the teachings hereof. It will be appreciated that the association between steps of the procedure 32 and blocks of FIG. 2 is for purposes of illustration and that, in practice, the specific association between those steps and the objects, functions, subroutines or other constructs that implement them may vary from that shown here and described below, all without deviating from the scope of the invention. Moreover, though, in the illustrated embodiment, the procedure 32 executes within the engine 22 or other environment on server 12, in other embodiments, one or more steps of the procedure 32 may be executed on other devices, e.g., servers 13, 15, 17, again, as is within the ken of those skilled in the art in view of the teachings hereof.


Event Ingestion


Referring to the drawing, in step 34 the illustrated procedure 32 continuously ingests data from external data stores, streams, and otherwise, in order to identify current external events taken by or with respect to prospective targets of customized digital content pieces.


In the illustrated embodiment, the targets are individuals that receive digital content by way of client devices 14, 16, 18 and, more specifically, by way of apps 14a, 16a, 18a executing respectively thereon. Other embodiment may vary in these regards. Thus, for example, the targets may be businesses or other entities capable of receiving such content by way of such devices. In still other embodiments, the targets may be digital billboards, interactive voice response systems (IVRs), private or public broadcast systems, and/or other “things” capable of receiving digital content, e.g., for display or other presentation.


Digital content pieces may be emails, text messages, tweets, web pages, data files, digital robocalls or ringless voicemail, video or audio messages, or other digital content amenable to customization suitable for delivery to the devices 14, 16, 18 via servers 12, 13, 15, 17 in accord with the teachings hereof. Customization, as used here, refers to customization in terms of content (e.g., modification of words, images or other portions of a content piece), selection (e.g., as between multiple pre-existing content pieces), and/or delivery mechanism (e.g., email vs text message, web page vs data file, etc., all by way of nonlimiting example).


External events, as used here, refer to actions taken by the prospective targets or with respect to those targets. Events taken by and with respect to targets can include, by way of example, emails, tweets or social network postings by them—or ones directed to them. They can also include purchases (e.g., of products, properties or otherwise), dispositions (by way of sales, legal proceedings, or otherwise), life events (births, deaths, weddings, and so forth), all by way of example.


External events ingested in step 34 of the illustrated embodiment include only those that occur outside the context of the procedure 32. Thus, for example, generation and transmission to a target of a piece of customized digital content by the procedure 32 does not constitute an event that is ingested in step 34 and does not, in and of itself, trigger generation of a next piece of content (although, when an external event does subsequently occur with respect to that target, the fact of transmission of the prior piece of content may inform customization of the next piece of content generated and transmitted to him/her/it).


In step 34 of the illustrated embodiment, the procedure 32 identifies events concerning prospective targets from external data stores, streams and otherwise. The data stores can be public or private databases or other data repositories, including, for example, data warehouses. These can include transactional databases (e.g., reflecting service calls, communications or other interactions with a call center, purchases, and other events), databases of public records and so forth, all by way of non-limiting example. Streams can be social media feeds, web feeds, mobile app feeds, email feeds or other sources of information and other postings by or about (e.g., with respect to) the potential targets. In the discussion that follows, the sources of information regarding external events, are referred to for simplicity as “data stores and streams,” regardless of actual source. Accessing such data stores and streams is within the ken of those skilled in the art in view of the teachings hereof. Ingestion of those stores and streams to identify events can be by way of natural language processing, parsing, scraping and other knowledge discovery techniques, each selected in accord with the particular data store and/or stream from which events are to be identified—all as is within the ken of those skilled in the art in view of the teachings hereof.


In some embodiments, the target of every external event identified in step 34 is deemed a prospective target for purposes hereof and the event is processed accordingly. In the illustrated embodiment, however, only those events that concern previously known targets are processed—or, put another way, ingestion step 34 of the illustrated embodiment includes winnowing from the external data stores, streams and otherwise, events by or with respect to persons, business and/or other things not already included in a potential target database (not shown) or otherwise. By way of non-limiting example, the potential targets database of a business enterprise can be a database of customers and potential customers. Implementation of step 34, whether processing events to identify prospective targets or processing only those concerning already known such targets, is within the ken of those skilled in the art in view of the teachings hereof.


Step 34 of the illustrated embodiment is executed continuously—that is, not in a batch mode. Put another way, it processes, parses, scrapes and otherwise discovers information contained in data stores and streams with such frequency as to identify events in those stores and streams—events which, for the most part, occur asynchronously with respect to one another—substantially in real time with their respective occurrences. Of course, for events that do not occur, in the first instance, in such store or stream, this is real time with respect to the occurrence of their memorializations in such stores or streams. This enables the downstream steps of procedure 32 to customize digital content for the prospective targets to whom those events in real time and, thereby, ensure that content is relevant to those targets.


As shown in the drawing, processing by step 34 of the illustrated embodiment produces a list of IDs of prospective targets, as well as a data records reflecting the events discerned with respect to them during ingestion step 34. The former are referred to as “trigger” IDs in the drawing. They can be generated, on the fly, e.g., by hashing or otherwise—though, in the illustrated embodiment, the IDs of those potential targets are assigned based on those for the same respective persons, businesses or other targets, in a pre-existing known customer database or other data store of known prospective targets (not shown). Data records generated in step 34 can encode the identified external events (along with the respective prospective target ID) in any conventional manner known in the art as adapted in accord with the teachings hereof. IDs generated by step 34 are processed in the next-best-action step 36 discussed below, while the data records generated in step 34 reflecting current external events are passed to a pre-fetch data store 38 and memorialized there.


Trickling


In step 40, the illustrated procedure 32 generates IDs of prospective targets on a round-robin basis from among a list of identifiers of known respective prospective targets—e.g., from the aforesaid customer database or other data store of known prospective targets. This is done concurrently with step 34, though, it need not be synchronous with it.


As with step 34, step 40 is executed continuously (i.e., not in batch mode), albeit at a rate (e.g., in terms of IDs per hour, per day or so forth) paced to cycle through the IDs of all such known respective targets once per desired contact interval. The latter is the desired average period of time over which the operator of procedure 32 considers communicating to or to receive communication from the average prospective target. Thus, for example, if the operator considers communicating to/from the average target once per day, the step 40 is executed at a rate paced to cycle through IDs of all respective targets once per day. Of course, the desired contact interval will vary from embodiment to embodiment, as is within the ken of those skilled in the art in view of the teachings hereof.


This round-robin “trickling” of IDs, as this operation of step 40 is referred to in the drawing and elsewhere herein, is within the ken of those skilled in the art in view of the teachings hereof. In the illustrated embodiment, step 40 includes winnowing from the list of generated IDs those of respective prospective targets for whom a current external event has been identified in step 34 within the same desired contact interval.


Just as with IDs generated in step 34, those generated in step 40 are passed to next-best-action step 36 for processing by it.


Event History


The generation of custom digital content by illustrated procedure 32 is a function of the history of events with respect to each target. This can include current external events identified for those targets in step 34 and maintained in pre-fetch store 38. It can also include a prior history of external events for those targets maintained in database 42, labelled, “interaction history,” whether rolled over from the pre-fetch store 38 into database 42 or gathered in that database in the first instance from transactional database 26, data warehouses, or streams or other sources, e.g., using natural language processing, parsing, scraping and other knowledge discovery techniques, e.g., as discussed above in connection with step 34, or otherwise. In the illustrated embodiment, that history also includes “internal” events—to wit, data records regarding custom digital data content transmitted to the targets, e.g., in step 48.


Events can be stored in database 42 in a conventional manner known in the art, as adapted in accord with the teachings hereof. This can be by array, linked list or other data structures a maintained on server 12 or otherwise; although, in the illustrated embodiment, database 42 comprises a relational database under management (e.g., for purposes of data retrieval) of a relational database management system that forms part of the server 12 middleware (not shown). Other embodiments may vary in these regards, e.g., storing the event histories in online databases, non-relational, or otherwise, all as is within the ken of those skilled in the art in view of the teachings hereof.


Data store 38 serves as a cache for database 42 and, through the action of rules 25 or other programming instructions that work with store 38, prefetching from that database 42 and holding for more rapid access during next-best-action step 36 event data for respective targets that are about to be processed during that step 36. This can include current external event data identified for those targets in step 34 and both prior internal and external event data for those targets retrieved from the database 42 upon generation of target IDs in steps 34 and 40. In some embodiments, those target IDs are passed directly to those rules/instructions in connection with execution of steps 34, 40; in other embodiments, they are passed in connection with execution of step 36. Specifics of which such prior internal/external event data to retrieve is implementation specific and, more particularly, dependent on factors evaluated in next-best-action step 36 in determining and generating sets of actions for those targets, as discussed below. Implementation of the data store 38 and rules/instructions for pre-fetching event data for caching therein—including the use of arrays, linked lists or other data structures to store the prefetched event data—is within the ken of those skilled in the art in view of the teachings hereof.


Next Best Action Generation


In step 36, the illustrated procedure 32 generates sets of one or more actions for each respective prospective target whose ID is generated in steps 34 and 40. The step 36, which operates continuously (i.e., not in batch mode), generates those respective sets upon receipt of output from steps 34 and/or 40. In addition, in some embodiments, step 36 can generate such sets (thereby forcing update of the cache 46, as discussed below) whenever there is a change, e.g., in transactional database 36 regarding in demographic or other characteristics of a prospective target, when a target-specific watchdog timer fires (e.g., indicating that it is a target's birthday or that no activity has occurred vis-à-vis the target in a designated period, e.g., 30 days, or otherwise). Moreover, the step 36 of some embodiments can additionally be invoked to generate such a set whenever a special piece of digital content—e.g., an emergency message—must be generated for and sent to a target.


Each action in those sets identifies a digital content piece to be transmitted to the respective target and a delivery mechanism by which to transmit it. The illustrated embodiment generates three actions for each set (or communication plan—referred to as “comm plan” in the drawing), though, other embodiments may vary in this regard. Moreover, because each action is dependent upon the current and prior history of events of the respective prospective target, the actions in the plan for one such target are likely to differ from those for another.


Thus, for example, in an implementation that sets an upper limit of two on the number of actions in each communication plan, those for a first prospective target for whom an event was recently identified in step 34 might include a first action identifying a digital banner ad for display upon the target's next visit to a designate URL and a second action identifying an SMS to send to the target's phone number; whereas actions for a second prospective target who has no history of web visits and for whom no SMS phone number is known might include first and second actions each of which identify a different respective digital advertisement to send to that target's email address.


Step 36 of the illustrated embodiment executes a next-best-action algorithm of the type known in the art to generate each action in a communication plan for a given prospective target, though, other embodiments may use other algorithms or methodologies for plan determination. Depending upon the implementation of that algorithm in a given instance, determination of what actions—i.e., what digital content pieces and respective delivery mechanisms—are generated by the algorithm is a function of current external event data identified for that target, if any, in step 34 and both prior internal and external event data for that target retrieved from database 42 into prefetch data store 38, as discussed above. It can also be dependent on demographic and other characteristics of the target, e.g., as prefetched to store 38 from interaction history database 42, transactional database 26 or otherwise, all as is within the ken of those skilled in the art in view of the teachings hereof.


It will thus be appreciated that, because each target has a different current and prior event history, the algorithm generates different action recommendations—and, therefore, communication plans—for each target. Moreover, depending on the nature of the next-best-action algorithm utilized in a given embodiment, those recommendations can pertain solely to selection of pre-existing content pieces (e.g., from a database 44 of digital content pieces and other potential actions) and/or modification of such content pieces, e.g., with varied pricing, images, discounts, and so forth. They can also pertain to selection of alternate delivery mechanisms, e.g., as where the prior event history of a given prospective target augurs in favor of, say, email over text messaging, by way of non-limiting example.


As noted above, in the illustrated embodiment, multiple actions are generated for each communication plan. To effect this, the method of step 36 utilizes the next-best-action (or other) algorithm to generate multiple recommendations and, based on probability estimates, or other estimated success values assigned to those recommendations by the algorithm or otherwise, stores them in priority order in linked lists, arrays or other data structures employed by the method to encode those plans for storage in cache 46. In some embodiments, a communication plan is a list of records containing the following fields:

    • TargetID
    • Priority—importance of the message compared to other messages
    • Value—value of the message
    • ActionID
    • TreatmentID
    • Destination (Email, Branch, Call-Center, . . . )
    • TimeToCommunicate
    • Personalized Message


Implementation of the next-best-action step 36, as described above, including encoding the actions generated by it into communication plans, is within the ken of those skilled in the art in view of the teachings hereof.


Next Best Action Plan Queuing


Each set of actions, or communication plans, generated in step 36 and including the ID of the respective target (as well, of course, of the action(s) that make up the plan) is queued to next-best-action cache 46 at the conclusion of step 36. Queuing can be performed as part of step 36 and/or by through the action of rules 25 or other programming instructions associated with cache 46. Regardless, the queuing is done continuously (i.e., not as part of a batch mode process) as each communication plan is generated in step 36. Moreover, the queuing of the illustrated embodiment is on a FIFO (first in, first out) basis, thereby, better insuring that the communication plans generated for prospective targets will be carried out, e.g., in step 48, closer in real time vis-à-vis the events that triggered creation of those plans in the first instance per steps 34-36.


Notwithstanding FIFO queuing, the cache maintains no more than one plan per prospective target—even if multiple events ingested for a given target in step 34 and/or if action of steps 34 and 40 result in generation of multiple plans for that target in step 36. To this end, when a plan is queued to the cache 46 (whether by rules/code implementing step 36 or otherwise) any prior plans currently in that cache for the same target are removed. This can be done through a brute-force search of the queue with the target ID in a newly generated plan, though, preferably, a hash of such IDs or other index-based search within the ken of those skilled in the art is used to speed the search and replacement.


Implementation of the FIFO cache 46 in a manner that supports the searching for and replacement plans for the same target, whether via arrays, linked lists or other structures, is within the ken of those skilled in the art in view of the teachings hereof.


Executing Action Plans (Alternative 1—Pushing Plans to Servers for Execution)


In step 48 (labelled “governor” in the drawing), the illustrated procedure 32 retrieves and acts on action plans in the cache 46. This is done continuously (i.e., not on a batch mode basis) and on a FIFO basis as discussed above.


To that end, in step 48 the illustrated procedure 32 retrieves a next communication plan from the cache 46 and unpacks the one or more actions contained within it. In the illustrated embodiment, these are typically provided in an ordered priority determined in the next-best-action step 36, as discussed above.


The method of step 48 selects the most highly recommended of those actions and determines whether it can be carried out—and, specifically, whether the digital content piece identified in that action is available (if not, itself, encoded in the plan), whether a server necessary to deliver that content piece via the delivery mechanism identified in the plan is available, and whether delivery of that content piece by that delivery plan (and server) to the target identified by the action at the time of execution of step 48 on that action would violate quotas (e.g., contact policies, action constraints and/or treatment constraints) associated with that target and/or that delivery plan. A pseudo-code example showing how such a quota violation determination can be made is provided below in connection with the alternate embodiment.


Those quotas (or policies), which may be hard-coded into the rules/code that implements step 48 but which, preferably, are maintained in a database or other data set accessible to those rules/code, are of the type known in the art establishing numerical, rate, time/date or other limits on content transmissions. By way of non-limiting example, such a policy can define numerical daily or weekly limits on the number of text messages to non-corporate targets; another could restrict usage of a given delivery mechanism on a per-period or time-of-day basis; and so forth, all as within the ken of those skilled in the art in view of the teachings hereof. In the illustrated embodiment, the quotas (or policies) are be shared with the next-best-action step 36, as indicated in the drawing.


Instead of or in addition to those associated with targets and/or delivery plans, other embodiments may utilize quotas associated with digital content pieces (e.g., limiting the number of times a given content piece can be transmitted) or otherwise, again, as is within the ken of those skilled in the art in view of the teachings hereof. On the other hand, in some embodiments, quotas are not invoked for certain actions or action plans—to wit, those including special pieces of digital content—e.g., an emergency message.


If the method of step 48 determines that the selected action in the communication plan can be carried out and would not violate quotas, it “pushes” that plan for execution. More specifically, the method invokes a server 13, 15, 17 appropriate for the delivery mechanism identified in the selected action, passing to it the digital content piece identified in that action for digital transmission to the target's client device 14, 16, 18. This, too, is done continuously (i.e., not on a batch basis) to better insure delivery of the content piece while it remains relevant. At the same time, step 48 memorializes transmittal of that content piece by that mechanism to database 42. In the illustrated embodiment, step 48 also memorializes the event to the pre-fetch store 38.


On the other hand, if the selected action from the communication cannot be carried out, e.g., because of lack of availability of the content, a server or violation of a quota, the method of claim 48 selects the next most highly recommended action for the prospective target from the action plan retrieved from FIFO 46.


Executing Action Plans (Alternative 2—Permitting Servers to Pull Plans for Execution)


In other embodiments, step 48 of the illustrated procedure 32 permits a server 13, 15, 17 to request (or “pull”) a list of actions destined for it for one or more prospective targets and, thereby, to execute those actions when any of those targets next interacts with the server. For servers, like web servers, for which interactions demand real-time response, this minimizes the risk that interaction with any given prospective target will occur before the next best action for that target is executed.


According to this alternative embodiment, step 48 retrieves and acts on action plans in the cache 46 along the lines described above, as modified by the steps below:

    • In response to a request from a server, the method of step 48 pulls a set of n prioritized actions for a particular delivery mechanism (or server 13, 15, 17) by executing a request in the following form on the cache 46
      • Call pull(destID, n)→set of n highest priority actions or less if there are no actions available:
        • Select * from Cache where DestinationID=destID and TimeToCommunicate<=now( ) ordered by priority desc limit n;
    • The subsequent ResultSet is checked in step 48 to insure it abides by:
      • Contact policies (e.g., table of customerID×DestinationID with counts for a rolling time window (e.g., last 30 days))
      • Action constraints (e.g., table of ActionID×DestinationID with counts for a rolling time window (e.g., This action can only be sent via email 100,000 times per day))
      • Treatment constraints (e.g., table of TreatmentID with counts for a rolling time window (a constraint on a particular variation of an action, e.g., a limit of 500 per day on the direct mailing variant of an action to send cash-off coupons to customers who recently opened credit accounts))
    • In the discussion immediately above:
      • Counts can be replaced by values to meet budget constraints. (10,000 possible responses)
      • When an action does not pass a constraint, it's skipped. If there are fewer than ‘n’ actions left, a new query is executed against the cache 46.
    • The result-set is returned to the requesting server, and every prospective target in this set is submitted for re-evaluation, e.g., by sending their respective target ID's to the next-best-action step 36, thereby, triggering generation of a further action plan for each.


Throughput


Illustrated system 10 can be operated so as to generate at transmit 100,000 or more digital content pieces per day and, more preferably, 1,000,000 or more such digital content pieces per day, still more preferably over 10,000,000 such pieces per day. Execution of the procedure 32 and its constituent steps as discussed above to achieve such rates is within the ken of those skilled in the art in view of the teachings above.


Conclusion


Systems and methods according to the invention achieve the desired objects, among others. It will be appreciated that the embodiments shown in the drawings and discussed in the text above are merely examples of the invention and that other embodiments, incorporating changes thereto within the ken of those skilled in the art, fall within the scope of the invention.

Claims
  • 1. A method of mass generation of customized digital content, comprising executing on a digital data processing system steps of: A. identifying, continuously, current external events taken by or with respect to a plurality of respective prospective targets of customized digital content pieces, where each external event is one taken (i) by the respective prospective target, or (ii) with respect to that prospective target other than as part of this method of customized digital content generation,B. generating, continuously and upon identification of a current event taken with respect to a said respective prospective target, a set of one or more actions, each identifying a digital content piece and a digital delivery mechanism therefor, where each such action is generated based on (i) one or more current external events identified in step (A) for the respective prospective target, and (ii) any of prior information about, and events taken by or with respect to, that respective prospective target as reflected in a database of information and prior events (the “database”),C. queuing to a digital cache each set of actions continuously and upon its generation in step (B),D. retrieving, continuously and on a first-in-first-out basis, sets queued to the digital cache, and selecting, continuously and upon retrieval of each such set, an action for generation of digital content customized for the respective prospective target of that action, where the action is selected from the set of one or more actions based on quotas associated with (i) that prospective target and (ii) the delivery mechanism identified with that action,E. invoking, continuously and on selection of a said action in step (D), a content server for the delivery mechanism identified with that selected action to transmit to the respective prospective target the digital content piece identified with that selected action,F. responding to a request by a content server associated with a said delivery mechanism by i) pulling a set of n prioritized actions for that said delivery mechanism, where the pulling step includes executing a request in the following form on the digital cache call pull(destID, n)→set of n highest priority actions or less if there are no actions available: select * from Cache where DestinationID=destID and TimeToCommunicate<=now( ) ordered by priority desc limit n,where destID and DestinationID are an identification associated with that said delivery mechanism, and TimeToCommunicate is a time-based parameter,ii) transmitting the set of prioritized actions to the requesting content server, andG. responding, with the requesting content server, to interaction between the associated said delivery mechanism and a prospective target by executing a said action generated for that prospective target in the set of prioritized actions in order to generate digital content therefor.
  • 2. The method of claim 1, wherein the step of identifying current external events includes ingesting one or more incoming streams of events.
  • 3. The method of claim 2, wherein the step of ingesting streams of event includes ingesting streams from any of the web, social media, call centers, transaction servers, and data warehouses.
  • 4. The method of claim 1, wherein the current external events occur asynchronously with respect to one another.
  • 5. The method of claim 1, wherein the step of identifying current external events includes identifying those events substantially in real time with their respective occurrences.
  • 6. The method of claim 1, wherein the step of identifying current external events includes memorializing said external events to the database.
  • 7. The method of claim 1, comprising generating, continuously and concurrently with the step of identifying current external events, identifiers of respective prospective targets, where those identifiers are generated on a round-robin basis from among a list of identifiers of known respective prospective targets.
  • 8. The method of claim 7, wherein the step of generating identifiers of respective prospective targets includes winnowing from the list of identifiers of known respective prospective targets those targets for whom a current external event has been identified.
  • 9. The method of claim 7, wherein the step of generating identifiers includes generating identifiers of respective prospective targets asynchronously with respect to Identification of current external events with respect to those respective prospective targets.
  • 10. The method of claim 7, wherein step (B) includes generating, continuously and upon generation of an identifier of a respective prospective target, a set of one or more actions based on prior information about, and events taken by or with respect to, that respective prospective target as reflected in the database.
  • 11. The method of claim 1, comprising invoking one or more said content servers to transmit over 100,000 digital content pieces to different respective targets per day.
  • 12. The method of claim 11, comprising invoking one or more said content servers to transmit over 1,000,000 digital content pieces to different respective targets per day.
  • 13. The method of claim 12, comprising invoking one or more content servers to transmit over 10,000,000 digital content pieces to different respective targets per day.
  • 14. The method of claim 1, comprising memorializing to the database, on invocation of a said content server to transmit a said digital content piece to a said prospective target, a fact of that transmission to that prospective target.
  • 15. The method as in any one of claims 1 and 10, in which step (B) includes generating the actions additionally based on a library of possible actions.
  • 16. The method as in any one of claim 1 and 10, in which the step of queuing a set of actions to the digital cache for a respective prospective target includes removing from the cache any prior stored sets of actions for that target.
  • 17. A method of mass generation of customized digital content, comprising executing on a digital data processing system steps of: A. identifying, continuously, current external events taken by or with respect to a plurality of respective prospective targets of customized digital content pieces, where each external event is one taken (i) by the respective prospective target, or (ii) with respect to that prospective target other than as part of this method of customized digital content generation,B. generating, continuously and concurrently with the step of identifying current external events in step (A), identifiers of respective prospective targets, where those identifiers are generated on a round-robin basis from among a list of identifiers of known respective prospective targets,C. generating, continuously and upon identification of a current event taken with respect to a said prospective target, a set of one or more actions, each identifying a digital content piece and a delivery mechanism therefor, where each such action is generated based on (i) one or more current external events, if any, identified in step (A) for the respective prospective target, and (ii) any of prior information about, and events taken by or with respect to, that respective prospective target as reflected in a database of information and prior events (the “database”),D. queuing to a digital cache each set of actions continuously and upon its generation in step (C),E. retrieving, continuously and on a first-in-first-out basis, sets queued to the digital cache, and selecting, continuously and upon retrieval of each such set, an action for generation of digital content customized for the prospective target of that action, where the action is selected from the set of one or more actions based on quotas associated with (i) that prospective target and (ii) the delivery mechanism identified for that action,F. invoking, continuously and on selection of a said action in step (D), a content server for the delivery mechanism identified for that selected action to transmit to the prospective target the digital content piece identified with that selected action,F. responding to a request by a content server associated with a said delivery mechanism by i) pulling a set of n prioritized actions for that said delivery mechanism, where the pulling step includes executing a request in the following form on the digital cache call pull(destID, n)→set of n highest priority actions or less if there are no actions available: select * from Cache where DestinationID=destID and TimeToCommunicate<=now( ) ordered by priority desc limit n,where destID and DestinationID are an identification associated with that said delivery mechanism, and TimeToCommunicate is a time-based parameter,ii) transmitting the set of prioritized actions to the requesting content server, andG. responding, with the requesting content server, to interaction between the associated said delivery mechanism and a prospective target by executing a said action generated for that prospective target in the set of prioritized actions in order to generate digital content therefor.
  • 18. The method of claim 17, comprising invoking one or more content servers to transmit over 100,000 digital content pieces to different respective targets per day.
  • 19. The method of claim 17, wherein the step of generating identifiers includes generating identifiers of respective prospective targets asynchronously with respect to Identification of current external events with respect to those respective prospective targets.
  • 20. The method of claim 17, wherein the step of identifying current external events includes ingesting one or more incoming streams of events.
  • 21. The method of claim 20, wherein the step of ingesting streams of event includes ingesting streams from any of the web, social media, call centers, transaction servers, and data warehouses.
  • 22. A method of mass generation of customized digital content, comprising executing on a digital data processing system steps of: A. identifying, continuously, current external events taken by or with respect to a plurality of respective prospective targets of customized digital content pieces, where each external event is one taken (i) by the respective prospective target, or (ii) with respect to that prospective target other than as part of this method of customized digital content generation,B. generating, continuously and upon identification of a current event taken with respect to a said respective prospective target, a set of one or more actions, each identifying a digital content piece and a digital delivery mechanism therefor, where each such action is generated based on (i) one or more current external events identified in step (A) for the respective prospective target, and (ii) any of prior information about, and events taken by or with respect to, that respective prospective target as reflected in a database of information and prior events (the “database”),C. queuing to a digital cache each set of actions continuously and upon its generation in step (B),D. responding to a request by a content server associated with a said delivery mechanism by i) pulling a set of n prioritized actions for that said delivery mechanism, where the pulling step includes executing a request in the following form on the digital cache call pull(destID, n)→set of n highest priority actions or less if there are no actions available: select * from Cache where DestinationID=destID and TimeToCommunicate<=now( ) ordered by priority desc limit n,where destID and DestinationID are an identification associated with that said delivery mechanism, and TimeToCommunicate is a time-based parameter,ii) transmitting the set of prioritized actions to the requesting content server, andE. responding, with the requesting content server, to interaction between the associated said delivery mechanism and a prospective target by executing a said action generated for that prospective target in the set of prioritized actions in order to generate digital content therefor.
  • 23. A method of mass generation of customized digital content, comprising executing on a digital data processing system steps of: A. identifying, continuously, current external events taken by or with respect to a plurality of respective prospective targets of customized digital content pieces, where each external event is one taken (i) by the respective prospective target, or (ii) with respect to that prospective target other than as part of this method of customized digital content generation,B. generating, continuously and upon identification of a current event taken with respect to a said respective prospective target, a set of one or more actions, each identifying a digital content piece and a digital delivery mechanism therefor, where each such action is generated based on (i) one or more current external events identified in step (A) for the respective prospective target, and (ii) any of prior information about, and events taken by or with respect to, that respective prospective target as reflected in a database of information and prior events (the “database”),C. queuing to a digital cache each set of actions continuously and upon its generation in step (B),D. responding to a request by a content server associated with a said delivery mechanism by i) pulling a set of n prioritized actions for that said delivery mechanism, where the pulling step includes executing a request in the following form on the digital cache call pull(destID, n)→set of n highest priority actions or less if there are no actions available: select * from Cache where DestinationID=destID and TimeToCommunicate<=now( ) ordered by priority desc limit n,where destID and DestinationID are an identification associated with that said delivery mechanism, and TimeToCommunicate is a time-based parameter,ii) transmitting the set of prioritized actions to the requesting content server, andE. responding, with the requesting content server, to interaction between the associated said delivery mechanism and a prospective target by executing a said action generated for that prospective target in the set of prioritized actions in order to generate digital content therefor.
US Referenced Citations (698)
Number Name Date Kind
4047059 Rosenthal Sep 1977 A
4344142 Diehr, II et al. Aug 1982 A
4602168 Single Jul 1986 A
4607232 Gill, Jr. Aug 1986 A
4659944 Miller, Sr. et al. Apr 1987 A
4701130 Whitney et al. Oct 1987 A
4866634 Reboh et al. Sep 1989 A
4884217 Skeirik et al. Nov 1989 A
4895518 Arnold et al. Jan 1990 A
4930071 Tou et al. May 1990 A
4953106 Gansner et al. Aug 1990 A
5062060 Kolnick Oct 1991 A
5077491 Heck et al. Dec 1991 A
5093794 Howie et al. Mar 1992 A
5119465 Jack et al. Jun 1992 A
5129043 Yue Jul 1992 A
5136184 Deevy Aug 1992 A
5136523 Landers Aug 1992 A
5140671 Hayes et al. Aug 1992 A
5193056 Boes Mar 1993 A
5199068 Cox Mar 1993 A
5204939 Yamazaki et al. Apr 1993 A
5228116 Harris et al. Jul 1993 A
5259766 Sack et al. Nov 1993 A
5262941 Saladin et al. Nov 1993 A
5267175 Hooper Nov 1993 A
5267865 Lee et al. Dec 1993 A
5270920 Pearse et al. Dec 1993 A
5276359 Chiang Jan 1994 A
5276885 Milnes et al. Jan 1994 A
5291394 Chapman Mar 1994 A
5291583 Bapat Mar 1994 A
5295256 Bapat Mar 1994 A
5297279 Bannon et al. Mar 1994 A
5301270 Steinberg et al. Apr 1994 A
5310349 Daniels et al. May 1994 A
5311422 Loftin et al. May 1994 A
5326270 Ostby et al. Jul 1994 A
5333254 Robertson Jul 1994 A
5337407 Bates et al. Aug 1994 A
5339390 Robertson et al. Aug 1994 A
5374932 Wyschogrod et al. Dec 1994 A
5379366 Noyes Jan 1995 A
5379387 Carlstedt Jan 1995 A
5381332 Wood Jan 1995 A
5386559 Eisenberg et al. Jan 1995 A
5395243 Lubin et al. Mar 1995 A
5412756 Bauman et al. May 1995 A
5421011 Camillone et al. May 1995 A
5421730 Lasker, III et al. Jun 1995 A
5446397 Yotsuyanagi Aug 1995 A
5446885 Moore et al. Aug 1995 A
5450480 Man et al. Sep 1995 A
5463682 Fisher et al. Oct 1995 A
5473732 Chang Dec 1995 A
5477170 Yotsuyanagi Dec 1995 A
5481647 Brody et al. Jan 1996 A
5499293 Behram et al. Mar 1996 A
5504879 Eisenberg et al. Apr 1996 A
5512849 Wong Apr 1996 A
5519618 Kastner et al. May 1996 A
5537590 Amado Jul 1996 A
5542024 Balint et al. Jul 1996 A
5542078 Martel et al. Jul 1996 A
5548506 Srinivasan Aug 1996 A
5561740 Barrett et al. Oct 1996 A
5579223 Raman Nov 1996 A
5579486 Oprescu et al. Nov 1996 A
5586311 Davies et al. Dec 1996 A
5596752 Knudsen et al. Jan 1997 A
5597312 Bloom et al. Jan 1997 A
5608789 Fisher et al. Mar 1997 A
5611076 Durflinger et al. Mar 1997 A
5627979 Chang et al. May 1997 A
5630127 Moore et al. May 1997 A
5649192 Stucky Jul 1997 A
5655118 Heindel et al. Aug 1997 A
5664206 Murow et al. Sep 1997 A
5675753 Hansen et al. Oct 1997 A
5678039 Hinks et al. Oct 1997 A
5689663 Williams Nov 1997 A
5715450 Ambrose et al. Feb 1998 A
5732192 Malin et al. Mar 1998 A
5754740 Fukuoka et al. May 1998 A
5761063 Jannette et al. Jun 1998 A
5761673 Bookman et al. Jun 1998 A
5765140 Knudson et al. Jun 1998 A
5768480 Crawford, Jr. et al. Jun 1998 A
5788504 Rice et al. Aug 1998 A
5795155 Morrel-Samuels Aug 1998 A
5809212 Shasha Sep 1998 A
5815415 Bentley et al. Sep 1998 A
5819243 Rich et al. Oct 1998 A
5819257 Monge et al. Oct 1998 A
5822780 Schutzman Oct 1998 A
5825260 Ludwig et al. Oct 1998 A
5826077 Blakeley et al. Oct 1998 A
5826239 Du et al. Oct 1998 A
5826250 Trefler Oct 1998 A
5826252 Wolters, Jr. et al. Oct 1998 A
5829983 Koyama et al. Nov 1998 A
5831607 Brooks Nov 1998 A
5832483 Barker Nov 1998 A
5841435 Dauerer et al. Nov 1998 A
5841673 Kobayashi et al. Nov 1998 A
5864865 Lakis Jan 1999 A
5873096 Lim et al. Feb 1999 A
5875334 Chow et al. Feb 1999 A
5875441 Nakatsuyama Feb 1999 A
5880614 Zinke et al. Mar 1999 A
5880742 Rao et al. Mar 1999 A
5886546 Hwang Mar 1999 A
5890146 Wavish et al. Mar 1999 A
5890166 Eisenberg et al. Mar 1999 A
5892512 Donnelly et al. Apr 1999 A
5907490 Oliver May 1999 A
5907837 Ferrel et al. May 1999 A
5909213 Martin Jun 1999 A
5910748 Reffay et al. Jun 1999 A
5911138 Li et al. Jun 1999 A
5918222 Fukui et al. Jun 1999 A
5920717 Noda Jul 1999 A
5930795 Chen et al. Jul 1999 A
5945852 Kosiec Aug 1999 A
5974441 Rogers et al. Oct 1999 A
5974443 Jeske Oct 1999 A
5978566 Plank et al. Nov 1999 A
5983267 Shklar et al. Nov 1999 A
5983369 Bakoglu et al. Nov 1999 A
5987415 Breese et al. Nov 1999 A
5990742 Suzuki Nov 1999 A
5995948 Whitford et al. Nov 1999 A
5995958 Xu Nov 1999 A
6008673 Glass et al. Dec 1999 A
6008808 Almeida et al. Dec 1999 A
6012098 Bayeh et al. Jan 2000 A
6020768 Lim Feb 2000 A
6023704 Gerard et al. Feb 2000 A
6023714 Hill et al. Feb 2000 A
6023717 Argyroudis Feb 2000 A
6028457 Tihanyi Feb 2000 A
6037890 Glass et al. Mar 2000 A
6044373 Gladney et al. Mar 2000 A
6044466 Anand et al. Mar 2000 A
6078982 Du et al. Jun 2000 A
6085188 Bachmann et al. Jul 2000 A
6085198 Skinner et al. Jul 2000 A
6091226 Amano Jul 2000 A
6092036 Hamann Jul 2000 A
6092083 Brodersen et al. Jul 2000 A
6094652 Faisal Jul 2000 A
6098172 Coss et al. Aug 2000 A
6105035 Monge et al. Aug 2000 A
6108004 Medl Aug 2000 A
6122632 Botts et al. Sep 2000 A
6125363 Buzzeo et al. Sep 2000 A
6130679 Chen et al. Oct 2000 A
6137797 Bass et al. Oct 2000 A
6144997 Lamming et al. Nov 2000 A
6151595 Pirolli et al. Nov 2000 A
6151624 Teare et al. Nov 2000 A
6154738 Call Nov 2000 A
6167441 Himmel Dec 2000 A
6177932 Galdes et al. Jan 2001 B1
6185516 Hardin et al. Feb 2001 B1
6185534 Breese et al. Feb 2001 B1
6192371 Schultz Feb 2001 B1
6194919 Park Feb 2001 B1
6212502 Ball et al. Apr 2001 B1
6216135 Brodersen et al. Apr 2001 B1
6233332 Anderson et al. May 2001 B1
6233617 Rothwein et al. May 2001 B1
6240417 Eastwick et al. May 2001 B1
6243713 Nelson et al. Jun 2001 B1
6246320 Monroe Jun 2001 B1
6275073 Tokuhiro Aug 2001 B1
6275790 Yamamoto et al. Aug 2001 B1
6281896 Alimpich et al. Aug 2001 B1
6282547 Hirsch Aug 2001 B1
6300947 Kanevsky Oct 2001 B1
6304259 DeStefano Oct 2001 B1
6308163 Du et al. Oct 2001 B1
6310951 Wineberg et al. Oct 2001 B1
6311324 Smith et al. Oct 2001 B1
6313834 Lau et al. Nov 2001 B1
6314415 Mukherjee Nov 2001 B1
6324693 Brodersen et al. Nov 2001 B1
6330554 Altschuler et al. Dec 2001 B1
6338074 Poindexter et al. Jan 2002 B1
6341277 Coden et al. Jan 2002 B1
6341293 Hennessey Jan 2002 B1
6344862 Williams et al. Feb 2002 B1
6349238 Gabbita et al. Feb 2002 B1
6351734 Lautzenheiser et al. Feb 2002 B1
6356286 Lawrence Mar 2002 B1
6356897 Gusack Mar 2002 B1
6359633 Balasubramaniam et al. Mar 2002 B1
6366299 Lanning et al. Apr 2002 B1
6369819 Pitkow et al. Apr 2002 B1
6370537 Gilbert et al. Apr 2002 B1
6380910 Moustakas et al. Apr 2002 B1
6380947 Stead Apr 2002 B1
6381738 Choi et al. Apr 2002 B1
6389460 Stewart et al. May 2002 B1
6389510 Chen et al. May 2002 B1
6393605 Loomans May 2002 B1
6396885 Ding et al. May 2002 B1
6405211 Sokol et al. Jun 2002 B1
6405251 Bullard et al. Jun 2002 B1
6415259 Wolfinger et al. Jul 2002 B1
6415283 Conklin Jul 2002 B1
6418448 Sarkar Jul 2002 B1
6421571 Spriggs et al. Jul 2002 B1
6426723 Smith et al. Jul 2002 B1
6429870 Chen et al. Aug 2002 B1
6430571 Doan et al. Aug 2002 B1
6430574 Stead Aug 2002 B1
6437799 Shinomi Aug 2002 B1
6446065 Nishioka et al. Sep 2002 B1
6446089 Brodersen et al. Sep 2002 B1
6446200 Ball et al. Sep 2002 B1
6446256 Hyman et al. Sep 2002 B1
6448964 Isaacs et al. Sep 2002 B1
6453038 McFarlane et al. Sep 2002 B1
6463346 Flockhart et al. Oct 2002 B1
6463440 Hind et al. Oct 2002 B1
6469715 Carter et al. Oct 2002 B1
6469716 Carter et al. Oct 2002 B1
6473467 Wallace et al. Oct 2002 B1
6473748 Archer Oct 2002 B1
6493331 Walton et al. Dec 2002 B1
6493399 Xia et al. Dec 2002 B1
6493731 Jones et al. Dec 2002 B1
6493754 Rosborough et al. Dec 2002 B1
6496812 Campaigne et al. Dec 2002 B1
6496833 Goldberg et al. Dec 2002 B1
6502239 Zgarba et al. Dec 2002 B2
6509898 Chi et al. Jan 2003 B2
6513018 Culhane Jan 2003 B1
6526440 Bharat Feb 2003 B1
6526457 Birze Feb 2003 B1
6529217 Maguire, III et al. Mar 2003 B1
6529899 Kraft et al. Mar 2003 B1
6529900 Patterson et al. Mar 2003 B1
6530079 Choi et al. Mar 2003 B1
6532474 Iwamoto et al. Mar 2003 B2
6539374 Jung Mar 2003 B2
6542912 Meltzer et al. Apr 2003 B2
6546381 Subramanian et al. Apr 2003 B1
6546406 DeRose et al. Apr 2003 B1
6549904 Ortega et al. Apr 2003 B1
6556226 Gould et al. Apr 2003 B2
6556983 Altschuler et al. Apr 2003 B1
6556985 Karch Apr 2003 B1
6559864 Olin May 2003 B1
6560592 Reid et al. May 2003 B1
6560649 Mullen et al. May 2003 B1
6567419 Yarlagadda May 2003 B1
6571222 Matsumoto et al. May 2003 B1
6577769 Kenyon et al. Jun 2003 B1
6583800 Ridgley et al. Jun 2003 B1
6584464 Warthen Jun 2003 B1
6584569 Reshef et al. Jun 2003 B2
6594662 Sieffert et al. Jul 2003 B1
6597381 Eskridge et al. Jul 2003 B1
6597775 Lawyer et al. Jul 2003 B2
6598043 Baclawski Jul 2003 B1
6606613 Altschuler et al. Aug 2003 B1
6625657 Bullard Sep 2003 B1
6629138 Lambert et al. Sep 2003 B1
6636850 Lepien Oct 2003 B2
6636901 Sudhakaran et al. Oct 2003 B2
6643638 Xu Nov 2003 B1
6643652 Helgeson et al. Nov 2003 B2
6661889 Flockhart et al. Dec 2003 B1
6661908 Suchard et al. Dec 2003 B1
6678679 Bradford Jan 2004 B1
6678773 Marietta et al. Jan 2004 B2
6678882 Hurley et al. Jan 2004 B1
6684261 Orton et al. Jan 2004 B1
6690788 Bauer et al. Feb 2004 B1
6691067 Ding et al. Feb 2004 B1
6691230 Bardon Feb 2004 B1
6701314 Conover et al. Mar 2004 B1
6711565 Subramaniam et al. Mar 2004 B1
6721747 Lipkin Apr 2004 B2
6728702 Subramaniam et al. Apr 2004 B1
6728852 Stoutamire Apr 2004 B1
6732095 Warshavsky et al. May 2004 B1
6732111 Brodersen et al. May 2004 B2
6748422 Morin et al. Jun 2004 B2
6750858 Rosenstein Jun 2004 B1
6751663 Farrell et al. Jun 2004 B1
6754475 Harrison et al. Jun 2004 B1
6756994 Tlaskal Jun 2004 B1
6763351 Subramaniam et al. Jul 2004 B1
6771706 Ling et al. Aug 2004 B2
6772148 Baclawski Aug 2004 B2
6772350 Belani et al. Aug 2004 B1
6778971 Altschuler et al. Aug 2004 B1
6782091 Dunning, III Aug 2004 B1
6785341 Walton et al. Aug 2004 B2
6788114 Krenzke et al. Sep 2004 B1
6792420 Stephen Chen et al. Sep 2004 B2
RE38633 Srinivasan Oct 2004 E
6804330 Jones et al. Oct 2004 B1
6807632 Carpentier et al. Oct 2004 B1
6810429 Walsh et al. Oct 2004 B1
6820082 Cook et al. Nov 2004 B1
6829655 Huang et al. Dec 2004 B1
6831668 Cras et al. Dec 2004 B2
6836275 Arquie et al. Dec 2004 B1
6839682 Blume et al. Jan 2005 B1
6847982 Parker et al. Jan 2005 B2
6851089 Erickson et al. Feb 2005 B1
6856575 Jones Feb 2005 B2
6856992 Britton et al. Feb 2005 B2
6859787 Fisher et al. Feb 2005 B2
6865546 Song Mar 2005 B1
6865566 Serrano-Morales et al. Mar 2005 B2
6865575 Smith et al. Mar 2005 B1
6867789 Allen et al. Mar 2005 B1
6918222 Lat et al. Jul 2005 B2
6920615 Campbell et al. Jul 2005 B1
6925457 Britton et al. Aug 2005 B2
6925609 Lucke Aug 2005 B1
6927728 Vook et al. Aug 2005 B2
6934702 Faybishenko et al. Aug 2005 B2
6940917 Menon et al. Sep 2005 B2
6944644 Gideon Sep 2005 B2
6954737 Kalantar et al. Oct 2005 B2
6956845 Baker et al. Oct 2005 B2
6959432 Crocker Oct 2005 B2
6961725 Yuan et al. Nov 2005 B2
6965889 Serrano-Morales et al. Nov 2005 B2
6966033 Gasser et al. Nov 2005 B1
6976144 Trefler et al. Dec 2005 B1
6978719 Sebata et al. Dec 2005 B2
6985912 Mullins et al. Jan 2006 B2
6991153 Silverbrook et al. Jan 2006 B2
7020869 Abrar et al. Mar 2006 B2
7020882 Lewallen Mar 2006 B1
7028225 Maso et al. Apr 2006 B2
7031901 Abu El Ata Apr 2006 B2
7035808 Ford Apr 2006 B1
7058367 Luo et al. Jun 2006 B1
7058637 Britton et al. Jun 2006 B2
7064766 Beda et al. Jun 2006 B2
7073177 Foote et al. Jul 2006 B2
7076558 Dunn Jul 2006 B1
7089193 Newbold Aug 2006 B2
7103173 Rodenbusch et al. Sep 2006 B2
7124145 Surasinghe Oct 2006 B2
7139999 Bowman-Amuah Nov 2006 B2
7143116 Okitsu et al. Nov 2006 B2
7171145 Takeuchi et al. Jan 2007 B2
7171415 Kan et al. Jan 2007 B2
7174514 Subramaniam et al. Feb 2007 B2
7178109 Hewson et al. Feb 2007 B2
7194380 Barrow et al. Mar 2007 B2
7194690 Guillermo et al. Mar 2007 B2
7289793 Norwood et al. Oct 2007 B2
RE39918 Slemmer Nov 2007 E
7302417 Iyer Nov 2007 B2
7318020 Kim Jan 2008 B1
7318066 Kaufman et al. Jan 2008 B2
7334039 Majkut et al. Feb 2008 B1
7343295 Pomerance Mar 2008 B2
7353229 Vilcauskas, Jr. et al. Apr 2008 B2
7353254 Kusuda Apr 2008 B2
7398391 Carpentier et al. Jul 2008 B2
7406475 Dorne et al. Jul 2008 B2
7412388 Dalal et al. Aug 2008 B2
7415731 Carpentier et al. Aug 2008 B2
7505827 Boddy et al. Mar 2009 B1
7526481 Cusson et al. Apr 2009 B1
7536294 Stanz et al. May 2009 B1
7555645 Vissapragada Jun 2009 B2
7574494 Mayernick et al. Aug 2009 B1
7596504 Hughes et al. Sep 2009 B2
7603625 Guillermo et al. Oct 2009 B2
7640222 Trefler Dec 2009 B2
7647417 Taneja Jan 2010 B1
7665063 Hofmann et al. Feb 2010 B1
7685013 Gendler Mar 2010 B2
7689447 Aboujaoude et al. Mar 2010 B1
7711919 Trefler et al. May 2010 B2
7779395 Chotin et al. Aug 2010 B1
7783596 Smolen et al. Aug 2010 B2
7787609 Flockhart et al. Aug 2010 B1
7791559 Piasecki Sep 2010 B2
7818506 Shepstone et al. Oct 2010 B1
7844594 Holt et al. Nov 2010 B1
7870244 Chong et al. Jan 2011 B2
7889896 Roehrig et al. Feb 2011 B2
7937690 Casey May 2011 B2
7971180 Kreamer et al. Jun 2011 B2
7974714 Hoffberg Jul 2011 B2
7983895 McEntee et al. Jul 2011 B2
8001519 Conallen et al. Aug 2011 B2
8037329 Leech et al. Oct 2011 B2
8073802 Trefler Dec 2011 B2
8250525 Khatutsky Aug 2012 B2
8335704 Trefler et al. Dec 2012 B2
8386960 Eismann et al. Feb 2013 B1
8468492 Frenkel Jun 2013 B1
8479157 Trefler et al. Jul 2013 B2
8516193 Clinton et al. Aug 2013 B1
8739044 Varadarajan May 2014 B1
8744999 Clarke et al. Jun 2014 B2
8843435 Trefler et al. Sep 2014 B1
8850362 Khoshnevisan et al. Sep 2014 B1
8863008 Chan et al. Oct 2014 B2
8880487 Clinton et al. Nov 2014 B1
8903933 Bellini, III et al. Dec 2014 B1
8924335 Trefler et al. Dec 2014 B1
8959480 Trefler et al. Feb 2015 B2
9026733 Clinton et al. May 2015 B1
9189361 Khatutsky Nov 2015 B2
9195936 Chase Nov 2015 B1
9253129 Bassemir et al. Feb 2016 B2
9270743 Frenkel Feb 2016 B2
9495340 Powell et al. Nov 2016 B2
9658735 Trefler et al. May 2017 B2
9678719 Frenkel Jun 2017 B1
10453083 Herman et al. Oct 2019 B2
10601751 Hyman Mar 2020 B1
10713225 Gonzalez-Brenes Jul 2020 B2
20010013799 Wang Aug 2001 A1
20010035777 Wang et al. Nov 2001 A1
20010047355 Anwar Nov 2001 A1
20010049682 Vincent et al. Dec 2001 A1
20010052108 Bowman-Amuah Dec 2001 A1
20010054064 Kannan Dec 2001 A1
20020010855 Reshef et al. Jan 2002 A1
20020013804 Gideon Jan 2002 A1
20020029161 Brodersen et al. Mar 2002 A1
20020042831 Capone et al. Apr 2002 A1
20020049603 Mehra et al. Apr 2002 A1
20020049715 Serrano-Morales et al. Apr 2002 A1
20020049788 Lipkin et al. Apr 2002 A1
20020054152 Palaniappan et al. May 2002 A1
20020059566 Delcambre et al. May 2002 A1
20020065912 Catchpole et al. May 2002 A1
20020070972 Windl et al. Jun 2002 A1
20020073337 Ioele et al. Jun 2002 A1
20020083063 Egolf Jun 2002 A1
20020091677 Sridhar Jul 2002 A1
20020091678 Miller et al. Jul 2002 A1
20020091710 Dunham et al. Jul 2002 A1
20020091835 Lentini et al. Jul 2002 A1
20020093537 Bocioned et al. Jul 2002 A1
20020107684 Gao Aug 2002 A1
20020118688 Jagannathan Aug 2002 A1
20020120598 Shadmon et al. Aug 2002 A1
20020120627 Mankoff Aug 2002 A1
20020120762 Cheng et al. Aug 2002 A1
20020133502 Rosenthal et al. Sep 2002 A1
20020177232 Melker et al. Nov 2002 A1
20020178232 Ferguson Nov 2002 A1
20020181692 Flockhart et al. Dec 2002 A1
20020184610 Chong et al. Dec 2002 A1
20020186826 Hsu et al. Dec 2002 A1
20020198935 Allen, Sr. et al. Dec 2002 A1
20030001894 Boykin et al. Jan 2003 A1
20030004934 Qian Jan 2003 A1
20030004951 Chokshi Jan 2003 A1
20030009239 Lombardo et al. Jan 2003 A1
20030014399 Hansen et al. Jan 2003 A1
20030037145 Fagan Feb 2003 A1
20030050834 Caplan Mar 2003 A1
20030050927 Hussam Mar 2003 A1
20030050929 Bookman et al. Mar 2003 A1
20030061209 Raboczi et al. Mar 2003 A1
20030065544 Elzinga et al. Apr 2003 A1
20030066031 Laane Apr 2003 A1
20030074352 Raboczi et al. Apr 2003 A1
20030074369 Schuetze et al. Apr 2003 A1
20030084401 Abel et al. May 2003 A1
20030093279 Malah et al. May 2003 A1
20030098991 Laverty et al. May 2003 A1
20030109951 Hsiung et al. Jun 2003 A1
20030115281 McHenry et al. Jun 2003 A1
20030135358 Lissauer et al. Jul 2003 A1
20030152212 Burok et al. Aug 2003 A1
20030154380 Richmond et al. Aug 2003 A1
20030191626 Al-Onaizan et al. Oct 2003 A1
20030198337 Lenard Oct 2003 A1
20030200254 Wei Oct 2003 A1
20030200371 Abujbara Oct 2003 A1
20030202617 Casper Oct 2003 A1
20030222680 Jaussi Dec 2003 A1
20030229529 Mui et al. Dec 2003 A1
20030229544 Veres et al. Dec 2003 A1
20040003043 Rajamony et al. Jan 2004 A1
20040021686 Barberis Feb 2004 A1
20040024603 Mahoney et al. Feb 2004 A1
20040034651 Gupta et al. Feb 2004 A1
20040049479 Dorne et al. Mar 2004 A1
20040049509 Keller et al. Mar 2004 A1
20040049580 Boyd et al. Mar 2004 A1
20040054610 Amstutz et al. Mar 2004 A1
20040064552 Chong et al. Apr 2004 A1
20040068517 Scott Apr 2004 A1
20040088199 Childress et al. May 2004 A1
20040103014 Teegan et al. May 2004 A1
20040117759 Rippert, Jr. et al. Jun 2004 A1
20040122652 Andrews et al. Jun 2004 A1
20040133416 Fukuoka et al. Jul 2004 A1
20040133876 Sproule Jul 2004 A1
20040139021 Reed et al. Jul 2004 A1
20040145607 Alderson Jul 2004 A1
20040147138 Vaartstra Jul 2004 A1
20040148152 Horikawa Jul 2004 A1
20040148586 Gilboa Jul 2004 A1
20040162812 Lane et al. Aug 2004 A1
20040162822 Papanyan et al. Aug 2004 A1
20040167765 Abu El Ata Aug 2004 A1
20040205672 Bates et al. Oct 2004 A1
20040220792 Gallanis et al. Nov 2004 A1
20040236566 Simske Nov 2004 A1
20040243587 Nuyens et al. Dec 2004 A1
20040268221 Wang Dec 2004 A1
20040268299 Lei et al. Dec 2004 A1
20050027563 Fackler et al. Feb 2005 A1
20050027871 Bradley et al. Feb 2005 A1
20050039191 Hewson et al. Feb 2005 A1
20050044198 Okitsu et al. Feb 2005 A1
20050050000 Kwok et al. Mar 2005 A1
20050055330 Britton et al. Mar 2005 A1
20050059566 Brown et al. Mar 2005 A1
20050060372 DeBettencourt et al. Mar 2005 A1
20050071211 Flockhart et al. Mar 2005 A1
20050096959 Kumar et al. May 2005 A1
20050104628 Tanzawa et al. May 2005 A1
20050125683 Matsuyama et al. Jun 2005 A1
20050132048 Kogan et al. Jun 2005 A1
20050138162 Byrnes Jun 2005 A1
20050144023 Aboujaoude et al. Jun 2005 A1
20050165823 Ondrusek et al. Jul 2005 A1
20050198021 Wilcox et al. Sep 2005 A1
20050216235 Butt et al. Sep 2005 A1
20050222889 Lai et al. Oct 2005 A1
20050228875 Monitzer et al. Oct 2005 A1
20050234882 Bennett et al. Oct 2005 A1
20050267770 Banavar et al. Dec 2005 A1
20050288920 Green et al. Dec 2005 A1
20060004845 Kristiansen et al. Jan 2006 A1
20060015388 Flockhart et al. Jan 2006 A1
20060020783 Fisher Jan 2006 A1
20060041861 Trefler et al. Feb 2006 A1
20060053125 Scott Mar 2006 A1
20060063138 Loff et al. Mar 2006 A1
20060064486 Baron et al. Mar 2006 A1
20060064667 Freitas Mar 2006 A1
20060075360 Bixler Apr 2006 A1
20060080082 Ravindra et al. Apr 2006 A1
20060080401 Gill et al. Apr 2006 A1
20060092467 Dumitrescu et al. May 2006 A1
20060100847 McEntee et al. May 2006 A1
20060101386 Gerken et al. May 2006 A1
20060101393 Gerken et al. May 2006 A1
20060106846 Schulz et al. May 2006 A1
20060139312 Sinclair et al. Jun 2006 A1
20060149751 Jade et al. Jul 2006 A1
20060167655 Barrow et al. Jul 2006 A1
20060173724 Trefler et al. Aug 2006 A1
20060173871 Taniguchi et al. Aug 2006 A1
20060206303 Kohlmeier et al. Sep 2006 A1
20060206305 Kimura et al. Sep 2006 A1
20060209085 Wong et al. Sep 2006 A1
20060218166 Myers et al. Sep 2006 A1
20060271559 Stavrakos et al. Nov 2006 A1
20060271920 Abouelsaadat Nov 2006 A1
20060288348 Kawamoto et al. Dec 2006 A1
20070005623 Self et al. Jan 2007 A1
20070010991 Lei et al. Jan 2007 A1
20070028225 Whittaker et al. Feb 2007 A1
20070038765 Dunn Feb 2007 A1
20070055938 Herring et al. Mar 2007 A1
20070061789 Kaneko et al. Mar 2007 A1
20070094199 Deshpande et al. Apr 2007 A1
20070100782 Reed et al. May 2007 A1
20070118497 Katoh May 2007 A1
20070130130 Chan et al. Jun 2007 A1
20070136068 Horvitz Jun 2007 A1
20070143163 Weiss et al. Jun 2007 A1
20070143851 Nicodemus et al. Jun 2007 A1
20070203756 Sears et al. Aug 2007 A1
20070208553 Hastings et al. Sep 2007 A1
20070226031 Manson et al. Sep 2007 A1
20070233902 Trefler et al. Oct 2007 A1
20070239646 Trefler Oct 2007 A1
20070245300 Chan et al. Oct 2007 A1
20070260584 Marti et al. Nov 2007 A1
20070294644 Yost Dec 2007 A1
20080002823 Fama et al. Jan 2008 A1
20080046462 Kaufman et al. Feb 2008 A1
20080077384 Agapi et al. Mar 2008 A1
20080085502 Allen et al. Apr 2008 A1
20080109467 Brookins et al. May 2008 A1
20080120593 Keren et al. May 2008 A1
20080134088 Tse et al. Jun 2008 A1
20080163253 Massmann et al. Jul 2008 A1
20080184230 Leech et al. Jul 2008 A1
20080189679 Rodriguez et al. Aug 2008 A1
20080195377 Kato et al. Aug 2008 A1
20080196003 Gerken et al. Aug 2008 A1
20080208785 Trefler et al. Aug 2008 A1
20080216055 Khatutsky Sep 2008 A1
20080216060 Vargas Sep 2008 A1
20080263510 Nerome et al. Oct 2008 A1
20080297482 Weiss Dec 2008 A1
20090007084 Conallen et al. Jan 2009 A1
20090018998 Patten, Jr. et al. Jan 2009 A1
20090075634 Sinclair et al. Mar 2009 A1
20090083697 Zhang et al. Mar 2009 A1
20090132232 Trefler May 2009 A1
20090132996 Eldridge et al. May 2009 A1
20090138844 Halberstadt et al. May 2009 A1
20090150541 Georgis Jun 2009 A1
20090158213 Ryu Jun 2009 A1
20090158407 Nicodemus et al. Jun 2009 A1
20090164494 Dodin Jun 2009 A1
20090171938 Levin et al. Jul 2009 A1
20090199123 Albertson et al. Aug 2009 A1
20090228786 Danton et al. Sep 2009 A1
20090271708 Peters et al. Oct 2009 A1
20090276206 Fitzpatrick et al. Nov 2009 A1
20090282384 Keppler Nov 2009 A1
20090319948 Stannard et al. Dec 2009 A1
20100011338 Lewis Jan 2010 A1
20100083135 Zawacki et al. Apr 2010 A1
20100088266 Trefler Apr 2010 A1
20100107137 Trefler et al. Apr 2010 A1
20100149109 Elias Jun 2010 A1
20100217737 Shama Aug 2010 A1
20110016422 Miyazawa et al. Jan 2011 A1
20110066486 Bassin et al. Mar 2011 A1
20110072373 Yuki Mar 2011 A1
20110148791 Luu Jun 2011 A1
20110214067 Tanaka Sep 2011 A1
20110239113 Hung et al. Sep 2011 A1
20110252305 Tschani et al. Oct 2011 A1
20110264251 Copello et al. Oct 2011 A1
20120041921 Canaday et al. Feb 2012 A1
20120050530 Raman et al. Mar 2012 A1
20120102420 Fukahori Apr 2012 A1
20120198367 Bornheimer et al. Aug 2012 A1
20120272186 Kraut Oct 2012 A1
20120290939 Yu et al. Nov 2012 A1
20120293558 Dilts Nov 2012 A1
20120306773 Yeung Dec 2012 A1
20130007267 Khatutsky Jan 2013 A1
20130031455 Griffiths et al. Jan 2013 A1
20130047165 Goetz Feb 2013 A1
20130067392 Leonard et al. Mar 2013 A1
20130120319 Givon May 2013 A1
20130120434 Kim May 2013 A1
20130135294 An May 2013 A1
20130159904 Kelappan et al. Jun 2013 A1
20130167245 Birtwhistle et al. Jun 2013 A1
20130179816 Seo et al. Jul 2013 A1
20130231970 Trefler et al. Sep 2013 A1
20130254833 Nicodemus et al. Sep 2013 A1
20130290249 Merriman et al. Oct 2013 A1
20130335339 Maunder Dec 2013 A1
20140019400 Trefler et al. Jan 2014 A1
20140082539 Tjissen Mar 2014 A1
20140089819 Andler Mar 2014 A1
20140125577 Hoang et al. May 2014 A1
20140137019 Paulsen et al. May 2014 A1
20140258860 Subramanian Sep 2014 A1
20140277164 Ramsay et al. Sep 2014 A1
20140313135 Pisters et al. Oct 2014 A1
20140325410 Jung et al. Oct 2014 A1
20150058772 Bator et al. Feb 2015 A1
20150074606 Melen Mar 2015 A1
20150089406 Trefler et al. Mar 2015 A1
20150127736 Clinton et al. May 2015 A1
20160041961 Romney Feb 2016 A1
20160062963 Umapathy Mar 2016 A1
20160070560 Chase Mar 2016 A1
20160085809 de Castro Alves et al. Mar 2016 A1
20160098298 Trefler Apr 2016 A1
20160105370 Mellor et al. Apr 2016 A1
20160110055 Sullivan Apr 2016 A1
20170013073 Mendez et al. Jan 2017 A1
20170090685 Lockwood Mar 2017 A1
20170109032 MeLinand et al. Apr 2017 A1
20170242582 Yaremko Aug 2017 A1
20170255341 Trefler et al. Sep 2017 A1
20170308556 Gonzales-Brenes, Jr. Oct 2017 A1
20170351425 Dangelo et al. Dec 2017 A1
20170357703 Theimer et al. Dec 2017 A1
20180011678 Shipper et al. Jan 2018 A1
20180024901 Tankersley Jan 2018 A1
20180067580 Bonnery et al. Mar 2018 A1
Foreign Referenced Citations (99)
Number Date Country
1163604 Dec 2001 EP
1183636 Mar 2002 EP
1196882 Apr 2002 EP
1203310 May 2002 EP
1208482 May 2002 EP
1212668 Jun 2002 EP
1240592 Sep 2002 EP
1277102 Jan 2003 EP
1277119 Jan 2003 EP
1277120 Jan 2003 EP
1277153 Jan 2003 EP
1277155 Jan 2003 EP
1277329 Jan 2003 EP
1374083 Jan 2004 EP
1382030 Jan 2004 EP
1386241 Feb 2004 EP
1393172 Mar 2004 EP
1393188 Mar 2004 EP
1402336 Mar 2004 EP
1407384 Apr 2004 EP
1430396 Jun 2004 EP
1438649 Jul 2004 EP
1438654 Jul 2004 EP
1438672 Jul 2004 EP
1483685 Dec 2004 EP
1490747 Dec 2004 EP
1490809 Dec 2004 EP
1492232 Dec 2004 EP
1782183 May 2007 EP
1830312 Sep 2007 EP
1840803 Oct 2007 EP
2115581 Nov 2009 EP
9838564 Sep 1998 WO
9840807 Sep 1998 WO
9905632 Feb 1999 WO
9945465 Sep 1999 WO
9950784 Oct 1999 WO
0033187 Jun 2000 WO
0033217 Jun 2000 WO
0033226 Jun 2000 WO
0033235 Jun 2000 WO
0033238 Jun 2000 WO
0052553 Sep 2000 WO
0052603 Sep 2000 WO
0067194 Nov 2000 WO
0140958 Jun 2001 WO
0175610 Oct 2001 WO
0175614 Oct 2001 WO
0175747 Oct 2001 WO
0175748 Oct 2001 WO
0176206 Oct 2001 WO
0177787 Oct 2001 WO
0179994 Oct 2001 WO
0219131 Mar 2002 WO
0221254 Mar 2002 WO
2002019131 Mar 2002 WO
0244947 Jun 2002 WO
02056249 Jul 2002 WO
02080006 Oct 2002 WO
02080015 Oct 2002 WO
02082300 Oct 2002 WO
02084925 Oct 2002 WO
02088869 Nov 2002 WO
02091346 Nov 2002 WO
02101517 Dec 2002 WO
02103576 Dec 2002 WO
03021393 Mar 2003 WO
03029923 Apr 2003 WO
03029955 Apr 2003 WO
03030005 Apr 2003 WO
03030013 Apr 2003 WO
03030014 Apr 2003 WO
03058504 Jul 2003 WO
03069500 Aug 2003 WO
03071380 Aug 2003 WO
03071388 Aug 2003 WO
03073319 Sep 2003 WO
03077139 Sep 2003 WO
03085503 Oct 2003 WO
03085580 Oct 2003 WO
2004001613 Dec 2003 WO
2004003684 Jan 2004 WO
2004003766 Jan 2004 WO
2004003885 Jan 2004 WO
2004046882 Jun 2004 WO
2004061815 Jul 2004 WO
2004086197 Oct 2004 WO
2004086198 Oct 2004 WO
2004095207 Nov 2004 WO
2004095208 Nov 2004 WO
2004114147 Dec 2004 WO
2005001627 Jan 2005 WO
2005003888 Jan 2005 WO
2005010645 Feb 2005 WO
2005117549 Dec 2005 WO
2006081536 Aug 2006 WO
2007033922 Mar 2007 WO
2008109441 Sep 2008 WO
2009097384 Aug 2009 WO
Non-Patent Literature Citations (135)
Entry
Kuhn, H.W., The Hungarian Method for the Assignment Problem, Naval Research Logistics Quarterly, 2 (1955), pp. 83-97.
Kuno, H.A., and E.A. Rundensteiner, Augmented Inherited MultiIndex Structure for Maintenance of Materialized Path Query Views, Proc. Sixth Int. Workshop on Research Issues in Data Engineering, pp. 128-137, Feb. 1996.
LaRue, J., Leveraging Integration and Workflow. Integrated Solutions, Accounting Today, SourceMedia, Aug. 2006, pp. 18-19.
Lippert, Eric, Fabulous Adventures in Coding: Metaprogrannning, Toast and the Future of Development Tools, Microsoft.com Blog, MSDN Home, published Mar. 4, 2004, 6 pgs.
Mandal, et al., Integrating existing scientific workflow systems: The kepler/pegasus example. USC Information Sciences Institute, 2007, 8 pages.
Manghi, Paolo, et. al., Hybrid Applications Over XML: Integrating the Procedural and Declarative Approaches, 2002 ACM, pp. 1-6. Retrieved Mar. 22, 2007.
Markiewicz, M.E., et al., Object oriented framework development ACM, 2001, 13 pages, http://dl.acm.org/citation.cfmid37277I.
Markowitz, V.M., and A. Shoshani, Object Queries over Relational Databases: Language, Implementation, and Applications, IEEE Xplore, pp. 71-80, Apr. 1993.
Marmel, Elaine, Microsoft Office Project 2007 Bible, ISBN 0470009926, Wiley Publishing, Inc., 2007, 961 pages.
Maryanski, F., et al., The Data Model Compiler a Tool for Generating Object-Oriented Database Systems, 1986 Int. Workshop on Object-Oriented Database Systems, IEEE, 73-84 (1986).
McConnell, Steven C., Brooks Law Repealed, IEEE Software, pp. 6-9, Nov./Dec. 1999.
Mecca, G., et al., Cut and Paste, ACM, pp. 1-25 and Appendix I-IV (Jun. 1999). Retrieved Mar. 22, 2007.
Mitchell, T.M., Machine Learning, Chapter 3, 1997, McGraw-Hill, pp. 52-80.
Mitchell, T.M., Machine Learning, Chapter 6, 1997, McGraw-Hill, pp. 154-200.
Morizet-Mahoudeaux, P., A Hierarchy of Network-Based Knowledge Systems, IEEE Trans. on Systems, Man, and Cybernetics, vol. 21(5), pp. 1184-1191, Sep./Oct. 1991.
Pientka, B., et al., Progrannning with proofs and explicit contexts. International Symposium on Principles and Practice of Declarative Progrannning, ACM, 2008, pp. 163-173, http://delivery.acm.org/1O.ll45/1390000/1389469/pl63-pientka.pdf.
Reinersten, Don, Is It Always a Bad Idea to Add Resources to a Late Project, Oct. 30, 2000. Electronic Design. vol. 48, Issue 22, p. 70.
Riccuiti, M., Oracle 8.0 on the way with objects: upgrade will also build in multidimensional engine. Info World. Sep. 25, 1995;17(39):16.
Richner, T., et al., Recovering high-level views of object-oriented applications from static and dynamic information. IEEE, 1999, 10 pages, http://ieeexploreieee.org/stamp/stamp.jsptp= arnumber=F792487.
Salvini, S., and M.H. Williams, Knowledge Management for Expert Systems, IEEE Colloquium on Knowledge Engineering, 3 pages, May 1990.
Schiefelbein, Mark, A Backbase Ajax Front-end for J2EE Applications, Internet Article, dev2dev http://dev2dev.bea.com/pt/a/433 , Aug. 29, 2005, 16 pages.
Sellis, T., et al., Coupling Production Systems and Database Systems: A Homogeneous Approach, IEEE Trans. on Knowledge and Data Engineering, vol. 5(2), pp. 240-256, Apr. 1993.
Shyy Y.M., and S.Y.W. Su, Refinement Preservation for Rule Selection in Active Object-Oriented Database Systems, Proc. Fourth Intl. Workshop on Research Issues in Data Engineering, pp. 115-123, Feb. 1994.
Singh, G., et al., Workflow task clustering for best effort systems with pegasus, Pegasus, 2008, 8 pages.
Smedley, T.J. et al., “Expanding the Utility of Spreadsheets Through the Integration of Visual Programming and User Interface Objects,” School of Computer Science, Technical University of Nova Scotia, ACM, 1996; pp. 148-155.
Srinivasan, V., et al., Object persistence in object-oriented applications. IBM Systems Journal, 1997, vol. 36, issue 1, pp. 66-87, http://ieeexplore.ieee.org/stamp/stamp.jsptp= arnumber-5387186.
Stonebraker, M., The Integration of Rule Systems and Database Systems, IEEE Trans. on Knowledge and Data Engineering, vol. 4(5), pp. 415-423, Oct. 1992.
Sun, et al., “Supporting Inheritance in Relational Database Systems,” IEEE, pp. 511-518, Jun. 1992.
Thuraisingham, “From Rules to Frames and Frames to Rules,” AI Expert, pp. 31-39, Oct. 1989.
Vranes, S., et al., Integrating Multiple Paradigms within the Blackboard Framework, IEEE Transactions on Software Engineering, vol. 21, No. 3, Mar. 1995, pp. 244 262.
Yang, Bibo; Geunes, Joseph; OBrien, William J.; ResourceConstrained Project Scheduling: Past Work and New Directions, Apr. 2001, 28 pages, Research Report 2001-2006, Department of Industrial and Systems Engineering, University of Florida.
U.S. Appl. No. 15/613,439, filed Jun. 5, 2017, Connecting Graphical Shapes Using Gestures.
U.S. Appl. No. 15/206,956, filed Jul. 11, 2016, Selective Sharing for Collaborative Application Usage.
DeMichiel, LG., et al., Polyglot: Extensions to Relational Databases for Sharable Types and Functions in a Multi-Language Environment, Proc. Ninth Int. Conf. on Data Engineering, IEEE, pp. 651-660, Apr. 1993.
Devarakonda et al., Predictability of process resource usage: A measurement-based study on UNIX. IEEE Transactions on Software Engineering. 1989;15(12)1579-1586.
Communication for European Patent Application No. 05755530.2, dated Sep. 6, 2007 (2 pages).
European Search Report for Application No. 0575553 0.2, dated Mar. 26, 2012 (3 Pages).
European Office Action dated Aug. 31, 2012 for Application No. 05755530.2 (4 Pages).
Communication for European Patent Application No. 07250844.3 enclosing European Search Report, dated Jul. 11, 2007 (6 pages).
Communication for European Patent Application No. 07250844.3, dated Mar. 28, 2008 (1 page).
European Office Action dated Jul. 9, 2012 for Application No. 07250844.3 (8 Pages).
Communication for European Patent Application No. 07250848.4, dated Aug. 13, 2007 (EESR enclosed) (6 pages).
Communication for European Patent Application No. 07250848.4, dated May 29, 2008 (1 page).
Communication for European Patent Application No. 0873 1127.0, dated Oct. 13, 2009 (2 pages).
Extended European Search Report dated Oct. 29, 2012 for Application No. 08731127.0 (8 Pages).
Extended European Search Report for Application No. 151893 85.6, dated Dec. 17, 2015 (8 pages).
Fayad, M.E., et al., Object-oriented application frameworks. Communications of the ACM, Oct. 1997, vol. 40, issue 10, pp. 32-38, http://dl.acm.org/citation.cfmid=262798.
Francisco, S., et al. Rule-Based Web Page Generation, Proceedings of the 2nd Workshop on Adaptive Hypertext and Hypermedia, Hypertext98, Jun. 20-24, 1998, 9 pages.
Gajos et al. SUPPLE: Automatically Generating User Interfaces. IUI 2004, 8 pages.
Hague, Darren, Universal Worklist with SAP Netweaver Portal. Galileo Press, 2008, pp. 11-31. http://www.sap-hefte.de/download/dateien/14611146leseprobe.pdf.
International Search Report and Written Opinion for Application No. PCT/GB2004/000677, dated Aug. 2, 2004 (15 pages).
International Search Report for Application No. PCT/US2004/020783, dated Nov. 8, 2005 (2 pages).
International Preliminary Report on Patentability for Application No. PCT/US2004/020783, dated Feb. 13, 2006 (6 pages).
International Search Report for PCT/US05/018599, dated May 15, 2007 (1 page).
[NoAuthorListed] XPath Tutorial, Mar. 18, 2005, 7 pages (Year:2005).
Summons to Attend Oral Proceedings pursuant to rule 115(1) EPC, issued May 2, 2018 for Application No. 0873 1127.0 (8 pages).
U.S. Appl. No. 08/666,165, filed Jun. 19, 1996, Rules Bases and Methods of Access Thereof.
U.S. Appl. No. 10/430,693, filed May 6, 2003, Methods and Apparatus for Digital Data Processing With Mutable Inheritance.
U.S. Appl. No. 10/547,014, filed Aug. 25, 2005, Classification Using Probability Estimate Re-Sampling.
U.S. Appl. No. 10/639,735, filed Aug. 12, 2003, ProcessNiewer Interface.
U.S. Appl. No. 10/854,017, filed May 26, 2004, Integration of Declarative Rule-Based Processing With Procedural Programming.
U.S. Appl. No. 11/046,211, filed Jan. 28, 2005, Methods and Apparatus for Work Management and Routing.
U.S. Appl. No. 11/203,513, filed Aug. 12, 2005, Methods and Apparatus for Digital Data Processing With Mutable Inheritance.
U.S. Appl. No. 11/368,360, filed Mar. 3, 2006, Rules Base Systems and Methods With Circumstance Translation.
U.S. Appl. No. 11/396,415, filed Mar. 30, 2006, User Interface Methods and Apparatus for Rules Processing.
Eisenstein, et al., Adaptation in Automated User-Interface Design.IUI, 2000, pp. 74-81.
Simpson, Alan, et al., Access 97 for Windows 95/NT, 1997 SYBEX,16 pages, USPTO STIC-EIC 2100/2400.
Ceri, S., et al., WIDE—A distributed architecture for workflow management Proceedings. Seventh International Workshop on Research Issues in Data Engineering, IEEE, 1997, pp. 76-79, 1997.
Deelman, E., et al., Workflows and e-science: An overview of workflow system features and capabilities. Future Generation Computer Systems, May 2009, vol. 25, issue 5, pp. 528-540.
Kappel, G., et al., TriGSflow active object-oriented workflow management.Proceedings of the 28th Annual Hawaii International Conference on System Sciences. 1995, pp. 727-736.
Manolescu, D.A., et al., Dynamic object model and adaptive workflow. Proceedings of Metadata and Active Object-Model Pattern Mining Workshop co-located with OOPSLA, 1999, vol. 99, 19 pages.
Schulze, W., Fitting the workflow management facility into the object management architecture. Business Object Design and Implementation II. Springer London, 1998, pp. 109-117.
Surjanto, B., XML content management based on object-relational database technology. Proceedings of the First International Conference on Web Information Systems Engineering, IEEE, 2000, Jun. 19-21, 2000, vol. 1, pp. 70-79.
[No Author Listed] About the Integrated Work Manager (IWM).Pegasystems, Inc., Apr. 30, 2009, 3 pages, http://pdn-dev/DevNet/PRPCv5/KB/TMP9ad0lzumf.asp.
[No Author Listed] FreeBSD Project. “EDQUOTA(8)” in Free BSD System Managers Manual. FreeBSD 8.2 Jun. 6, 1993. pp. 1-2.Retrieved from freebsd.org on Oct. 27, 2011.
[No Author Listed] How SmartForms for Fair Blaze Advisor works,Fair Issac White Paper, http://www.FAIRISAAC.COM/, Oct. 31, 2005, 8 pages (website no longer active).
[No Author Listed] How to Configure and Customize the Universal Worklist. SAP Netweaver 04 and SAP Enterprise Portal 6.0. SAP AG. Version 1, May 2004, 65 pages. http://www.erpgenie.com/sap/netweaver/ep/Configuring%20the%20UWL.pdf.
[No Author Listed] How to configure the IWM/IAC gateway.Pegasystems, Inc., Apr. 30, 2009, 4 paegs, http://pdn-dev/DevNet/PRPCv5/KB/TMP9cf8fzurq4.asp.
[No Author Listed] How to install the Integrated Work Manager (IWM). Pegasystems, Inc., Apr. 30, 2009, 6 pages, http://pdn-dev/Dev N et/PRPCv5/KB/TMP9br 1 ezurp8 .asp.
[No Author Listed] HP Integrated Lights-Out 2, User Guide, Part No. 394326-004, HP, Aug. 2006, 189 pages.
[No Author Listed] Integrating with External Systems, PegaRULES Process Commander 5.2. Process Commander 5.2 reference. Pegasystems Inc, Cambridge, MA, 2006, 103 pages http:/ /pdn.pega.corn/ProductSupport/Products/PegaRULESProcessCommander/documents/PRPCN5/502/iwes/PRPC52_Integrating_with_External_Systems.pdf.
[No Author Listed] IP Prior Art Database, Options when returning work items in workflow management systems. IBM, iPCOM000027980D, 2004, 3 pages.
[No Author Listed] IP Prior Art Database, Staff Queries and Assignments in Workflow Systems. IBM, iPCOM000142382D, 2006, 4 pages.
[No Author Listed] IP Prior Art Database, Using work items to manage user interactions with adaptive business services. IBM TDB, IPCOM000015953D, 2003, 4 pages.
[No Author Listed] Localizing an Application, PegaRULES Process Commander. Process Commander 4.2 reference. Pegasystems Inc., Cambdrige, MA, 2006, 92 pages http://pdn.pega.com/DevNet/PRPCv4/TechnologyPapers/documents/Localization0402.pdf.
[No Author Listed] Oracle Universal Work Queue: Implementation Guide. Release IIi for Windows NT. Oracle Corporation. Jul. 2001, 136 pages. http://docs.oracle.com/cd/A85964_01/acrobat/eul 15ug.pdf.
[No Author Listed] Solaris 9 resource manager software. A technical white paper. Sun Microsystems, Inc., Palo Alto CA, 2002, 37 pages. XP-002291080. Retrieved Aug. 3, 2004 from http://wwws.sun.corn/software/whitepapers/solaris9/srm.pdf.
Bertino, E., and P. Foscoli, Index Organizations for Object-Oriented Database Systems, IEEE Trans. on Knowledge and Data Engineering, 7(2): 193-209 (Apr. 1995).
Bierbaum, A., et al., VR juggler: A virtual platform for virtual reality application development. Proceedings of the Virtual Reality 2001 Conference, IEEE, 2001, 8 pages, http://ieeexplore.ieee.org/stamp/stamp.j sptp=Starnumber-913 77 4.
Breiman, L., Bagging predictors, Machine Learning, vol. 24, No. 2, Aug. 31, 1996, pp. 123-140, Kluwer Academic Publishers, Netherlands.
Brusilovsky, P., and De Bra, P., Editors, “Second Workshop on Adaptive Hypertext and Hypermedia Proceedings,” Jun. 20-24, 1998. Ninth ACM Conference on Hypertext and Hypermedia, Hypertext98. pp 1-2.
Burleson, D., Adding behaviors to relational databases, DBMS, 8(10): 68(5) (Sep. 1995).
Busse, Ralph et al., Declarative and Procedural Object Oriented Views, IEEE, 1998, pp. 570-578, retrieved Mar. 22, 2007.
Buyya et al., Economic Models for Resource Management and Scheduling in Grid Computing, Concurrency and Computation: Practice and Experience, 2002, vol. 14, pp. 1507-1542. Chan, T.W., and W. Hwang, Towards Integrating Logic, Object, Frame, and Production, Proc. Fourth Int. Conf. on Software Engineering and Knowledge Engineering, IEEE, pp. 463-469, Jun. 1992.
Cheng, Cheng-Chung; Smith, Stephen F.; A Constraint Satisfaction Approach to Makespan Scheduling, ATPS 1996 Proceedings, pp. 45-52 (1996).
Cheng, C.C. and Smith, Applying Constraint Satisfaction Techniques to Job Shop Scheduling, Annals of Operations Research, 70: 327-357 (1997).
Cochrane, Roberta et al., Integrating Triggers and Declarative Constraints in SQL Database Systems, pp. 567-578, Proceedings of the 22nd VLDB Conference Mumbai (Bombay), India, 1996, retrieved Mar. 22, 2007.
Damerau, F.J., Problems and some solutions in customization of natural language database front ends. ACM Transactions on Information Systems, vol. 3, No. 2, Apr. 1, 1985, pp. 165-184.
Danforth, S., Integrating Object and Relational Technologies, Proc. Sixteenth Annual Int. Computer Software and Applications Conf., IEEE Comput. Soc. Press, pp. 225-226, Sep. 1992 (Abstract).
Deelman, E., et al., Pegasus: A framework for mapping complex scientific workflows onto distributed systems, submitted to Scientific Programming, Jan. 2005. Pre journal publication article, 22 pages.
Deelman, E., et al., Pegasus: A framework for mapping complex scientific workflows onto distributed systems. Scientific Programming, 13, pp. 219-237, 2005.
XPath Tutorial, Mar. 18, 2005, 7 pages (Year: 2005).
U.S. Appl. No. 11/681,269, filed Mar. 2, 2007, Proactive Performance Management for Multi-User Enterprise Software Systems.
U.S. Appl. No. 12/035,682, filed Feb. 22, 2008, User Interface Methods and Apparatus for Rules Processing.
U.S. Appl. No. 12/174,624, filed Jul. 16, 2008, Methods and Apparatus for Implementing Multilingual Software Applications.
U.S. Appl. No. 12/381,523, filed Mar. 12, 2009, Techniques for Dynamic Data Processing.
U.S. Appl. No. 12/386,959, filed Apr. 24, 2009, Method and Apparatus for Integrated Work Management.
U.S. Appl. No. 12/590,454, filed Nov. 6, 2009, Techniques for Content-Based Caching in a Computer System.
U.S. Appl. No. 12/619,215, filed Nov. 16, 2009, Rules Base Systems and Methods With Circumstance Translation.
U.S. Appl. No. 12/649,095, filed Dec. 29, 2009, Methods and Apparatus for Integration of Declarative Rule-Based Processing With Procedural Programming in a Digital Data-Processing Environment.
U.S. Appl. No. 12/798,161, filed Mar. 30, 2010, System and Method for Creation and Modification of Software Applications.
U.S. Appl. No. 13/031,097, filed Feb. 18, 2011, Systems and Methods for Distributed Rules Processing.
U.S. Appl. No. 13/031,109, filed Feb. 18, 2011, Rule-Based User Interface Conformance Methods.
U.S. Appl. No. 13/341,411, filed Dec. 30, 2011, System and Method for Updating or Modifying an Application Without Manual Coding.
U.S. Appl. No. 13/536,079, filed Jun. 28, 2012, Proactive Performance Management for Multi-User Enterprise Software Systems.
U.S. Appl. No. 13/718,255, filed Dec. 18, 2012, Methods and Apparatus for Work Management and Routing.
U.S. Appl. No. 13/892,956, filed May 13, 2013, Content-Based Caching Using a Content Identifier at a Point in Time.
U.S. Appl. No. 13/897,763, filed May 20, 2013, System and Software for Creation and Modification of Software.
U.S. Appl. No. 13/907,287, filed May 31, 2013, Methods and Apparatus for Integration of Declarative Rule-Based Processing With Procedural Programming in a Digital Data-Processing Environment.
U.S. Appl. No. 14/469,208, filed Aug. 26, 2014, Techniques for Dynamic Data Processing.
U.S. Appl. No. 14/527,348, filed Oct. 29, 2014, Systems and Methods for Distributed Rules Processing.
U.S. Appl. No. 14/558,084, filed Dec. 2, 2014, Methods and Apparatus for User Interface Optimization.
U.S. Appl. No. 14/597,207, filed Jan. 14, 2015, Methods and Apparatus for Integrated Work Management.
U.S. Appl. No. 14/928,085, filed Oct. 30, 2015, System and Method for Updating or Modifying an Application Without Manual Coding. International Preliminary Report on Patentability for PCT/US2005/018599, dated Jun. 5, 2007 (10 pages).
International Search Report Written Opinion for PCT/US06/03160, dated Jul. 21, 2008 (16 pages).
International Preliminary Report on Patentability for PCT /US06/03160, dated Apr. 9, 2009 (14 pages).
International Search Report for PCT/US013/55503, dated Jul. 28, 2008 (1 page).
International Preliminary Report on Patentability for PCT/US2008/055503, dated Sep. 17, 2009 (4 pages).
International Search Report Written Opinion for PCT/US09/32341, dated Mar. 11, 2009 (14 pages).
International Preliminary Report on Patentability for PCT/US2009/032341, dated Aug. 12, 2010 (8 pages).
Johnson et al., Sharing and resuing rules—a feature comparison of five expert system shells. IEEE Expert, IEEE Services Center, New York, NY, vol. 9, No. 3, Jun. 1, 1994, pp. 3-17.
Jones et al., A user-centered approach to functions in excel. International Conference on Functional Programming, Uppsala, Jun. 30, 2003, pp. 1-12.
Kim, W., Object-Oriented Databases: Definition and Research Directions, IEEE Trans. on Knowledge and Data Engineering, vol. 2(3) pp. 327-341, Sep. 1990.
Kuhn, H.W., The Hungarian Method for the Assignment Problem, Naval Research Logistics Quarterly, 2 (1955), pp. 33-97.
Schiefelbein, Mark, A Backbase Ajax Front-end for J2EE Applications, Internet Article, dev2dev http://dev2dev.bea.com/lpt/a/433 , Aug. 29, 2005, 16 pages.