systems and methods for content management server systems configured to manage and publish managed content in accordance with embodiments of the invention are disclosed. In one embodiment, a versioned content management server system, includes a processor, a versioned content management application, managed content, wherein managed content includes content and content version metadata, wherein the versioned content management application configures the processor to receive updated content, locate managed content based on the received updated content, determine version data based on a portion of the located managed content, the received updated content, update the content version metadata data, associate the updated version content data with the managed content, receive a request for content, identify a portion of the managed content that corresponds to the requested content, retrieve the identified portion of the managed content, and transmit the retrieved portion of the managed content.
|
1. A versioned content management server system, comprising:
a processor;
a memory connected to the processor and configured to store a versioned content management application; and
content storage configured to store managed content;
wherein managed content comprises content and content version metadata associated with the content; and
wherein the versioned content management application configures the processor to:
receive updated content, where the updated content is associated with author data;
locate managed content stored in the content storage device based on the received updated content;
determine version data based on a portion of the located managed content, the received updated content, and the author data;
update the content version metadata data based on the updated content and the version data;
associate the updated version content data with the managed content;
receive a request for content, where the request for content comprises a requested content version and requesting device capabilities;
identify a portion of the managed content that corresponds to the requested content version and requesting device capabilities;
retrieve the identified portion of the managed content; and
transmit the retrieved portion of the managed content.
11. A method for managing versioned content, comprising:
receiving updated content using a versioned content management server system, where the updated content is associated with author data;
locating managed content stored in the versioned content management server system based on the received updated content using the versioned content management server system;
determining version data based on a portion of the located managed content, the received updated content, and the author data using the versioned content management server system;
updating the content version metadata data based on the updated content and the version data using the versioned content management server system;
associating the updated version content data with the managed content using the versioned content management server system;
receiving a request for content using the versioned content management server system, where the request for content comprises a requested content version and requesting device capabilities;
identifying a portion of the managed content that corresponds to the requested content version and requesting device capabilities using the versioned content management server system;
retrieving the identified portion of the managed content using the versioned content management server system; and
transmitting the retrieved portion of the managed content using the versioned content management server system.
2. The system of
3. The system of
determine performance data based on the received content; and
transmit the determined performance data to the versioned content management server system.
4. The system of
receive performance data related to the identified portion of the managed content; and
include the performance data with the content version metadata associated with the identified portion of the managed content.
5. The system of
6. The system of
7. The system of
the managed content comprises a first portion of content and a second portion of content, where the first portion of content and the second portion of content are related via a hierarchical relationship; and
wherein the versioned content management application further configures the processor to:
identify changes between the obtained content, the first portion of content, and the second portion of content;
generate content version metadata using the identified changes; and
generate the obtained content using the content version metadata and the first portion of content.
8. The system of
obtain unmanaged content;
incorporate the unmanaged content into the retrieved portion of the managed content to create merged content; and
transmit the merged content.
9. The system of
receive content from at least one versioned content management server system;
receive delivery requests for content; and
transmit content in response to the received delivery requests.
10. The system of
identify one or more references to unmanaged content in the received content;
request unmanaged content based on the references to unmanaged content;
receive unmanaged content from at least one unmanaged content source; and
update the content to incorporate the referenced unmanaged content.
12. The method of
13. The method of
determine performance data based on the received content; and
transmit the determined performance data to the versioned content management server system.
14. The method of
receiving performance data related to the identified portion of the managed content using the versioned content management server system; and
including the performance data with the content version metadata associated with the identified portion of the managed content using the versioned content management server system.
15. The method of
16. The method of
17. The method of
identifying changes between the obtained content, a first portion of content, and a second portion of content using the versioned content management server system, where the managed content comprises the first portion of content and the second portion of content, where the first portion of content and the second portion of content are related via a hierarchical relationship;
generating content version metadata based on the identified changes using the versioned content management server system; and
generating the obtained content based on the content version metadata and the first portion of content using the versioned content management server system.
18. The method of
obtaining unmanaged content using the versioned content management server system;
incorporating the unmanaged content into the retrieved portion of the managed content to create merged content using the versioned content management server system; and
transmitting the merged content using the versioned content management server system.
19. The method of
receive content from at least one versioned content management server system;
receive delivery requests for content; and
transmit content in response to the received delivery requests.
20. The method of
identify one or more references to unmanaged content in the received content;
request unmanaged content based on the references to unmanaged content;
receive unmanaged content from at least one unmanaged content source; and
update the content to incorporate the referenced unmanaged content.
|
The current application is a continuation application of U.S. patent application Ser. No. 13/793,738, filed Mar. 11, 2013, the disclosure of which is incorporated herein by reference in its entirety.
The present invention relates to systems and methods for managing and publishing content and more specifically to managing and publishing managed content.
A content management system is a system configured to enable the management and publishing of content stored using the content management system. Content management systems organize and store a variety of content, such as documents, image data, video data, and audio data utilizing a back-end storage system. Content management systems also provide functionality to centralize the publishing of those documents, such as via one or more web sites. By providing centralized functionality for the publishing of documents, a content management system provides a convenient way to host and manage a variety of web sites from a single back-end storage system.
The Internet is a global system of interconnected computer networks. Varieties of services are provided on the Internet, including websites. Websites include a variety of content, such as text, pictures, audio data, video data, and other interactive content. Web sites are typically hosted using content servers and a web browser is an application that enables a user to receive, view, and interact with a websites hosted on content servers. A variety of web browsers are commonly used to view websites, including Internet Explorer from Microsoft Corporation of Redmond, Wash. and the Chrome browser from Google, Inc. of Mountain View, Calif.
Many documents, including web pages within a website, are written using the Hypertext Markup Language (HTML). A HTML document contains a set of nested tags. HTML tags include data stored in the tag, either as a property of the tag or between an opening tag and a closing tag. Web browsers do not display the HTML tags; rather, web browsers are configured to parse a HTML document and render one or more web pages including the information stored in the HTML tags. Cascading Style Sheets (CSS) are used to describe the formatting and display of a document when it is rendered. CSS can be used to describe the formatting of a variety of documents, including HTML documents and other documents, such as documents written using the Extensible Markup Language (XML). A single document can have a variety of associated CSS, so that the document can be rendered in a variety of ways depending on the capabilities of the device used to display the document. For example, a HTML document can be rendered with one format in a web browser on a desktop computer using a CSS designed for a desktop browser, while the same HTML document can be rendered in a second format in a web browser running on a mobile phone using a second CSS designed for a mobile browser.
Many web pages utilize scripts in order to provide flexibility in the creation and display of a web page. Scripts can be written in a variety of languages, including JavaScript by the Mozilla Foundation of Mountain View, Calif. and ECMAScript, standardized as ECMA-262 by ECMA International of Geneva, Switzerland. Web browsers are configured to parse and execute scripts contained in web pages. These scripts can control the appearance of a web page, customize the content according to the preferences of a user viewing the web page, and allow for data to be received using the web page. Scripts can be server-side, where the script is run on a content server, or client-side, where the script is run using the web browser receiving the script.
Systems and methods for content management server systems configured to manage and publish managed content in accordance with embodiments of the invention are disclosed. In one embodiment, a versioned content management server system, includes a processor, a memory connected to the processor and configured to store a versioned content management application, and content storage configured to store managed content, wherein managed content includes content and content version metadata associated with the content and wherein the versioned content management application configures the processor to receive updated content, where the updated content is associated with author data, locate managed content stored in the content storage device based on the received updated content, determine version data based on a portion of the located managed content, the received updated content, and the author data, update the content version metadata data based on the updated content and the version data, associate the updated version content data with the managed content, receive a request for content, where the request for content includes a requested content version and requesting device capabilities, identify a portion of the managed content that corresponds to the requested content version and requesting device capabilities, retrieve the identified portion of the managed content, and transmit the retrieved portion of the managed content.
In another embodiment of the invention, the versioned content management application further configures the processor to transmit the retrieved portion of the managed content to a content display device, where the content display device is configured to display the transmitted content.
In an additional embodiment of the invention, the content display device is configured to determine performance data based on the received content and transmit the determined performance data to the versioned content management server system.
In yet another additional embodiment of the invention, the versioned content management application further configures the processor to receive performance data related to the identified portion of the managed content and include the performance data with the content version metadata associated with the identified portion of the managed content.
In still another additional embodiment of the invention, the versioned content metadata includes performance data related to interactions with the portion of the managed content associated with the versioned content metadata.
In yet still another additional embodiment of the invention, the versioned content management application further configures the processor to identify the portion of the managed content corresponding to the requested content based on the performance data.
In yet another embodiment of the invention, the managed content includes a first portion of content and a second portion of content, where the first portion of content and the second portion of content are related via a hierarchical relationship and wherein the versioned content management application further configures the processor to identify changes between the obtained content, the first portion of content, and the second portion of content, generate content version metadata using the identified changes, and generate the obtained content using the content version metadata and the first portion of content.
In still another embodiment of the invention, the versioned content management application further configures the processor to obtain unmanaged content, incorporate the unmanaged content into the retrieved portion of the managed content to create merged content, and transmit the merged content.
In yet still another embodiment of the invention, the versioned content management application further configures the processor to transmit the retrieved portion of the managed content to a content delivery server system, where the content delivery server system is configured to receive content from at least one versioned content management server system, receive delivery requests for content, and transmit content in response to the received delivery requests.
In still another additional embodiment of the invention, the content delivery server system is configured to identify one or more references to unmanaged content in the received content, request unmanaged content based on the references to unmanaged content, receive unmanaged content from at least one unmanaged content source, and update the content to incorporate the referenced unmanaged content.
Yet another embodiment of the invention includes a method for managing versioned content including receiving updated content using a versioned content management server system, where the updated content is associated with author data, locating managed content stored in the versioned content management server system based on the received updated content using the versioned content management server system, determining version data based on a portion of the located managed content, the received updated content, and the author data using the versioned content management server system, updating the content version metadata data based on the updated content and the version data using the versioned content management server system, associating the updated version content data with the managed content using the versioned content management server system, receiving a request for content using the versioned content management server system, where the request for content includes a requested content version and requesting device capabilities, identifying a portion of the managed content that corresponds to the requested content version and requesting device capabilities using the versioned content management server system, retrieving the identified portion of the managed content using the versioned content management server system, and transmitting the retrieved portion of the managed content using the versioned content management server system.
In yet another additional embodiment of the invention, managing versioned content further includes transmitting the retrieved portion of the managed content to a content display device using the versioned content management server system, where the content display device is configured to display the transmitted content
In still another additional embodiment of the invention, the content display device is configured to determine performance data based on the received content and transmit the determined performance data to the versioned content management server system.
In yet still another additional embodiment of the invention, managing versioned content further includes receiving performance data related to the identified portion of the managed content using the versioned content management server system and including the performance data with the content version metadata associated with the identified portion of the managed content using the versioned content management server system.
In yet another embodiment of the invention, the versioned content metadata includes performance data related to interactions with the portion of the managed content associated with the versioned content metadata.
In still another embodiment of the invention, managing versioned content further includes identifying the portion of the managed content corresponding to the requested content based on the performance data using the versioned content management server system.
In yet still another embodiment of the invention, managing versioned content further includes identifying changes between the obtained content, a first portion of content, and a second portion of content using the versioned content management server system, where the managed content includes the first portion of content and the second portion of content, where the first portion of content and the second portion of content are related via a hierarchical relationship, generating content version metadata based on the identified changes using the versioned content management server system, and generating the obtained content based on the content version metadata and the first portion of content using the versioned content management server system.
In yet another additional embodiment of the invention, managing versioned content further includes obtaining unmanaged content using the versioned content management server system, incorporating the unmanaged content into the retrieved portion of the managed content to create merged content using the versioned content management server system, and transmitting the merged content using the versioned content management server system.
In still another additional embodiment of the invention, managing versioned content further includes transmitting the retrieved portion of the managed content to a content delivery server system using the versioned content management server system, where the content delivery server system is configured to receive content from at least one versioned content management server system, receive delivery requests for content, and transmit content in response to the received delivery requests.
In yet still another additional embodiment of the invention, the content delivery server system is configured to identify one or more references to unmanaged content in the received content, request unmanaged content based on the references to unmanaged content, receive unmanaged content from at least one unmanaged content source, and update the content to incorporate the referenced unmanaged content.
Turning now to the drawings, systems and methods for managing and publishing managed content in accordance with embodiments of the invention are illustrated. Versioned content management server systems in accordance with embodiments of the invention are configured to receive, store, and transmit managed content. In a variety of embodiments, managed content includes content data and a set of versioning data, where a subset of the versioning data can be combined with the content data to create a version of the managed content. In a number of embodiments, versioning data is stored using content version metadata associated with the managed content. In many embodiments, one or more versions of managed content can refer to pieces of unmanaged content (i.e. content located on remote servers and/or content that does not include versioning data that can be utilized to generate alternative versions of the content). The unmanaged content can be stored using the versioned content management server system and/or an external unmanaged content source.
Versioned content management server systems in accordance with many embodiments of the invention can receive modified versions of managed content and track the differences between currently stored managed content and the received modified content. The tracked differences can be included in the versioning data for the managed content. In this way, versioned content management server systems can simultaneously store a number of versions of the managed content and transmit an appropriate version of the managed content in response to a request for (a particular version of) the managed content. In a variety of embodiments, versioned content management server systems include content version decision data associated with one or more pieces of managed content describing one or more conditions associated with providing versions of the managed content in response to a content request. Content requests can be received from a variety of devices, including content delivery server systems and content display devices; other devices can request content from and/or provide content to versioned content management server systems as appropriate to the requirements of specific applications in accordance with embodiments of the invention.
Content display devices and content delivery server systems in accordance with embodiments of the invention are configured to request one or more pieces of managed content from a versioned content management server system and/or from a content delivery server system. Content delivery server systems are configured to request one or more versions of managed content from a versioned content management server system and/or an unmanaged content source, store the requested content, and deliver the stored content in response to requests for the stored content from content display devices. Content display devices include devices running web browsers configured to display hypertext markup language (HTML) web pages using cascading style sheets (CSS) and one or more scripts. In a number of embodiments, the CSS are used to define the HTML defining the web page and the CSS are utilized to define and style the content and/or the activity zones. These scripts can be contained in one or more files included in the web page and/or included inline in the web page. The scripts can be written in any scripting language known to one of ordinary skill in the art including, but not limited to, JavaScript and ECMAScript. In many embodiments, the content transmitted in response to a request from a content display device and/or a content delivery server system by a versioned content management server system is customized based on a number of factors, including the time the content is requested by the device, the location of the device, content previously provided to the requesting device and/or other devices, and the capabilities of the requesting device. Other factors can be utilized to customize the managed content transmitted by a versioned content management server system as appropriate to the requirements of specific applications in accordance with embodiments of the invention.
Although versioned content management server systems configured to store and transmit managed content are described above with respect to managed content including HTML, CSS, and one or more scripts, any variety of content, including image data, audio data, video data, and text data, can be managed and transmitted by versioned content management server systems as appropriate to the requirements of specific applications in accordance with embodiments of the invention. Systems and methods for content delivery systems including versioned content management server systems in accordance with embodiments of the invention are described below.
Content Delivery System Overview
Content delivery systems in accordance with embodiments of the invention are configured to receive and manage content using versioned content management server systems and provide one or more versions of the managed content to content display devices and/or content delivery server systems. A content delivery system in accordance with an embodiment of the invention is conceptually illustrated in
In a variety of embodiments, the content display devices are configured to request content from the versioned content management server system 112. The versioned content management server system 112 is configured to identify at least one version of the managed content stored using the versioned content management server system 112 and transmit the identified content to the requesting content display device. Processes for identifying versions of managed content in response to requests for content are discussed in detail below. In many embodiments, content display devices are configured to request one or more pieces of unmanaged content from the unmanaged content source 114, the versioned content management server system 112, and/or the content delivery server system 110 and generate one or more pieces of content using content received in response to the requests. In a number of embodiments, the content delivery server system 110 is configured to receive managed content from the versioned content management server system 112 and/or unmanaged content from an unmanaged content source 114 and combine the received pieces of content into one or more pieces of merged content. The content delivery server system 110 is further configured to transmit at least one piece of the generated content in response to requests for content from content display devices. In several embodiments, the content delivery server system 110, the versioned content management server system 112, and/or the unmanaged content source 114 is configured to customize the content transmitted in response to the request for content based upon the capabilities of the requesting device, the location of the requesting device, the time the request for content was made (and/or processed), the content being provided, and/or other content that has been previously provided. Capabilities of a content display device and/or a content delivery server system include, but are not limited to, the resolution of the display associated with the device, the web browser or other content display application utilized to display the content, the processing capabilities of the device, the input device(s) connected to the device, the data format expected by the device, and/or differences in the manner in which data is stored between the versioned content management server system 112 and the requesting device. Any capabilities of content display devices and/or content delivery server systems not specifically described above can be utilized as appropriate to the requirements of specific applications in accordance with embodiments of the invention.
Although a specific content delivery system is conceptually illustrated in
Versioned Content Management Server Systems
Versioned content management server systems in accordance with embodiments of the invention are configured to receive, store, and manage content and transmit one or more versions of the managed content in response to requests for content. A conceptual illustration of a versioned content management server system in accordance with an embodiment of the invention is shown in
The versioned content management application 232 configures the processor 210 to receive requests for managed content 234 and transmit one or more versions of the managed content 234 based on the received request and the content version metadata 236 using the network interface 220. Requesting devices include, but are not limited to, content delivery server systems and content display devices. In several embodiments, the versioned content management application 232 configures the processor 210 to locate one or more pieces of managed content 234 satisfying the received request for content. In many embodiments, the versioned content management application 232 configures the processor 210 to generate one or more versions of the managed content 234 using the content version metadata 236 and/or the content version decision data 238 to satisfy the received request for content. In a number of embodiments, the versioned content management application 232 configures the processor 210 to customize the located and/or generated content based on the capabilities of the requesting device and/or content version decision data 238.
In many embodiments, content version decision data 238 includes a variety of conditions indicating the version (or versions) of managed content 234 to provide in response to a request for content. In a variety of embodiments, conditions include one or more dates and/or times to provide one or more versions of managed content 234 and/or the number of times one or more versions of managed content 234 should be provided. Other conditions and/or decisions regarding the delivery of various versions of managed content 234 can be utilized to determine particular versions of the managed content 234 to be provided in response to a request for content as appropriate to the requirements of specific applications in accordance with embodiments of the invention. In a number of embodiments, the versioned content management application 232 configures the processor 210 to receive additional content, identify managed content 234 corresponding to the additional content, generate content version metadata 236 describing the differences between the additional content and the identified managed content 234, and store the additional data and/or the generated content metadata 236. In many embodiments, the versioned content management application 232 configures the processor 210 to receive input data and utilize the received input data in the generation and/or modification of content version metadata 236. In a number of embodiments, the versioned content management application 232 configures the processor 210 to receive performance data with respect to the managed content 234 and update the content version metadata 236 based on the received performance data. In several embodiments, the received performance data is related to tracked interactions with the managed content including, but not limited to, mouse movements, mouse clicks, key presses, touch interactions, swipe interactions, rotation interactions, and voice input. Other performance data and interactions used to determine performance data can be utilized as appropriate to the requirements of specific applications in accordance with embodiments of the invention.
In many embodiments, the versioned content management application 232 configures the processor 210 to transmit and/or receive managed content 234, content version metadata 236, and/or content version decision data 238 utilizing the hypertext transfer protocol (HTTP) and/or a secured version of HTTP, such as HTTP Secure. HTTP is defined in RFC 2616, published by the Internet Engineering Task Force (IETF). In a number of embodiments, the versioned content management application 232 configures the processor 210 to receive and/or transmit managed content 234, content version metadata 236, and/or content version decision data 238 via the File Transfer Protocol (FTP) and/or a secured version of FTP, such as FTP Secure. FTP is defined in RFC 959, along with several extensions in RFC 2228 and RFC 2428, published by the IETF. RFCs 959, 2228, 2428, and 2616 are hereby incorporated by reference in their entirety. In other embodiments, any of a variety of stateless and/or stateful data transfer protocols can be utilized to transmit and/or receive content as appropriate to the requirements of specific applications in accordance with embodiments of the invention.
Although a specific architecture for a versioned content management server system in accordance with an embodiment of the invention is conceptually illustrated in
Providing Managed Content
By utilizing managed content and associated content version metadata, versioned content management server systems in accordance with embodiments of the invention are capable of hosting and transmitting multiple versions of the managed content in response to different requests for content. This allows versioned content management server systems to host both a variety of different pieces of managed content and multiple versions of each piece of managed content simultaneously. A process for identifying and transmitting managed content in accordance with an embodiment of the invention is illustrated in
In many embodiments, a content request is obtained (310) from a content display device configured to display content and/or a content display server system configured to retrieve content and provide the retrieved content to content display devices. In a number of embodiments, the obtained (310) content request identifies (312) the managed content and/or the desired version of the managed content. In several embodiments, identifying (312) managed content includes utilizing content version decision data along with the obtained (310) content request. In a number of embodiments, identifying (312) managed content is based on performance data associated with the managed content. Content can be transmitted (316) via any number of protocols and/or techniques as described above.
In a variety of embodiments, generating (314) content includes identifying (312) one or more pieces of managed content and utilizing those pieces of managed content. Identifying (312) the pieces of managed content can be based on content version metadata associated with the managed content. In many embodiments, generating (314) content includes merging a piece of managed content with one or more content changes described in content version metadata associated with the piece of managed content. Processes for merging pieces of content to generate (314) content are described further below.
Although a specific process for providing managed content is described above with respect to
Obtaining and Storing Managed Content
When hosting content, it is often desirable to store a variety of versions of the content. By storing a variety of versions, different presentations and/or revisions of the content can be transmitted in response to requests for the content. Additionally, if any of the revisions of the content are defective, requests for the defective content can easily be redirected towards a non-defective revision of the content in real time. Versioned content management server systems in accordance with embodiments of the invention are configured to host a variety of versions of managed content and transmit versions of the hosted content in response to requests for content. A process for storing managed content in accordance with embodiments of the invention is illustrated in
In several embodiments, locked (410) content is associated with one or more pieces of author data, where the author data indicates a user and/or device authorized to modify the content. In a variety of embodiments, obtained (412) content includes obtained content version metadata describing versioning information regarding a piece of managed content. In a number of embodiments, obtained (412) content does not have any corresponding managed content. In many embodiments, managed content is located (414) using the obtained content version metadata associated with the obtained (412) content. In a variety of embodiments, managed content is located (414) by manually identifying a piece of managed content selected from one or more pieces of managed content identified as being similar to the obtained (412) content.
In many embodiments, version data is determined (416) based on the obtained content version metadata and/or differences between the obtained (412) content and the located (414) managed content. In several embodiments, content version metadata is generated (418) by manually merging conflicts between the obtained (412) content and the located (414) managed content. Conflicts can be automatically merged utilizing a variety of techniques, such as three-way merges, recursive three-way merges, fuzzy patching, weave merging, and rebasing, in accordance with embodiments of the invention. In a number of embodiments, the managed content and the content changes can be arranged in a hierarchical relationship and generating (314) content includes merging content changes with the managed content, where the generated (314) content utilizes the content changes having the managed content as a common ancestor in the hierarchical relationship. Other techniques, including those utilizing non-hierarchical relationships between pieces of content, such as directed acyclic graphs and ontologies, can be utilized as appropriate to the requirements of specific applications in accordance with embodiments of the invention.
In several embodiments, the content version metadata generated (418) includes performance data taken from the located (414) managed content. In a number of embodiments, the generated (418) content version metadata includes the determined (416) version data, the author data, the obtained content version metadata, and/or time information. Other data including, but not limited to, branch data, label data, check in/check out data, and merge data, can be included in the content version metadata as appropriate to the requirements of specific applications in accordance with embodiments of the invention. In a variety of embodiments, storing (420) managed content includes storing the generated (418) content version metadata and associating the content version metadata with the located (414) managed content using a hierarchical relationship and/or a graph-based relationship structure. In a variety of embodiments, storing (420) managed content includes unlocking the locked (410) content. Content can be unlocked by modifying the content version metadata associated with the locked (410) content.
A specific process for obtaining and storing managed content is described above with respect to
Presenting Alternative Versions of Managed Content
Content developers often wish to present particular versions of content on particular days and/or test multiple versions of content in order to measure the relative effectiveness of the various versions of content. Versioned content management server systems in accordance with embodiments of the invention are configured to dynamically provide different versions of managed content based on one or more decision factors. A process for dynamically presenting alternative versions of managed content in accordance with embodiments of the invention is illustrated in
In a number of embodiments, the obtained (510) content version decision data includes one or more decision factors. Decision factors that can be utilized include the time of a content request, the number of times a particular version of one or more pieces of managed content are provided, the version or versions of the managed content to be transmitted, performance data associated with one or more versions of the managed content, and the device and/or user associated with a content request. Other decision factors can be utilized as appropriate to the requirements of specific applications in accordance with embodiments of the invention. In many embodiments, a content request is obtained (512) and/or managed content is located (514) utilizing processes similar to those described above. In several embodiments, the obtained (512) content request includes the time the request was made, the capabilities of the device providing the content request, and/or user data associated with the content request; other information can be included in the content request as appropriate to the requirements of specific applications in accordance with embodiments of the invention. In a number of embodiments, managed content is located (514) based on the obtained (510) content version decision data and the obtained (512) content request. In a variety of embodiments, the transmitted (516) content is a version of the located (514) managed content generated utilizing processes similar to those described above. In several embodiments, the transmitted (516) content is the located (514) managed content.
By way of example, by basing the version of the managed content to provide on the time of the request for content, a version of the located (514) managed content can be developed for events on particular days and times (such as holidays and other noteworthy events) in advance of the event and automatically presented in response to obtained (512) content requests on those identified days and times without taking any additional action. When the indicated time and/or event has ended, the original version of the content (or a newer version) is automatically transmitted (520) in response to obtained (512) content requests without any additional work necessary to either update the managed content or roll the managed content back to a previous version. As a second example, multiple variants for the same piece of managed content can be created in order to test the relative performance of the variants of the managed content. The obtained (510) content version decision data indicates the variants of the managed content to present and the desired criteria to transmit (516) a particular version of the located (514) managed content. In several embodiments, the criteria can include (but are not limited to) presenting certain versions of the located (514) managed content based on geolocation data indicating the location of the device from which the content request was obtained (512), the time at which the content request was obtained (512), and/or the number of times each version of the managed content has been transmitted (520). In this way, the obtained (510) content version decision data can be utilized to perform comparison testing of multiple versions of located (514) managed content, geographic-based targeting of content, and/or time-based targeting of content.
Although a specific process for presenting alternative versions of managed content is described above with respect to
Tracking Managed Content Performance
It is often useful to track the performance of various versions of managed content. The tracked performance data can be associated with the appropriate versions of the managed content and used to identify those versions that perform well and/or poorly. Versioned content management server systems in accordance with embodiments of the invention are configured to receive and store performance data associated with various versions of managed content. A process for associating performance information with one or more versions of managed content in accordance with embodiments of the invention is illustrated in
In a variety of embodiments, performance information is obtained (610) from content delivery server systems providing content to content display devices. In many embodiments, performance information is obtained (610) from a client display device. In several embodiments, the performance information is obtained (610) based on comparison testing of versions of managed content utilizing processes similar to those described above. In a number of embodiments, the performance information contains engagement data. Systems and methods for determining performance information for content that can be utilized in accordance with embodiments of the invention are disclosed in U.S. patent application Ser. No. 13/792,855, titled “Systems and Methods for Categorizing and Measuring Engagement with Content” and filed Mar. 11, 2013, the disclosure of which is hereby incorporated by reference in its entirety. In several embodiments, locating (612) managed content utilizes the obtained (610) performance information to identify the managed content and/or a version of the managed content. In a variety of embodiments, updating (614) the content version metadata includes associating the obtained (610) performance information with the located (612) managed content and/or one or more pieces of content version metadata associated with the located (612) managed content.
A specific process for tracking the performance of different versions of managed content is described above with respect to
Although the present invention has been described in certain specific aspects, many additional modifications and variations would be apparent to those skilled in the art. It is therefore to be understood that the present invention can be practiced otherwise than specifically described without departing from the scope and spirit of the present invention. Thus, embodiments of the present invention should be considered in all respects as illustrative and not restrictive. Accordingly, the scope of the invention should be determined not by the embodiments illustrated, but by the appended claims and their equivalents.
Patent | Priority | Assignee | Title |
10049085, | Aug 31 2015 | Qualtrics, LLC | Presenting views of an electronic document |
10430497, | Aug 31 2015 | Qualtrics, LLC | Presenting views of an electronic document |
10455020, | Mar 11 2013 | MAVEN COALITION, INC | Systems and methods for managing and publishing managed content |
10521503, | Sep 23 2016 | Qualtrics, LLC | Authenticating a respondent to an electronic survey |
10706735, | Oct 31 2016 | Qualtrics, LLC | Guiding creation of an electronic survey |
10909868, | Oct 31 2016 | Qualtrics, LLC | Guiding creation of an electronic survey |
11017166, | Sep 23 2016 | Qualtrics, LLC | Authenticating a respondent to an electronic survey |
11113448, | Aug 31 2015 | Qualtrics, LLC | Presenting views of an electronic document |
11568754, | Oct 31 2016 | Qualtrics, LLC | Guiding creation of an electronic survey |
Patent | Priority | Assignee | Title |
5848396, | Apr 26 1996 | Conversant, LLC | Method and apparatus for determining behavioral profile of a computer user |
5935004, | Aug 28 1995 | COMCAST MO GROUP, INC | System and method for scheduled delivery of a software program over a cable network |
6167441, | Nov 21 1997 | PayPal, Inc | Customization of web pages based on requester type |
6230204, | Dec 19 1997 | U S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT | Method and system for estimating usage of computer resources |
6260040, | Jan 05 1998 | International Business Machines Corporation | Shared file system for digital content |
6385591, | May 11 1999 | Method and system for electronic organization of coupons | |
6553178, | Feb 07 1992 | NISSIM CORP | Advertisement subsidized video-on-demand system |
6611358, | Jun 17 1997 | Lucent Technologies Inc. | Document transcoding system and method for mobile stations and wireless infrastructure employing the same |
6690481, | Jul 20 1999 | Canon Kabushiki Kaisha | Internet-based push printing over cable network |
6834372, | Feb 10 2000 | International Business Machines Corporation | Internet web browser with proximity sensitie hyperlink history report |
7028001, | Dec 27 1999 | Motorola, Inc. | System and method for measuring web page advertisement impressions |
7055169, | Apr 19 2002 | OPENTV, INC | Supporting common interactive television functionality through presentation engine syntax |
7133837, | Jun 29 2000 | GULA CONSULTING; Gula Consulting Limited Liability Company | Method and apparatus for providing communication transmissions |
7188085, | Jul 20 2001 | SANDPIPER CDN, LLC | Method and system for delivering encrypted content with associated geographical-based advertisements |
7213005, | Dec 09 1999 | International Business Machines Corporation | Digital content distribution using web broadcasting services |
7386473, | Sep 03 1996 | Comscore, Inc | Content display monitoring by a processing system |
7631330, | Feb 25 2005 | Yahoo Ad Tech LLC | Inserting branding elements |
7680932, | Sep 20 2002 | PTC INC ; PTC CANADA INC | Version control system for software development |
7685191, | Jun 16 2005 | Gula Consulting Limited Liability Company | Selection of advertisements to present on a web page or other destination based on search activities of users who selected the destination |
7694271, | Feb 26 2004 | AXURE SOFTWARE SOLUTIONS, INC | Rendering GUI widgets with generic look and feel |
7702318, | Sep 14 2005 | BLUE HILLS, SERIES 95 OF ALLIED SECURITY TRUST I | Presentation of sponsored content based on mobile transaction event |
7734503, | Sep 29 2004 | GOOGLE LLC | Managing on-line advertising using metrics such as return on investment and/or profit |
7840911, | Sep 27 2004 | CUFER ASSET LTD L L C | Method and apparatus for enhanced browsing |
7930206, | Nov 03 2003 | GOOGLE LLC | System and method for enabling an advertisement to follow the user to additional web pages |
7954064, | Nov 18 2005 | Apple Inc | Multiple dashboards |
8306859, | Jul 23 2007 | Microsoft Technology Licensing, LLC | Dynamic configuration of an advertisement |
8386317, | Jul 23 2007 | Microsoft Technology Licensing, LLC | Full page video advertisement |
8401903, | Jul 21 2006 | Microsoft Technology Licensing, LLC | Interactive advertising |
8494907, | Jul 21 2006 | Microsoft Technology Licensing, LLC | Systems and methods for interaction prompt initiated video advertising |
8819116, | Mar 08 2010 | Amazon Technologies, Inc | Providing services using a device capabilities service |
20010052000, | |||
20020067730, | |||
20020077900, | |||
20020078456, | |||
20020113813, | |||
20030101230, | |||
20030117433, | |||
20030120541, | |||
20040010806, | |||
20040015398, | |||
20040093327, | |||
20050015461, | |||
20050038900, | |||
20050096979, | |||
20050096980, | |||
20050137958, | |||
20050138656, | |||
20050216342, | |||
20050216936, | |||
20050267813, | |||
20050275626, | |||
20060173974, | |||
20060173985, | |||
20060253584, | |||
20070043617, | |||
20070124756, | |||
20070276729, | |||
20070300152, | |||
20080183568, | |||
20080244038, | |||
20080276269, | |||
20080276272, | |||
20090326966, | |||
20100049699, | |||
20100134828, | |||
20110202535, | |||
20110231265, | |||
20110282933, | |||
20130054559, | |||
20130073402, | |||
20130117129, | |||
20130291012, | |||
20140136347, | |||
20140244407, | |||
20140245125, | |||
20140258373, | |||
20140258847, | |||
20160217494, | |||
WO38428, | |||
WO203706, | |||
WO2014133627, | |||
WO9741673, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
May 03 2016 | SAY Media, Inc. | (assignment on the face of the patent) | / | |||
Sep 27 2016 | LERMAN, DAVID ROSS | SAY MEDIA, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 039897 | /0649 | |
Sep 06 2017 | SAY MEDIA, INC | Silicon Valley Bank | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 043533 | /0838 | |
Sep 28 2017 | SAY MEDIA, INC | SAY WHAT LLC | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 043858 | /0489 | |
Jun 10 2019 | SAYMEDIA, INC | BRF FINANCE CO , LLC | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 049820 | /0933 | |
Jun 10 2019 | HUBPAGES, INC | BRF FINANCE CO , LLC | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 049820 | /0933 | |
Jan 06 2020 | SAY MEDIA, INC | MAVEN COALITION, INC | CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 051980 | /0716 | |
Feb 21 2020 | MAVEN COALITION, INC | FPP FINANCE LLC | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 051905 | /0156 |
Date | Maintenance Fee Events |
Aug 28 2020 | M2551: Payment of Maintenance Fee, 4th Yr, Small Entity. |
Aug 28 2024 | M2552: Payment of Maintenance Fee, 8th Yr, Small Entity. |
Date | Maintenance Schedule |
Feb 28 2020 | 4 years fee payment window open |
Aug 28 2020 | 6 months grace period start (w surcharge) |
Feb 28 2021 | patent expiry (for year 4) |
Feb 28 2023 | 2 years to revive unintentionally abandoned end. (for year 4) |
Feb 28 2024 | 8 years fee payment window open |
Aug 28 2024 | 6 months grace period start (w surcharge) |
Feb 28 2025 | patent expiry (for year 8) |
Feb 28 2027 | 2 years to revive unintentionally abandoned end. (for year 8) |
Feb 28 2028 | 12 years fee payment window open |
Aug 28 2028 | 6 months grace period start (w surcharge) |
Feb 28 2029 | patent expiry (for year 12) |
Feb 28 2031 | 2 years to revive unintentionally abandoned end. (for year 12) |