US20100279766A1 - Video Player Including Embedded Purchasing - Google Patents
Video Player Including Embedded Purchasing Download PDFInfo
- Publication number
- US20100279766A1 US20100279766A1 US12/433,792 US43379209A US2010279766A1 US 20100279766 A1 US20100279766 A1 US 20100279766A1 US 43379209 A US43379209 A US 43379209A US 2010279766 A1 US2010279766 A1 US 2010279766A1
- Authority
- US
- United States
- Prior art keywords
- video player
- purchase
- code
- providing
- buy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/162—Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
- H04N7/163—Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/47815—Electronic shopping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
- H04N21/8193—Monomedia components thereof involving executable data, e.g. software dedicated tools, e.g. video decoder software or IPMP tool
Definitions
- the subject matter disclosed herein relates video players.
- Video players have become commonplace, allowing users to access video content on websites. For example, each day millions of users access websites, such as You Tube, MySpace, and the like, with a web browser including a plug-in (e.g., a Flash video player plug-in) to access information (also referred to as content).
- websites such as You Tube, MySpace, and the like
- a plug-in e.g., a Flash video player plug-in
- content also referred to as content.
- these websites use traditional, Internet advertising, relying on, among other things, simple ad placement on a webpage and so-called “sponsored links” provided with search results.
- the subject matter disclosed herein provides methods and apparatus, including computer program products, for video players configured to include an embedded purchase feature.
- a computer-implemented method may provide video content to a video player including a buy mechanism embedded within the video player.
- the buy mechanism may be configured to enable a selection of the buy mechanism to make a purchase.
- the method may also include receiving an indication representative of a purchase being made using the buy mechanism.
- a computer-implemented method may include receiving one or more blocks; inserting one or more characters into at least one of the blocks to fill the block to a predetermined block size; and encrypting the one or more blocks, the encryption of the first block using an initialization vector that does not result in a shift of the first block when processed with an exclusive OR.
- Articles are also described that comprise a computer-readable medium (e.g., tangibly embodied machine-readable medium) operable to cause one or more machines to result in operations described herein.
- a system e.g., a computer
- the memory may include one or more programs that cause the processor to perform one or more of the operations described herein.
- FIG. 1 shows a block diagram of a system 100 for providing a video player embedded with a buy mechanism
- FIG. 2A depicts a process for purchasing using the video player embedded with the buy mechanism
- FIG. 2B depicts an example webpage including the client video player with the embedded buy icon
- FIG. 2C depicts a webpage generated to allow registration
- FIG. 2D depicts a webpage provided to a user interface at a website to allow the website to register as an affiliate
- FIG. 2E depicts webpages 284 A generated after the buy icon is selected to allow a user to confirm that a purchase has been made
- FIG. 3 depicts a process 300 for making a purchase using the video player embedded with a buy mechanism
- FIG. 4 depicts another process 400 for making a purchase using the video player embedded with a buy mechanism
- FIG. 5 depicts an example implementation of a delivery server 110 ;
- FIG. 6 depicts an encryption process 600 .
- FIG. 7 depicts an example of an encryption module 514 configured in accordance with process 600 .
- FIG. 1 depicts a block diagram of a system 100 including a delivery server 110 , one or more websites 115 A-C, and a processor 180 , all of which are coupled by a network 150 (e.g., the Internet).
- a network 150 e.g., the Internet
- the delivery server 110 may be implemented as one or more processors, such as computers, blades, servers, and the like.
- the delivery server 110 may be accessible via the Internet.
- the delivery server 110 may also include an application server 112 A (including an application programming interface (API) for controlling the delivery of (and/or the access to) content provided by a video server 112 B, which delivers content (e.g., video, music, or any other information) to a video player configured with an embedded buy mechanism (which is described further below).
- an application server 112 A including an application programming interface (API) for controlling the delivery of (and/or the access to) content provided by a video server 112 B, which delivers content (e.g., video, music, or any other information) to a video player configured with an embedded buy mechanism (which is described further below).
- content e.g., video, music, or any other information
- the video server 112 B is depicted at delivery server 110 , in some implementations the video server 112 B is at one or more other locations
- the video server 112 B may be configured to provide data (e.g., a stream of video) to a client video player, such as a client video player 162 (which is described further below).
- the data including the stream of video may be formatted in a variety of formats.
- the video server 112 B may be implemented to operate with a client video player using the Flash format.
- the video server 112 B communicates with one or more client video players, such as client video player 162 via a transport control protocol (TCP) connection using hypertext transport protocol (HTTP) calls and the real time messaging protocol (RTMP).
- TCP transport control protocol
- HTTP hypertext transport protocol
- RTMP real time messaging protocol
- a request to serve a video stream from a client video player is handled by the video server 112 B (e.g., an application instance operating within a virtual host, or machine, at distribution system 110 ), and the video stream may be data in a format, such as FLV files (Flash Video Files).
- FLV refers to a binary file format providing bit mapped video, although other formats may be used as well.
- the delivery server 110 may also include a login registration module to register a user of the video player and assign privileges (e.g., what the user is authorized to view, purchase, etc.). Registration by a user making a purchase at client video player may include providing one or more of the following: an identity (e.g., a name, a password, etc.), an address, a credit card number, and the like.
- an identity e.g., a name, a password, etc.
- an address e.g., a credit card number, and the like.
- the websites 115 A-C may be implemented as one or more processors accessible via the Internet and serving webpages, when accessed by a user interface, such as a web browser.
- the processor 180 may be implemented as any type of processor, such as a computer, a mobile device (e.g., smart phone, mobile phone, wireless computer), and the like, with wired and/or wireless connectivity to network 150 .
- the processor 180 may further include a user interface 160 , which further includes a client video player 162 with an embedded purchase feature (labeled buy 164 ).
- the user interface 160 may be implemented as any mechanism to provide an interface to a user.
- the user interface 160 is implemented as a web browser (e.g., Microsoft Internet Explorer), although other types of browsers and user interfaces may be used as well.
- the user interface 160 may include the client video player 162 as a plug-in (e.g., a computer-executed program interacting with a host browser application).
- the client video player 162 is configured as a Flash client configured to operate with the video server 112 B described above, although formats other than Flash may be used as well.
- the one or more websites 115 A-C may include a snippet of code (also referred to herein as a “code snippet”).
- the code snippet may be included in a webpage generated by one of the websites 115 A-C, in which case the code snippet would be presented at user interface 160 when the webpage is accessed.
- the code snippet may have originated at delivery server 110 .
- an administrator of website 115 A may cut (e.g., copied) the snippet of code, which is available via a webpage at delivery server 110 , and paste the code into a webpage at website 115 A.
- the snippet of code may be copied from delivery server 110 , the snippet of code may be accessed and copied from other locations as well.
- an administrator of website 115 B may cut (i.e., copy) the snippet of code from another webpage at a website, such as website 115 C, and then paste the snippet of code into a webpage at website 115 B. This cut-and-paste process may be repeated one or more times.
- the snippet of code is disseminated in a viral manner.
- the snippet of code may be included in a webpage at a website, such that a user interface accessing the code snippet may access and select the code snippet in order to implement the client video player 162 including the embedded buy mechanism 164 .
- the snippet of code is hypertext markup language (HTML).
- HTML hypertext markup language
- the snippet of code may include embedded code, such as JavaScript, which, when executed, provides client video player 162 .
- JavaScript JavaScript
- the website hosting the snippet is registered as a so-called “affiliate” at delivery server 110 .
- the affiliate is identified using an affiliate identifier (e.g., eccbc87e) provided to the affiliate by the delivery server 110 , so that whenever a user selects the link, the delivery server 110 recognizes the affiliate identifier (e.g., to allocate any revenue from a purchase if the user selecting the link purchases a product or a service associated with the link, as described further below).
- an affiliate identifier e.g., eccbc87e
- code snippet may be a direct link, an example of which is as follows:
- the code snippet may also be implemented as a pop up link, an example of which is as follows:
- the user interface 160 accesses a webpage at a website, such as one of the websites 115 A-C.
- the user interface 160 may be used to select the snippet of code.
- video server 112 B may provide content to the client video player 162 .
- the content may include data (e.g., media, video, etc.), such as a video of a golf lesson or a preview of that video.
- the user interface 160 may also present the buy icon 164 , which is embedded in (e.g., included within) the client video player 162 .
- the buy icon 164 may be selected via user interface 160 (e.g., by clicking icon 164 ) to purchase the video content. Specifically, in the case of a preview of the video content, the buy 164 selection continues the presentation of the golf lesson video.
- the buy selection 164 may also represent a purchase of a product or a service. Continuing with the golf example, the purchase may correspond to a purchase of a golf accessory, such as a golf club or a golf lesson.
- the video content may be stored and thus provided by another website. When this is the case, an instance of the video server 112 B may be located at that other website.
- a purchase is executed. If the user is registered at delivery server 110 , the buy selection 164 may result in the purchased item being processed at delivery server 110 with little or no interaction with the user interface (or the user at user interface). For example, a user may have preregistered at delivery server 110 by providing a user identifier, a password, credit card information, and a delivery address, so that the buy 164 selection results in the delivery server 110 executing a purchase (e.g., of the video delivered to client video player and/or a golf club delivered to the delivery address stored at delivery server 110 ). In the case of a video purchase, the delivery server 110 thus handles (e.g., controls) delivery of the video content to the client video player 162 and other functions associated with the purchase. In the case of purchasing goods or services, the delivery server 110 may also initiate the delivery of the purchased good or service, track the delivery, etc.
- FIG. 2A depicts a process 200 for providing a snippet of code, which may be used to deliver video content to a video player including an embedded purchase feature.
- the snippet of code is included in a webpage at a website.
- the snippet of code may be copied from delivery server 110 and copied into a webpage at a website, such as website 115 A.
- the website 115 A may register with delivery server 110 , such that any purchases made via the webpage including the code snippet is credited to website 115 A.
- the website 115 A may be assigned an affiliate identifier, so that activity (e.g., initialization, login, purchase, etc.) made via the snippet of code is tracked and, if a purchase is made, a credit may be provided to the website 115 A.
- website 115 B may still register with delivery server 110 to receiver an affiliate identifier and thus allow credits to website 115 B as purchases are made at the client video player 162 accessing website 115 B (and, in particular, the webpage including the code snippet).
- the snippet of code is configured to allow viral dissemination to any webpage, although the webpage including the snippet of code may also be presented in other ways as well (e.g., email, social networking, etc.).
- the credit allocation to a website may be in the form of an amount (e.g., a dollar amount).
- an amount e.g., a dollar amount.
- the delivery server 110 may debit the credit card account of the user making the purchase via the client video player 162 .
- a portion of the proceeds from the purchase may be credited to delivery server 110 , and a portion may be credited, in this example, to website 115 B based on the affiliate identifier.
- a stream of information may be provided from a video server to a client video player.
- the stream may include information, including video content, webpages (also referred to as pages), etc.
- the video player presenting the content may be configured with an embedded buy 164 mechanism to allow a user of the client video player 162 to make a purchase by accessing the buy icon 164 .
- the video server 112 B may provide the information via a secure connection, such as a HTTPs (hypertext transport protocol secure) connection, to the client video player 162 .
- HTTPs hypertext transport protocol secure
- an indication is received.
- the indication represents that a purchase has been selected.
- the selection of the buy icon 164 may be made by clicking (e.g., with the mouse) the buy icon 164 .
- the selection of buy icon 164 may result in an indication (e.g., a message or an event representing a selection) being sent, such that it is received at the delivery server 110 .
- the received selection may result in a purchase being executed by delivery server 110 .
- FIG. 2B depicts an example webpage including the client video player 162 with the embedded buy icon 164 .
- FIG. 2C depicts a webpage 282 generated to allow registration (e.g., of a user that selects the code snippet to make a purchase or of an affiliate website hosting the code snippet) by selecting “Create Account” at 284 . If registered, a user may simply login at 283 by providing, for example, a name, an email address, and/or a password.
- the webpage 282 may allow the user to make a purchase (e.g., at 285 by providing payment information) after the buy icon 164 is selected.
- the webpage 282 is provided by delivery server 110 over a secure connection (e.g., a HTTPs connection) to user interface 160 and/or client video player 162 .
- client video player 162 acts as a secure proxy of a HTTPs server at delivery server 110 .
- the client video player 162 acting as a secure proxy, eliminates the need for the website including the snippet of code (e.g., website 115 B) to provide a secure server (e.g., a HTTPs server) because the secure server is provided by the delivery server 110 .
- FIG. 2D depicts a webpage 289 provided to a user interface at a website to allow the website to register as an affiliate.
- the website may include the snippet of code in a webpage at the website and receive credit when a purchase is made via the affiliate website.
- Webpage 289 allows the affiliate website to include the snippet of code either as a standard video player, a direct link, or as a pop up.
- the affiliate website earns 2% of any purchases, although other allocation schemes and amounts may be used as well.
- FIG. 2E depicts webpages 284 A generated after the buy icon 164 is selected to allow a user to confirm that a purchase.
- the type of purchase allows a selection between different licenses (e.g., download/stream 1 year, stream only, etc.), although other license types may be offered as well.
- the selection of buy icon 164 causes delivery server 110 to provide webpage 284 A to confirm the purchase.
- the user can make a purchase with two clicks (e.g., one to select the buy icon and a second to confirm the purchase 284 C).
- the webpage 284 A is not used, and, when this is the case, the user can make a purchase with one click (e.g., one to select the buy icon 164 ).
- the web webpage 284 may also be provided by delivery server 110 over a secure connection (e.g., a HTTPs connection) to user interface 160 and/or client video player 162 .
- Webpage 284 B depicts an example of a receipt provided to further confirm that the purchase has been made.
- FIG. 3 depicts a process 300 for using a client video player with an embedded buy 164 mechanism.
- video server 112 B may provide content, such as a preview of a movie, a commercial, an infomercial, an instructional video, or any other information, to client video player 162 .
- content such as a preview of a movie, a commercial, an infomercial, an instructional video, or any other information
- client video player 162 At any point during the presentation, the user might make a purchase using buy icon. 164 .
- buy icon. 164 For example, in the case of a movie preview, the user may be prompted to make a purchase by selecting buy 164 , in which case the movie is presented at client video player 162 .
- the user may be prompted to make a purchase of a good or a service by selecting the buy icon 164 .
- the content is described as being sourced from delivery server 110 , in some implementations, the content may be located in other locations, in which case a video server 112 B would be located at that location.
- a selection representative of a purchase is received.
- the selection of buy icon 164 at the client video player 162 may result in a message being sent to delivery server 110 , where an application programming interface (API) is accessed.
- API application programming interface
- delivery server 110 determines whether the user at a client video player is a registered user.
- the user at client video player 162 may be required to provide a user identifier and a password.
- metadata e.g., cookies associated with user interface 160
- a user is considered registered when one or more of the following is stored at delivery server 110 for the user: a user identifier, a password, a credit card number (including an expiration date), a delivery address, and the like.
- an account is created when the user is not registered at delivery server 110 .
- the delivery server 110 may provide webpage 282 ( FIG.2C ) via a secure connection between video server 112 B and client video player 112 .
- the webpage may allow the user at client video player 162 to provide securely one or more of the following: a user identifier, a password, a credit card number (including expiration date), a delivery address, and the like. This information is stored at delivery server 110 and then the user is considered registered.
- a purchase may be executed.
- the delivery server 110 may execute the purchase by debiting a credit card (or other financial account), and initiating the delivery of the product (e.g., either via network 150 or via a delivery service, such as FedEx and the like).
- delivery server 110 grants access to the purchased content by providing, in the case of the purchase of a video, an encrypted URL (uniform resource locator) to the client video player, so that the client video player can access the video content presented at client video player 162 .
- the video content may be sourced (e.g., provided) by a third-party website, such as a content delivery network (also referred to as a media delivery network).
- a third-party website such as a content delivery network (also referred to as a media delivery network).
- the encryption of the URL prevents a user from intercepting the URL and accessing the third-party website without making a purchase.
- the URL is encrypted using process 600 (which is described further below with respect to FIG. 6 ).
- the video content at the location of the encrypted URL is accessed.
- the client video player 162 may access a video server at the third-party website located at the address of the URL, which was decrypted by the client video player 162 .
- the client video player 162 then presents the content to the user at 390 .
- FIG. 4 depicts a process 400 for using client video player with an embedded buy 164 mechanism.
- Process 400 is similar to process 300 but further includes additional features as described with respect to 410 - 430 .
- the delivery server 110 may determine revenue sharing percentages.
- a website includes the snippet of code—regardless of how that snippet of code was obtained—the delivery server 110 may allocate a portion of any revenue associated with the transaction to the website (or an entity associated with the website).
- an administrator of website 115 B may obtain the snippet of code and display that code on a webpage of the website 115 B.
- the snippet may be obtained virally, so that the snippet is not necessarily obtained from the delivery server 110 .
- the administrator may contact delivery server 110 to register as a website provider of the snippet.
- the registration by the website may include determining what type of video content may be provided to the website 115 B (e.g., commercials, infomercials, previews of full-length movies, instructional videos, and the like), revenue sharing models (e.g., predetermined percentages to be allocated to the website 115 B for each purchase), website account information (e.g., to credit an allocated share of revenue), and the like.
- the website 115 B may receive an affiliate identifier when it registers with the delivery server 110 to allow the delivery server 110 to allocate, as described below at 420 , any credits or debits associated with a transaction made using the code snippet (which would include the affiliate identifier).
- a purchase made via the embedded buy mechanism may be credited to one or more entities based on the percentages allocated at 410 .
- a user accessing website 115 A may view a movie preview using client video player 162 , and then make a purchase by selecting buy 164 (which would purchase the entire movie that was previewed).
- the delivery server 110 may debit the credit card account of the user of the client video player 162 (e.g., with a $1.00 debit charge to the credit card), credit the website 115 A being accessed by the user interface 160 and the plug-in client video player 162 (e.g., $0.10), credit the delivery server 110 (e.g., $0.20), and credit the content provider, such as a third-party website providing the movie (e.g., $0.70).
- the content provider such as a third-party website providing the movie (e.g., $0.70).
- the user viewing the infomercial at the client video player 162 may purchase a product (e.g., with a $18.00 debit charge to the user's credit card).
- the delivery server 110 may allocate 1 ⁇ 3 of the purchase price to the website 115 A being accessed by the user interface 160 and the plug-in client video player 162 , 1 ⁇ 3 to the delivery server 110 , and 1 ⁇ 3 to the manufacturer of the product.
- specific credit amounts, debit amounts, and types of products are noted in the previous example, other amounts, percentages, products, and services may be used as well.
- the code snippet includes an affiliate identifier.
- the delivery system 110 can allocate credits and/or debits to the website associated with that code snippet.
- website 115 B may include on a webpage the code snippet including an affiliate identifier assigned by delivery system 110 to website 115 B
- website 115 A may include on a webpage the code snippet including an affiliate identifier assigned to website 115 A.
- delivery system 110 allocates credits and/or debits associated with purchase made in connection with the code snippets based on the affiliate identifiers.
- delivery server 110 may monitor purchasing behavior at one or more websites 115 A-C and/or one or more client video players, such as client video player 162 .
- delivery server 110 may monitor what purchases are being made using the embedded buy 164 mechanism of the client video player 162 , when those purchases are being made, who is making the purchases, and the like.
- delivery server 110 may monitor purchases being made via websites 115 A-C and determine what types of products or services sell and which products and services do not. As such, delivery server 110 may adapt and thus deliver content, such as infomercials, commercials, and the like, targeted to the website.
- Delivery server 110 may monitor purchases being made via client video players 162 and gather demographic information to determine what types of products or services sell and which products and services do not sell to users having different demographics. For example, if the demographics of the users indicate a Northern, cold climate, the content, such as infomercials, commercials, and the like, may include products or services more likely to elicit a purchase. As such, delivery server 110 may adapt and thus deliver content targeted to the user (or the user's demographic).
- the delivery system 110 may track the URL of the client video player and IP address of the user of the client video player. This tracking may occur during login and when a purchase is made, although the tracking may occur at other times as well.
- delivery system 110 may track the actions of a user of the client video player (e.g., button presses, what is previewed, what is copied, etc.).
- the tracking and monitoring data may be used to generate analytical reports and cross-reference with other analytical information for website tracking and content delivery network statistics to generate a unique set of reports taking in all aspects of a user's experience from discovery to purchase.
- FIG. 5 depicts an example of a delivery server 110 including a registration module 510 , a code repository 512 , an encryption module 514 , a product delivery module 516 , a revenue sharing module 518 , an account manager 520 , a video server 112 B, a purchasing module 522 , and a data-mining module 524 .
- the modules of delivery server 110 are implemented on at least one processor including memory.
- the registration module 510 may be configured to register a user of the client video player 162 and/or register a website including the snippet of code described herein.
- the code repository 512 may be configured to provide the snippets of code.
- code repository 512 may be accessible via a webpage on the Internet, so that the snippet of code may be copied and pasted into other websites, emails, social networking sites, and the like.
- a website may obtain the snippet of code from code repository 512 , the snippet of code may be obtained in other ways as well (e.g., obtained virally).
- the product delivery module 516 may be configured to track the delivery of the purchased product or service. For example, if the product is an item delivered via a transport service, such as FedEx, the product delivery module 516 may generate webpages including the estimated delivery time, date, etc.
- a transport service such as FedEx
- the revenue sharing module 518 may be configured to include allocations between varies entities.
- the revenue sharing module 518 may include allocations between the websites 115 A-C, content providers (e.g., providing content to the video player), product providers (e.g., providing products which can be purchased), service providers (e.g., providing services which can be purchased), and the delivery server 110 .
- the account manager 520 may be configured to provide a financial management function to the delivery server 110 .
- the account manager 520 may keep track of credits, debits, etc. to various entities, such as users of the client video players, service providers, product providers, content providers, websites, and the like.
- the purchasing module 522 may be configured to execute debits and/or credits to an account, such as a user's credit card account, debit account, or any other account. Moreover, the purchasing module 522 may be configured to initiate a fund transfer to service providers, product providers, content providers, websites, and the like.
- the data-mining module 524 may be used to perform data mining and other monitoring activities as noted above at 430 .
- the delivery server 110 may also include an encryption module 514 .
- the encryption module may be used to hide the URL provided by the delivery server 110 to the client video player 162 , as described above with respect to 370 .
- the encryption module 514 may use a variety of techniques to hide the URL, in some implementations, the encryption module 514 uses the process 600 of FIG. 6 .
- FIG. 6 depicts a process 600 for encrypting, which may be used to encrypt a URL.
- the process 600 may be implemented in encryption module 514 configured to implement cipher-block chaining (CBC), AES128, and/or other encryption techniques.
- FIG. 7 depicts an example of encryption module 513 implemented using cipher-block chaining. The description of process 600 also refers to FIG. 7 .
- the encryption module 514 generally encrypts information in blocks (labeled blocks of plaintext 710 A-B) to form encrypted text (labeled cipher text 720 A-B).
- a block may be implemented as 16 ASCII characters, each of which is 8 bits, for a total block size of 128 bits (e.g., 8 ⁇ 16-128).
- a first block is depicted as plaintext 710 A
- a second block is depicted as plaintext 710 B, and so forth.
- an URL if the URL is 240 characters, then at least two blocks 710 A-B would be used, which would provide encrypted output as cipher text 720 A-B.
- the first block 710 A would include the first 128 characters of the URL, and the second block 710 B would include the subsequent 112 characters.
- padding may be used to fill the second block 710 B to 128 characters.
- the padding may be a predetermined character known only by the client video player 162 and the delivery server 110 (or an API at the delivery server 110 ). In this sense, the padding is a shared secret known by the client video player 162 and the delivery server 110 (or the encryption module 514 ).
- the first block 710 A and an initialization vector 729 are processed using an excusive OR function (labeled XOR 730 A).
- an excusive OR function labeled XOR 730 A
- the initialization vector 729 is selected, such that it does not result in an output 715 A that is a shifted representation of the first block 710 A.
- the initialization vector 729 is implemented as all zeroes.
- the output 715 A of XOR 730 A is provided as an input to block cipher encyptor module 750 A, which has been provided a key 760 A.
- the block cipher encyptor module 750 A may be implemented as any type of block encryption module.
- the output of block cipher encyptor module 750 A is thus the encrypted text 720 A (also referred to as cipher text).
- the second block 710 B is processed in a similar manner as the first block 710 A.
- the second block 710 B may include padding, as noted above, to fill the block 710 B.
- the XOR 730 B processes the second block 710 B and cipher text 720 A (rather than an initialization vector).
- output 715 B is a shifted representation of the second block 710 B.
- the cipher text blocks 720 A-B represent the encrypted URL, which is sent to the video player 162 , where the URL is decrypted.
- padding is added to a block.
- encryption module 514 may add one or more characters to fill a block (e.g., 710 A or 710 B), when the information to be encrypted (e.g., the URL) does not completely fill the block.
- the first block 710 A would not include any padding, but the second block 710 B would include the final 112 characters of the URL and 16 characters of padding.
- the characters used as padding are a shared secret between the delivery server 110 (or encryption module 514 ) and the client video player 162 .
- the padding may be a predetermined character, as described above.
- the first block is encrypted using, for example, cipher block chaining.
- the initialization vector used to encrypt the first block 710 A is selected so that the first block 710 A is not shifted, as noted above.
- the first block 710 A may be encrypted using cipher block chaining (which is depicted at FIG. 7 ).
- the initialization vector 730 is determined, such that output 715 A is not a shifted representation of the first block 710 A.
- subsequent blocks are encrypted.
- second block 714 A (as well as other blocks) may be encrypted using the cipher block chaining, without the initialization vector used at 620 .
- additional portions may be used (e.g., given additional blocks of plaintext).
- the video client player 162 may decrypt the encrypted URL (comprising, e.g., cipher text 720 A-B) received from the encryption module 514 (e.g., using an inverse process to the one described herein). Moreover, the decryption of the URL at client video player 162 may use a variety of encryption techniques (including the inverse operation of process 600 ).
- the encryption module 514 is described within the context of delivery server 110 , the encryption module 514 may be used in other locations as well. Moreover, although the encryption module 514 is described in the example above as encrypting an URL, the encryption module may be used to encrypt other data as well.
- the subject matter described herein may be implemented on a computer having a memory, a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user may provide input to the computer.
- a display device e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor
- keyboard and a pointing device e.g., a mouse or a trackball
- the subject matter described herein may be implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a client computer having a graphical user interface or a Web browser through which a user may interact with an implementation of the subject matter described herein), or any combination of such back-end, middleware, or front-end components.
- FIG. 1 depicts network 150
- components of system 100 may be interconnected by any form or medium of communication, examples of which include point-to-point links, a bus, a local area network (“LAN”), a wide area network (“WAN”), an intranet, and the Internet.
- modules and/or the processes described herein may be implemented using one or more of the following: a processor executing program code, an application-specific integrated circuit (ASIC), a digital signal processor (DSP), an embedded processor, a field programmable gate array (FPGA), and/or combinations thereof.
- ASIC application-specific integrated circuit
- DSP digital signal processor
- FPGA field programmable gate array
- These various implementations may include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
Abstract
The subject matter disclosed herein provides methods and apparatus, including computer program products, for video players. In one aspect, there is provided a computer-implemented method. The method may provide video content to a video player including a buy mechanism embedded within the video player. The buy mechanism may be configured to enable a selection of the buy mechanism to make a purchase. The method may also include receiving an indication representative of a purchase being made using the buy mechanism. Related apparatus, systems, methods, and articles are also described.
Description
- The subject matter disclosed herein relates video players.
- Video players have become commonplace, allowing users to access video content on websites. For example, each day millions of users access websites, such as You Tube, MySpace, and the like, with a web browser including a plug-in (e.g., a Flash video player plug-in) to access information (also referred to as content). However, these websites use traditional, Internet advertising, relying on, among other things, simple ad placement on a webpage and so-called “sponsored links” provided with search results.
- The subject matter disclosed herein provides methods and apparatus, including computer program products, for video players configured to include an embedded purchase feature.
- In one aspect, there is provided a computer-implemented method. The method may provide video content to a video player including a buy mechanism embedded within the video player. The buy mechanism may be configured to enable a selection of the buy mechanism to make a purchase. The method may also include receiving an indication representative of a purchase being made using the buy mechanism.
- In one aspect, there is provided a computer-implemented method. The method may include receiving one or more blocks; inserting one or more characters into at least one of the blocks to fill the block to a predetermined block size; and encrypting the one or more blocks, the encryption of the first block using an initialization vector that does not result in a shift of the first block when processed with an exclusive OR.
- Articles are also described that comprise a computer-readable medium (e.g., tangibly embodied machine-readable medium) operable to cause one or more machines to result in operations described herein. Similarly, a system (e.g., a computer) is described that may include a processor and a memory coupled to the processor. The memory may include one or more programs that cause the processor to perform one or more of the operations described herein.
- The details of one or more variations of the subject matter described herein are set forth in the accompanying drawings and the description below. Other features and advantages of the subject matter described herein will be apparent from the description and drawings, and from the claims.
- In the drawings,
-
FIG. 1 shows a block diagram of asystem 100 for providing a video player embedded with a buy mechanism; -
FIG. 2A depicts a process for purchasing using the video player embedded with the buy mechanism; -
FIG. 2B depicts an example webpage including the client video player with the embedded buy icon; -
FIG. 2C depicts a webpage generated to allow registration; -
FIG. 2D depicts a webpage provided to a user interface at a website to allow the website to register as an affiliate; -
FIG. 2E depictswebpages 284A generated after the buy icon is selected to allow a user to confirm that a purchase has been made; -
FIG. 3 depicts aprocess 300 for making a purchase using the video player embedded with a buy mechanism; -
FIG. 4 depicts anotherprocess 400 for making a purchase using the video player embedded with a buy mechanism; -
FIG. 5 depicts an example implementation of adelivery server 110; -
FIG. 6 depicts an encryption process 600; and -
FIG. 7 depicts an example of anencryption module 514 configured in accordance with process 600. - Like reference symbols in the various drawings indicate like elements.
-
FIG. 1 depicts a block diagram of asystem 100 including adelivery server 110, one ormore websites 115A-C, and aprocessor 180, all of which are coupled by a network 150 (e.g., the Internet). - The
delivery server 110 may be implemented as one or more processors, such as computers, blades, servers, and the like. Thedelivery server 110 may be accessible via the Internet. Moreover, thedelivery server 110 may also include anapplication server 112A (including an application programming interface (API) for controlling the delivery of (and/or the access to) content provided by avideo server 112B, which delivers content (e.g., video, music, or any other information) to a video player configured with an embedded buy mechanism (which is described further below). Although thevideo server 112B is depicted atdelivery server 110, in some implementations thevideo server 112B is at one or more other locations. For example, thevideo server 112B may be provided by a content delivery network. - The
video server 112B may be configured to provide data (e.g., a stream of video) to a client video player, such as a client video player 162 (which is described further below). The data including the stream of video may be formatted in a variety of formats. For example, thevideo server 112B may be implemented to operate with a client video player using the Flash format. In this example, thevideo server 112B communicates with one or more client video players, such asclient video player 162 via a transport control protocol (TCP) connection using hypertext transport protocol (HTTP) calls and the real time messaging protocol (RTMP). Specifically, a request to serve a video stream from a client video player is handled by thevideo server 112B (e.g., an application instance operating within a virtual host, or machine, at distribution system 110), and the video stream may be data in a format, such as FLV files (Flash Video Files). FLV refers to a binary file format providing bit mapped video, although other formats may be used as well. - The
delivery server 110 may also include a login registration module to register a user of the video player and assign privileges (e.g., what the user is authorized to view, purchase, etc.). Registration by a user making a purchase at client video player may include providing one or more of the following: an identity (e.g., a name, a password, etc.), an address, a credit card number, and the like. - The
websites 115A-C may be implemented as one or more processors accessible via the Internet and serving webpages, when accessed by a user interface, such as a web browser. - The
processor 180 may be implemented as any type of processor, such as a computer, a mobile device (e.g., smart phone, mobile phone, wireless computer), and the like, with wired and/or wireless connectivity tonetwork 150. Theprocessor 180 may further include a user interface 160, which further includes aclient video player 162 with an embedded purchase feature (labeled buy 164). The user interface 160 may be implemented as any mechanism to provide an interface to a user. In some cases, the user interface 160 is implemented as a web browser (e.g., Microsoft Internet Explorer), although other types of browsers and user interfaces may be used as well. Moreover, the user interface 160 may include theclient video player 162 as a plug-in (e.g., a computer-executed program interacting with a host browser application). In some implementations, theclient video player 162 is configured as a Flash client configured to operate with thevideo server 112B described above, although formats other than Flash may be used as well. - In some implementations, the one or
more websites 115A-C may include a snippet of code (also referred to herein as a “code snippet”). For example, the code snippet may be included in a webpage generated by one of thewebsites 115A-C, in which case the code snippet would be presented at user interface 160 when the webpage is accessed. The code snippet may have originated atdelivery server 110. For example, an administrator ofwebsite 115A may cut (e.g., copied) the snippet of code, which is available via a webpage atdelivery server 110, and paste the code into a webpage atwebsite 115A. Although the snippet of code may be copied fromdelivery server 110, the snippet of code may be accessed and copied from other locations as well. For example, an administrator ofwebsite 115B may cut (i.e., copy) the snippet of code from another webpage at a website, such aswebsite 115C, and then paste the snippet of code into a webpage atwebsite 115B. This cut-and-paste process may be repeated one or more times. When that is the case, the snippet of code is disseminated in a viral manner. Regardless of how the code is disseminated, the snippet of code may be included in a webpage at a website, such that a user interface accessing the code snippet may access and select the code snippet in order to implement theclient video player 162 including the embeddedbuy mechanism 164. - In some implementations, the snippet of code is hypertext markup language (HTML). In this example, the HTML, when selected by a user interface 160, may redirect the browser to
delivery server 110 and/orvideo server 112B. Alternatively, the snippet of code may include embedded code, such as JavaScript, which, when executed, providesclient video player 162. An example of the snippet of code is as follows: -
<embed src=‘https://beta.youreeeka.com/players/hp.swf’ flashvars=‘sku=0000001278620a&embedState=basic& autoplay=false&protocol=http&sub_domain=dev.service& amp;format=flv&affiliate_id=eccbc87e’ type=‘application/x- shockwave-flash’ allowscriptaccess=‘always’ allowfullscreen= ‘true’ width=‘648’ height=‘364’ name=‘yka_player’ wmode=‘transparent’></embed> - In the above code snippet, the website hosting the snippet is registered as a so-called “affiliate” at
delivery server 110. In this example, the affiliate is identified using an affiliate identifier (e.g., eccbc87e) provided to the affiliate by thedelivery server 110, so that whenever a user selects the link, thedelivery server 110 recognizes the affiliate identifier (e.g., to allocate any revenue from a purchase if the user selecting the link purchases a product or a service associated with the link, as described further below). - Although the above code snippet is depicted as embedded code, the code snippet may be a direct link, an example of which is as follows:
-
<a href=‘http://dev.account.youreeeka.com/player/0000001278620a/ eccbc87e’ target=‘_blank’><img src=‘http://static.youreeeka.com/ ronmar/products/icm_14/images/icm_14.jpg’ border=‘0’/></a>. - The code snippet may also be implemented as a pop up link, an example of which is as follows:
-
<script type=‘text/javascript’>function youreeeka_pop(url){var width=920, height=620, x=(screen.width−width)/2, y= (screen.height−height)/2;win = window.open(url, ‘pop up’, ‘scrollbars=1,menubar=0,resizeable=1,width=‘+width+’,height= ‘+height+’,status=1’);win.moveTo(x,y);win.window.focus( );} </script><a href=‘#’ onclick=‘youreeeka_pop(“http://dev.account.youreeeka.com/player/ 0000001278620a/eccbc87e”)’> <img src=‘http://static.youreeeka.com/ronmar/products/ icm_14/images/icm_14.jpg’ border=‘0’/></a>. - In some implementations, the user interface 160 accesses a webpage at a website, such as one of the
websites 115A-C. The user interface 160 may be used to select the snippet of code. When this is the case,video server 112B may provide content to theclient video player 162. For example, the content may include data (e.g., media, video, etc.), such as a video of a golf lesson or a preview of that video. At some point during the presentation of the video content atclient video player 162, the user interface 160 may also present thebuy icon 164, which is embedded in (e.g., included within) theclient video player 162. Thebuy icon 164 may be selected via user interface 160 (e.g., by clicking icon 164) to purchase the video content. Specifically, in the case of a preview of the video content, thebuy 164 selection continues the presentation of the golf lesson video. Thebuy selection 164 may also represent a purchase of a product or a service. Continuing with the golf example, the purchase may correspond to a purchase of a golf accessory, such as a golf club or a golf lesson. Although the above example describes the content originating fromdelivery server 110, in some implementations, the video content may be stored and thus provided by another website. When this is the case, an instance of thevideo server 112B may be located at that other website. - When
buy icon 164 is selected, a purchase is executed. If the user is registered atdelivery server 110, thebuy selection 164 may result in the purchased item being processed atdelivery server 110 with little or no interaction with the user interface (or the user at user interface). For example, a user may have preregistered atdelivery server 110 by providing a user identifier, a password, credit card information, and a delivery address, so that thebuy 164 selection results in thedelivery server 110 executing a purchase (e.g., of the video delivered to client video player and/or a golf club delivered to the delivery address stored at delivery server 110). In the case of a video purchase, thedelivery server 110 thus handles (e.g., controls) delivery of the video content to theclient video player 162 and other functions associated with the purchase. In the case of purchasing goods or services, thedelivery server 110 may also initiate the delivery of the purchased good or service, track the delivery, etc. -
FIG. 2A depicts aprocess 200 for providing a snippet of code, which may be used to deliver video content to a video player including an embedded purchase feature. - At 210, the snippet of code is included in a webpage at a website. As noted above, the snippet of code may be copied from
delivery server 110 and copied into a webpage at a website, such aswebsite 115A. Moreover, thewebsite 115A may register withdelivery server 110, such that any purchases made via the webpage including the code snippet is credited towebsite 115A. For example, thewebsite 115A may be assigned an affiliate identifier, so that activity (e.g., initialization, login, purchase, etc.) made via the snippet of code is tracked and, if a purchase is made, a credit may be provided to thewebsite 115A. If another website, such aswebsite 115B, includes the snippet of code but copies that code from a source other thandelivery server 110, thewebsite 115B may still register withdelivery server 110 to receiver an affiliate identifier and thus allow credits towebsite 115B as purchases are made at theclient video player 162 accessingwebsite 115B (and, in particular, the webpage including the code snippet). - In some implementations, the snippet of code is configured to allow viral dissemination to any webpage, although the webpage including the snippet of code may also be presented in other ways as well (e.g., email, social networking, etc.).
- Moreover, the credit allocation to a website may be in the form of an amount (e.g., a dollar amount). For example, if a purchase is made at
buy icon 164 in a transaction made viawebsite 115B, thedelivery server 110 may debit the credit card account of the user making the purchase via theclient video player 162. A portion of the proceeds from the purchase may be credited todelivery server 110, and a portion may be credited, in this example, towebsite 115B based on the affiliate identifier. - At 220, a stream of information may be provided from a video server to a client video player. The stream may include information, including video content, webpages (also referred to as pages), etc. The video player presenting the content may be configured with an embedded
buy 164 mechanism to allow a user of theclient video player 162 to make a purchase by accessing thebuy icon 164. Thevideo server 112B may provide the information via a secure connection, such as a HTTPs (hypertext transport protocol secure) connection, to theclient video player 162. - At 230, an indication is received. The indication represents that a purchase has been selected. For example, at
client video player 162, the selection of thebuy icon 164 may be made by clicking (e.g., with the mouse) thebuy icon 164. The selection ofbuy icon 164 may result in an indication (e.g., a message or an event representing a selection) being sent, such that it is received at thedelivery server 110. The received selection may result in a purchase being executed bydelivery server 110. -
FIG. 2B depicts an example webpage including theclient video player 162 with the embeddedbuy icon 164. -
FIG. 2C depicts awebpage 282 generated to allow registration (e.g., of a user that selects the code snippet to make a purchase or of an affiliate website hosting the code snippet) by selecting “Create Account” at 284. If registered, a user may simply login at 283 by providing, for example, a name, an email address, and/or a password. - The
webpage 282 may allow the user to make a purchase (e.g., at 285 by providing payment information) after thebuy icon 164 is selected. For example, after thebuy icon 164 is selected, thewebpage 282 is provided bydelivery server 110 over a secure connection (e.g., a HTTPs connection) to user interface 160 and/orclient video player 162. In this sense,client video player 162 acts as a secure proxy of a HTTPs server atdelivery server 110. Moreover, theclient video player 162, acting as a secure proxy, eliminates the need for the website including the snippet of code (e.g.,website 115B) to provide a secure server (e.g., a HTTPs server) because the secure server is provided by thedelivery server 110. -
FIG. 2D depicts awebpage 289 provided to a user interface at a website to allow the website to register as an affiliate. Once registered as an affiliate, the website may include the snippet of code in a webpage at the website and receive credit when a purchase is made via the affiliate website.Webpage 289 allows the affiliate website to include the snippet of code either as a standard video player, a direct link, or as a pop up. In the example ofFIG. 2D , the affiliate website earns 2% of any purchases, although other allocation schemes and amounts may be used as well. -
FIG. 2E depictswebpages 284A generated after thebuy icon 164 is selected to allow a user to confirm that a purchase. In this example, the type of purchase allows a selection between different licenses (e.g., download/stream 1 year, stream only, etc.), although other license types may be offered as well. In some implementations, when a user is registered withdelivery server 110 to make purchases, the selection ofbuy icon 164 causesdelivery server 110 to providewebpage 284A to confirm the purchase. In this example, the user can make a purchase with two clicks (e.g., one to select the buy icon and a second to confirm thepurchase 284C). However, in some implementations, thewebpage 284A is not used, and, when this is the case, the user can make a purchase with one click (e.g., one to select the buy icon 164). Theweb webpage 284 may also be provided bydelivery server 110 over a secure connection (e.g., a HTTPs connection) to user interface 160 and/orclient video player 162.Webpage 284B depicts an example of a receipt provided to further confirm that the purchase has been made. -
FIG. 3 depicts aprocess 300 for using a client video player with an embeddedbuy 164 mechanism. - At 320, content is presented within a video player. For example,
video server 112B may provide content, such as a preview of a movie, a commercial, an infomercial, an instructional video, or any other information, toclient video player 162. At any point during the presentation, the user might make a purchase using buy icon. 164. For example, in the case of a movie preview, the user may be prompted to make a purchase by selectingbuy 164, in which case the movie is presented atclient video player 162. At the end of a commercial, an infomercial, or an instructional video, the user may be prompted to make a purchase of a good or a service by selecting thebuy icon 164. Although the content is described as being sourced fromdelivery server 110, in some implementations, the content may be located in other locations, in which case avideo server 112B would be located at that location. - At 330, a selection representative of a purchase is received. For example, the selection of
buy icon 164 at theclient video player 162 may result in a message being sent todelivery server 110, where an application programming interface (API) is accessed. - At 340,
delivery server 110 determines whether the user at a client video player is a registered user. For example, the user atclient video player 162 may be required to provide a user identifier and a password. Alternatively, metadata (e.g., cookies associated with user interface 160) may be used to determine the identity of the user of theclient video player 162. In some implementations, a user is considered registered when one or more of the following is stored atdelivery server 110 for the user: a user identifier, a password, a credit card number (including an expiration date), a delivery address, and the like. - At 350, an account is created when the user is not registered at
delivery server 110. For example, thedelivery server 110 may provide webpage 282 (FIG.2C ) via a secure connection betweenvideo server 112B andclient video player 112. The webpage may allow the user atclient video player 162 to provide securely one or more of the following: a user identifier, a password, a credit card number (including expiration date), a delivery address, and the like. This information is stored atdelivery server 110 and then the user is considered registered. - At 360, a purchase may be executed. For example, the
delivery server 110 may execute the purchase by debiting a credit card (or other financial account), and initiating the delivery of the product (e.g., either vianetwork 150 or via a delivery service, such as FedEx and the like). - At 370,
delivery server 110 grants access to the purchased content by providing, in the case of the purchase of a video, an encrypted URL (uniform resource locator) to the client video player, so that the client video player can access the video content presented atclient video player 162. For example, the video content may be sourced (e.g., provided) by a third-party website, such as a content delivery network (also referred to as a media delivery network). When that is the case, the encryption of the URL prevents a user from intercepting the URL and accessing the third-party website without making a purchase. Although a variety of techniques may be used to encrypt the URL, in some implementations, the URL is encrypted using process 600 (which is described further below with respect toFIG. 6 ). - At 380, the video content at the location of the encrypted URL is accessed. For example, the
client video player 162 may access a video server at the third-party website located at the address of the URL, which was decrypted by theclient video player 162. Theclient video player 162 then presents the content to the user at 390. -
FIG. 4 depicts aprocess 400 for using client video player with an embeddedbuy 164 mechanism.Process 400 is similar to process 300 but further includes additional features as described with respect to 410-430. - The process proceeds at 320-360 as described above. At 420, however, the
delivery server 110 may determine revenue sharing percentages. When a website includes the snippet of code—regardless of how that snippet of code was obtained—thedelivery server 110 may allocate a portion of any revenue associated with the transaction to the website (or an entity associated with the website). For example, an administrator ofwebsite 115B may obtain the snippet of code and display that code on a webpage of thewebsite 115B. As noted above, the snippet may be obtained virally, so that the snippet is not necessarily obtained from thedelivery server 110. Once the administrator ofwebsite 115B obtains the snippet of code, the administrator may contactdelivery server 110 to register as a website provider of the snippet. The registration by the website (e.g.,website 115B) may include determining what type of video content may be provided to thewebsite 115B (e.g., commercials, infomercials, previews of full-length movies, instructional videos, and the like), revenue sharing models (e.g., predetermined percentages to be allocated to thewebsite 115B for each purchase), website account information (e.g., to credit an allocated share of revenue), and the like. Thewebsite 115B may receive an affiliate identifier when it registers with thedelivery server 110 to allow thedelivery server 110 to allocate, as described below at 420, any credits or debits associated with a transaction made using the code snippet (which would include the affiliate identifier). - At 420, a purchase made via the embedded buy mechanism (e.g., buy 164) may be credited to one or more entities based on the percentages allocated at 410. For example, a
user accessing website 115A may view a movie preview usingclient video player 162, and then make a purchase by selecting buy 164 (which would purchase the entire movie that was previewed). In this example, thedelivery server 110 may debit the credit card account of the user of the client video player 162 (e.g., with a $1.00 debit charge to the credit card), credit thewebsite 115A being accessed by the user interface 160 and the plug-in client video player 162 (e.g., $0.10), credit the delivery server 110 (e.g., $0.20), and credit the content provider, such as a third-party website providing the movie (e.g., $0.70). - In the case of an infomercial, after viewing the infomercial, the user viewing the infomercial at the
client video player 162 may purchase a product (e.g., with a $18.00 debit charge to the user's credit card). In this example, thedelivery server 110 may allocate ⅓ of the purchase price to thewebsite 115A being accessed by the user interface 160 and the plug-inclient video player 162, ⅓ to thedelivery server 110, and ⅓ to the manufacturer of the product. Although specific credit amounts, debit amounts, and types of products are noted in the previous example, other amounts, percentages, products, and services may be used as well. - Moreover, in some implementations, the code snippet includes an affiliate identifier. When this is the case, when the code snippet is selected, the
delivery system 110 can allocate credits and/or debits to the website associated with that code snippet. For example,website 115B may include on a webpage the code snippet including an affiliate identifier assigned bydelivery system 110 towebsite 115B, andwebsite 115A may include on a webpage the code snippet including an affiliate identifier assigned towebsite 115A. In this example,delivery system 110 allocates credits and/or debits associated with purchase made in connection with the code snippets based on the affiliate identifiers. - At 430,
delivery server 110 may monitor purchasing behavior at one ormore websites 115A-C and/or one or more client video players, such asclient video player 162. For example,delivery server 110 may monitor what purchases are being made using the embeddedbuy 164 mechanism of theclient video player 162, when those purchases are being made, who is making the purchases, and the like. For example,delivery server 110 may monitor purchases being made viawebsites 115A-C and determine what types of products or services sell and which products and services do not. As such,delivery server 110 may adapt and thus deliver content, such as infomercials, commercials, and the like, targeted to the website. -
Delivery server 110 may monitor purchases being made viaclient video players 162 and gather demographic information to determine what types of products or services sell and which products and services do not sell to users having different demographics. For example, if the demographics of the users indicate a Northern, cold climate, the content, such as infomercials, commercials, and the like, may include products or services more likely to elicit a purchase. As such,delivery server 110 may adapt and thus deliver content targeted to the user (or the user's demographic). - In some implementations, the
delivery system 110 may track the URL of the client video player and IP address of the user of the client video player. This tracking may occur during login and when a purchase is made, although the tracking may occur at other times as well. In addition,delivery system 110 may track the actions of a user of the client video player (e.g., button presses, what is previewed, what is copied, etc.). The tracking and monitoring data may be used to generate analytical reports and cross-reference with other analytical information for website tracking and content delivery network statistics to generate a unique set of reports taking in all aspects of a user's experience from discovery to purchase. -
FIG. 5 depicts an example of adelivery server 110 including aregistration module 510, acode repository 512, anencryption module 514, aproduct delivery module 516, arevenue sharing module 518, anaccount manager 520, avideo server 112B, apurchasing module 522, and a data-mining module 524. In some implementations, the modules ofdelivery server 110 are implemented on at least one processor including memory. - The
registration module 510 may be configured to register a user of theclient video player 162 and/or register a website including the snippet of code described herein. - The
code repository 512 may be configured to provide the snippets of code. For example,code repository 512 may be accessible via a webpage on the Internet, so that the snippet of code may be copied and pasted into other websites, emails, social networking sites, and the like. Although a website may obtain the snippet of code fromcode repository 512, the snippet of code may be obtained in other ways as well (e.g., obtained virally). - The
product delivery module 516 may be configured to track the delivery of the purchased product or service. For example, if the product is an item delivered via a transport service, such as FedEx, theproduct delivery module 516 may generate webpages including the estimated delivery time, date, etc. - The
revenue sharing module 518 may be configured to include allocations between varies entities. For example, therevenue sharing module 518 may include allocations between thewebsites 115A-C, content providers (e.g., providing content to the video player), product providers (e.g., providing products which can be purchased), service providers (e.g., providing services which can be purchased), and thedelivery server 110. - The
account manager 520 may be configured to provide a financial management function to thedelivery server 110. Theaccount manager 520 may keep track of credits, debits, etc. to various entities, such as users of the client video players, service providers, product providers, content providers, websites, and the like. - The
purchasing module 522 may be configured to execute debits and/or credits to an account, such as a user's credit card account, debit account, or any other account. Moreover, thepurchasing module 522 may be configured to initiate a fund transfer to service providers, product providers, content providers, websites, and the like. - The data-
mining module 524 may be used to perform data mining and other monitoring activities as noted above at 430. - The
delivery server 110 may also include anencryption module 514. The encryption module may be used to hide the URL provided by thedelivery server 110 to theclient video player 162, as described above with respect to 370. Although theencryption module 514 may use a variety of techniques to hide the URL, in some implementations, theencryption module 514 uses the process 600 ofFIG. 6 . -
FIG. 6 depicts a process 600 for encrypting, which may be used to encrypt a URL. - The process 600 may be implemented in
encryption module 514 configured to implement cipher-block chaining (CBC), AES128, and/or other encryption techniques.FIG. 7 depicts an example of encryption module 513 implemented using cipher-block chaining. The description of process 600 also refers toFIG. 7 . - The
encryption module 514 generally encrypts information in blocks (labeled blocks ofplaintext 710A-B) to form encrypted text (labeledcipher text 720A-B). For example, a block may be implemented as 16 ASCII characters, each of which is 8 bits, for a total block size of 128 bits (e.g., 8×16-128). In this example, a first block is depicted as plaintext 710A, a second block is depicted asplaintext 710B, and so forth. In the case of an URL, if the URL is 240 characters, then at least twoblocks 710A-B would be used, which would provide encrypted output ascipher text 720A-B. - Continuing with the 240 character URL example, the
first block 710A would include the first 128 characters of the URL, and thesecond block 710B would include the subsequent 112 characters. In some implementations, padding may be used to fill thesecond block 710B to 128 characters. When this is the case, rather than using null characters (e.g., an ASCII character with a zero value) as padding, the padding may be a predetermined character known only by theclient video player 162 and the delivery server 110 (or an API at the delivery server 110). In this sense, the padding is a shared secret known by theclient video player 162 and the delivery server 110 (or the encryption module 514). - The
first block 710A and aninitialization vector 729 are processed using an excusive OR function (labeledXOR 730A). In some implementations, rather than use a random value for theinitialization vector 729, theinitialization vector 729 is selected, such that it does not result in anoutput 715A that is a shifted representation of thefirst block 710A. In some implementations, theinitialization vector 729 is implemented as all zeroes. - The
output 715A ofXOR 730A is provided as an input to blockcipher encyptor module 750A, which has been provided a key 760A. The blockcipher encyptor module 750A may be implemented as any type of block encryption module. The output of blockcipher encyptor module 750A is thus theencrypted text 720A (also referred to as cipher text). - The
second block 710B is processed in a similar manner as thefirst block 710A. However, thesecond block 710B may include padding, as noted above, to fill theblock 710B. Moreover, the XOR 730B processes thesecond block 710B andcipher text 720A (rather than an initialization vector). As such,output 715B, unlikeoutput 715A, is a shifted representation of thesecond block 710B. Referring again to the URL example, the cipher text blocks 720A-B represent the encrypted URL, which is sent to thevideo player 162, where the URL is decrypted. - At 610, padding is added to a block. For example,
encryption module 514 may add one or more characters to fill a block (e.g., 710A or 710B), when the information to be encrypted (e.g., the URL) does not completely fill the block. Returning to the above example, given a block size of 128 bits (i.e., 16 ASCII characters) and, e.g., a URL of 240 bits which needs to be encrypted, thefirst block 710A would not include any padding, but thesecond block 710B would include the final 112 characters of the URL and 16 characters of padding. Moreover, the characters used as padding are a shared secret between the delivery server 110 (or encryption module 514) and theclient video player 162. Moreover, rather than using null characters (which is the typical value of the padding characters), the padding may be a predetermined character, as described above. - At 620, the first block is encrypted using, for example, cipher block chaining. The initialization vector used to encrypt the
first block 710A is selected so that thefirst block 710A is not shifted, as noted above. For example, thefirst block 710A may be encrypted using cipher block chaining (which is depicted atFIG. 7 ). Moreover, the initialization vector 730 is determined, such thatoutput 715A is not a shifted representation of thefirst block 710A. - At 630, subsequent blocks are encrypted. For example, second block 714A (as well as other blocks) may be encrypted using the cipher block chaining, without the initialization vector used at 620. Although only two portions of the chain are depicted at
FIG. 7 , additional portions may be used (e.g., given additional blocks of plaintext). - The
video client player 162 may decrypt the encrypted URL (comprising, e.g.,cipher text 720A-B) received from the encryption module 514 (e.g., using an inverse process to the one described herein). Moreover, the decryption of the URL atclient video player 162 may use a variety of encryption techniques (including the inverse operation of process 600). - Although the
encryption module 514 is described within the context ofdelivery server 110, theencryption module 514 may be used in other locations as well. Moreover, although theencryption module 514 is described in the example above as encrypting an URL, the encryption module may be used to encrypt other data as well. - To provide for interaction with a user, the subject matter described herein may be implemented on a computer having a memory, a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user may provide input to the computer.
- The subject matter described herein may be implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a client computer having a graphical user interface or a Web browser through which a user may interact with an implementation of the subject matter described herein), or any combination of such back-end, middleware, or front-end components. Although
FIG. 1 depictsnetwork 150, components ofsystem 100 may be interconnected by any form or medium of communication, examples of which include point-to-point links, a bus, a local area network (“LAN”), a wide area network (“WAN”), an intranet, and the Internet. - The subject matter described herein may be embodied in systems, apparatus, methods, and/or articles depending on the desired configuration. For example, the modules and/or the processes described herein may be implemented using one or more of the following: a processor executing program code, an application-specific integrated circuit (ASIC), a digital signal processor (DSP), an embedded processor, a field programmable gate array (FPGA), and/or combinations thereof. These various implementations may include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device. These computer programs (also known as programs, software, software applications, applications, components, program code, or code) include machine instructions for a programmable processor, and may be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. As used herein, the term “machine-readable medium” refers to any computer program product, computer-readable storage medium, apparatus and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. Similarly, systems are also described herein that may include a processor and a memory coupled to the processor. The memory may include one or more programs that cause the processor to perform one or more of the operations described herein.
- The foregoing description is intended to illustrate but not to limit the scope of the invention, which is defined by the scope of the appended claims. Other embodiments are within the scope of the following claims.
Claims (22)
1. A computer-implemented method comprising:
providing a video player including a buy mechanism embedded within the video player, the buy mechanism configured to enable a selection of the buy mechanism to make a purchase; and
receiving an indication representative of a purchase being made using the buy mechanism.
2. The computer-implemented method of claim 1 , further comprising:
including a snippet of code in a page, the snippet of code, when accessed, provides the video player including the buy mechanism.
3. The computer-implemented method of claim 1 , further comprising:
including a plurality of snippets of code in a plurality of pages, each of the snippets of code including an affiliate identifier to identify an entity to which an allocation is made when a purchase is made.
4. The computer-implemented method of claim 1 , further comprising:
providing a plurality of snippets of code for viral dissemination.
5. The computer-implemented method of claim 1 , wherein providing further comprises:
providing the video player as a FLASH player.
6. The computer-implemented method of claim 1 further comprising:
executing a purchase using a page provided from a secure connection and a delivery system to the video player.
7. The computer-implemented method of claim 1 further comprising:
granting access to media by providing an encrypted uniform resource locator to the video player, the access granted when a purchase is made.
8. The computer-implemented method of claim 1 further comprising:
granting access to media by providing an encrypted uniform resource locator to the video player, the encrypted uniform resource locator encrypted based on cipher block chaining configured with a first initialization vector having a value that does not result in a shift of a first block being encrypted.
9. The computer-implemented method of claim 1 further comprising:
providing an allocation of at least one of a credit or a debit to an account associated with a website including a snippet of code, the allocation based on an affiliate identifier identifying the website.
10. The computer-implemented method of claim 1 further comprising:
monitoring a uniform resource locator of the video player to track a user of the video player.
11. A system comprising:
a processor; and
a memory, the processor and memory configured to provide a method comprising:
providing a video player including a buy mechanism embedded within the video player, the buy mechanism configured to enable a selection of the buy mechanism to make a purchase; and
receiving an indication representative of a purchase being made using the buy mechanism.
12. The system of claim 11 , further comprising:
including a snippet of code in a page, the snippet of code, when accessed, provides the video player including the buy mechanism.
13. The system of claim 11 , further comprising:
including a plurality of snippets of code in a plurality of pages, each of the snippets of code including an affiliate identifier to identify an entity to which an allocation is made when a purchase is made.
14. The system of claim 11 , further comprising:
providing a plurality of snippets of code for viral dissemination.
15. The system of claim 11 , wherein providing further comprises:
providing the video player as a FLASH player.
16. The system of claim 11 further comprising:
executing a purchase using a page provided from a secure connection and a delivery system to the video player.
17. The system of claim 11 further comprising:
granting access to media by providing an encrypted uniform resource locator to the video player, the access granted when a purchase is made.
18. The system of claim 11 further comprising:
granting access to media by providing an encrypted uniform resource locator to the video player, the encrypted uniform resource locator encrypted based on cipher block chaining configured with a first initialization vector having a value that does not result in a shift of a first block being encrypted.
19. The system of claim 11 further comprising:
providing an allocation of at least one of a credit or a debit to an account associated with a website including a snippet of code, the allocation based on an affiliate identifier identifying the website.
20. The system of claim 11 further comprising:
monitoring a uniform resource locator of the video player to track a user of the video player.
21. A computer-readable medium including instructions to configure a processor to perform a method comprising:
providing a video player including a buy mechanism embedded within the video player, the buy mechanism configured to enable a selection of the buy mechanism to make a purchase; and
receiving an indication representative of a purchase being made using the buy mechanism.
22. A user interface comprising:
a processor; and
a memory, the processor and memory configured to provide a video player including a buy mechanism embedded within the video player.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/433,792 US20100279766A1 (en) | 2009-04-30 | 2009-04-30 | Video Player Including Embedded Purchasing |
PCT/US2010/032853 WO2010127046A2 (en) | 2009-04-30 | 2010-04-28 | Video player including embedded purchasing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/433,792 US20100279766A1 (en) | 2009-04-30 | 2009-04-30 | Video Player Including Embedded Purchasing |
Publications (1)
Publication Number | Publication Date |
---|---|
US20100279766A1 true US20100279766A1 (en) | 2010-11-04 |
Family
ID=43030797
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/433,792 Abandoned US20100279766A1 (en) | 2009-04-30 | 2009-04-30 | Video Player Including Embedded Purchasing |
Country Status (2)
Country | Link |
---|---|
US (1) | US20100279766A1 (en) |
WO (1) | WO2010127046A2 (en) |
Cited By (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120112986A1 (en) * | 2010-11-10 | 2012-05-10 | Sony Network Entertainment International Llc | Web browser as second display control device |
US20120226998A1 (en) * | 2011-03-04 | 2012-09-06 | Stephan Edward Friedl | Providing hosted virtual desktop infrastructure services |
US20120233642A1 (en) * | 2011-03-11 | 2012-09-13 | At&T Intellectual Property I, L.P. | Musical Content Associated with Video Content |
WO2012125940A1 (en) * | 2011-03-17 | 2012-09-20 | Ebay, Inc. | Making interactive purchases through a media display device |
US20130142330A1 (en) * | 2011-12-02 | 2013-06-06 | Adobe Systems Incorporated | Binding of protected video content to video player with block cipher hash |
US20140129919A1 (en) * | 2012-11-07 | 2014-05-08 | Eric R. Benson | Method for Embedding Captured Content from one location to a host location |
US8769053B2 (en) | 2011-08-29 | 2014-07-01 | Cinsay, Inc. | Containerized software for virally copying from one endpoint to another |
US8782690B2 (en) | 2008-01-30 | 2014-07-15 | Cinsay, Inc. | Interactive product placement system and method therefor |
US20140214578A1 (en) * | 2013-01-31 | 2014-07-31 | Google Inc. | Seamless transition from sample to full version of digital content |
US8813132B2 (en) | 2008-05-03 | 2014-08-19 | Cinsay, Inc. | Method and system for generation and playback of supplemented videos |
US8897588B2 (en) | 2012-11-20 | 2014-11-25 | Adobe Systems Incorporated | Data-driven edge-based image de-blurring |
US8903088B2 (en) | 2011-12-02 | 2014-12-02 | Adobe Systems Incorporated | Binding of protected video content to video player with encryption key |
US20140359723A1 (en) * | 2013-05-30 | 2014-12-04 | JNT Company, LLC | Computer program, system, and method for providing a user access to electronically provided content |
EP2747438A3 (en) * | 2012-12-18 | 2015-06-03 | Krea Icerik Hizmetleri Ve Produksiyon Anonim Sirketi | Live preview method and system via electronic program guide |
US9064318B2 (en) | 2012-10-25 | 2015-06-23 | Adobe Systems Incorporated | Image matting and alpha value techniques |
US9076205B2 (en) | 2012-11-19 | 2015-07-07 | Adobe Systems Incorporated | Edge direction and curve based image de-blurring |
US9135710B2 (en) | 2012-11-30 | 2015-09-15 | Adobe Systems Incorporated | Depth map stereo correspondence techniques |
US9201580B2 (en) | 2012-11-13 | 2015-12-01 | Adobe Systems Incorporated | Sound alignment user interface |
US9208547B2 (en) | 2012-12-19 | 2015-12-08 | Adobe Systems Incorporated | Stereo correspondence smoothness tool |
US9214026B2 (en) | 2012-12-20 | 2015-12-15 | Adobe Systems Incorporated | Belief propagation and affinity measures |
US20160078199A1 (en) * | 2009-11-24 | 2016-03-17 | Comcast Interactive Media, Llc | Method for Scalable Access Control Decisions |
US9355649B2 (en) | 2012-11-13 | 2016-05-31 | Adobe Systems Incorporated | Sound alignment using timing information |
US9451304B2 (en) | 2012-11-29 | 2016-09-20 | Adobe Systems Incorporated | Sound feature priority alignment |
US9607330B2 (en) | 2012-06-21 | 2017-03-28 | Cinsay, Inc. | Peer-assisted shopping |
US9875489B2 (en) | 2013-09-11 | 2018-01-23 | Cinsay, Inc. | Dynamic binding of video content |
US20180234373A1 (en) * | 2012-11-14 | 2018-08-16 | invi Labs, Inc. | System and method of embedding rich media into text messages |
US10055768B2 (en) | 2008-01-30 | 2018-08-21 | Cinsay, Inc. | Interactive product placement system and method therefor |
US20180278668A1 (en) * | 2012-06-13 | 2018-09-27 | Joel Hilliard | Video player with enhanced content ordering and method of acquiring content |
US10249321B2 (en) | 2012-11-20 | 2019-04-02 | Adobe Inc. | Sound rate modification |
US10249052B2 (en) | 2012-12-19 | 2019-04-02 | Adobe Systems Incorporated | Stereo correspondence model fitting |
US10268994B2 (en) | 2013-09-27 | 2019-04-23 | Aibuy, Inc. | N-level replication of supplemental content |
US10455219B2 (en) | 2012-11-30 | 2019-10-22 | Adobe Inc. | Stereo correspondence and depth sensors |
US10638221B2 (en) | 2012-11-13 | 2020-04-28 | Adobe Inc. | Time interval sound alignment |
US10701127B2 (en) | 2013-09-27 | 2020-06-30 | Aibuy, Inc. | Apparatus and method for supporting relationships associated with content provisioning |
US10789631B2 (en) | 2012-06-21 | 2020-09-29 | Aibuy, Inc. | Apparatus and method for peer-assisted e-commerce shopping |
US20210150596A1 (en) * | 2012-04-18 | 2021-05-20 | Scorpcast, Llc | System and methods for providing user generated video reviews |
US20220005111A1 (en) * | 2018-09-25 | 2022-01-06 | talkshoplive, Inc. | Systems and methods for embeddable point-of-sale transactions |
US11227315B2 (en) | 2008-01-30 | 2022-01-18 | Aibuy, Inc. | Interactive product placement system and method therefor |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030229900A1 (en) * | 2002-05-10 | 2003-12-11 | Richard Reisman | Method and apparatus for browsing using multiple coordinated device sets |
US20040252841A1 (en) * | 2003-04-18 | 2004-12-16 | Via Technologies Inc. | Microprocessor apparatus and method for enabling configurable data block size in a cryptographic engine |
US20050091597A1 (en) * | 2003-10-06 | 2005-04-28 | Jonathan Ackley | System and method of playback and feature control for video players |
US20060089914A1 (en) * | 2004-08-30 | 2006-04-27 | John Shiel | Apparatus, systems and methods for compensating broadcast sources |
US7233948B1 (en) * | 1998-03-16 | 2007-06-19 | Intertrust Technologies Corp. | Methods and apparatus for persistent control and protection of content |
US20090047000A1 (en) * | 2007-08-17 | 2009-02-19 | Vibe Solutions Group, Inc. | Method and Apparatus for a Web Browser-Based Multi-Channel Content Player |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050011655A (en) * | 2003-12-24 | 2005-01-29 | 엔에이치엔(주) | Method for Providing Preview Service of Contents Data |
KR20060119345A (en) * | 2005-05-20 | 2006-11-24 | 주식회사파일론 | Contents commercing method based on blog service and system |
-
2009
- 2009-04-30 US US12/433,792 patent/US20100279766A1/en not_active Abandoned
-
2010
- 2010-04-28 WO PCT/US2010/032853 patent/WO2010127046A2/en active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7233948B1 (en) * | 1998-03-16 | 2007-06-19 | Intertrust Technologies Corp. | Methods and apparatus for persistent control and protection of content |
US20030229900A1 (en) * | 2002-05-10 | 2003-12-11 | Richard Reisman | Method and apparatus for browsing using multiple coordinated device sets |
US7899915B2 (en) * | 2002-05-10 | 2011-03-01 | Richard Reisman | Method and apparatus for browsing using multiple coordinated device sets |
US20040252841A1 (en) * | 2003-04-18 | 2004-12-16 | Via Technologies Inc. | Microprocessor apparatus and method for enabling configurable data block size in a cryptographic engine |
US7519833B2 (en) * | 2003-04-18 | 2009-04-14 | Via Technologies, Inc. | Microprocessor apparatus and method for enabling configurable data block size in a cryptographic engine |
US20050091597A1 (en) * | 2003-10-06 | 2005-04-28 | Jonathan Ackley | System and method of playback and feature control for video players |
US20060089914A1 (en) * | 2004-08-30 | 2006-04-27 | John Shiel | Apparatus, systems and methods for compensating broadcast sources |
US20090047000A1 (en) * | 2007-08-17 | 2009-02-19 | Vibe Solutions Group, Inc. | Method and Apparatus for a Web Browser-Based Multi-Channel Content Player |
Cited By (75)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10055768B2 (en) | 2008-01-30 | 2018-08-21 | Cinsay, Inc. | Interactive product placement system and method therefor |
US11227315B2 (en) | 2008-01-30 | 2022-01-18 | Aibuy, Inc. | Interactive product placement system and method therefor |
US9338499B2 (en) | 2008-01-30 | 2016-05-10 | Cinsay, Inc. | Interactive product placement system and method therefor |
US9332302B2 (en) | 2008-01-30 | 2016-05-03 | Cinsay, Inc. | Interactive product placement system and method therefor |
US9986305B2 (en) | 2008-01-30 | 2018-05-29 | Cinsay, Inc. | Interactive product placement system and method therefor |
US9338500B2 (en) | 2008-01-30 | 2016-05-10 | Cinsay, Inc. | Interactive product placement system and method therefor |
US10438249B2 (en) | 2008-01-30 | 2019-10-08 | Aibuy, Inc. | Interactive product system and method therefor |
US8782690B2 (en) | 2008-01-30 | 2014-07-15 | Cinsay, Inc. | Interactive product placement system and method therefor |
US10425698B2 (en) | 2008-01-30 | 2019-09-24 | Aibuy, Inc. | Interactive product placement system and method therefor |
US9344754B2 (en) | 2008-01-30 | 2016-05-17 | Cinsay, Inc. | Interactive product placement system and method therefor |
US9351032B2 (en) | 2008-01-30 | 2016-05-24 | Cinsay, Inc. | Interactive product placement system and method therefor |
US9674584B2 (en) | 2008-01-30 | 2017-06-06 | Cinsay, Inc. | Interactive product placement system and method therefor |
US8893173B2 (en) | 2008-01-30 | 2014-11-18 | Cinsay, Inc. | Interactive product placement system and method therefor |
US10225614B2 (en) | 2008-05-03 | 2019-03-05 | Cinsay, Inc. | Method and system for generation and playback of supplemented videos |
US10986412B2 (en) | 2008-05-03 | 2021-04-20 | Aibuy, Inc. | Methods and system for generation and playback of supplemented videos |
US9113214B2 (en) | 2008-05-03 | 2015-08-18 | Cinsay, Inc. | Method and system for generation and playback of supplemented videos |
US8813132B2 (en) | 2008-05-03 | 2014-08-19 | Cinsay, Inc. | Method and system for generation and playback of supplemented videos |
US9813770B2 (en) | 2008-05-03 | 2017-11-07 | Cinsay, Inc. | Method and system for generation and playback of supplemented videos |
US9210472B2 (en) | 2008-05-03 | 2015-12-08 | Cinsay, Inc. | Method and system for generation and playback of supplemented videos |
US20160078199A1 (en) * | 2009-11-24 | 2016-03-17 | Comcast Interactive Media, Llc | Method for Scalable Access Control Decisions |
US10140432B2 (en) * | 2009-11-24 | 2018-11-27 | Comcast Interactive Media, Llc | Method for scalable access control decisions |
US20120112986A1 (en) * | 2010-11-10 | 2012-05-10 | Sony Network Entertainment International Llc | Web browser as second display control device |
US8893027B2 (en) * | 2011-03-04 | 2014-11-18 | Cisco Technology, Inc. | Providing hosted virtual desktop infrastructure services |
US9762643B2 (en) * | 2011-03-04 | 2017-09-12 | Cisco Technology, Inc. | Providing hosted virtual desktop infrastructure services |
US20120226998A1 (en) * | 2011-03-04 | 2012-09-06 | Stephan Edward Friedl | Providing hosted virtual desktop infrastructure services |
US20150019751A1 (en) * | 2011-03-04 | 2015-01-15 | Cisco Technology, Inc. | Providing hosted virtual desktop infrastructure services |
US20120233642A1 (en) * | 2011-03-11 | 2012-09-13 | At&T Intellectual Property I, L.P. | Musical Content Associated with Video Content |
US8997139B2 (en) | 2011-03-17 | 2015-03-31 | Ebay, Inc. | Payment authentication and authorization non-web devices |
WO2012125940A1 (en) * | 2011-03-17 | 2012-09-20 | Ebay, Inc. | Making interactive purchases through a media display device |
US9451010B2 (en) | 2011-08-29 | 2016-09-20 | Cinsay, Inc. | Containerized software for virally copying from one endpoint to another |
US8769053B2 (en) | 2011-08-29 | 2014-07-01 | Cinsay, Inc. | Containerized software for virally copying from one endpoint to another |
US11005917B2 (en) | 2011-08-29 | 2021-05-11 | Aibuy, Inc. | Containerized software for virally copying from one endpoint to another |
US10171555B2 (en) | 2011-08-29 | 2019-01-01 | Cinsay, Inc. | Containerized software for virally copying from one endpoint to another |
US8903088B2 (en) | 2011-12-02 | 2014-12-02 | Adobe Systems Incorporated | Binding of protected video content to video player with encryption key |
US20130142330A1 (en) * | 2011-12-02 | 2013-06-06 | Adobe Systems Incorporated | Binding of protected video content to video player with block cipher hash |
US8879731B2 (en) * | 2011-12-02 | 2014-11-04 | Adobe Systems Incorporated | Binding of protected video content to video player with block cipher hash |
US20210150596A1 (en) * | 2012-04-18 | 2021-05-20 | Scorpcast, Llc | System and methods for providing user generated video reviews |
US11915277B2 (en) * | 2012-04-18 | 2024-02-27 | Scorpcast, Llc | System and methods for providing user generated video reviews |
US20180278668A1 (en) * | 2012-06-13 | 2018-09-27 | Joel Hilliard | Video player with enhanced content ordering and method of acquiring content |
US9607330B2 (en) | 2012-06-21 | 2017-03-28 | Cinsay, Inc. | Peer-assisted shopping |
US10726458B2 (en) | 2012-06-21 | 2020-07-28 | Aibuy, Inc. | Peer-assisted shopping |
US10789631B2 (en) | 2012-06-21 | 2020-09-29 | Aibuy, Inc. | Apparatus and method for peer-assisted e-commerce shopping |
US9064318B2 (en) | 2012-10-25 | 2015-06-23 | Adobe Systems Incorporated | Image matting and alpha value techniques |
US20140129919A1 (en) * | 2012-11-07 | 2014-05-08 | Eric R. Benson | Method for Embedding Captured Content from one location to a host location |
US10638221B2 (en) | 2012-11-13 | 2020-04-28 | Adobe Inc. | Time interval sound alignment |
US9201580B2 (en) | 2012-11-13 | 2015-12-01 | Adobe Systems Incorporated | Sound alignment user interface |
US9355649B2 (en) | 2012-11-13 | 2016-05-31 | Adobe Systems Incorporated | Sound alignment using timing information |
US11595338B2 (en) | 2012-11-14 | 2023-02-28 | Google Llc | System and method of embedding rich media into text messages |
US11063894B2 (en) * | 2012-11-14 | 2021-07-13 | Google Llc | System and method of embedding rich media into text messages |
US20180234373A1 (en) * | 2012-11-14 | 2018-08-16 | invi Labs, Inc. | System and method of embedding rich media into text messages |
US11595339B2 (en) | 2012-11-14 | 2023-02-28 | Google Llc | System and method of embedding rich media into text messages |
US11050701B2 (en) | 2012-11-14 | 2021-06-29 | Google Llc | System and method of embedding rich media into text messages |
US9076205B2 (en) | 2012-11-19 | 2015-07-07 | Adobe Systems Incorporated | Edge direction and curve based image de-blurring |
US8897588B2 (en) | 2012-11-20 | 2014-11-25 | Adobe Systems Incorporated | Data-driven edge-based image de-blurring |
US10249321B2 (en) | 2012-11-20 | 2019-04-02 | Adobe Inc. | Sound rate modification |
US9451304B2 (en) | 2012-11-29 | 2016-09-20 | Adobe Systems Incorporated | Sound feature priority alignment |
US10455219B2 (en) | 2012-11-30 | 2019-10-22 | Adobe Inc. | Stereo correspondence and depth sensors |
US9135710B2 (en) | 2012-11-30 | 2015-09-15 | Adobe Systems Incorporated | Depth map stereo correspondence techniques |
US10880541B2 (en) | 2012-11-30 | 2020-12-29 | Adobe Inc. | Stereo correspondence and depth sensors |
EP2747438A3 (en) * | 2012-12-18 | 2015-06-03 | Krea Icerik Hizmetleri Ve Produksiyon Anonim Sirketi | Live preview method and system via electronic program guide |
US10249052B2 (en) | 2012-12-19 | 2019-04-02 | Adobe Systems Incorporated | Stereo correspondence model fitting |
US9208547B2 (en) | 2012-12-19 | 2015-12-08 | Adobe Systems Incorporated | Stereo correspondence smoothness tool |
US9214026B2 (en) | 2012-12-20 | 2015-12-15 | Adobe Systems Incorporated | Belief propagation and affinity measures |
US9805410B2 (en) * | 2013-01-31 | 2017-10-31 | Google Inc. | Seamless transition from sample to full version of digital content |
US20140214578A1 (en) * | 2013-01-31 | 2014-07-31 | Google Inc. | Seamless transition from sample to full version of digital content |
US20140359723A1 (en) * | 2013-05-30 | 2014-12-04 | JNT Company, LLC | Computer program, system, and method for providing a user access to electronically provided content |
US9875489B2 (en) | 2013-09-11 | 2018-01-23 | Cinsay, Inc. | Dynamic binding of video content |
US11074620B2 (en) | 2013-09-11 | 2021-07-27 | Aibuy, Inc. | Dynamic binding of content transactional items |
US10559010B2 (en) | 2013-09-11 | 2020-02-11 | Aibuy, Inc. | Dynamic binding of video content |
US11763348B2 (en) | 2013-09-11 | 2023-09-19 | Aibuy, Inc. | Dynamic binding of video content |
US9953347B2 (en) | 2013-09-11 | 2018-04-24 | Cinsay, Inc. | Dynamic binding of live video content |
US11017362B2 (en) | 2013-09-27 | 2021-05-25 | Aibuy, Inc. | N-level replication of supplemental content |
US10701127B2 (en) | 2013-09-27 | 2020-06-30 | Aibuy, Inc. | Apparatus and method for supporting relationships associated with content provisioning |
US10268994B2 (en) | 2013-09-27 | 2019-04-23 | Aibuy, Inc. | N-level replication of supplemental content |
US20220005111A1 (en) * | 2018-09-25 | 2022-01-06 | talkshoplive, Inc. | Systems and methods for embeddable point-of-sale transactions |
Also Published As
Publication number | Publication date |
---|---|
WO2010127046A3 (en) | 2011-01-13 |
WO2010127046A2 (en) | 2010-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20100279766A1 (en) | Video Player Including Embedded Purchasing | |
US11810184B2 (en) | Matching content providers and interested content users | |
US9858581B2 (en) | Methods and systems for processing ad server transactions for internet advertising | |
US10026098B2 (en) | Systems and methods for configuring and presenting notices to viewers of electronic ad content regarding targeted advertising techniques used by Internet advertising entities | |
KR102475842B1 (en) | Methods and apparatus to collect distributed user information for media impressions and search terms | |
US9826374B2 (en) | System and method for sharing content on third-party mobile applications | |
US20030229893A1 (en) | Multiple response means for interactive advertising and information systems | |
US8799053B1 (en) | Secure consumer data exchange method, apparatus, and system therfor | |
US20230132231A1 (en) | System and method for interactive television with messaging based payments | |
JP2020506449A (en) | Providing electronic payment tokens independent of devices and systems | |
US10559003B1 (en) | Server-side content management | |
US20130080767A1 (en) | Profiling users in a private online system | |
US20150195227A1 (en) | Email Based E-commerce Using Embedded Forms | |
US11676155B1 (en) | Methods and apparatus for mobile device messaging-based communications using custom-generated deeplinks and based on the hyper text transfer protocol (HTTP) | |
JP2022546073A (en) | Connecting web publisher inventory to programmatic exchanges without third party cookies | |
US10756898B2 (en) | Content delivery verification | |
US20240054173A1 (en) | Tamper-proof interaction data | |
US20100278337A1 (en) | Encryption-Based Location Masking | |
US20190130047A1 (en) | Centralized client-side component for retrieving remote content items | |
JP7157258B2 (en) | Fraud Prevention in Aggregated Network Measurements | |
US20240119515A1 (en) | Matching content providers and interested content users | |
WO2001082201A2 (en) | Multiple response means for interactive advertising and information systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: YOUREEKA, LLC, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PLISKA, BRANDON;BOWN, GREGORY LIONEL;MAGILL, LEONARD LEE;REEL/FRAME:022827/0106 Effective date: 20090430 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |