IP Library Granted Patent US 8,930,812
Granted Patent B2
US 8,930,812 · App. 11/705,843 · Granted Jan 6, 2015

System and method for embedding, editing, saving, and restoring objects within a browser window

Inventors: Ross Dargahi (Mountain View, CA); Kevin M. Henrikson (San Mateo, CA); Jong Yoon Lee (Mountain View, CA); James Andrew Clark (Sunnyvale, CA)
Assignee: VMware, Inc.
G06F17/24G06F17/30861
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,930,812
App. No.
11/705,843
Granted
Jan 6, 2015
Kind
B2
Abstract

In accordance with one embodiment, the present invention provides the ability to embed and edit rich content into a browser document. Embedded objects are not backed by installed desktop applications. Instead, in one embodiment, the embedded objects are Asynchronous Javascript and XML (AJAX) components that adhere to a set of design patterns, which are embedded within editable HTML documents. For example, a user composing an email message can embed a spreadsheet into the email in accordance with an embodiment of the present invention. The spreadsheet is implemented, in one embodiment, as an AJAX component adhering to the Ajax Linking and Embedding (ALE) design pattern. Since it is an ALE component, the embedded object is fetched across the network so that it may be instantiated and used regardless of the user's location. The user can edit, manipulate, and save the embedded object while remaining in the context of the container document.

Claims (35)

1. A method for embedding an object into a container document in a browser window, the embedded object using a first application, and the container document using a second application, the method comprising:

initiating creation of an instance of the embedded object at a specific location within the container document in the browser window;

inserting data into the embedded object instance created at the specific location while remaining within the container document; and

saving the data in the embedded object along with the container document; wherein the first application is not installed on a machine being used by the user.

2. The method of claim 1 , wherein the container document is one of a group consisting of an email, a notebook page, a calendar entry, and a memo.

3. The method of claim 1 , wherein the embedded object is one of a group consisting of a spreadsheet, a video, a workflow, and a still image.

4. The method of claim 1 , wherein the user can access the functionality of the first application while remaining within the container document.

5. The method of claim 1 , further comprising:

viewing the embedded object as a read-only object when the data has been saved.

6. A method for embedding an object into a container document in a browser window, the container document using a first application, the method comprising:

creating a shell at a specified location in the container document;

creating an instance of the object to be embedded in the shell;

allowing a user to edit the instance of the object using a second application, while remaining within the container document in the browser window; and

saving the instance of the object when the container object is saved.

7. The method of claim 6 , wherein the shell is an IFrame.

8. The method of claim 7 , further comprising:

registering a method with the IFrame.

9. The method of claim 8 , wherein the method is a serialization method.

10. The method of claim 8 , wherein the method is a deserialization method.

11. The method of claim 6 , wherein the specified location in the container document is based upon a location of a cursor within the container document.

12. The method of claim 6 , further comprising:

loading code from a remote location based upon the object to be embedded.

13. A computer-implemented system for embedding and saving an object in a document on a host machine, the computer-implemented system comprising:

means for providing the ability to insert and edit the object within the document, wherein the object is not backed by an application installed on the host machine; and

means for saving the document and the object such that the document and the object can be later accessed.

14. The computer-implemented system of claim 13 , wherein the document is one of a group consisting of an email, a notebook page, a calendar entry, and a memo.

15. The computer-implemented system of claim 13 , wherein the object is one of a group consisting of a spreadsheet, a video, a workflow, and a still image.

16. A method for allowing a user to edit an embedded object within a container document in a browser window on a user's machine, the method comprising:

receiving an indication that the container document is to be edited;

identifying a location within the container document in the browser window where the embedded object is located;

presenting to the user an editable instance of the embedded document at the identified location, including previously saved data, wherein the embedded object uses an application not installed on the user's machine;

allowing the user to modify the data; and

in response to receiving an indication that the container document is to be saved, saving the embedded object and the container document such that the container document and the embedded object with the modified data can be later accessed.

17. The method of claim 16 , wherein the container document is one of a group consisting of an email, a notebook page, a calendar entry, and a memo.

18. The method of claim 16 , wherein the embedded object is one of a group consisting of a spreadsheet, a video, a workflow, and a still image.

Assignments (4)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2010
From: YAHOO! INC.
To: VMWARE, INC.
Reel/Frame 024309/0557 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 7, 2007
From: ZIMBRA, INC.
To: YAHOO! INC.
Reel/Frame 020214/0690 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2007
From: DARGAHI, ROSS; HENRIKSON, KEVIN M.; LEE, JONG Y.; CLARK, JAMES A.
To: ZIMBRA, INC.
Reel/Frame 019273/0111 →
Continuity (2)
Provisional Application 60774384 · Feb 17, 2006
Related Publication 20090094514A1 · Apr 9, 2009