US10387552B2 - Managing portable document-based workspaces - Google Patents
Managing portable document-based workspaces Download PDFInfo
- Publication number
- US10387552B2 US10387552B2 US14/446,036 US201414446036A US10387552B2 US 10387552 B2 US10387552 B2 US 10387552B2 US 201414446036 A US201414446036 A US 201414446036A US 10387552 B2 US10387552 B2 US 10387552B2
- Authority
- US
- United States
- Prior art keywords
- document
- workspace
- computing device
- data
- based workspace
- 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.)
- Active, expires
Links
Images
Classifications
-
- G06F17/24—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
Definitions
- An electronic document generally refers to electronic media content used in electronic form.
- Software applications include one or more programs designed to provide access to carry out specific operations on electronic documents.
- Software applications can further facilitate editing electronic documents.
- Software applications support application preferences when editing documents.
- Software application preferences can be associated with a template document such that user configurations for that document are retrieved when the document is accessed for editing.
- Software application preferences in this regard, are persistent because application preferences exist from session to session.
- software applications can create transient data that is associated with a document. Transient data, which is not available from session to session (i.e., not persistent data), can be important in preserving a document workspace for editing the document.
- Conventional software applications fail to provide ways for preserving document transient data and accessing document-based workspaces.
- Embodiments of the present invention provide methods and systems for managing portable document-based workspaces.
- An indication to save a document-based workspace for a document is received on a computing device.
- the computing device includes a software application for editing the document and can include a client application for communicating with a cloud service component that is configured to store the document and the document-based workspace.
- transient data associated with the document is identified.
- the transient data may be identified, based on a data structure that defines transient data, from document-specific data that are preserved as part of the document-based workspace.
- the document-based workspace is saved and communicated to the cloud service component such that the transient data associated with the document is accessible when the document is accessed from a second computing device that sends an indication to access the document and the document-based workspace.
- FIG. 1 is a block diagram showing a system for managing portable document-based workspaces in accordance with embodiments of the present invention
- FIG. 2 is schematic diagram showing a method for managing portable document-based workspaces in accordance with embodiments of the present invention
- FIG. 3 is a flow diagram showing a method for managing portable document-based workspaces in accordance with embodiments of the present invention
- FIG. 4 is a flow diagram showing a method for managing portable document-based workspaces in accordance with embodiments of the present invention.
- FIG. 5 is a block diagram of an exemplary computing environment suitable for use in implementing embodiments of the present invention.
- the word “including” has the same broad meaning as the word “comprising.”
- words such as “a” and “an,” unless otherwise indicated to the contrary include the plural as well as the singular. Thus, for example, the requirement of “a feature” is satisfied where one or more features are present.
- the term “or” includes the conjunctive, the disjunctive and both (a or b thus includes either a or b, as well as a and b).
- An electronic document generally refers to electronic media content used in electronic form.
- Software applications include one or more programs designed to provide access to or carry out specific operations on electronic documents.
- Software applications can further facilitate editing electronic documents.
- Software applications support application preferences when editing documents.
- Software application preferences can be associated with a template document such that user configurations for that document are retrieved when the document is accessed for editing.
- Software application preferences in this regard, are persistent in that application preferences exist from session to session.
- software applications can create transient data that is associated with a document. Transient data, which is not available from session to session, can be important in preserving a document workspace for editing the document.
- Conventional software applications fail to provide ways for preserving document transient data and accessing document-based workspaces.
- a user working on a document may need to move from an office workstation to a home workstation to continue working on the document.
- the document workspace is not preserved, as such, when the user opens the document at his home workstation the document workspace is new.
- Embodiments of the present invention provide simple and efficient methods and systems for managing portable document-based workspaces.
- managing portable document-based workspaces comprises generating, saving, and accessing document-based workspaces.
- a document-based workspace refers to document-specific data that includes components and resources that facilitate editing a document in a software application. Often the document-specific data represent an editing state of the document at a given time, a snapshot.
- Document-specific data can include persistent data and transient data.
- Persistent data refers to document editing data that outlives the editing process, in other words, data associated with the document that is preserved when the document is saved.
- Transient data refers to data in an opened document that is used in the editing process. Transient data is not persistent data, in that the transient data is not configured to outlive the process that created it.
- transient data in an opened document is identified to be saved in association with a document-based workspace to preserve a snapshot of the editing process as a portable document-based workspace. Further, transient data can be different for particular software applications, as such, transient data associated with a particular application can be identified and selected to be preserved as part of a portable document-based workspace.
- document-based workspaces are based on preserving identified transient data as a document is edited, such that, a document-based workspace can be generated, saved, and accessed from a different location at a different time.
- a document-based workspace can include transient data from document-specific data such as a document context, clipboard, selected objects, undo buffer, document locks, document preferences, and pointers to other documents.
- the transient data which would otherwise be discarded, can be specifically identified and saved.
- the transient data may be saved as an independent file or saved as an integral portion of the document itself.
- a document-based workspace data structure can be defined to preserve the identified document-based workspace data for a workspace.
- a first user and a second user are part of a team collaborating on a document.
- the first user and the second user are located in different geographic locations and time zones.
- the first user and the second user work on the same document on a shared basis.
- the first user may define via a software application (e.g., a graphics editor application) a document editing state comprising a document context having color pallets, loaded brushes, and other document states.
- the document-based workspace can be used to save the document-specific data that define the document editing.
- the second user can open the document and corresponding document-based workspace and have access to the editing state saved via the document-based workspace.
- the users can have both shared access to a document and also access to the document-based workspace associated with the document created by each user.
- the document-based workspace is used to reestablish document-specific data that provides a snapshot of the editing process within the software application.
- Transient data from document-specific data can include document context, clipboard, selected objects, undo buffer, document locks, document preferences, and pointers to other documents that when preserved in document-based workspaces in embodiments of the present invention facilitate portability of the document-specific data.
- an undo buffer may be transient data associated with a document editing state of a software application.
- a data structure defines the undo buffer as document-specific data that should be preserved as part of the document-based workspace. As such, the user upon opening the document on any computer can recover the document editing state.
- a user editing a document on a graphics editor software application on a first computing device may use a pen tool to create a path selection.
- the first computing device may be at a first location (e.g., a desktop at work).
- the selection will not be saved as part of saving the document upon completing the editing of the document.
- the selection does exist as transient data in the editing state of the software application.
- the user can save the document-based workspace that saves the path selection.
- the user can upload the saved document and corresponding document-based workspace to the cloud.
- the user can access, from the cloud, the document and the corresponding document-based workspace on a second computing device running the graphics editor software.
- the second computing device may be at a second location (e.g., a laptop at home).
- the corresponding document-workspace can be used to reestablish the editing state of the document to the graphics editor software application running on the second computing device.
- managing portable document-based workspaces can be facilitated by a cloud-based infrastructure.
- the cloud-based infrastructure may include several different client-side and cloud-side components that facilitate managing portable document-based workspaces using the cloud.
- the cloud-side components can communicate with client-side components to receive, store, and communicate the document-based workspace.
- users are be able to save a document associated with a document-based workspace using a client application on a computing device and access the document along with the document-based workspace from another computing device having the client-side components.
- Embodiments of the present invention support generating a document-based workspace.
- the document-based workspace can be generated via an interface of a software application that provides access to the document.
- Another client application or service can also be used to facilitate generating the document-based workspace.
- a user editing a document can be provided with several different interface prompts that facilitate saving a document and an associated document-based workspace of the document.
- an interface may provide the user the option to save the document-based workspace when the user attempts to save the document.
- the document-based workspace can be automatically saved when saving a document.
- Specific application configuration settings may further dictate interface elements and prompts options that are used to save the document-based workspace.
- the document-based workspace can be generated based on a document-based workspace data structure.
- the data structure provides a particular way for organizing the data associated with a document-based workspace.
- the data structure can be defined as an object having data fields and code for accessing and saving transient data associated with the document when a document-based workspace in selected to be saved.
- the data structure comprises document context, clipboard, selected objects, undo buffer, document locks, document preferences, and pointers to other documents.
- a document context in particular, can include various applications states including color pallets, loaded brushes, and other document configurations via the software application.
- the data structure can include specific data fields such as a computing device identifier, timestamp, and source information (e.g., computing device, device, user id, device id) of the computing device running the application, such that, the data fields are populated with the corresponding information stored in association with the document-based workspace.
- specific data fields such as a computing device identifier, timestamp, and source information (e.g., computing device, device, user id, device id) of the computing device running the application, such that, the data fields are populated with the corresponding information stored in association with the document-based workspace.
- a document can include a data field for a document type, the location of document (e.g., cloud or local) and the path of the document. Elements such as undo history and clipboards may be associated with data blobs, and user selections can be associated with selections paths.
- the different elements of the document-based workspace data structure defined herein are not meant to be limiting but merely exemplary, as such, other variations and combinations of data structure elements are contemplated with embodiments of the present invention.
- the workspace can be saved. Saving the document-based workspace may be facilitated by a cloud-based infrastructure having client-side components and cloud-side components.
- the client-side components include the software application that may provide an interface for saving the workspace. It is contemplated that the software application may identify, in allocated memory of the software application, transient data that would otherwise not be saved, such that a portable document-based workspace is generated and saved. Identifying the transient data in memory can be based on the elements defined in the data structure.
- the software application may save the document-based workspace separately or as an integral portion of the document itself. How the workspace is saved and managed can be based on configurable features of the cloud-based infrastructure and/or the software application in particular.
- the cloud-based infrastructure may also support a client-side component (e.g., client service) that is a resident application or service on a computing device that is used to facilitate saving the portable document-based workspace.
- client service may be distinct from the software application used to edit the document, or integrated with the software application.
- the client service can, in particular, provide access to cloud-based components of the cloud-based infrastructure such that saved document-based workspace can be communicated and stored in cloud storage.
- the software application can support saving a portable document-based workspace locally on the computing device and a client service can facilitate communicating the document-based workspace to the cloud.
- the documents and document-based workspaces may be processed independently of each other. Independent processing of the documents and document-based workspaces may be facilitated by a linking mechanism (e.g., pointers) to align documents with their corresponding document-based workspace.
- Documents may be saved to a sync folder associated with the client service that syncs the documents to cloud storage.
- the workspaces are transferred to the client application directly from a software application to be communicated to cloud storage.
- the cloud computing infrastructure storage component may implement separate services to facilitate storing workspaces independently of documents.
- documents and workspaces may also be processed in combination in certain embodiments, as such, any other variations and combinations of processing documents and their associated workspaces are contemplated with embodiments of the present invention.
- local storage devices e.g., USB stick
- a document-based workspace is portable in that the workspace is accessible from a secondary computing device.
- the transient data of a user's workspace that is saved as a portable document-based workspace can be provided when the document is opened at the secondary computing device.
- the cloud-based infrastructure can facilitate accessing the document and the associated document-based workspace.
- a user at the secondary computing device may access the software application and open the document via cloud storage, such that, the document is opened along with the corresponding document-based workspace.
- the software application can provide interface elements that support accessing and opening a document that is specifically associated with a document-based workspace.
- the interface can include specific prompts that direct the user to open an associated document-based workspace of a document, or in the alternative, the interface may automatically detect an associated document-based workspace and open the document-based workspace.
- the interface can include specific prompts that direct the user to open an associated document-based workspace of a document, or in the alternative, the interface may automatically detect an associated document-based workspace and open the document-based workspace.
- Other variations and combinations of interface elements for retrieving and opening the document and the associated workspace are contemplated with embodiments of the present invention.
- the software application can work with the client application that provides access to cloud-based components of the infrastructure.
- the cloud-based components may include separate services that independently handle processing document-based workspaces and documents.
- the document-based workspaces and documents may be accessed from the software application on any device to retrieve the document and the specific document-based workspace having transient data of the document at the time the document was being edited.
- Providing the document-based workspace with a software application may include configuring interface features (e.g., graphical interface or peripheral interface) of the software application based on the document-based workspace to provide the previously saved workspace interface features. For example, path selections, color palettes, or loaded brushes in a graphics editing software can be automatically reloaded, while a keyboard shortcut or touchscreen button associated with document-specific data can be provided as part of the document-based and accessed using the interface features.
- embodiments of the present invention provide document-based workspaces having selected transient data that are preserved while document is being edited.
- the transient data identified using a document-based workspace data structure, defines data associated with editing the document in software application.
- the transient data are not automatically deleted as they would otherwise have been if the document is not saved as a portable document-based workspace, but instead the transient data are saved and made accessible as a portable document-based workspace via the cloud.
- one or more computer storage media storing computer-useable instructions that, when used by one or more computing devices, causes the one or more computing devices to perform a method for managing portable document-based workspaces.
- the method includes receiving an indication to save a document-based workspace for a document.
- the method also includes identifying transient data associated with the document.
- the method further includes saving the document-based workspace such that the transient data associated with the document is accessible when the document accessed.
- a computer-implemented method suitable for use in a distributed computing environment utilizing a processor and a memory for managing portable document-based workspaces includes receiving a document and a document-based workspace.
- the document-based workspace comprises transient data associated with editing the document.
- the method includes storing the document and the document-based workspace.
- the method also includes receiving an indication to communicate the document and the document-based workspace to a computing device.
- the method further includes communicating the document and document-based workspace to the computing device.
- a system for managing portable document-based workspaces includes a software application configured for: receiving an indication to save a document-based workspace for a document; identifying transient data associated with the document; and saving the document-based workspace such that the transient data associated with the document is accessible when the document accessed.
- the system also includes a client service component configured for: uploading the document and the document workspace; and downloading the document and the document workspace.
- the system includes a cloud service component configured for: receiving the document and the document-based workspace; storing the document and the document-based workspace; receiving an indication to communicate the document and the document-based workspace; and communicating the document and document-based workspace.
- FIG. 1 an example embodiment of a high-level cloud-based infrastructure (hereinafter “infrastructure” 100 ) in which embodiments of the present invention may be performed is shown.
- the infrastructure 100 shown in FIG. 1 is an example of one suitable infrastructure.
- the infrastructure 100 should not be interpreted as having any dependency or requirement related to any single module/component or combination of modules/components illustrated therein.
- Each may comprise a single device or multiple devices cooperating in a distributed environment.
- components may comprise multiple devices arranged in a distributed environment that collectively provide the functionality described herein. Additionally, other components not shown may also be included within the network environment.
- the infrastructure 100 may include client devices 102 , software applications 104 , a sync folder 106 , a client service component 108 , a cloud computing infrastructure 110 having a cloud service component 112 , a workspace service 114 , a document service 116 , and a network 118 .
- the network 118 may include, without limitation, one or more local area networks (LANs) and/or wide area networks (WANs). Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet. Accordingly, the network is not further described herein.
- client devices and cloud computing infrastructures may be employed in the computing system 200 within the scope of embodiments of the present invention.
- Each may comprise a single device/interface or multiple devices/interfaces cooperating in a distributed environment.
- the cloud computing infrastructure 110 may comprise multiple devices and/or modules arranged in a distributed environment that collectively provide the functionality of the managing portable document-based workspaces described herein. Additionally, other components/modules not shown also may be included within the infrastructure 100 .
- the client device 102 may include any type of computing device 500 described below with reference to FIG. 5 , for example.
- the client device 102 may be associated with different applications, for instance, a software application (e.g., software application 104 ) on the client device 102 .
- Client device 102 is responsible for running client-side components in accordance with embodiments of the present invention.
- the client device 102 can implement a sync folder 106 and client service component 108 that facilitate managing document-based workspaces.
- the client device 102 can facilitate communication with cloud-side components of the present invention.
- the above-described configuration of the client device 102 is merely exemplary and not intended to limit embodiments of the present inventions.
- Software application 104 facilitates generating, saving, and accessing document-based workspace.
- the software application 104 is responsible for generating document-based workspaces based on document transient data.
- the software application 104 is configured to receive an indication to save a document-based workspace for a document. Receiving the indication to save a document-based workspace may be based on several different interfaces and workflows. For example, a user can use interface features of the software application 104 to save and document which automatically saves document-based workspace of the document.
- the interface includes specific prompts which the user responds to in order to save the document-based workspace along with the document.
- a user may send an indication to save a particular document-based workspace for a snapshot in time.
- the software application 104 can be associated with different configurable settings and interface features for generating the document-based workspace.
- the software application 104 further generates the document-based workspace based on identifying transient data associated with the document.
- the software application 104 can be associated with a data structure that that defines document-specific data that are preserved as part of the document-based workspace.
- Transient data may include data associated with a document that is temporarily stored in memory associated with the software application.
- Elements of a document during editing can include a document context, a clipboard, a selected object, an undo buffer, a document lock, a document preference, and a pointer to other documents amongst other elements.
- transient data associated with these elements that would otherwise be discarded, usually upon saving and/or closing a document, can be preserved and communicated such that a document workspace associated with the document is maintained.
- the document and the document-based workspace may be generated as independent files and managed separately with some linking mechanism to have a document correspond to an associated document-based workspace.
- the linking mechanism may be a pointer between the document and the document-based workspace that keeps the two related.
- Other linking mechanisms are contemplated with embodiments of the present invention.
- the software application 104 may also generate a document-based workspace that is an integral portion of the document itself. In this regard, the document and the document-based workspace can be managed and processed in combination with each other.
- the software application 104 is further configured to save the document-based workspace.
- the software application 104 may save the document-based workspace on a local storage device or an external storage device.
- the document-based workspace is saved such that the transient data associated with the document is accessible when the document accessed.
- the software application communicates with the client service component 108 to transfer the document-based component to the cloud computing infrastructure 110 .
- the software application 104 can manage the document and the document-based workspace separately.
- the software application 104 and at least one other software application can share a sync folder (e.g., sync folder 106 ) for saving the documents associated with each corresponding application.
- the sync folder 106 works with the client service component to upload the documents to the cloud computing infrastructure 110 .
- the software application 104 can also communicate the document-based workspaces directly to the client service component 108 .
- the client service component 108 can also upload the document-based workspaces to the cloud computing infrastructure 110 .
- the client service component 108 is responsible for communicating documents and document-based workspaces.
- the client service component 108 can receive documents and document-based workspaces from software application 104 and upload the documents and the document-based workspaces to the cloud computing infrastructure 110 .
- the client service component 108 provides access to the cloud computing infrastructure such that the document-based workspace is saved in the cloud and the document-based workspace is accessible from a second computing device that is different from the computing device used to generate the document and the document-based workspace.
- the client service component 108 may also provide an interface for managing the different documents and document-based workspaces.
- the interface can provide a unified view of documents and their corresponding workspaces.
- the view can identify the software applications associated with respective documents and the document-based workspaces.
- the client interface may be further configured to show details of the document-based workspace.
- the details can include the types of information (e.g., transient data) preserved with a particular document and software application.
- the client service can provide a configuration interface for selecting and deselecting individual document-specific data that may can part of the document-based workspace.
- the client service can provide specific details of the document workspace and provide an interface for changing and configuring how the document-based workspaces are created and communicated.
- the client service component 108 may also implement a user account model, where individual users and/or groups of users are associated with accounts and documents and document workspace in their accounts. With access to the documents and their corresponding workspaces, a user can select which documents to upload to the cloud computing infrastructure or download to the client device, as discussed in more detail below.
- the cloud computing infrastructure 110 acts to store data or run service applications in a distributed manner.
- a cloud computing infrastructure may span wide geographic locations, including countries and continents.
- the service-application components of the cloud computing system may include nodes (e.g., computing devices, processing units, or blades in a server rack) that are allocated to run one or more portions of a service application.
- the nodes may be partitioned into virtual machines or physical machines that concurrently run the separate service applications, respectively, in individualized computing environments that support the resources and/or operating system specific to each service application.
- each service application may be divided into functional portions such that each functional portion is able to run on a separate virtual machine.
- the cloud computing infrastructure 110 comprises a cloud service component 112 having a workspace service 114 and a document service 116 .
- the cloud service component 112 is responsible for managing portable document-based workspaces in the cloud.
- the cloud service component provides storage of software application documents and corresponding document-based workspaces.
- the cloud service component 112 receives uploads from a client service component on a client device in order to store the documents and the document-based workspaces.
- the cloud service component 112 may perform functions similar to the client service component via the cloud.
- the cloud service component can provide a cloud-based interface for managing the documents and the corresponding document-based workspaces for the documents.
- the cloud service component may support a user account model for accessing documents and document-based workspaces associated with individual users and groups of users working in collaboration.
- the cloud service component 112 by manage access permissions to certain documents and document-based workspaces.
- the cloud service component 112 can manage the documents and the document-based workspaces independently or in combination.
- the cloud service component can implement a workspace service 114 and a document service 116 .
- the workspace service manages the document-based workspaces and the document service manages the documents.
- Managing the documents and workspaces may include providing an interface for interacting with the documents and workspaces and providing other informational interface elements.
- the documents may be presented with an interface feature to distinguish documents with associated workspace and documents without workspaces.
- Documents and workspaces may also be arranged and sorted based on document detail information including the associated software application, users, modified data etc. As such, other variations and combination of interface features and document management techniques are contemplated with embodiments of the present invention.
- the client service component 112 is responsible for providing access to documents and corresponding document-based workspaces from client devices.
- a user may use a software application of a first computing device and save the document along with a document-based workspace.
- the client-side components on the client device may facilitate uploading the document and the document-based workspace into the cloud computing infrastructure 100 .
- a user may access the software application either on the same computing device or a second computing device different from the first computing and still have the document-based workspace.
- the software application 102 may provide access to the cloud computing infrastructure 110 via the client service component.
- the client service component may open the software application attempt to open the document via a direct interface to the cloud computing infrastructure 110 .
- the indication to open the document may trigger downloading the document and the associated document-based workspace; thus providing access to the document.
- the client service component 108 may provide an interface to the cloud computing infrastructure 110 to download one or more documents and their corresponding document-based workspaces. Upon download, a user may access the file using conventional document launching methods, however the software application further opens the document with a corresponding document-based workspace.
- certain interface features of the software application may be updated based on particular elements of the document-based workspaces that change a generic interface. For example, document context (e.g., loaded brushes, color pallets) details are provided via interface features, and as such, the document-based workspace can alter interface features when an associated document is opened.
- document context e.g., loaded brushes, color pallets
- FIG. 2 a schematic diagram 200 is provided that illustrates a method 200 for managing portable document-based workspaces in accordance with an embodiment of the present invention.
- the operating environment includes an application 202 , client service component 204 , cloud service component 206 , and client service component 208 and application 208 .
- application 202 and client service component 204 may be on a computing device and application 210 and client service component 208 may be on another computing device. It is possible for the method described herein to be performed on the same computing device accessing its own previously saved document and document-based workspace.
- the application 202 may receive an indication to save a document and a document-based workspace. Saving the document and the document-based workspaces is based on preserving transient document workspace data as a document is edited such that a workspace can be generated, saved, and accessed from a different computing device and a different time.
- the document-based workspace data comprises a document context, clipboard, selected objects, undo buffer, document locks, document preferences, and pointers to other documents.
- the application may communicate the document and the document-based workspace to a client service component 204 .
- the client service component 204 is responsible for providing access to documents and corresponding document-based workspaces from client devices.
- the client service component uploads the document and the document-based workspace. Uploading the document and the document workspace may be automated and performed periodically, but is may also be manually uploaded to a cloud computing infrastructure.
- the cloud computing infrastructure acts to store data or run service applications in a distributed manner.
- the cloud computing infrastructure implements the cloud service component 206 that is responsible for managing the document-based workspaces in the cloud computing infrastructure. As shown at step 218 , the cloud service component 206 can save the document and document-based workspace. It is contemplated the cloud service component can either manage the document and document-based workspace independently or in combination.
- the application 210 may receive an indication to access the document and the document-based workspace.
- the application 210 provides an interface that presents a selectable document and document-based workspace which automatically downloads the document from the cloud computing infrastructure and opens the document with the corresponding document-based workspace.
- the application 210 may send an indication to download the document and the document-based workspace to the client service component 208 .
- the client service component 208 at step 224 downloads the document and the document-based workspace.
- the cloud service component 206 communicates the document and document-based workspace to the client service component 208 based on receiving a communication from the client service requesting to download the document and the document-based workspace.
- the client service component 208 communicates the document and document-based workspace to the application 210 .
- the application 210 can open the document and the document-based workspace. Accessing the document-based workspace with application 210 may include configuring interface features (e.g., graphical and peripheral interface features) of the application based on the document-based workspace to provide the previously saved workspace interface features.
- transient data of the document that define the workspace during editing of a document with application 202 is not automatically deleted as it would otherwise have been when a document is saved without its associated workspace.
- transient data is saved at by application 202 and is made accessible as a document-based workspace via the cloud.
- a flow diagram 300 is provided that illustrates a method 300 for managing portable document-based workspaces in accordance with an embodiment of the present invention.
- Each block of the method 300 and other methods described herein comprises a computing process that may be performed using any combination of hardware, firmware, and/or software. For instance, various functions may be carried out by a processor executing instructions stored in memory.
- the methods may also be embodied as computer-usable instructions stored on computer storage media. The methods may be provided by a standalone application, a service or hosted service (standalone or in combination with another hosted service), or a plug-in to another product, to name a few.
- an indication to save a document-based workspace for a document is received.
- a user working on a software application can send an indication to the software application to save a document-based workspace.
- the indication can be based on an indication from the user to save the document that also triggers an indication to save the document-based workspace.
- transient data associated with the document is identified.
- transient data may be stored in an allocation of memory for the software application.
- Transient data includes data that would otherwise be discarded, usually upon saving and/or closing a document.
- transient data can preserved and communicated such that a document workspace associated with the document is maintained.
- the software application may be associated with a data structure that that defines document-specific data that are preserved as part of the document-based workspace.
- the document-based workspace is saved such that the transient data associated with the document is accessible when the document accessed.
- a flow diagram 400 is provided that illustrates a method 400 for managing portable document-based workspaces in accordance with an embodiment of the present invention.
- a document and a document-based workspace is received.
- the document-based workspace comprises transient data associated with editing the document.
- the document and document-based workspace can be received at cloud computing infrastructure that facilitates managing the document and document-based workspace.
- the document and document-based workspace may be managed independently or managed in combination when the document-based workspace is an integral portion of the document.
- the document and the document-based workspace are stored.
- the cloud computing infrastructure comprises storage for the document and document-based workspace such that the document and document-based workspace can be accessed from a plurality of computing devices.
- an indication to communicate the document and the document-based workspace to a computing device is received. For instance, a user may save a document and a corresponding document-based workspace at first computing device and a client service at the first computing device uploads the document and the document-based workspace to a cloud computing infrastructure for storage. The user can then send an indication from a second computing device to access the document and the corresponding document-based workspace on a cloud computing infrastructure. The cloud computing infrastructure can retrieve the document and the document-based workspace and communicate the document and document-based workspace to the second computing device. At the second computing device, the document is opened along with the document-based workspace that was previously saved on the first computing device.
- Computing device 500 typically includes a variety of computer-readable media.
- Computer-readable media can be any available media that can be accessed by computing device 500 and includes both volatile and nonvolatile media, removable and non-removable media.
- Computer-readable media may comprise computer storage media and communication media.
- Computer storage media include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data.
- Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computing device 500 .
- Computer storage media excludes signals per se.
- Communication media typically embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
- modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
- communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer-readable media.
- Memory 512 includes computer storage media in the form of volatile and/or nonvolatile memory.
- the memory may be removable, non-removable, or a combination thereof.
- Exemplary hardware devices include solid-state memory, hard drives, optical-disc drives, etc.
- Computing device 500 includes one or more processors that read data from various entities such as memory 512 or I/O components 520 .
- Presentation component(s) 516 present data indications to a user or other device.
- Exemplary presentation components include a display device, speaker, printing component, vibrating component, etc.
- I/O ports 518 allow computing device 500 to be logically coupled to other devices including I/O components 120 , some of which may be built in.
- Illustrative I/O components 520 include a microphone, joystick, game pad, scanner, hard/soft button, touch screen display, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Document Processing Apparatus (AREA)
Abstract
Description
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/446,036 US10387552B2 (en) | 2014-07-29 | 2014-07-29 | Managing portable document-based workspaces |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/446,036 US10387552B2 (en) | 2014-07-29 | 2014-07-29 | Managing portable document-based workspaces |
Publications (2)
Publication Number | Publication Date |
---|---|
US20160034435A1 US20160034435A1 (en) | 2016-02-04 |
US10387552B2 true US10387552B2 (en) | 2019-08-20 |
Family
ID=55180197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/446,036 Active 2035-03-08 US10387552B2 (en) | 2014-07-29 | 2014-07-29 | Managing portable document-based workspaces |
Country Status (1)
Country | Link |
---|---|
US (1) | US10387552B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10585970B2 (en) * | 2016-01-14 | 2020-03-10 | International Business Machines Corporation | Managing dynamic webpage content |
WO2023279355A1 (en) * | 2021-07-09 | 2023-01-12 | Citrix Systems, Inc. | History preview and shortcut to restore a work scene for a remote app |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120096408A1 (en) * | 2010-10-15 | 2012-04-19 | International Business Machines Corporation | System and method for establishing a collaborative workspace |
US20130085811A1 (en) * | 2011-09-29 | 2013-04-04 | Scott Darden | Work product transparency |
US20130205203A1 (en) * | 2012-02-07 | 2013-08-08 | International Business Machines Corporation | Transient, real-time position tracking interface for user activity in a document editing application |
US20130212485A1 (en) * | 2008-10-10 | 2013-08-15 | Adobe Systems Incorporated | Collaborative and non-collaborative workspace application container with application persistence |
US8533593B2 (en) * | 2011-04-19 | 2013-09-10 | Autodesk, Inc | Hierarchical display and navigation of document revision histories |
US20130254699A1 (en) * | 2012-03-21 | 2013-09-26 | Intertrust Technologies Corporation | Systems and methods for managing documents and other electronic content |
US20130283207A1 (en) * | 2007-06-29 | 2013-10-24 | Microsoft Corporation | Communication between a document editor in-space user interface and a document editor out-space user interface |
US20140223278A1 (en) * | 2007-01-22 | 2014-08-07 | Cfph, Llc | Viewing file modifications |
US8914900B2 (en) * | 2012-05-23 | 2014-12-16 | Box, Inc. | Methods, architectures and security mechanisms for a third-party application to access content in a cloud-based platform |
US20150193100A1 (en) * | 2014-01-06 | 2015-07-09 | Red Hat, Inc. | Intuitive Workspace Management |
US9135599B2 (en) * | 2009-06-18 | 2015-09-15 | Microsoft Technology Licensing, Llc | Smart notebook |
US9208137B2 (en) * | 2010-08-19 | 2015-12-08 | Cadence Design Systems, Inc. | Method to preview an undo/redo list |
-
2014
- 2014-07-29 US US14/446,036 patent/US10387552B2/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140223278A1 (en) * | 2007-01-22 | 2014-08-07 | Cfph, Llc | Viewing file modifications |
US20130283207A1 (en) * | 2007-06-29 | 2013-10-24 | Microsoft Corporation | Communication between a document editor in-space user interface and a document editor out-space user interface |
US20130212485A1 (en) * | 2008-10-10 | 2013-08-15 | Adobe Systems Incorporated | Collaborative and non-collaborative workspace application container with application persistence |
US9135599B2 (en) * | 2009-06-18 | 2015-09-15 | Microsoft Technology Licensing, Llc | Smart notebook |
US9208137B2 (en) * | 2010-08-19 | 2015-12-08 | Cadence Design Systems, Inc. | Method to preview an undo/redo list |
US20120096408A1 (en) * | 2010-10-15 | 2012-04-19 | International Business Machines Corporation | System and method for establishing a collaborative workspace |
US8533593B2 (en) * | 2011-04-19 | 2013-09-10 | Autodesk, Inc | Hierarchical display and navigation of document revision histories |
US20130085811A1 (en) * | 2011-09-29 | 2013-04-04 | Scott Darden | Work product transparency |
US20130205203A1 (en) * | 2012-02-07 | 2013-08-08 | International Business Machines Corporation | Transient, real-time position tracking interface for user activity in a document editing application |
US20130254699A1 (en) * | 2012-03-21 | 2013-09-26 | Intertrust Technologies Corporation | Systems and methods for managing documents and other electronic content |
US8914900B2 (en) * | 2012-05-23 | 2014-12-16 | Box, Inc. | Methods, architectures and security mechanisms for a third-party application to access content in a cloud-based platform |
US20150193100A1 (en) * | 2014-01-06 | 2015-07-09 | Red Hat, Inc. | Intuitive Workspace Management |
Non-Patent Citations (1)
Title |
---|
Terry, et al., "Recognizing Creative Needs in User Interface Design" C&C'02, Oct. 14-16, 2002, Copyright 2002 ACM, p. 38-44. * |
Also Published As
Publication number | Publication date |
---|---|
US20160034435A1 (en) | 2016-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10051055B2 (en) | System and method for synchronizing data objects in a cloud based social networking environment | |
US11455278B2 (en) | Workflow functions of content management system enforced by client device | |
US9575981B2 (en) | Cloud service enabled to handle a set of files depicted to a user as a single file in a native operating system | |
US10140467B1 (en) | Workflow functions of content management system enforced by client device | |
US20170052927A1 (en) | System for Transferring Annotations between Documents Displayed Side by Side | |
US20130304697A1 (en) | System and method for cross-platform synchronization of data objects in a multi-tenant environment | |
US11182348B2 (en) | Sharing collections with external teams | |
US11463446B2 (en) | Team member transfer tool | |
US10873552B2 (en) | Large data management in communication applications through multiple mailboxes | |
US11030211B2 (en) | Migrating page layout representations of database entries | |
US10855637B2 (en) | Architecture for large data management in communication applications through multiple mailboxes | |
US9495364B2 (en) | Enhanced quick search features, low-barrier commenting/interactive features in a collaboration platform | |
US20230274027A1 (en) | System and method for external users in groups of a multitenant system | |
US20140280129A1 (en) | Self provisioning and applying role-based security to teamspaces in content repositories | |
US20230351031A1 (en) | Referencing a document in a virtual space | |
US10387552B2 (en) | Managing portable document-based workspaces | |
US10649671B2 (en) | Processing unknown or unexpected properties encountered during migration or archiving operations | |
US20180189708A1 (en) | Goals service with data model | |
GB2501182A (en) | Cloud service enabled to handle a set of files depicted to a user as a single file | |
WO2018067420A1 (en) | Perform graph traversal with graph query language |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ADOBE SYSTEMS INCORPORATED, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PATIDAR, MANSUKH;REEL/FRAME:035485/0103 Effective date: 20140728 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
AS | Assignment |
Owner name: ADOBE INC., CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:ADOBE SYSTEMS INCORPORATED;REEL/FRAME:047687/0115 Effective date: 20181008 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
CC | Certificate of correction | ||
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |