US20100279766A1 - Video Player Including Embedded Purchasing - Google Patents

Video Player Including Embedded Purchasing Download PDF

Info

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
Application number
US12/433,792
Inventor
Brandon Pliska
Gregory Lionel Bown
Leonard Lee Magill
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
YOUREEKA LLC
Original Assignee
YOUREEKA LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by YOUREEKA LLC filed Critical YOUREEKA LLC
Priority to US12/433,792 priority Critical patent/US20100279766A1/en
Assigned to YOUREEKA, LLC reassignment YOUREEKA, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BOWN, GREGORY LIONEL, MAGILL, LEONARD LEE, PLISKA, BRANDON
Priority to PCT/US2010/032853 priority patent/WO2010127046A2/en
Publication of US20100279766A1 publication Critical patent/US20100279766A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/47815Electronic shopping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8193Monomedia 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

    FIELD
  • The subject matter disclosed herein relates video players.
  • BACKGROUND
  • 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.
  • SUMMARY
  • 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.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • In the drawings,
  • 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 284A 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; and
  • FIG. 7 depicts an example of an encryption module 514 configured in accordance with process 600.
  • Like reference symbols in the various drawings indicate like elements.
  • DETAILED DESCRIPTION
  • FIG. 1 depicts a block diagram of a system 100 including a delivery server 110, one or more websites 115A-C, and a processor 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. The delivery server 110 may be accessible via the Internet. Moreover, the delivery server 110 may also include an application server 112A (including an application programming interface (API) for controlling the delivery of (and/or the access to) content provided by a video 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 the video server 112B is depicted at delivery server 110, in some implementations the video server 112B is at one or more other locations. For example, the video 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, the video server 112B may be implemented to operate with a client video player using the Flash format. In this example, the video server 112B 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). Specifically, a request to serve a video stream from a client video player is handled by the video 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 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. 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 the client video player 162 as a plug-in (e.g., a computer-executed program interacting with a host browser application). In some implementations, the client video player 162 is configured as a Flash client configured to operate with the video 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 the websites 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 at delivery server 110. For example, an administrator of website 115A 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 115A. Although 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. For example, an administrator of website 115B may cut (i.e., copy) the snippet of code from another webpage at a website, such as website 115C, and then paste the snippet of code into a webpage at website 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 the client video player 162 including the embedded buy 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/or video server 112B. Alternatively, the snippet of code may include embedded code, such as JavaScript, which, when executed, provides client 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&amp;embedState=basic&amp;
    autoplay=false&amp;protocol=http&amp;sub_domain=dev.service&
    amp;format=flv&amp;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 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).
  • 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 the client 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 at client video player 162, 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. Although the above example describes the content originating from delivery 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 the video server 112B may be located at that other website.
  • When buy icon 164 is selected, 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.
  • 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 as website 115A. Moreover, the website 115A may register with delivery server 110, such that any purchases made via the webpage including the code snippet is credited to website 115A. For example, the website 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 the website 115A. If another website, such as website 115B, includes the snippet of code but copies that code from a source other than delivery server 110, the website 115B may still register with delivery server 110 to receiver an affiliate identifier and thus allow credits to website 115B as purchases are made at the client video player 162 accessing website 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 via website 115B, 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 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 the client video player 162 to make a purchase by accessing the buy icon 164. The video server 112B may provide the information via a secure connection, such as a HTTPs (hypertext transport protocol secure) connection, to the client 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 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. For example, 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. In this sense, client video player 162 acts as a secure proxy of a HTTPs server at delivery server 110. Moreover, the client 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 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. 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 of FIG. 2D, the affiliate website earns 2% of any purchases, although other allocation schemes and amounts may be used as well.
  • FIG. 2E depicts webpages 284A generated after the buy 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 with delivery server 110 to make purchases, the selection of buy icon 164 causes delivery server 110 to provide webpage 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 the purchase 284C). However, in some implementations, the webpage 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). 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 284B 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.
  • 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, to client 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 selecting buy 164, in which case the movie is presented at client 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 the buy icon 164. Although 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 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 the client video player 162 may result in a message being sent to delivery 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 at client 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 the client video player 162. In some implementations, 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.
  • At 350, an account is created when the user is not registered at delivery server 110. For example, the delivery server 110 may provide webpage 282 (FIG.2C) via a secure connection between video server 112B 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.
  • 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 via network 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 at client 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 to FIG. 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 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 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—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). For example, an administrator of website 115B may obtain the snippet of code and display that code on a webpage of the website 115B. As noted above, the snippet may be obtained virally, so that the snippet is not necessarily obtained from the delivery server 110. Once the administrator of website 115B obtains the snippet of code, the administrator may contact delivery 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 the website 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 the website 115B for each purchase), website account information (e.g., to credit an allocated share of revenue), and the like. The website 115B 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).
  • 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 using client video player 162, and then make a purchase by selecting buy 164 (which would purchase the entire movie that was previewed). In this example, 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 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, the delivery server 110 may allocate ⅓ of the purchase price to the website 115A being accessed by the user interface 160 and the plug-in client video player 162, ⅓ to the delivery 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 by delivery system 110 to website 115B, and website 115A may include on a webpage the code snippet including an affiliate identifier assigned to website 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 or more websites 115A-C and/or one or more client video players, such as client video player 162. For example, 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. For example, delivery server 110 may monitor purchases being made via websites 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 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).
  • 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 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 112B, a purchasing module 522, and a data-mining module 524. In some implementations, 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. 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 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.
  • The revenue sharing module 518 may be configured to include allocations between varies entities. For example, the revenue sharing module 518 may include allocations between the websites 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 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. Although 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 710A-B) to form encrypted text (labeled cipher 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 as plaintext 710B, and so forth. In the case of an URL, if the URL is 240 characters, then at least two blocks 710A-B would be used, which would provide encrypted output as cipher text 720A-B.
  • Continuing with the 240 character URL example, the first block 710A would include the first 128 characters of the URL, and the second block 710B would include the subsequent 112 characters. In some implementations, padding may be used to fill the second 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 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 710A and an initialization vector 729 are processed using an excusive OR function (labeled XOR 730A). In some implementations, rather than use a random value for the initialization vector 729, the initialization vector 729 is selected, such that it does not result in an output 715A that is a shifted representation of the first block 710A. In some implementations, the initialization vector 729 is implemented as all zeroes.
  • The output 715A of XOR 730A is provided as an input to block cipher encyptor module 750A, which has been provided a key 760A. The block cipher encyptor module 750A may be implemented as any type of block encryption module. The output of block cipher encyptor module 750A is thus the encrypted text 720A (also referred to as cipher text).
  • The second block 710B is processed in a similar manner as the first block 710A. However, the second block 710B may include padding, as noted above, to fill the block 710B. Moreover, the XOR 730B processes the second block 710B and cipher text 720A (rather than an initialization vector). As such, output 715B, unlike output 715A, is a shifted representation of the second block 710B. Referring again to the URL example, the cipher text blocks 720A-B represent the encrypted URL, which is sent to the video 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, the first block 710A would not include any padding, but the second 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 the client 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 the first block 710A is not shifted, as noted above. For example, the first block 710A may be encrypted using cipher block chaining (which is depicted at FIG. 7). Moreover, the initialization vector 730 is determined, such that output 715A is not a shifted representation of the first 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 at client 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 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.
  • 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 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.
  • 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.
US12/433,792 2009-04-30 2009-04-30 Video Player Including Embedded Purchasing Abandoned US20100279766A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (8)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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