Systems and methods for dynamic delivery of web content

Information

  • Patent Grant
  • 11044949
  • Patent Number
    11,044,949
  • Date Filed
    Wednesday, December 4, 2019
    5 years ago
  • Date Issued
    Tuesday, June 29, 2021
    3 years ago
Abstract
Systems and methods for dynamically delivering web content are provided herein. A method may include determining behavior analytics of an end user and device related information for a first computing device used by the end user, as well as comparing the behavior analytics, and other contextual information, of an end user and the device related information for the first computing device used by the end user to a contextual vocabulary that includes context segments that define contextual information of a plurality of end users and device related information for computing devices used by the plurality of end users. The method includes generating a context segment path for an end user, the context segment path having a plurality of context segments that have been selected from the contextual vocabulary, and dynamically creating a web page having web content that is selected and formatted based upon the context segment path.
Description
FIELD OF THE TECHNOLOGY

Embodiments of the disclosure relate to web content management and delivery. More specifically, but not by way of limitation, the present technology is directed to systems and methods that create and utilize contextual vocabularies that describe the preferences or demographics of end users as well as the capabilities of the devices they utilize. The contextual vocabularies are built using a plurality of information sources, and may be used to service a plurality of target systems, allowing the target systems to customize web content for the end users and/or their device capabilities. Customer segmentation for categorizing consumers may also be utilized. The present technology may leverage both the contextual vocabularies and customer segmentations to customize web content for the consumer and their associated computing device(s).


BACKGROUND OF THE DISCLOSURE

Web content continues to grow and evolve in complexity and implementational diversity. Further, computing devices which access web content also continue to proliferate, creating diversity in device capabilities such as processing power and display attributes. For example, smartphones may be capable of rendering web content on a display that is much smaller than the display of a tablet. To effectively communicate with consumers that utilize various devices with vastly different capabilities, it is advantageous to tailor web content to the capabilities of various devices. Without such modifications, browser applications on many devices are required to display web content in a format that may not be desired by the web content authors.


SUMMARY OF THE DISCLOSURE

According to some embodiments, the present technology may be directed to a method for dynamically delivering web content. The method comprises: (a) determining behavior analytics of an end user and device related information for a first computing device used by the end user; (b) comparing the behavior analytics of an end user and the device related information for the first computing device used by the end user to a contextual vocabulary that includes context segments that define contextual information of a plurality of end users and device related information for computing devices used by the plurality of end users; (c) generating a context segment path for an end user, the context segment path comprising a plurality of context segments that have been selected from the contextual vocabulary, the context segment path being indicative of preferences of the end user and capabilities of the first computing device of the end user; and (d) dynamically creating a web page for the end user and their first computing device, the web page comprising web content that is selected and formatted based upon the context segment path.


According to other embodiments, the present technology may be directed to a contextual analysis system, the system comprising: (a) a processor; and (b) a memory for storing logic that when executed by the processor causes the system to: (i) determine behavior analytics of an end user and device related information for a first computing device used by the end user; (ii) compare the behavior analytics of an end user and the device related information for the first computing device used by the end user to a contextual vocabulary that includes context segments that define contextual information of a plurality of end users and device related information for computing devices used by the plurality of end users; (iii) generate a context segment path for an end user, the context segment path comprising a plurality of context segments that have been selected from the contextual vocabulary, the context segment path being indicative of preferences of the end user and capabilities of the first computing device of the end user; and (iv) dynamically create a web page for the end user and their first computing device, the web page comprising web content that is selected and formatted based upon the context segment path.


According to some embodiments, the present technology may be directed to a method for dynamically delivering web content. The method comprises: (a) receiving a request for a web page from a first computing device and a second computing device; (b) determining contextual information of a first end user and device related information for a first computing device and contextual information of a second end user and device related information for a first computing device; (c) comparing the behavior analytics and the device related information for the first and second end users to a contextual vocabulary that includes context segments that defines contextual information of a plurality of end users and device related information for computing devices used by the plurality of end users; (d) generating a context segment path for both the first and second end users, the context segment path comprising a plurality of context segments that have been selected from a contextual vocabulary, the context segment path being indicative of preferences of an end user and capabilities of a computing device of the end user; (e) dynamically selecting web content for the web page for the first end user, wherein the web content is formatted based upon the context segment path of the first end user; and (f) dynamically selecting web content for the web page for the second end user, wherein the web content is formatted based upon the context segment path of the second end user, wherein at least one of the web content or formatting of the web content is different for the first and second end users relative to one another.





BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, where like reference numerals refer to identical or functionally similar elements throughout the separate views, together with the detailed description below, are incorporated in and form part of the specification, and serve to further illustrate embodiments of concepts that include the claimed disclosure, and explain various principles and advantages of those embodiments.


The methods and systems disclosed herein have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the embodiments of the present disclosure so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein.



FIG. 1 is an exemplary computing architecture that may be used to practice aspects of the present technology;



FIG. 2 illustrates a process where a context analysis system delivers different web content to each of a plurality of computing devices based upon device capabilities;



FIG. 3 illustrates a process of multiple user interface inheritance;



FIG. 4 illustrates a process of user interface template loading for computing devices having different capabilities and properties;



FIG. 5 is a flowchart of a method for dynamically delivering web content using a contextual analysis system;



FIG. 6 is a flowchart of another method for dynamically delivering web content; and



FIG. 7 illustrates an exemplary computing system that may be used to implement embodiments according to the present technology.





DETAILED DESCRIPTION

In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the disclosure. It will be apparent, however, to one skilled in the art, that the disclosure may be practiced without these specific details. In other instances, structures and devices are shown at block diagram form only in order to avoid obscuring the disclosure.


Reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” or “according to one embodiment” (or other phrases having similar import) at various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. Furthermore, depending on the context of discussion herein, a singular term may include its plural forms and a plural term may include its singular form. Similarly, a hyphenated term (e.g., “on-demand”) may be occasionally interchangeably used with its non-hyphenated version (e.g., “on demand”), a capitalized entry (e.g., “Software”) may be interchangeably used with its non-capitalized version (e.g., “software”), a plural term may be indicated with or without an apostrophe (e.g., PE's or PEs), and an italicized term (e.g., “N+1”) may be interchangeably used with its non-italicized version (e.g., “N+1”). Such occasional interchangeable uses shall not be considered inconsistent with each other.


The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.


It is noted at the outset that the terms “coupled,” “connected”, “connecting,” “electrically connected,” etc., are used interchangeably herein to generally refer to the condition of being electrically/electronically connected. Similarly, a first entity is considered to be in “communication” with a second entity (or entities) when the first entity electrically sends and/or receives (whether through wireline or wireless means) information signals (whether containing data information or non-data/control information) to the second entity regardless of the type (analog or digital) of those signals. It is further noted that various figures (including component diagrams) shown and discussed herein are for illustrative purpose only, and are not drawn to scale.



FIG. 1 is an exemplary computing architecture that may be used to practice aspects of the present technology. The architecture includes a plurality of context resolvers 105A-B that are each associated with individual information sources. Multiple context resolvers may be utilized to aggregate contextual intelligence from multiple sources.


For example, context resolver 105A may be associated with a consumer analytics information source 110A, while context resolver 105B may be associated with a device related information source 110B. It will be understood that the present technology may include many context resolvers and information sources. Further, a single context resolver may be used to obtain information or analytics from a plurality of information sources. While two context resolvers are illustrated, it will be understood that many context resolvers may be utilized in accordance with the present technology.


The context resolvers, such as 105A-B, may be included in a context analysis system 115, or may be separate nodes or agents that communicatively couple with the context analysis system 115 and the information sources over a network 120.


The context resolvers may be disposed between the context analysis system 115 and a website 140. Examples of a plurality of context resolvers that can be utilized include, but are not limited to, resolvers that resolve context properties (e.g., contextual information) from customer databases, transactional databases, contextual information sources, context repositories, device discovery, expressions (evaluating expressions based on other properties), defaults (sensible defaults such that a given context property can never be not set), and other similar information sources.


In some embodiments, the context analysis system 115 may gather contextual information from ambient data sources that include ambient information. Ambient information is information that is observed from the continuous interactions between a plurality of users and a plurality of content and applications, along with a plurality of devices that the users use. This includes, but is not restricted to customer analytic information, content item properties consumed by users, and associated content metadata, contextual properties that are selected from a context repository (e.g. selection of relevant device properties from a device database), and information from users interactions with social networks—just to name a few.


According to some embodiments, contextual information obtained for the plurality of end users and the device related information obtained for the computing devices used by the plurality of end users may be stored by the context analysis system 115 in a context repository 150. Further, contextual segments and contextual segment paths, as described further herein, may also be stored in the context repository 150.


In some embodiments, the context analysis system 115 may be implemented as a cloud-based computing environment, such as a virtual machine operating within a computing cloud. In other embodiments, context analysis system 115 may itself include a cloud-based computing environment, where the functionalities of context analysis system 115 are executed in a distributed fashion. Thus, context analysis system 115, when configured as a computing cloud, may include pluralities of computing devices in various forms, as will be described in greater detail below.


In general, a cloud-based computing environment is a resource that typically combines the computational power of a large grouping of processors (such as within web servers) and/or that combines the storage capacity of a large grouping of computer memories or storage devices. Systems that provide cloud-based resources may be utilized exclusively by their owners or such systems may be accessible to outside users who deploy applications within the computing infrastructure to obtain the benefit of large computational or storage resources.


The cloud may be formed, for example, by a network of web servers that comprise a plurality of computing devices, such as the context analysis system 115, with each server (or at least a plurality thereof) providing processor and/or storage resources. These servers may manage workloads provided by multiple users (e.g., cloud resource customers or other users). Typically, each user places workload demands upon the cloud that vary in real-time, sometimes dramatically. The nature and extent of these variations typically depends on the type of business associated with the user.


In some embodiments, the context analysis system 115 may include a server or other similar computing device that comprises at least a processor 125 and a memory 130. The memory 130 includes logic (e.g., executable instructions) that when executed by the processor causes the context analysis system 115 to perform the methods or processes described herein, which include, but are not limited to the creation and use of contextual vocabularies and context segment paths.


In general, a context segment is any Boolean context property. A context segment path is an ordered list of segments that can be traversed to find the most appropriate resources. The path can be followed via a predetermined multiple fall-backs to find the first location where we find the desire resource. For the purpose of resource extension, where one resource may extend another, the path can be further followed to find the next relevant resource of the given name and so on.


Generally, a given segment can imply a plurality of other segments that are also automatically true, for example if a user is over 18 then they are also over 16, if a device is less than 320 pixels wide then it is also less than 640 pixels wide. This implies structure defines a multiple hierarchical structure that defines the order of the segment path that is traversed to find the most appropriate resources.


A serialized version of the context segment path is minimised by removing redundant inferred from the “implies” definition. For example “pc:640:320:128” can be minimised to “pc:640” since 640 implies 320 which implies 128. For a given vocabulary definition the serialized version of the context segment path provides a complete definition of the applicable context segments, with implied segments determinable from the context vocabulary definition.


Expressions that are implied from the “implies” definitions are not evaluated at runtime and are automatically set to true to minimise computational overhead at runtime.


A given segment can define a plurality of other segments that this given segment depends on such that this plurality of other segments must all be true before the given segment is evaluated. Segments may be defined as lazy such that are only evaluated on demand, and in the case of “depends” being defined, to minimise computational overhead at runtime, the segment is not evaluated if the plurality of segments that the given segment depends on are all set.


Generally, the context analysis system 115 may be configured to create and utilize contextual vocabularies that can be shared amongst web content creation and delivery systems. A contextual vocabulary can be created by the context analysis system 115 by obtaining contextual intelligence or information from a plurality of information sources using the context resolvers 105A-B. In some embodiments, the information sources may include consumer analytical information gathered from user profiles created by customers, which would include any number of types of information such as usernames or handles, location information, language preferences, and a whole host of additional types of information that are indicative of the end user (e.g., customer).


The context analysis system 115 may also gather consumer analytical information from transactional data, such as customer purchase history or browsing history. In other instances, consumer analytical information may be gathered from web browser information or by the collection of web analytics from websites that are visited by the end user. These examples of consumer analytical information sources are merely a few of a vast number of consumer analytical information sources that would be known to one of ordinary skill in the art.


The present technology may also utilize device related information that is descriptive of the capabilities, properties, and/or attributes of a computing device used by an end user. Examples include, but are not limited to, processing attributes, software installed, input devices, hard drive size, memory size, display attributes, vendor & model, and as well as any other qualitative or quantitative attributes regard the computing device, battery life, and so forth. The device information may be gathered by context resolvers 105A-B from available databases or client-side discovery, by scraping content from websites or other similar information sources. Generally, the terms properties and capabilities with regard to a computing device may be used interchangeable herein.


Advantageously, the context analysis system 115 may obtain both consumer analytical information and device related information from a plurality of independent information sources. When considering information from a wide variety of sources, the context analysis system 115 may calculate a trust level for each of the information sources and selectively utilize only those information sources that are reputable. In some instances, the context analysis system 115 may aggregate information from a plurality of sources with or without the use of a trust level.


In some embodiments each context resolver 105A-B may apply trust levels to resolution on a per-property level (e.g., for each information source). Thus, a contextual vocabulary generated in light of these trust levels will reflect a property value with the highest trust levels for each named property. As used herein, the term “property” and “information source” may be used interchangeably.


Indeed, the context analysis system 115 may provide a trust-based distribution of context information that has been learned from and shared between multiple parties. Each piece of context information defines a provider of the information so that other nodes in the network can assign appropriate trust levels to the information provider, which is in turn imputed to the information obtained therefrom.


The contextual vocabulary is a collection of aspect definitions which in turn include a collection of property definitions that are defined or generated by the context analysis system 115. The contextual vocabulary may include aggregated contextual properties in accordance with the context vocabulary that are comprised of information sources that are obtained from a wide variety of information sources.


The contextual properties may be generated by the context analysis system 115 from the aforementioned information sources. In some instances, the context vocabulary may comprise context segments that represent categorical attributes of end users or computing devices. For example, a categorical attribute of a user may include “under 30” or “high net worth” whereas a categorical attribute of a computing device may include “smartphone” or “retina display”. In some instances, categorical attributes may be arranged hierarchically. For example, the “under 30” category is implicitly included in the category of “under 50”. Thus, in some embodiments a context segment path may be generated from a multiple hierarchical representation of ordered context segments. For example, if a user is under 30 then it can be implied that they are under 40.


The context analysis system 115 can leverage granularity within these categories, creating more specific categories. These categories can be used to target specific promotions and advertisements to highly specific or broad groups of end users.


Some categorical attributes may include numerous dependent attributes. For example, the “smartphone” category may include a plurality of smartphone types that are determined from an analysis of device related information data sources. Thus, as end users interact with a website via diverse types of computing devices, the present technology may learn new types of smartphones that can be added to the smartphone category.


In some instances, categorical attributes may be shared amongst many types of devices. For example, many devices may use the same process or have the same display size or resolution.


In some instances, the inheritance of contextual segment information from a pre-defined contextual segment to another is defined by semantic property identifiers, thus a strict name-based hierarchy may not be required. This allows inheritance of contextual information to occur if such a semantically described contextual segment is pre-defined, although it will be understood that this contextual information may still be valid if the parent contextual segment did not exist. In some embodiments inheritance of contextual segments may occur on a per-aspect level. By way of non-limiting example, a browser-type inheritance is independent from device-type inheritance. For example, a computing device may utilize web browser client, but that web browser client is not necessarily indicative of the type of device (e.g., many devices may be configured with the web browser client).


As mentioned above, information included in a context segment may be dynamically adjusted by provision of new and/or more trusted contextual information.


In some embodiments, context segments are ordered such that a context segment can be assigned a higher precedence than another. This ordering of context segments by the context analysis system 115 may allow for optimal resource discovery, as will be described in greater detail below, where resource discovery is a process of determining which types of web content are most appropriate for the end user and their associated device.


Also, the context analysis system 115 may be configured to create context segment paths for end users. A context segment path may include a unique set of attributes that define the end user and their computing device. For example, the unique set of attributes may correspond to the contextual segments of the contextual vocabulary.


An example of a context segment path may include consumer analytics such as “under 30”, “English language”, and “U. K. resident”, as well as a whole host of other analytics that may be determined from specific end user interactions with a website. For example, the end user may be browsing for travel related services for a specific date, or in connection with a particular event. This analytical knowledge may be combined with the more objective knowledge gained from, for example, a user profile or browser information.


The context analysis system 115 may calculate a context segment path for an end user by comparing the analytics of the end user (and their computing device) to the contextual vocabulary to determine applicable context segments for the end user. Again, the context segments are determined not only for the end user, but also the computing device used by the end user.


The context analysis system 115 may transmit the determined context segments that apply to the end user and their computing device to a website 140. The website 140 then tailors web content for a web page to the determined analytics. Web content may be tailored to the requirements of a plurality of users that utilize a plurality of computing devices 145A-B, where the web content that is provided to computing device 145A is different from the web content that is provided to computing device 145B. A detailed example of the delivery of tailored content is provided with respect to FIG. 2.


The following describes an exemplary use case of the present technology. An end user from the United States interacts with a web page that is tailored to travel related services. As the end user interacts with the website, the context analysis system 115 obtains web analytic information from both a user profile for the user, as well as web history information collected as the end user utilizes the website. Further, device related information can be obtained from a web browser executing on a computing device used by the end user. Also, device characteristics such as user agent, cookies, IP address and geographic coordinates may be passed to the website when the computing device initiates a session with the webserver. Using one or more types of device related information, the context analysis system 115 may utilize context resolvers to obtain other types of computing device related information. For example, the system may determine a model number of a computing device. Using this model number, the system may use context resolvers to interrogate other sources of information relating to the computing device.


The context analysis system 115 may compute a context segment path for the end user and their device as described above. When the context segment path is computed, the context analysis system 115 may compare the context segment path to context segments of a contextual vocabulary. Again, the contextual vocabulary includes an aggregation of trusted information that defines both consumers and computing devices. It will be understood that the trusted information includes information gathered from the information sources that were determined to have high trust levels.


The context analysis system 115 may utilize the trusted information to determine not only what type of web content is provided to the end user based upon their preferences or consumer segments, but also how the web content should be formatted for the computing device. For example, if the computing device has a small display and cannot display certain types of media, the context analysis system 115 may choose web content that is suitably displayed on the computing device. Also, the computing device analytics may specify that the device cannot easily or be rotated into a landscape position or scrolled. These types of device related information may aid the context analysis system 115 in selecting or tailoring offerings that are optimally displayed on the computing device.


Further, the web content may be tailored to the preferences or consumer segments of the end user. For example, the context analysis system 115 may determine that the end user is an affluent purchaser in the “under 30” category and that the end user has searched for travel related services to a particular location. Using all the above-described information, the context analysis system 115 may generate an offering for the end user that emphasizes a travel deal to the searched location, as well as hotel suggestions that include high-end properties. These offerings may be provided as a list that is easily and completely displayed on the computing device without any need for the end user to scroll for pertinent information.


Thus, from a given context segment path it is possible for the context analysis system 115 to reliably identify the most appropriate resources for a given context (e.g., best image, most appropriate HTML rendering, most appropriate advert, and so forth).


In some embodiments, a context segment path is embodied as a string that uniquely defines the context segment allocation for a given context, such as a browser or query session of an end user. The context segment path (with implicit segment inheritance) may include a minimized string that can be effectively be used as a cache key and reliably and efficiently serialized and de-serialized.


In some embodiments, the webserver that serves a website 140 that is configured to use the present technology may utilize web pages with HTML that is enhanced with attributes which can used to drive contextual rendering and optimization. These attributes may be executed by the web browser of the client device transparently such that they produce no noticeable side effects such as latency or erroneous web page renderings.


In some embodiments, the context analysis system 115 may utilize the contextual methods to optimize a web application delivery, for example optimization of images, rendering of most appropriate product recommendations, application of user customized themes, and so forth. The context analysis system 115 may choose at which stage the optimization can be applied. In some embodiments, the context analysis system 115 may optimize the web content when a request from an end user is received. In other instances, the context analysis system 115 may optimize the web content for the end user right before the webserver delivers the web content towards the browser. In other instances, the optimization may occur at the request of the computing device.


In some embodiments, context analysis system 115 can apply optimization based on an independent context expression evaluation (as well as that suggested by the content). For example, the context analysis system 115 may filter out new HTML functionality that is not supported for a given device, minimization of java script, or the use of a cached compilation of Less Cascade Style Sheets (CSS) or a software as a service (SaaS) implementation.


As mentioned above, the context analysis system 115 may allow for the tendering of web content based on context segmentation path. The context analysis system 115 may also provide an encapsulated rendering of web content in the form of a widget. For example, a map widget may include an encapsulation of context segments. When a computing device that is capable of using gestures requests use of the map widget, the map widget may provide a map UI that allows for gesture-based interactions. Conversely, when a computing device having limited capabilities requests use of the map widget, the map widget may provide a basic map UI that includes a legend or other descriptive information that would normally be obtained from interacting with the map using gestures or interactions.


The context analysis system 115 may encapsulate context rules within individual widgets in a way that is separate and distinct from how the web page that includes the widget is rendered. Thus, the rendering of one instance of web content for a web page does not directly affect how other web content or objects of the same web page are rendered, allowing for increased decoupling, increased reusability, and simpler quality control. Indeed, context-specific customization for individual widgets or objects can be modified with no regression risk to rendering for other contexts or end users.


In other instances, rendering for one context segment can extend the rendering for a fallback context segment. For example, a specific rendering for an iPhone can extend to a general smartphone context segment.


In some embodiments, the context analysis system 115 may publish for wider consumption, a contextual vocabulary for a website 140, which may be included in a suite or group of websites. In some instances, the context analysis system 115 publishes the complete context vocabulary for all other sub-systems to view. Exemplary sub-systems may include other related websites, web content management systems, or web content distribution systems—just to name a few.



FIG. 2 illustrates a process where the context analysis system 115 delivers different web content to each of a plurality of computing devices 205A-C based upon device capabilities. With regard to computing device 205A which includes an iPhone device, a webserver 210 tailors content for an iPhone device. As described above, the iPhone contextual segment may be granular, where many versions of the iPhone are included in the general iPhone contextual segment. For example, unique models of the iPhone are associated with specific device capabilities that encompass display size and resolution, as well as other device capabilities. In response to this information, the context analysis system 115 tailors header and menu portions of web content 215A in an optimal manner. For example, the menu may include a gesture activated menu that is optimized for an iPhone.


The computing device 205B is determined by the context analysis system 115 to belong to a contextual segment of 320 pixel display devices. The context analysis system 115 may tailor the menu of the web content 215B to include a resolution that is rendered optimally by a 320 pixel capable computing device.


The computing device 205C is determined by the context analysis system 115 to belong to a contextual segment of basic display devices, which may include devices with lower resolution displays or devices that have small display screens. The context analysis system 115 may generate a header, menu, and body that are of low resolution and limited complexity with regard to content type. Indeed, the context analysis system 115 may predominantly utilize textual content or a single image that includes textual content.


Regardless of how the web content is formatted in each of the above scenarios, the same informational content is displayed to each end user, albeit using different types of web content.


Conversely, while FIG. 2 illustrates the optimization of web content based upon device context, the context analysis system 115 may also tailor the web content based upon the contextual segments known for the end user.


In some embodiments, the context analysis system 115 may determine a customer segmentation for an end user based upon contextual information determined for the end user. In other embodiments the context analysis system 115 may also determine a customer segmentation of an end user based upon device related information determined from the computing device used by the end user. In yet other instances, the context analysis system 115 may determine a customer segmentation of an end user based upon both contextual information determined for the end user and device related information determined from the computing device used by the end user. It will be understood that while a contextual segment includes one or more parameters/attributes of an end user such as “under 30” or “college educated”, a customer segmentation may include a broader categorization of the end user. Indeed, a customer segmentation may include a collection of contextual segments that define a category such as “affluent consumer”, “technology aficionado”, “world traveler” or other similar categories. For example, an end user that searches for high priced travel services and is determined to use a brand new and costly smartphone may be assigned a customer segmentation of “affluent consumer”. In another example, it may be possible to infer a customer segmentation from only device related information for the end user. For example, if the end user is known to purchase a new laptop the same week a new laptop comes onto the market, the context analysis system 115 may assign the end user with a customer segmentation of “early technology adopter”. This knowledge may be gleaned from encounters by the context analysis system 115 with a variety of computing devices for a single end user over a period of time. If the context analysis system 115 determines that the end user makes requests for web content using a computing device that is a brand new type of computing device, and that this pattern occurs frequently, the context analysis system 115 may infer that the end user prefers to purchase a new laptop as soon as such devices come onto the market. Many other examples of customer segmentation would be apparent to one of ordinary skill in the art.


As mentioned above with the examples included in FIG. 2, the context analysis system 115 may be configured to dynamically create web content in accordance with consumer analytics and device capabilities of the computing device used by an end user. Because the creation and formatting of web content is directly related to the specific needs of the end user and their computing device, it will be understood that the web content for each end user may be different. The creation and delivery of dynamically formatted web content for different devices is illustrated in FIG. 3.


Additionally, the context analysis system 115 may select or format web content that is tailored to the preferences, demographics, and/or other analytics that describe the end user. Further, both the preferences of the end user and the capabilities of their device may be considered when the context analysis system 115 generates web content. The term “web content” may be understood to include, for example, a web page that includes a plurality of elements such as images, videos, textual content, or other common web objects. The web page is often created in HTML or Flash format. Web pages may also depend on other objects such as cascading style sheets (CSS) that define how objects on a web page are formatted and displayed by a browser client.



FIG. 3 illustrates a process of multiple inheritance of user interfaces UI. Generally, device related information regarding an iPhone 305, such as AJAX capabilities is known by the context analysis system 115. The UI for this device may be inherited to another iPhone 310, which can in turn be inherited to a Blackberry 8800 device that is cascading style sheet (CSS) enabled, allowing for large, medium, and small UI displays. Alternatively, a Blackberry 8200 device which is not CSS enabled is provided with a medium scale UI.


In general, having multiple hierarchy grouping of UIs make it easy to target specialist capabilities of computing devices while reusing common standards. UI Inheritance is used to load resources, for example, to load the page rendering for a given device. New capabilities (e.g. AJAX in this example) can easily be handled by creating additional hierarchies allowing you to deliver to new capability without regression risk on existing UI rendering.



FIG. 4 illustrates a process of template loading using the present technology. Page rendering templates are loaded based on the UI hierarchy fallback path allowing you to specialize the core building blocks when desired for a given device group. For example, an object 420 that is present in a medium UI template 405 may be inherited directly to a medium UI display 410. This object may also be inherited from an iPhone template 415. The object can also be inherited to a display UI 425 that is provided to devices that are not CSS enabled.


An exemplary method for delivering web content to an end user is illustrated in the flowchart of FIG. 5. As with other methods described herein, the context analysis system 115 is utilized to perform the method. In some embodiments, to dynamically format a web page for an end user in accordance with the present technology, the method may include the context analysis system 115 determining 505 customer analytics of an end user and device related information for a first computing device used by the end user. As described above, this step may include collecting information from user profiles, a web browser client executed by the computing device, a database(s) of information, or other knowledge bases that include information about the end user or their computing device(s).


Once these various types of data have been determined by the context analysis system 115, the method may then include the context analysis system 115 comparing 510 the customer analytics of an end user and the device related information for the first computing device used by the end user to a contextual vocabulary. Again, the contextual vocabulary includes context segments that define customer analytics of a plurality of end users and device related information for computing devices used by the plurality of end users. When the context analysis system 115 determines matches between the knowledge of the end user and various context segments in the contextual vocabulary, the context analysis system 115 may flag the context segments as being applicable. In some instances, the context analysis system 115 sets a Boolean flag when a context segment is applicable. Generally, all Boolean flags for context segments are set to off prior to the comparison.


The context analysis system 115 may then assemble the context segments for the end user into a context segment path. More specifically, the method includes the context analysis system 115 generating 515 a context segment path for an end user. As mentioned above, the context segment path comprising a plurality of context segments that have been selected from the contextual vocabulary. Further, the context segment path is indicative of preferences of the end user and capabilities of the first computing device of the end user.


Once the context segment path is generated, the method includes the context analysis system 115 dynamically creating 520 a web page for the end user and their first computing device. In some embodiments the web page includes web content that is selected and formatted based upon the context segment path.


It is noteworthy that without the knowledge gleaned from the various resources, the web server that generates the web page may display a generic or basic web page for all end users and devices. The present technology allows for not only specific and targeted formatting of web pages that may be displayed differently by laptops and mobile devices, but the dynamic formatting of the present technology allows for alteration of a web page in light of the wide ranging and discrepant capabilities of mobile devices. Thus, the web server need not keep two or more versions of the same web page and serve these different web pages to clients depending on the computing device that they utilize. Advantageously, the context analysis system 115 generates a unique web page with unique web content and unique formatting for each end user that requests a web page. The context analysis system 115 dynamically generates these web pages on the fly or in near-real time as the web pages are requested by the end user.


The method illustrated in the flowchart of FIG. 6 illustrates a process whereby a web page is rendered in a unique manner for two different end users that utilize different computing devices than one another. Also, it will be assumed that the end users have unique preferences that can be determined from an analysis of behavior analytics. A behavior analytic includes, but is not limited to, explicit knowledge about the end user such as their deliberate actions on a website such as clicking of objects or queries. Behaviors may include any web analytics that would be known to one of ordinary skill in the art. Also, behavior analytics may include transaction and purchasing history or user profile parameters.


While behavior analytics include information that is similar to consumer analytics as described above, the behavior analytics are determined for an end user within the context of the delivery of content and are discussed separately for the purposes of clarity when describing a process of delivering content to an end user, as opposed to building a contextual vocabulary.


That is, consumer analytics include information that is used to build a contextual vocabulary. The consumer analytics are obtained from a plurality of end users for which relevant information can be obtained. The behavior analytics obtained from the end user during a process for dynamically generating content can be added to the contextual vocabulary such that the contextual vocabulary grows and evolves over time. Thus, behavior analytics can become consumer analytics that are eventually added to a contextual vocabulary.



FIG. 6 is a flowchart of another exemplary method for delivering web content. In contrast with the method of FIG. 5, the method illustrated in FIG. 6 includes a process whereby the context analysis system 115 generates different versions of the same web page for two different end users that use two different types of computing devices relative to one another.


The method includes receiving 605 a request for a web page from a first computing device and a second computing device. For example, the computing devices transmit to a web server a request for a website at www.domain.com. Rather than returning to the computing devices the same HTML version for the domain the context analysis system 115 may generate HTML code that is unique for each end user and device combination.


Thus, the method includes the context analysis system 115 determining 610 behavior analytics of a first end user and device related information for a first computing device and behavior analytics of a second end user and device related information for a first computing device. Once the relevant data is obtained, the method includes the context analysis system 115 comparing 615 the behavior analytics and the device related information for the first and second end users to a contextual vocabulary that includes context segments that defines customer analytics of a plurality of end users and device related information for computing devices used by the plurality of end users.


Also, the method includes generating a context segment path for both the first and second end users. Again, the context segment path comprises a plurality of context segments that have been selected from the contextual vocabulary. Further, the context segment path is indicative of preferences of an end user and capabilities of a computing device of the end user.


After the assembly of context segment paths, the method includes the context analysis system 115 dynamically selecting 620 web content for the web page for the first end user is such a way that the web content is formatted based upon the context segment path of the first end user. Also, the method includes dynamically selecting 625 web content for the web page for the second end user. It will be understood that the web content for the second end user is formatted based upon the context segment path of the second end user in such a way that at least one of the web content or formatting of the web content is different for the first and second end users relative to one another.



FIG. 7 illustrates an exemplary computing device (also referred to herein as “computing system” or “system”) 1 that may be used to implement an embodiment of the present systems and methods. The system 1 of FIG. 7 may be implemented in the contexts of the likes of computing devices, radios, terminals, networks, servers, or combinations thereof. The computing device 1 of FIG. 7 includes a processor 10 and main memory 20. Main memory 20 stores, in part, instructions and data for execution by processor 10. Main memory 20 may store the executable code when in operation. The system 1 of FIG. 7 further includes a mass storage device 30, portable storage device 40, output devices 50, user input devices 60, a display system 70, and peripherals 80.


The components shown in FIG. 7 are depicted as being connected via a single bus 90. The components may be connected through one or more data transport means. Processor 10 and main memory 20 may be connected via a local microprocessor bus, and the mass storage device 30, peripherals 80, portable storage device 40, and display system 70 may be connected via one or more input/output (I/O) buses.


Mass storage device 30, which may be implemented with a magnetic disk drive or an optical disk drive, is a non-volatile storage device for storing data and instructions for use by processor 10. Mass storage device 30 can store the system software for implementing embodiments of the present technology for purposes of loading that software into main memory 20.


Portable storage device 40 operates in conjunction with a portable non-volatile storage medium, such as a floppy disk, compact disk or digital video disc, to input and output data and code to and from the computing system 1 of FIG. 7. The system software for implementing embodiments of the present technology may be stored on such a portable medium and input to the computing system 1 via the portable storage device 40.


Input devices 60 provide a portion of a user interface. Input devices 60 may include an alphanumeric keypad, such as a keyboard, for inputting alphanumeric and other information, or a pointing device, such as a mouse, a trackball, stylus, or cursor direction keys. Additionally, the system 1 as shown in FIG. 7 includes output devices 50. Suitable output devices include speakers, printers, network interfaces, and monitors.


Display system 70 may include a liquid crystal display (LCD) or other suitable display device. Display system 70 receives textual and graphical information, and processes the information for output to the display device.


Peripherals 80 may include any type of computer support device to add additional functionality to the computing system. Peripherals 80 may include a modem or a router.


The components contained in the computing system 1 of FIG. 7 are those typically found in computing systems that may be suitable for use with embodiments of the present technology and are intended to represent a broad category of such computer components that are well known in the art. Thus, the computing system 1 can be a personal computer, hand held computing system, telephone, mobile computing system, workstation, server, minicomputer, mainframe computer, or any other computing system. The computer can also include different bus configurations, networked platforms, multi-processor platforms, etc. Various operating systems can be used including UNIX, Linux, Windows, Macintosh OS, Palm OS, and other suitable operating systems.


Some of the above-described functions may be composed of instructions that are stored on storage media (e.g., computer-readable medium). The instructions may be retrieved and executed by the processor. Some examples of storage media are memory devices, tapes, disks, and the like. The instructions are operational when executed by the processor to direct the processor to operate in accord with the technology. Those skilled in the art are familiar with instructions, processor(s), and storage media.


It is noteworthy that any hardware platform suitable for performing the processing described herein is suitable for use with the technology. The terms “computer-readable storage medium” and “computer-readable storage media” as used herein refer to any medium or media that participate in providing instructions to a CPU for execution. Such media can take many forms, including, but not limited to, non-volatile media, volatile media and transmission media. Non-volatile media include, for example, optical or magnetic disks, such as a fixed disk. Volatile media include dynamic memory, such as system RAM. Transmission media include coaxial cables, copper wire and fiber optics, among others, including the wires that comprise one embodiment of a bus. Transmission media can also take the form of acoustic or light waves, such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, a hard disk, magnetic tape, any other magnetic medium, a CD-ROM disk, digital video disk (DVD), any other optical medium, any other physical medium with patterns of marks or holes, a RAM, a PROM, an EPROM, an EEPROM, a FLASHEPROM, any other memory chip or data exchange adapter, a carrier wave, or any other medium from which a computer can read.


Various forms of computer-readable media may be involved in carrying one or more sequences of one or more instructions to a CPU for execution. A bus carries the data to system RAM, from which a CPU retrieves and executes the instructions. The instructions received by system RAM can optionally be stored on a fixed disk either before or after execution by a CPU.


Computer program code for carrying out operations for aspects of the present technology may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).


The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present technology has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. Exemplary embodiments were chosen and described in order to best explain the principles of the present technology and its practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.


Aspects of the present technology are described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.


These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.


The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.


The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present technology. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.


While various embodiments have been described above, it should be understood that they have been presented by way of example only, and not limitation. The descriptions are not intended to limit the scope of the technology to the particular forms set forth herein. Thus, the breadth and scope of a preferred embodiment should not be limited by any of the above-described exemplary embodiments. It should be understood that the above description is illustrative and not restrictive. To the contrary, the present descriptions are intended to cover such alternatives, modifications, and equivalents as may be included within the spirit and scope of the technology as defined by the appended claims and otherwise appreciated by one of ordinary skill in the art. The scope of the technology should, therefore, be determined not with reference to the above description, but instead should be determined with reference to the appended claims along with their full scope of equivalents.

Claims
  • 1. A method for dynamically delivering web content using a contextual analysis system comprising a processor and a memory for storing logic, the processor executing the logic to perform the method, comprising: determining end user behavior analytics and end user device information, the end user device information determined for a first computing device used by an end user;comparing the determined end user behavior analytics and end user device information to context segments that define contextual information, the context segments included in a contextual vocabulary, the contextual information obtained for a plurality of consumers and computing devices used by the plurality of consumers;flagging with Boolean flags a plurality of the context segments in the contextual vocabulary as being applicable segments for the end user based on the comparison and a match between the context segments in the contextual vocabulary and knowledge about the end user based on the end user's deliberate actions on at least one website;generating a context segment path for the end user, the context segment path comprising a plurality of context segments that have been flagged from the contextual vocabulary, the context segment path being indicative of preferences of the end user and capabilities of the end user's first computing device; anddynamically creating a web page for the end user and the end user's first computing device, the web page comprising web content that is selected and formatted based upon the context segment path.
  • 2. The method according to claim 1, wherein one or more of the context segments of the context segment path include a hierarchical representation that includes an ordering of the context segments to optimize discovery of resources for the web content.
  • 3. The method according to claim 1, wherein the context segment path is a string that uniquely defines context segment allocation for a given context, the context segment allocation identifying resources for the web content.
  • 4. The method according to claim 3, wherein the string is a cache key that is capable of being serialized and de-serialized.
  • 5. The method according to claim 3, further comprising selecting a context segment path by comparing customer analytic information of the end user and device related information for a computing device of the end user to a plurality of context segment paths created from the context vocabulary.
  • 6. The method according to claim 1, further comprising determining a customer segmentation for the end user based upon both customer analytic information of the end user and device related information for a computing device of the end user.
  • 7. The method according to claim 6, further comprising storing the contextual information from the end user and the device related information for a computing device used by the end user in a context repository.
  • 8. The method according to claim 1, further comprising: determining device related information for a second computing device used by the end user, the second computing device having device capabilities that are different from the first computing device;generating another context segment path for the end user that includes context segments for the second computing device used by the end user selected from the contextual vocabulary; anddynamically creating a web page for the end user and the second computing device, the web page having web content or formatting that is different than the web content or formatting that was created for the first computing device.
  • 9. The method according to claim 1, wherein the Boolean flags for context segments are set to off prior to the comparison.
  • 10. The method according to claim 1, wherein the contextual information is obtained from a plurality of information sources.
  • 11. A contextual analysis system, comprising: a processor; anda memory for storing logic, the logic being executed by the processor to: determine end user behavior analytics and end user device information, the end user device information determined for a first computing device used by an end user;compare the determined end user behavior analytics and end user device information to context segments that define contextual information, the context segments included in a contextual vocabulary, the contextual information obtained for a plurality of consumers and computing devices used by the plurality of consumers;flag with Boolean flags a plurality of the context segments in the contextual vocabulary as being applicable segments for the end user based on the comparison and a match between the context segments in the contextual vocabulary and knowledge about the end user based on the end user's deliberate actions on at least one website;generate a context segment path for the end user, the context segment path comprising a plurality of context segments that have been flagged from the contextual vocabulary, the context segment path being indicative of preferences of the end user and capabilities of the end user's first computing device; anddynamically create a web page for the end user and the end user's first computing device, the web page comprising web content that is selected and formatted based upon the context segment path.
  • 12. The system according to claim 11, wherein one or more of the context segments of the context segment path include a hierarchical representation that includes an ordering of the context segments to optimize discovery of resources for the web content.
  • 13. The system according to claim 11, wherein the context segment path is a string that uniquely defines context segment allocation for a given context, the context segment allocation identifying resources for the web content.
  • 14. The system according to claim 13, wherein the string is a cache key that is capable of being serialized and de-serialized.
  • 15. The system according to claim 13, wherein the processor further executes the logic to select the context segment path by comparing customer analytic information of the end user and device related information for a computing device of the end user to a plurality of context segment paths created from the context vocabulary.
  • 16. The system according to claim 11, wherein the processor further executes the logic to determine a customer segmentation for the end user based upon both customer analytic information of the end user and device related information for a computing device of the end user.
  • 17. The system according to claim 16, wherein the processor further executes the logic to store the contextual information from the end user and the device related information for a computing device used by the end user in a context repository.
  • 18. The system according to claim 11, wherein the processor further executes the logic to: determine device related information for a second computing device used by the end user, the second computing device having device capabilities that are different from the first computing device;generate another context segment path for the end user that includes context segments for the second computing device used by the end user selected from the contextual vocabulary; anddynamically create a web page for the end user and the second computing device, the web page having web content or formatting that is different than the web content or formatting that was created for the first computing device.
  • 19. The system according to claim 11, wherein the Boolean flags for context segments are set to off prior to the comparison.
  • 20. The system according to claim 11, wherein the contextual information is obtained from a plurality of information sources.
