IP Library Granted Patent US 8,046,678
Granted Patent B2
US 8,046,678 · App. 11/209,249 · Granted Oct 25, 2011

Employing partial evaluation to provide a page

Assignee: Yahoo! Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,046,678
App. No.
11/209,249
Granted
Oct 25, 2011
Kind
B2
Abstract

A web page is generated by applying a partial evaluation technique. In one embodiment, at design time, a page designer enables a dynamic version of a page specification program to be generated, such as by way of a page customization interface. This dynamic version can be executed during the design process, with page customization choices evaluated in a dynamic manner. The parts of the page specification that can be evaluated to static form at design time are identified, and the program is partially evaluated, with the identified parts transformed to static form. The remaining dynamic parts of the page specification program are executed at request time, resulting in a generation of the page to be provided for display over the network. In general, different parts of a page specification program may be selected for evaluation at different times, and there may be more than two phases of evaluation.

Claims (48)

1. A method for providing a page for display over a network at a request time, comprising:

providing an interface enabling a page designer, during a design time, to customize the page, wherein the page is generated by executing a page specification program;

determining, during the design time, a first part of the page specification program capable of being evaluated to a static form based on the customization and a second part of the page specification program to be evaluated at the request time;

generating, during the design time, a modified version of the page specification program by converting the second part of the page specification program to a form that, when executed, outputs a source code representation of the second part of the page specification program;

generating, during the design time, a partially evaluated page specification program by executing the modified version of the page specification program, wherein executing the modified version of the page specification program executes the first part of the page specification program and outputs the source code representation of the second part of the page specification program; and

enabling, at the request time, a display of the page to a plurality of different users by executing the partially evaluated page specification program.

2. The method of claim 1 , further comprising identifying the first part of the page specification program capable of being evaluated to a static form with a tagging technique.

3. The method of claim 1 , wherein the page is at least one of a checkout page, a page associated with an online store, or a page that displays a virtual shopping cart.

4. The method of claim 1 , wherein the interface is provided to a third-party entity.

5. The Method of claim 1 , wherein the method is at least partially operative with a mobile device, a client, a server, or a wired computing device.

6. A server for providing a page for display over a network at a request time, comprising:

a network interface for communicating with a remote device that requests access to a page design interface for specifying a design of the page;

a processor in communication with the network interface; and

a memory in communication with the processor and for use in storing data and instructions that enable the processor to perform actions, including:

providing the page design interface enabling a page designer, during a design time, to customize the page, wherein the page is generated by executing a page specification program;

determining, during the design time, a first part of the page specification program capable of being evaluated to a static form based on the customization and a second part of the page specification program to be evaluated at the request time;

generating, during the design time, a modified version of the page specification program by converting the second part of the page specification program to a form that, when executed, outputs a source code representation of the second part of the page specification program;

generating, during the design time, a partially evaluated page specification program by executing the modified version of the page specification program, wherein executing the modified version of the page specification program executes the first part of the page specification program and outputs the source code representation of the second part of the page specification program; and

enabling, at the request time, a display of the page to a plurality of different users by executing the partially evaluated page specification program.

7. The server of claim 6 , further comprising identifying the first part of the page specification program capable of being evaluated to a static form with a tagging technique.

8. The server of claim 6 , wherein the page is at least one of a checkout page, a page associated with an online store, or a page that displays a virtual shopping cart.

9. The server of claim 6 , wherein the interface is provided to a third-party entity.

10. The Server of claim 6 , wherein the remote device is at least one of a mobile device, wired computing device, or a client.

11. A client for enabling a page to be provided for display over a network at a request time, comprising:

a memory for use in storing data and instructions; and

a processor in communication with the memory and for enabling actions based on the stored instructions, including:

requesting access to an interface for specifying, during a design time, a customization to the page, wherein the page is generated by executing a page specification program;

enabling, during the design time, a determination of a first part of the page specification program capable of being evaluated to a static form based on the customization and a second part of the page specification program to be evaluated at the request time;

enabling, during the design time, a generation of a modified version of the page specification program by converting the second part of the page specification program to a form that, when executed, outputs a source code representation of the second part of the page specification program;

enabling, during the design time, a generation of a partially evaluated page specification program by executing the modified version of the page specification program, wherein executing the modified version of the page specification program executes the first part of the page specification program and outputs the source code representation of the second part of the page specification program; and

enabling, at the request time, a display of the page to a plurality of different users by executing the partially evaluated page specification.

12. The client of claim 11 , wherein the page is at least one of a checkout page, a page associated with an online store, or a page that displays a virtual shopping cart.

13. The client of claim 11 , wherein the interface is provided to a third-party entity.

14. The Client of claim 11 , wherein the client is operative with at least one of a mobile device or a wired computing device.

15. A system for providing a page for display over a network at a request time, comprising:

a first device for specifying, during a design time, a customization of the page by way of an interface provided by a second device, wherein the page is generated by executing a page specification program; and

the second device, wherein the second device is coupled to the first device, and wherein the second device is configured to perform actions, including:

determining, during the design time, a first part of the page specification program capable of being evaluated to a static form based on the customization and a second part of the page specification program to be evaluated at the request time;

generating, during the design time, a modified version of the page specification program by converting the second part of the page specification program to a form that, when executed, outputs a source code representation of the second part of the page specification program;

generating, during the design time, a partially evaluated page specification program by executing the modified version of the page specification program, wherein executing the modified version of the page specification program executes the first part of the page specification program and outputs the source code representation of the second part of the page specification program; and

enabling, at the request time, a display of the page to a plurality of different users by executing the partially evaluated page specification program.

16. The System of claim 15 , wherein the first device is at least one of a mobile device or a wired computing device.

17. A storage device having processor-executable code thereon that if executed by a processor performs actions to provide a page for display over a network at a request time, comprising:

providing an interface enabling a page designer, during a design time, to customize the page, wherein the page is generated by executing a page specification program;

determining, during the design time, a first part of the page specification program capable of being evaluated to a static form based on the customization and a second part of the page specification program to be evaluated at the request time;

generating during the design time, a modified version of the page specification program by converting the second part of the page specification program to a form that, when executed, outputs a source code representation of the second part of the page specification program;

generating, during the design time, a partially evaluated page specification program by executing the modified version of the page specification program, wherein executing the modified version of the page specification program executes the first part of the page specification program and outputs the source code representation of the second part of the page specification program; and

enabling, at the request time, a display of the page to a plurality of different users by executing the partially evaluated page specification program.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 052853 FRAME: 0153. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 29, 2021
From: R2 SOLUTIONS LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 056832/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 053654 FRAME 0254. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST GRANTED PURSUANT TO THE PATENT SECURITY AGREEMENT PREVIOUSLY RECORDED. Recorded Dec 30, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: R2 SOLUTIONS LLC
Reel/Frame 054981/0377 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jul 8, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
Reel/Frame 053654/0254 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2020
From: EXCALIBUR IP, LLC
To: R2 SOLUTIONS LLC
Reel/Frame 053459/0059 →
PATENT SECURITY AGREEMENT Recorded Jun 5, 2020
From: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MERTON ACQUISITION HOLDCO LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 052853/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038950/0592 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2016
From: EXCALIBUR IP, LLC
To: YAHOO! INC.
Reel/Frame 038951/0295 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038383/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2005
From: JACKSON, DAVID; SANE, AAMOD; KASI, ASHISH; PISUPATI, CHANDRA
To: YAHOO! INC.
Reel/Frame 016917/0199 →
Continuity (1)
Related Publication 20070044016A1 · Feb 22, 2007