CROSS REFERENCE TO RELATED APPLICATIONS

This U.S. Patent Application is a continuation application of U.S. patent application Ser. No. 14/093,015, filed on Nov. 28, 2013, now U.S. Pat. No. 10,521,492, titled “SYSTEMS AND METHODS THAT UTILZE CONTEXTUAL VOCABULARIES AND CUSTOMER SEGMENTATION TO DELIVER WEB CONTENT,” which is hereby incorporated by reference herein in its entirety, including all references cited therein. This U.S. Patent Application is also related to U.S. Pat. No. 9,547,626, filed on Jan. 29, 2011, titled “SYSTEMS, METHODS, AND MEDIA FOR MANAGING AMBIENT ADAPTABILITY OF WEB APPLICATIONS AND WEB SERVICES”, which is hereby incorporated by reference herein in its entirety, including all references cited therein.

US Referenced Citations (448)
Number Name Date Kind
4845658 Gifford Jul 1989 A
4916614 Kaji Apr 1990 A
4920499 Skeirik Apr 1990 A
5075850 Asahioka et al. Dec 1991 A
5295068 Nishino et al. Mar 1994 A
5351189 Doi Sep 1994 A
5418717 Su et al. May 1995 A
5477451 Brown et al. Dec 1995 A
5497319 Chong et al. Mar 1996 A
5640575 Maruyama Jun 1997 A
5644775 Thompson et al. Jul 1997 A
5675802 Allen et al. Oct 1997 A
5708780 Levergood et al. Jan 1998 A
5715314 Payne et al. Feb 1998 A
5724424 Gifford Mar 1998 A
5751957 Hiroya et al. May 1998 A
5774868 Cragun et al. Jun 1998 A
5812776 Gifford Sep 1998 A
5813007 Nielsen Sep 1998 A
5873056 Liddy Feb 1999 A
5884097 Li et al. Mar 1999 A
5884246 Boucher et al. Mar 1999 A
5894554 Lowery et al. Apr 1999 A
5895446 Takeda et al. Apr 1999 A
5909492 Payne et al. Jun 1999 A
5966685 Flanagan et al. Oct 1999 A
5974372 Barnes Oct 1999 A
5978828 Greer et al. Nov 1999 A
5987401 Trudeau Nov 1999 A
5987402 Murata et al. Nov 1999 A
6026413 Challenger et al. Feb 2000 A
6041333 Bretschneider et al. Mar 2000 A
6041360 Himmel et al. Mar 2000 A
6044344 Kanevsky Mar 2000 A
6049785 Gifford Apr 2000 A
6085162 Cherny Jul 2000 A
6092035 Kurachi et al. Jul 2000 A
6108703 Leighton et al. Aug 2000 A
6122666 Beurket et al. Sep 2000 A
6128652 Toh et al. Oct 2000 A
6128655 Fields et al. Oct 2000 A
6161082 Goldberg et al. Dec 2000 A
6163785 Carbonell et al. Dec 2000 A
6195649 Gifford Feb 2001 B1
6199051 Gifford Mar 2001 B1
6205437 Gifford Mar 2001 B1
6212634 Geer et al. Apr 2001 B1
6216212 Challenger et al. Apr 2001 B1
6219818 Freivald et al. Apr 2001 B1
6256712 Challenger et al. Jul 2001 B1
6263332 Nasr et al. Jul 2001 B1
6278969 King et al. Aug 2001 B1
6279112 O'toole, Jr. et al. Aug 2001 B1
6330566 Durham Dec 2001 B1
6330598 Beckwith et al. Dec 2001 B1
6338033 Bourbonnais et al. Jan 2002 B1
6347316 Redpath Feb 2002 B1
6356865 Franz et al. Mar 2002 B1
6356903 Baxter et al. Mar 2002 B1
6363337 Amith Mar 2002 B1
6401105 Carlin et al. Jun 2002 B1
6415257 Junqua Jul 2002 B1
6438540 Nasr et al. Aug 2002 B2
6449599 Payne et al. Sep 2002 B1
6477524 Taskiran Nov 2002 B1
6477575 Koeppel et al. Nov 2002 B1
6490358 Geer et al. Dec 2002 B1
6490563 Hon Dec 2002 B2
6526426 Lakritz Feb 2003 B1
6581061 Graham Jun 2003 B2
6623529 Lakritz Sep 2003 B1
6658627 Gallup Dec 2003 B1
6725333 Degenaro et al. Apr 2004 B1
6748569 Brooke et al. Jun 2004 B1
6782384 Sloan et al. Aug 2004 B2
6865528 Huang Mar 2005 B1
6920419 Kitamura Jul 2005 B2
6973656 Huynh et al. Dec 2005 B1
6976207 Rujan Dec 2005 B1
6990439 Xun Jan 2006 B2
7013264 Dolan Mar 2006 B2
7031908 Huang Apr 2006 B1
7050964 Menzes May 2006 B2
7089493 Hatori et al. Aug 2006 B2
7111229 Nicholas et al. Sep 2006 B2
7124092 O'toole, Jr. et al. Oct 2006 B2
7177792 Knight Feb 2007 B2
7191447 Ellis et al. Mar 2007 B1
7207005 Laktritz Apr 2007 B2
7209875 Quirk Apr 2007 B2
7249013 Al-Onaizan Jul 2007 B2
7249314 Walker et al. Jul 2007 B2
7272639 Levergood et al. Sep 2007 B1
7295962 Marcu Nov 2007 B2
7295963 Richardson et al. Nov 2007 B2
7302429 Wanker Nov 2007 B1
7333927 Lee Feb 2008 B2
7340388 Soricut Mar 2008 B2
7353165 Zhou Apr 2008 B2
7369984 Fairweather May 2008 B2
7383320 Silberstein et al. Jun 2008 B1
7389222 Langmead Jun 2008 B1
7389223 Atkin Jun 2008 B2
7448040 Ellis et al. Nov 2008 B2
7454326 Marcu Nov 2008 B2
7464086 Black Dec 2008 B2
7509313 Colledge Mar 2009 B2
7516062 Chen et al. Apr 2009 B2
7533013 Marcu May 2009 B2
7606814 Deily et al. Oct 2009 B2
7620538 Marcu Nov 2009 B2
7620549 Di Cristo Nov 2009 B2
7624005 Koehn Nov 2009 B2
7668782 Reistad et al. Feb 2010 B1
7680647 Moore Mar 2010 B2
7698126 Kohlmeier et al. Apr 2010 B2
7716037 Precoda May 2010 B2
7734459 Menezes Jun 2010 B2
7739102 Bender Jun 2010 B2
7739286 Sethy Jun 2010 B2
7788087 Corston-Oliver Aug 2010 B2
7813918 Muslea Oct 2010 B2
7836057 Micaelian et al. Nov 2010 B1
7865358 Green Jan 2011 B2
7904595 Cheng et al. Mar 2011 B2
7925493 Watanabe Apr 2011 B2
7945437 Mount et al. May 2011 B2
7949633 Shaver et al. May 2011 B1
7958453 Taing Jun 2011 B1
7983896 Ross Jul 2011 B2
7983897 Chin Jul 2011 B2
8015222 Abnous et al. Sep 2011 B2
8036929 Reisman Oct 2011 B1
8078450 Anisimovich et al. Dec 2011 B2
8135575 Dean Mar 2012 B1
8185830 Saha et al. May 2012 B2
8195447 Anismovich Jun 2012 B2
8214196 Yamada Jul 2012 B2
8239186 Chin Aug 2012 B2
8239207 Seligman Aug 2012 B2
8260846 Lahav Sep 2012 B2
8286185 Ellis et al. Oct 2012 B2
8296127 Marcu Oct 2012 B2
8296463 Cheng et al. Oct 2012 B2
8346585 Griffith et al. Jan 2013 B1
8352244 Gao et al. Jan 2013 B2
8364463 Miyamoto Jan 2013 B2
8386234 Uchimoto et al. Feb 2013 B2
8413045 Lemonik et al. Apr 2013 B2
8423346 Seo et al. Apr 2013 B2
8442812 Ehsani May 2013 B2
8453052 Newman et al. May 2013 B1
8489980 Lakritz Jul 2013 B2
8521506 Lancaster et al. Aug 2013 B2
8527260 Best Sep 2013 B2
8548794 Koehn Oct 2013 B2
8554591 Reistad et al. Oct 2013 B2
8594992 Kuhn et al. Nov 2013 B2
8600728 Knight Dec 2013 B2
8606900 Levergood et al. Dec 2013 B1
8612203 Foster Dec 2013 B2
8615388 Li Dec 2013 B2
8635327 Levergood et al. Jan 2014 B1
8635539 Young Jan 2014 B2
8666725 Och Mar 2014 B2
8671214 Lockhart et al. Mar 2014 B2
8676804 Janos et al. Mar 2014 B1
8683329 Tang et al. Mar 2014 B2
8688454 Zheng Apr 2014 B2
8725496 Zhao May 2014 B2
8768686 Sarikaya et al. Jul 2014 B2
8775154 Clinchant Jul 2014 B2
8799200 Lahav Aug 2014 B2
8818790 He et al. Aug 2014 B2
8843359 Lauder Sep 2014 B2
8862456 Krack et al. Oct 2014 B2
8898052 Weibel Nov 2014 B2
8903707 Zhao Dec 2014 B2
8909683 Ledet Dec 2014 B1
8930176 Li Jan 2015 B2
8935148 Christ Jan 2015 B2
8935149 Zhang Jan 2015 B2
8935150 Christ Jan 2015 B2
8935706 Ellis et al. Jan 2015 B2
8954539 Lahav Feb 2015 B2
8972268 Waibel Mar 2015 B2
9026425 Nikoulina May 2015 B2
9053202 Viswanadha Jun 2015 B2
9081762 Wu Jul 2015 B2
9141606 Marciano Sep 2015 B2
9176952 Aikawa Nov 2015 B2
9183192 Ruby, Jr. Nov 2015 B1
9183198 Shen et al. Nov 2015 B2
9201870 Jurach Dec 2015 B2
9208144 Abdulnasyrov Dec 2015 B1
9317622 Zuromski et al. Apr 2016 B1
9336487 Lahav May 2016 B2
9369489 Kato Jun 2016 B2
9396184 Roy Jul 2016 B2
9396436 Lahav Jul 2016 B2
9430449 Leblond et al. Aug 2016 B2
9465797 Ji Oct 2016 B2
9471563 Trese Oct 2016 B2
9471920 Kolkowitz et al. Oct 2016 B2
9519640 Perez Dec 2016 B2
9519682 Pujara et al. Dec 2016 B1
9547626 de Voogd Jan 2017 B2
9552355 Dymetman Jan 2017 B2
9596188 Cheng et al. Mar 2017 B2
9600473 Leydon Mar 2017 B2
9613026 Hodson Apr 2017 B2
9773270 Costa et al. Sep 2017 B2
9781050 Cheng et al. Oct 2017 B2
9954794 Cheng et al. Apr 2018 B2
10007646 Colborn et al. Jun 2018 B1
10025776 Sjoberg et al. Jul 2018 B1
10061749 Homer et al. Aug 2018 B2
10452740 Leblond et al. Oct 2019 B2
10521492 Homer et al. Dec 2019 B2
10572928 Costa et al. Feb 2020 B2
10580015 Erasmus et al. Mar 2020 B2
10614167 Bondarchuk et al. Apr 2020 B2
10657540 Martchenko et al. May 2020 B2
10678866 Ranganathan et al. Jun 2020 B1
10990644 Homer et al. Apr 2021 B2
20010029507 Nojima Oct 2001 A1
20020007383 Yoden et al. Jan 2002 A1
20020010590 Lee Jan 2002 A1
20020023101 Kurihara et al. Feb 2002 A1
20020046018 Marcu Apr 2002 A1
20020065848 Walker et al. May 2002 A1
20020083103 Ballance Jun 2002 A1
20020103698 Cantrell Aug 2002 A1
20020112013 Walsh Aug 2002 A1
20020120762 Cheng et al. Aug 2002 A1
20020124109 Brown Sep 2002 A1
20020178166 Hsia Nov 2002 A1
20020178257 Cerrato Nov 2002 A1
20020193983 Tokieda et al. Dec 2002 A1
20030009320 Furuta Jan 2003 A1
20030023757 Ishioka et al. Jan 2003 A1
20030158953 Lal Aug 2003 A1
20030163346 Tinti et al. Aug 2003 A1
20030200094 Gupta Oct 2003 A1
20040010496 Behrendt et al. Jan 2004 A1
20040015723 Pham et al. Jan 2004 A1
20040019849 Weng et al. Jan 2004 A1
20040034520 Langkilde-Geary Feb 2004 A1
20040039593 Eskandari Feb 2004 A1
20040044517 Palmquist Mar 2004 A1
20040044576 Kurihara et al. Mar 2004 A1
20040148409 Davis et al. Jul 2004 A1
20040187090 Meacham Sep 2004 A1
20040255281 Imamura et al. Dec 2004 A1
20050039116 Slack-Smith Feb 2005 A1
20050086105 McFadden et al. Apr 2005 A1
20050156714 McCarthy et al. Jul 2005 A1
20050171944 Palmquist Aug 2005 A1
20050187774 Vuong Aug 2005 A1
20050189415 Fano et al. Sep 2005 A1
20050203884 Allen et al. Sep 2005 A1
20050228865 Hirsch Oct 2005 A1
20050235351 Seltzer et al. Oct 2005 A1
20050246283 Gwiazda et al. Nov 2005 A1
20060041558 McCauley et al. Feb 2006 A1
20060053367 Chen et al. Mar 2006 A1
20060080257 Vaughan et al. Apr 2006 A1
20060080265 Hinds et al. Apr 2006 A1
20060080397 Chene et al. Apr 2006 A1
20060095526 Levergood et al. May 2006 A1
20060178918 Mikurak Aug 2006 A1
20060248442 Rosenstein et al. Nov 2006 A1
20060282255 Lu Dec 2006 A1
20070016363 Huang et al. Jan 2007 A1
20070022003 Chao et al. Jan 2007 A1
20070033104 Collins et al. Feb 2007 A1
20070043553 Dolan Feb 2007 A1
20070047781 Hull et al. Mar 2007 A1
20070048714 Plastina et al. Mar 2007 A1
20070083425 Cousineau et al. Apr 2007 A1
20070112553 Jacobson May 2007 A1
20070118545 Chandrasekharan et al. May 2007 A1
20070192374 Abnous et al. Aug 2007 A1
20070208991 Rider Sep 2007 A1
20070209005 Shaver et al. Sep 2007 A1
20070209080 Ture et al. Sep 2007 A1
20070226058 Lorenzen et al. Sep 2007 A1
20070234213 Krikorian et al. Oct 2007 A1
20080028300 Krieger et al. Jan 2008 A1
20080086298 Anismovich Apr 2008 A1
20080109374 Levergood et al. May 2008 A1
20080120089 Schurig May 2008 A1
20080120090 Schurig May 2008 A1
20080120120 Cirulli et al. May 2008 A1
20080154577 Kim Jun 2008 A1
20080195664 Maharajh et al. Aug 2008 A1
20080201344 Levergood et al. Aug 2008 A1
20080209320 Mawhinney et al. Aug 2008 A1
20080244053 Sampson et al. Oct 2008 A1
20080256235 Or Sim et al. Oct 2008 A1
20080270398 Landau et al. Oct 2008 A1
20080288240 D'Agostini et al. Nov 2008 A1
20080316228 Seljavaara Dec 2008 A1
20090061764 Lockhart et al. Mar 2009 A1
20090094017 Chen et al. Apr 2009 A1
20090099931 Aaltonen et al. Apr 2009 A1
20090138458 Wanker May 2009 A1
20090197580 Gupta et al. Aug 2009 A1
20090217196 Neff et al. Aug 2009 A1
20090217352 Shen et al. Aug 2009 A1
20090234711 Ramer et al. Sep 2009 A1
20090240539 Slawson Sep 2009 A1
20090248801 Then et al. Oct 2009 A1
20090259684 Knight et al. Oct 2009 A1
20090313005 Jaquinta Dec 2009 A1
20090313245 Weyl et al. Dec 2009 A1
20100017704 Jaffe et al. Jan 2010 A1
20100023475 Lahav Jan 2010 A1
20100023581 Lahav Jan 2010 A1
20100057439 Ideuchi et al. Mar 2010 A1
20100057561 Gifford Mar 2010 A1
20100070364 Dugan Mar 2010 A1
20100070843 Duym Mar 2010 A1
20100070847 Hampton et al. Mar 2010 A1
20100121630 Mende et al. May 2010 A1
20100153404 Ghosh et al. Jun 2010 A1
20100179803 Sawaf Jul 2010 A1
20100211865 Fanning et al. Aug 2010 A1
20100217783 Farver et al. Aug 2010 A1
20100233996 Herz et al. Sep 2010 A1
20100242069 Jung et al. Sep 2010 A1
20100257457 De Goes Oct 2010 A1
20100274661 Aaltonen et al. Oct 2010 A1
20100281008 Braunwarth Nov 2010 A1
20100305940 Dendi et al. Dec 2010 A1
20100306402 Russell et al. Dec 2010 A1
20100312619 Ala-Pietila et al. Dec 2010 A1
20110010243 Wilburn et al. Jan 2011 A1
20110022381 Gao et al. Jan 2011 A1
20110047468 Ishizaka Feb 2011 A1
20110060998 Schwartz et al. Mar 2011 A1
20110066469 Kadosh Mar 2011 A1
20110078626 Bachman et al. Mar 2011 A1
20110097693 Crawford Apr 2011 A1
20110125783 Whale et al. May 2011 A1
20110161312 Wallman Jun 2011 A1
20110191458 Cheng et al. Aug 2011 A1
20110264736 Zuckerberg et al. Oct 2011 A1
20110270975 Troup Nov 2011 A1
20110313754 Bastide et al. Dec 2011 A1
20120016655 Travieso et al. Jan 2012 A1
20120022852 Tregaskis Jan 2012 A1
20120023129 Vedula et al. Jan 2012 A1
20120042006 Kiley et al. Feb 2012 A1
20120096366 Narla et al. Apr 2012 A1
20120131441 Jitkoff et al. May 2012 A1
20120136718 Katti May 2012 A1
20120143816 Zhang et al. Jun 2012 A1
20120185759 Balinsky et al. Jul 2012 A1
20120197718 Martchenko et al. Aug 2012 A1
20120197770 Raheja et al. Aug 2012 A1
20120197957 de Voogd Aug 2012 A1
20120198351 Lee et al. Aug 2012 A1
20120203861 Flack et al. Aug 2012 A1
20120216108 Yambal et al. Aug 2012 A1
20120221319 Trese Aug 2012 A1
20120221407 Erasmus et al. Aug 2012 A1
20120226818 Atas et al. Sep 2012 A1
20120233665 Ranganathan et al. Sep 2012 A1
20120266076 Lockhart et al. Oct 2012 A1
20120330644 Giraudy et al. Dec 2012 A1
20120330990 Chen et al. Dec 2012 A1
20130031470 Daly, Jr. et al. Jan 2013 A1
20130036202 Lahav Feb 2013 A1
20130054404 Garcia Feb 2013 A1
20130067055 Cheng et al. Mar 2013 A1
20130091014 Kellogg Apr 2013 A1
20130097488 Coman et al. Apr 2013 A1
20130124185 Sarr et al. May 2013 A1
20130124987 Lakritz May 2013 A1
20130144566 De Biswas Jun 2013 A1
20130151940 Bailor et al. Jun 2013 A1
20130173247 Hodson Jul 2013 A1
20130262986 Leblond et al. Oct 2013 A1
20130304607 Costa et al. Nov 2013 A1
20130325442 Dahlmeier Dec 2013 A1
20130326345 Haggart et al. Dec 2013 A1
20140019625 Cheng et al. Jan 2014 A1
20140058718 Kunchukuttan Feb 2014 A1
20140081775 Leblond et al. Mar 2014 A1
20140082032 Leblond et al. Mar 2014 A1
20140087760 Bennett Mar 2014 A1
20140114864 Babich et al. Apr 2014 A1
20140142917 D'Penha May 2014 A1
20140142918 Dotterer May 2014 A1
20140173414 Chan et al. Jun 2014 A1
20140181013 Micucci et al. Jun 2014 A1
20140188993 Klein et al. Jul 2014 A1
20140229257 Reistad et al. Aug 2014 A1
20140236942 Li Aug 2014 A1
20140250369 Mitnick et al. Sep 2014 A1
20140278342 Shoshan et al. Sep 2014 A1
20140282977 Madhu et al. Sep 2014 A1
20140297252 Prasad et al. Oct 2014 A1
20140297759 Mody Oct 2014 A1
20140298483 Kato Oct 2014 A1
20140303956 Wilson Oct 2014 A1
20140304080 Yilmaz Oct 2014 A1
20140310229 Lahav Oct 2014 A1
20140351053 Link, II Nov 2014 A1
20140358519 Mirkin Dec 2014 A1
20140358524 Papula Dec 2014 A1
20140365201 Gao Dec 2014 A1
20150040000 Rice et al. Feb 2015 A1
20150051896 Simard Feb 2015 A1
20150052424 Sikchi et al. Feb 2015 A1
20150074518 Rumsey et al. Mar 2015 A1
20150106390 Fuchs Apr 2015 A1
20150127660 Zilberberg et al. May 2015 A1
20150149455 Whitley, Jr. May 2015 A1
20150149885 Homer et al. May 2015 A1
20150149886 Homer et al. May 2015 A1
20150186362 Li Jul 2015 A1
20150188961 Ricci Jul 2015 A1
20150213259 Du et al. Jul 2015 A1
20150213363 Lahav Jul 2015 A1
20150248484 Yu et al. Sep 2015 A1
20150254732 Snyder Sep 2015 A1
20150310504 Potter Oct 2015 A1
20160014088 Maekawa Jan 2016 A1
20160019546 Eisen Jan 2016 A1
20160057195 Jaskiewicz Feb 2016 A1
20160155178 Konaiyagarri et al. Jun 2016 A1
20160239496 Motte et al. Aug 2016 A1
20160248785 Petry et al. Aug 2016 A1
20160275057 Dendi et al. Sep 2016 A1
20160283952 Hall Sep 2016 A1
20160371693 Kolkowitz et al. Dec 2016 A1
20170124069 Bondarchuk et al. May 2017 A1
20170149683 Cheng et al. May 2017 A1
20170235848 Van Dusen et al. Aug 2017 A1
20170337614 Costa et al. Nov 2017 A1
20180314674 Homer et al. Nov 2018 A1
20190065514 Siddiquee et al. Feb 2019 A1
20190158567 Siddiquee et al. May 2019 A1
20190163459 Sreenivasa et al. May 2019 A1
20200151740 Martchenko et al. May 2020 A1
20200167529 Bondarchuk et al. May 2020 A1
Foreign Referenced Citations (82)
Number Date Country
5240198 May 1998 AU
694367 Jul 1998 AU
5202299 Oct 1999 AU
2221506 Dec 1996 CA
102193914 Sep 2011 CN
102662935 Sep 2012 CN
102902667 Jan 2013 CN
69525374 Aug 2002 DE
69431306 May 2003 DE
69633564 Nov 2005 DE
0830774 Mar 1998 EP
1128301 Aug 2001 EP
1128302 Aug 2001 EP
1128303 Aug 2001 EP
1170680 Jan 2002 EP
0803103 Feb 2002 EP
1235177 Aug 2002 EP
0734556 Sep 2002 EP
0830774 Oct 2004 EP
1489523 Dec 2004 EP
2299369 Mar 2011 EP
2668599 Dec 2013 EP
2668626 Dec 2013 EP
2678814 Jan 2014 EP
2896007 Jul 2015 EP
2896008 Jul 2015 EP
2896007 Jul 2020 EP
2241359 Aug 1991 GB
H10509543 Sep 1998 JP
H11507752 Jul 1999 JP
2001117847 Apr 2001 JP
2001136583 May 2001 JP
3190881 Jul 2001 JP
3190882 Jul 2001 JP
2001188992 Jul 2001 JP
2001350790 Dec 2001 JP
3260693 Feb 2002 JP
2002073677 Mar 2002 JP
2002132822 May 2002 JP
3367675 Jan 2003 JP
2003032660 Jan 2003 JP
2003157402 May 2003 JP
2003216608 Jul 2003 JP
2004538542 Dec 2004 JP
2005056080 Mar 2005 JP
2005174120 Jun 2005 JP
2005267535 Sep 2005 JP
3762882 Apr 2006 JP
2006216073 Aug 2006 JP
2006260329 Sep 2006 JP
2007042127 Feb 2007 JP
2008027265 Feb 2008 JP
2009020845 Jan 2009 JP
2009518761 May 2009 JP
2009301480 Dec 2009 JP
4485548 Jun 2010 JP
2010152588 Jul 2010 JP
2011002905 Jan 2011 JP
4669373 Apr 2011 JP
4669430 Apr 2011 JP
5952307 Jul 2016 JP
5952312 Jul 2016 JP
6138054 Jun 2017 JP
WO9516971 Jun 1995 WO
WO9613013 May 1996 WO
WO9642041 Dec 1996 WO
WO9715885 May 1997 WO
WO9819224 May 1998 WO
WO9952626 Oct 1999 WO
WO2002039318 May 2002 WO
WO20030081441 Oct 2003 WO
WO2007068123 Jun 2007 WO
WO20070118424 Oct 2007 WO
WO2010062540 Jun 2010 WO
WO2010062542 Jun 2010 WO
WO2012101240 Aug 2012 WO
WO2012101243 Aug 2012 WO
WO2012113791 Aug 2012 WO
WO2013144358 Oct 2013 WO
WO2013167734 Nov 2013 WO
WO2014041148 Mar 2014 WO
WO2014041149 Mar 2014 WO
Non-Patent Literature Citations (121)
Entry
Adomavicius, G.; Mobasher, B.; Ricci, F.; Tuzhilin, A. Context-Aware Recommender Systems. AlMag 2011, 32, 67-80 (Year: 2011).
“The GNU Make Manual”, Version 3.79, edition 0.55, Apr. 2000, Free Software Foundation, Inc, pp. 1-8, 118, 128.
“Introduction to ClearCase”, Rational Software Corporation, Dec. 1999, Rational ClearCase, Release 4.0, pp. i-xiv, 1, 2, 30, 33, 37, 40, 59.
“Administering ClearCase”, Rational Software Corporation, Rational ClearCase Release 4.0, 1999, pp. i-xxx, 1-6, 129-162, 255-260, 278, 281, 283, 345-348.
Challenger et al., “A Scalable System for Consistently Caching Dynamic Web Data”, INFOCOM '99. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. Proceedings. IEEE, Mar. 21-25, 1999, pp. 294-303, vol. 1, 10 pages.
Challenger et al., “A Publishing System for Efficiently Creating Dynamic Web Content”, INFOCOM 2000. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies. Proceedings. IEEE, Mar. 26-30, 2000, vol. 2, pp. 1-7, 10.
Croll et al., “Content Management—The Users Requirements”, International Broadcasting Convention, Conference Publication No. 447, Sep. 12-16, 1997, 4 pages.
Idiom, Inc. “WorldServer 2 White Paper”, 2000, 19 pages.
“VerticalNet Selects Uniscape As Globalization Provider to Speed Global Expansion”, Market Wire, Jun. 2000, <www.findarticles.com/p/articles/mi_pwwi/is_200006/ai_mark01011558/print> accessed on Oct. 1, 2005, 2 pages.
“Personify Selects Uniscape to Enable Ebusiness Solutions for Global Markets”, PRNewsWire and NEWS desk, Aug. 30, 2000, <www.findwealth.com/personify-selects-uniscape-to-enable-180593pr.html> accessed on Oct. 1, 2005, 2 pages.
“Uniscape, Inc. Home Page”, Uniscape, Inc., publicly posted Feb. 20, 1999, <web.archive.org/web/19990220195249//http://www.uniscape-inc.com/> accessed on Oct. 1, 2005, 2 pages.
“Uniscape Introduces Pilot Program to Provide Multilingual Website Management Solutions,” Business Wire, Feb. 11, 1999, <www.findarticles.com/p/articles/mi_m0EIN/is_1999_Feb_11/11/ai_53852378> accessed on May 9, 2011, 1 page.
“Uniscape Announces New Solution for Automating Management of Software Localization Process,” Business Wire, Aug. 17, 1998, <www.findarticles.com/p/articles/mi_m0EIN/is_1998_August_17/ai_21090247> accessed on Sep. 30, 2005, 2 pages.
“Cephren Relies on Uniscape During Rapid Global eBusiness Expansion,” Market Wire, Oct. 18, 2000, <www.marketwire.com/mw/iwpr?id=18115&cat=te> accessed on Oct. 1, 2005, 2 pages.
Anonymous; “MyYahoo!—RSS Headlines Module—Frequently Asked Questions,” Jan. 24, 2007, XP002508567, [retrieved on Dec. 17, 2008], Retrieved from the Internet: <URL:http://web.archive.org/web/20040124175>, 4 pages.
Krishnan, “Unmittelbare Ergenbnisse Noch Schneller: Google Vorschau—Der Google Produkt-Kompass,” Nov. 9, 2010, <http://web.archive.org/web/20101109154340/http://google-produkt-kompass.blogspot.com/2010/11/unmittelbare-ergebnisse-nochschneller.html> accessed on Apr. 4, 2012, 2 pages.
“XML Convert,” Unidex, Inc., Aug. 4, 2007, <http://www.unidex.com/xflat.htm> accessed on Apr. 5, 2012, 1 page.
“SOAP,” Wikipedia, Jan. 22, 2011, <http://en.wikipedia.org/w/index.php?title=SOAP&oldid=409349976> accessed Apr. 4, 2012, 5 pages.
Mutz et al., “User-Agent Display Attributes,” HTTP Working Group, Nov. 26, 1996, 6 pages.
XP007905525, The Technical Aspects Identified in the Present Application (Art. 15 PCT) are considered part of common general knowledge. Due to their notoriety no documentary evidence is found to be required. Official Journal Nov. 2007, pp. 592-593.
“International Search Report” and “Written Opinion”, Patent Cooperation Treaty Application No. PCT/EP2012/051284, dated Apr. 26, 2012, 8 pages.
“International Search Report” and “Written Opinion”, Patent Cooperation Treaty application No. PCT/EP2012/052934, dated May 15, 2012, 6 pages.
“International Search Report” and “Written Opinion”, Patent Cooperation Treaty application No. PCT/EP2012/051291, dated May 2, 2012, 11 pages.
“International Search Report” and “Written Opinion”, Patent Cooperation Treaty application No. PCT/EP2013/056842, dated Oct. 23, 2013, 8 pages.
“International Search Report” and “Written Opinion”, Patent Cooperation Treaty application No. PCT/EP2013/069078, dated Jan. 8, 2014, 6 pages.
“International Search Report” and “Written Opinion”, Patent Cooperation Treaty application No. PCT/EP2013/069077, dated Jan. 8, 2014, 6 pages.
Colligan et al.; Special Edition Using Microsoft Office FrontPage 2003; 2004; Que Publishing; pp. 50-91 and 323-326.
“Highlight;” Microsoft Computer Dictionary; May 1, 2002; Microsoft Press; p. 320.
“Office Action”, European Patent Convention application No. 12707723.8, dated Jun. 17, 2014, 5 pages.
“Summons to Attend Oral Proceedings”, European Patent Convention application No. 12707723.8, Feb. 11, 2015, 7 pages.
“Inheritance (object-oriented programming)”, archived Wikipedia on Sep. 4, 2011, http://en.wikipedia.org/w/index.php?title=Inheritance_(object-oriented_programming)&oldid=448382925, pp. 1-7.
“Result of Consultation”, European Patent Convention application No. 12707723.8, May 28, 2015, 3 pages.
“Office Action”, European Patent Convention application No. 12707723.8, dated Jun. 29, 2015, 30 pages.
“Minutes of Oral Proceeding”, European Patent Convention application No. 12707723.8, Jun. 29, 2015, 8 pages.
Preview; Feb. 26, 2011; Dictionary.com; 2 pages.
Edgar; “Why Do Browsers Display My Site Differently?” Jun. 3, 2009 (updated Nov. 2010); matthewedgar.net; pp. 1-5.
“Office Action”, Japanese Patent Application 2013-550887, dated Jan. 5, 2016, 10 pages [20 pages with translation].
“Office Action”, Japanese Patent Application 2013-550888, dated Dec. 22, 2015, 4 pages [8 pages with translation].
“Office Action”, Japanese Patent Application 2013-554869, dated Feb. 9, 2016, 2 pages [4 pages with translation].
“Notice of Allowance” Japanese Patent Application 2013-550888, dated May 24, 2016, 3 pages.
“Notice of Allowance”, Japanese Patent Application 2013-554869, dated May 24, 2016, 3 pages.
“Office Action,” Japan Patent Application No. 2013-550887, dated Oct. 4, 2016, 4 pages [8 pages including translation].
“Office Action,” European Patent Application No. 12703482.5, dated Sep. 6, 2016, 4 pages.
“Serialization”; Wikipedia; Nov. 14, 2013; 10 pages; https://web.archive.org/web/20131114152415/http://en.wikipedia.org/wiki/Serialization.
Microsoft, MSDN; “Serialization .NET Framework 4.5”; Jan. 10, 2013; 2 pages; https://web.archive.org/web/20130110102559/http://msdn.microsoft.com/en-us/library/7ay27kt9(v=vs.110).aspx.
“Office Action,” European Patent Application No. 12703483.3, dated Jan. 25, 2017, 7 pages.
“Notice of Allowance,” Japan Patent Application No. 2013-550887, dated Apr. 11, 2017, 3 pages.
Schafer, Ben J. et al., “Recommender Systems in E-Commerce,” Proceedings of the 1st ACM conference on Electronic Commerce (EC '99), ACM, New York, NY, 1999, pp. 158-166.
Nepveu et al. “Adaptive Language and Translation Models for Interactive Machine Translation” Conference on Empirical Methods in Natural Language Processing, Jul. 25, 2004, 8 pages. Retrieved from: http://www.cs.jhu.edu/˜yarowsky/sigdat.html.
Ortiz-Martinez et al. “Online Learning for Interactive Statistical Machine Translation” Human Language Technologies: The 2010 Annual Conference of the North American Chapter of the ACL, Jun. 10, 2010, pp. 546-554. Retrieved from: https://www.researchgate.net/publication/220817231_Online_Learning_for_Interactive_Statistical_Machine_Translation.
Callison-Burch et al. “Proceedings of the Seventh Workshop on Statistical Machine Translation” [W12-3100] Proceedings of the Seventh Workshop on Statistical Machine Translation, Jun. 7, 2012, pp. 10-51. Retrieved from: http://aclanthology.info/volumes/proceedings-of-the-seventh-workshop-onstatistical-machine-translation.
“Minutes of Oral Proceeding”, European Patent Application No. 12703483.3, dated Jun. 19, 2018, 4 pages.
“Summons to Attend Oral Proceedings,” European Patent Application No. 12703482.5, dated Feb. 14, 2018, 10 pages.
“Office Action,” European Patent Application No. 13776975.8, dated Jun. 4, 2018, 11 pages.
“Decision to Refuse,” European Patent Application No. 12703482.5, dated Sep. 17, 2018, 4 pages.
Leblond, Dominique, “Blueprinting of Multimedia Assets”, U.S. Appl. No. 13/619,591, filed Sep. 14, 2012, 40 pages.
“Summons to Attend Oral Proceedings,” European Patent Application No. 13776975.8, Jul. 2, 2019, 18 pages.
Eckerson, Wayne, “Performance Management Strategies: How to Create and Deploy Effective Metrics,” TDWI Best Practices Report, First Quarter (2009), 35 pages.
Padmanabhan et al., “Using Predictive Prefetching to Improve World Wide Web Latency,” ACM SIGCOMM Computer Communication Review 26.3, 1996, pp. 22-36.
Hasegawa et al., “Multilingual Disaster Information System: Information Delivery Using Graphic Text for Mobile Phones,” Al & Soc 19, 2005, pp. 265-278.
Wikipedia: “XML” [online], [retreived on Mar. 2, 2020], Retreived from the Internet: <https://www.wikipedia.com/XML>, 2 pages.
“Notice of Allowance,” European Patent Application No. 13776975.8, dated Feb. 12, 2020, 7 pages.
Lopez, Adam. “Putting Human Assessments of Machine Translation Systems in Order” [W12-3101] Proceedings of the Seventh Workshop on Statistical Machine Translation, Jun. 7, 2012, pp. 1-9. Retrieved from: http://aclanthology.info/volumes/proceedings-of-the-seventh-workshop-onstatistical-machine-translation.
Avramidis, Eleftherios. “Quality estimation for Machine Translation output using linguistic analysis and decoding features” [W12-3108] Proceedings of the Seventh Workshop on Statistical Machine Translation, Jun. 7, 2012, pp. 84-90. Retrieved from: http://aclanthology.info/volumes/proceedings-of-the-seventh-workshop-onstatistical-machine-translation.
Buck, Christian. “Black Box Features for the WMT 2012 Quality Estimation Shared Task” [W12-3109] Proceedings of the Seventh Workshop on Statistical Machine Translation. Jun. 7, 2012, pp. 91-95. Retrieved from: Proceedings of the Seventh Workshop on Statistical Machine Translation. Retrieved from: http://aclanthology.info/volumes/proceedings-of-the-seventh-workshop-onstatistical-machine-translation.
Felice et al. “Linguistic Features for Quality Estimation” [W12-3110] Proceedings of the Seventh Workshop on Statistical Machine Translation, Jun. 7, 2012, pp. 96-103. Retrieved at: http://aclanthology.info/volumes/proceedings-of-the-seventh-workshop-onstatistical-machine-translation.
Gonzalez-Rubio et al. “PRHLT Submission to the WMT12 Quality Estimation Task” [W12-3111] Proceedings of the Seventh Workshop on Statistical Machine Translation, Jun. 7, 2012, pp. 104-108. Retrieved from: http://aclanthology.info/volumes/proceedings-of-the-seventh-workshop-onstatistical-machine-translation.
Hardmeier et al. “Tree Kernels for Machine Translation Quality Estimation” [W12-3112] Proceedings of the Seventh Workshop on Statistical Machine Translation,Jun. 7, 2012, pp. 109-113. Retrieved from: http://aclanthology.info/volumes/proceedings-of-the-seventh-workshop-onstatistical-machine-translation.
Langlois et al. “LORIA System for the WMT12 Quality Estimation Shared Task” [W12-3113] Proceedings of the Seventh Workshop on Statistical Machine Translation, Jun. 7, 2012, pp. 114-119. Retrieved from: http://aclanthology.info/volumes/proceedings-of-the-seventh-workshop-onstatistical-machine-translation.
Moreau et al. “Quality Estimation: an experimental study using unsupervised similarity measures” [W12-3114] Proceedings of the Seventh Workshop on Statistical Machine Translation, Jun. 7, 2012, pp. 120-126. Retrieved from: http://aclanthology.info/volumes/proceedings-of-the-seventh-workshop-onstatistical-machine-translation.
Gonzalez et al. “The UPC Submission to the WMT 2012 Shared Task on Quality Estimation” [W12-3115] Proceedings of the Seventh Workshop on Statistical Machine Translation, Jun. 7, 2012, pp. 127-132. Retrieved from: http://aclanthology.info/volumes/proceedings-of-the-seventh-workshop-onstatistical-machine-translation.
Popovic, Maja. “Morpheme- and POS-based IBM1 and language model scores for translation quality estimation” Proceedings of the Seventh Workshop on Statistical Machine Translation, Jun. 7, 2012, pp. 133-137. Retrieved from: http://aclanthology.info/volumes/proceedings-of-the-seventh-workshop-onstatistical-machine-translation.
Rubino et al. “DCU-Symantec Submission for the WMT 2012 Quality Estimation Task” [W12-3117] Proceedings of the Seventh Workshop on Statistical Machine Translation, Jun. 7, 2012, pp. 138-144. Retrieved from: http://aclanthology.info/volumes/proceedings-of-the-seventh-workshop-onstatistical-machine-translation.
Soricut et al. “The SDL Language Weaver Systems in the WMT12 Quality Estimation Shared Task” [W12-3118] Proceedings of the Seventh Workshop on Statistical Machine Translation, Jun. 7, 2012, pp. 145-151. Retrieved from: http://aclanthology.info/volumes/proceedings-of-the-seventh-workshop-onstatistical-machine-translation.
Wu et al. “Regression with Phrase Indicators for Estimating MT Quality” [W12-3119] Proceedings of the Seventh Workshop on Statistical Machine Translation, Jun. 7, 2012, pp. 152-156. Retrieved from: http://aclanthology.info/volumes/proceedings-of-the-seventh-workshop-onstatistical-machine-translation.
Wuebker et al. “Hierarchical Incremental Adaptation for Statistical Machine Translation” Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing, pp. 1059-1065, Lisbon, Portugal, Sep. 17-21, 2015.
“Best Practices—Knowledge Base,” Lilt website [online], Mar. 6, 2017 [retrieved on Oct. 19, 2017], Retrieved from the Internet:<https://lilt.com/kb/translators/best-practices>, 2 pages.
“Data Security—Knowledge Base,” Lilt website [online], Oct. 14, 2016 [retrieved on Oct. 19, 2017], Retrieved from the Internet:<https://lilt.com/kb/security>, 1 pages.
“Data Security and Confidentiality,” Lilt website [online], 2017 [retrieved on Oct. 19, 2017], Retrieved from the Internet: <https://lilt.com/security>, 7 pages.
“Memories—Knowledge Base,” Lilt website [online], Jun. 7, 2017 [retrieved on Oct. 19, 2017], Retrieved from the Internet:<https://lilt.com/kb/project-managers/memory>, 4 pages.
“Memories (API)—Knowledge Base,” Lilt website [online], Jun. 2, 2017 [retrieved on Oct. 19, 2017], Retrieved from the Internet:<https://lilt.com/kb/api/memories>, 1 page.
“Quoting—Knowledge Base,” Lilt website [online], Jun. 7, 2017 [retrieved on Oct. 19, 2017], Retrieved from the Internet: <https://lilt.com/kb/project-managers/quoting>, 4 pages.
“The Editor—Knowledge Base,” Lilt website [online], Aug. 15, 2017 [retrieved on Oct. 19, 2017], Retrieved from the Internet:<https://lilt.com/kb/translators/editor>, 5 pages.
“Training Lilt—Knowledge Base,” Lilt website [online], Oct. 14, 2016 [retrieved on Oct. 20, 2017], Retrieved from the Internet:<https://lilt.com/kb/troubleshooting/training-lilt>, 1 page.
“What is Lilt_—Knowledge Base,” Lilt website [online],Dec. 15, 2016 [retrieved on Oct. 19, 2017], Retrieved from the Internet:<https://lilt.com/kb/what-is-lilt>, 1 page.
“Getting Started—Knowledge Base,” Lilt website [online], Apr. 11, 2017 [retrieved on Oct. 20, 2017], Retrieved from the Internet:<https://lilt.com/kb/translators/getting-started>, 2 pages.
“The Lexicon—Knowledge Base,” Lilt website [online], Jun. 7, 2017 [retrieved on Oct. 20, 2017], Retrieved from the Internet:<https://lilt.com/kb/translators/lexicon>, 4 pages.
“Simple Translation—Knowledge Base,” Lilt website [online], Aug. 17, 2017 [retrieved on Oct. 20, 2017], Retrieved from the Internet:<https://lilt.com/kb/api/simple-translation>, 3 pages.
“Split and Merge—Knowledge Base,” Lilt website [online], Oct. 14, 2016 [retrieved on Oct. 20, 2017], Retrieved from the Internet:<https://lilt.com/kb/translators/split-merge>, 4 pages.
“Lilt API _ API Reference,” Lilt website [online], retrieved on Oct. 20, 2017, Retrieved from the Internet:<https://lilt.com/docs/api>, 53 pages.
“Automatic Translation Quality—Knowledge Base”, Lilt website [online], Dec. 1, 2016, retrieved on Oct. 20, 2017, Retrieved from the Internet:<https://lilt.com/kb/evaluation/evaluate-mt>, 4 pages.
“Projects—Knowledge Base,” Lilt website [online], Jun. 7, 2017, retrieved on Oct. 20, 2017, Retrieved from the Internet:<https://lilt.com/kb/project-managers/projects>, 3 pages.
“Getting Started with lilt,” Lilt website [online], May 30, 2017, retrieved on Oct. 20, 2017, Retrieved from the Internet:<https://lilt.com/kb/api/lilt-js>, 6 pages.
“Interactive Translation—Knowledge Base,” Lilt website [online], Aug. 17, 2017, retrieved on Oct. 20, 2017, Retrieved from the Internet:<https://lilt.com/kb/api/interactive-translation>, 2 pages.
Hildebrand et al., “Adaptation of the Translation Model for Statistical Machine Translation based on Information Retrieval,” EAMT 2005 Conference Proceedings, May 2005, pp. 133-142. Retrieved from https://www.researchgate.net/publication/228634956_Adaptation_of_the_translation_model_for_statistical_machine_translation_based_on_information_retrieval.
Och et al., “The Alignment Template Approach to Statistical Machine Translation Machine Translation,” Computational Linguistics, vol. 30. No. 4, Dec. 1, 2004, pp. 417-442 (39 pages with citations). Retrieved from http://dl.acm.org/citation.cfm?id=1105589.
Sethy et al., “Building Topic Specific Language Models Fromwebdata Using Competitive Models,” Interspeech 2005—Eurospeech, 9th European Conference on Speech Communication and Technology, Lisbon, Portugal, Sep. 4-8, 2005, 4 pages. Retrieved from https://www.researchgate.net/publication/221490916_Building_topic_specific_language_models_from_webdata_using_competitive_models.
Dobrinkat, “Domain Adaptation in Statistical Machine Translation Systems via User Feedback,” Master's Thesis, University of Helsinki, Nov. 25, 2008, 103 pages. Retrieved from http://users.ics.aalto.fi/mdobrink/online-papers/dobrinkat08mt.pdf.
Business Wire, “Language Weaver Introduces User-Managed Customization Tool,” Oct. 25, 2005, 3 pages. Retrieved from http: ProQuest.
Winiwarter, W., “Learning Transfer Rules for Machine Translation from Parallel Corpora,” Journal of Digital Information Management, vol. 6 No. 4, Aug. 2008, pp. 285-293. Retrieved from https://www.researchgate.net/publication/220608987_Learning_Transfer_Rules_for_Machine_Translation_from_Parallel_Corpora.
Potet et al., “Preliminary Experiments on Using Users′ Post-Editions to Enhance a SMT System,” Proceedings of the European Association for Translation (EAMT), May 2011, pp. 161-168. Retreived from Retrieved at http://www.mt-archive.info/EAMT-2011-Potet.pdf.
Ortiz-Martinez et al., “An Interactive Machine Translation System with Online Learning” Proceedings of the ACL-HLT 2011 System Demonstrations, Jun. 21, 2011, pp. 68-73. Retrieved from http://www.aclweb.org/anthology/P11-4012.
Lopez-Salcedo et al.,“Online Learning of Log-Linear Weights in Interactive Machine Translation,” Communications in Computer and Information Science, vol. 328, 2011, pp. 1-10. Retrieved from http://www.casmacat.eu/uploads/Main/iberspeech2.pdf.
Blanchon et al., “A Web Service Enabling Gradable Post-edition of Pre-translations Pro duced by Existing Translation Tools: Practical Use to Provide High quality Translation of an Online Encyclopedia” Jan. 2009, 9 pages. Retrieved from http://www.mt-archive.info/MTS-2009-Blanchon.pdf.
Levenberg et al.“Stream-based Translation Models for Statistical Machine Translation” Human Language Technologies: The 2010 Annual Conference of the North American Chapter of the ACL, Dec. 31, 2010, pp. 394-402.
Lagarda et al. “Statistical Post-Editing of a Rule Based Machine Translation System” Proceedings of NAACL HLT 2009: Short Papers, Jun. 2009, pp. 217-220.
Ehara, “Rule Based Machine Translation Combined with Statistical Post Editor for Japanese to English Patent Translation,” MT Summit XI, 2007, pp. 13-18.
Bechara et al. “Statistical Post-Editing for a Statistical MT System” Proceedings of the 13th Machine Translation Summit, 2011, pp. 308-315.
“Summons to Attend Oral Proceedings,” European Patent Application No. 12703483.3, Nov. 30, 2017, 11 pages.
“Web analytics,” Wikipedia [online], Jan. 27, 2001 [retrieved on Sep. 11, 2017], Retrieved from the Internet: <URL:https://en.wikipedia.org/w/index.php?title=Web_analytics&oldid=410384013>, 11 pages.
“Examining Division Preliminary Opinion,” European Patent Application No. 12703483.3, dated Apr. 30, 2018, 9 pages.
“Decision to Refuse,” European Patent Application No. 12703483.3, Jun. 19, 2018, 24 pages.
“Serialization (C#)”, Microsoft, <https://msdn.microsoft.com/en-us/library/mt656716.aspx>, Jan. 2, 2020, 4 pages.
“What are object serialization and deserialization?” Stack Overflow, <http://stackoverflow.com/questions/1360632/object-serialization-anddeserialization>, Sep. 1, 2009, 6 pages.
“Java Serialization and Deserialization”, Studytonight, <http://www.studytonight.com/java/serialization-and-deserialization.php>, 2020, Accessed Oct. 23, 2020, 7 pages.
Upadhyay, Chirantan, “Serialization and Deserialization in ASP.NET with C#”, Code Project, <https://www.codeproject.com/kb/cs/seranddeserialization.aspx>, May 27, 2009, 7 pages.
“Serialize”, PHP, <http://php.net/manual/en/function.serialize.php>, accessed Oct. 23, 2020, 28 pages.
“Interface Serializable”, Oracle, <http://docs.oracle.com/javase/7/docs/apl/java/lo/Serializable.html>, accessed Oct. 23, 2020, 3 pages.
Sakai, Marie et al., “Building DITA-based CMS as integrated documentation environment”, The 6th International Conference on Soft Computing and Intelligent Systems, and The 13th International Symposium on Advanced Intelligence Systems, IEEE, 2012, 5 pages.
“Oracle ATG Platform Programming Guide”; Oracle Corporation; retrieved on Jan. 19, 2021 from <URL:https://docs.oracle.com/cd/E35319_01/Platform.10-2/ATGPlatformProgGuide/html/s0101introduction01.html>, 2013, 2 pages.
Christensson, Per. “HTML Definition.” TechTerms. Sharpened Productions, <URL:https://techterms.com/definition/html>, May 23, 2015, 2 pages.
Related Publications (1)
Number Date Country
20200104343 A1 Apr 2020 US
Continuations (1)
Number Date Country
Parent 14093015 Nov 2013 US
Child 16703737 US