Service-supported contextual document embedding

By analyzing and optimizing the embedding parameters of electronic files, the problem of inefficient embedding electronic files in document canvas is solved, achieving more efficient and user-friendly embedding effects.

CN111989669BActive Publication Date: 2025-01-14MICROSOFT TECHNOLOGY LICENSING LLC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN201980026728.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2018-04-20
Filing Date
2019-04-06
Publication Date
2025-01-14
Estimated Expiration
2039-04-06

AI Technical Summary

Technical Problem

The prior art is difficult to efficiently embed electronic files in the application document canvas, resulting in waste of computer resources and low user satisfaction.

Method used

By receiving user input, analyzing the information of the electronic file, the information of the target page and the user information, determining the embedding parameters, and embedding electronic files in the document canvas based on these parameters, using service components and rule memory to optimize the embedding process.

Benefits of technology

It improves the embedding efficiency of electronic files, reduces the consumption of computer resources, improves user satisfaction, and provides a more flexible and personalized embedding method.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN111989669B_ABST
    Figure CN111989669B_ABST
Patent Text Reader

Abstract

Described herein is a system and method for embedding an electronic file in a document canvas of an application. User input of an electronic file to be embedded in a document canvas of an application is received. Information about the electronic file to be embedded, a target page, and / or a user is analyzed to determine parameter(s) regarding representation of the electronic file in the document canvas. Based on at least one parameter determined regarding representation of the electronic file in the document canvas, the electronic file is embedded in the document canvas of the application.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] Word processing, spreadsheets, databases, slide presentations, email, drawing, note taking, web browsers, media players, and gaming applications allow users to view, create, and / or edit documents. Users often wish to include (e.g., embed) a document(s) within another document. Summary of the invention

[0002] Described herein is a system for embedding an electronic file, comprising: a computer including a processor and a memory, the memory having computer-executable instructions stored thereon, the computer-executable instructions, when executed by the processor, causing the computer to: receive user input of an electronic file to be embedded in a document canvas of an application; analyze information about the user and / or information about a target page to determine at least one parameter about the representation of the electronic file in the document canvas; and embed the electronic file in the document canvas of the application based on the determined at least one parameter about the representation of the electronic file in the document canvas.

[0003] This summary is provided to introduce a series of concepts in a simplified form, which are further described in the detailed description below. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. BRIEF DESCRIPTION OF THE DRAWINGS

[0004] Figure 1 is a functional block diagram illustrating a system for embedding an electronic document.

[0005] Figure 2 is a functional block diagram illustrating another system for embedding an electronic document.

[0006] Figure 3 is a functional block diagram illustrating a system for embedding an electronic document.

[0007] Figure 4 is a functional block diagram illustrating a system for editing rules.

[0008] Figure 5 is a flow chart illustrating a method of embedding an electronic file.

[0009] Figure 6 is a flow chart illustrating another method of embedding an electronic file.

[0010] Figure 7 is a functional block diagram illustrating an exemplary computing system. DETAILED DESCRIPTION

[0011] Various techniques involving embedding electronic documents (e.g., files) within a document canvas of an application using context information are now described with reference to the accompanying drawings, wherein similar reference numerals are used throughout the drawings to refer to similar elements. In the following description, for the purpose of explanation, many specific details are set forth in order to provide a thorough understanding of one or more aspects. However, it may be apparent that such (one or more) aspects may be practiced without these specific details. In other cases, well-known structures and devices are shown in the form of block diagrams to facilitate description of one or more aspects. In addition, it is to be understood that the functions described as being performed by a particular system component may be performed by multiple components. Similarly, for example, components may be configured to perform functions described as being performed by multiple components.

[0012] The subject disclosure supports various products and processes that perform or are configured to perform various actions with respect to embedding electronic files in a document canvas of an application.One or more exemplary systems and methods follow.

[0013] Various aspects of the present disclosure relate to the technical problem of embedding an electronic file in a document canvas of an application. Technical features associated with solving the problem relate to receiving user input of an electronic file to be embedded in a document canvas of an application; analyzing information about the electronic file to be embedded, information about a target page, and / or information associated with a user to determine (one or more) parameters about the representation of the electronic file in the document canvas; and embedding the electronic file in the document canvas of the application according to the determined (one or more) parameters about the representation of the electronic file in the document canvas. Therefore, various aspects of these technical features present the technical effect of embedding (one or more) electronic files more efficiently and effectively, thereby reducing (one or more) computer resources and / or improving user satisfaction.

[0014] Furthermore, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or". That is, unless specified otherwise or clear from the context, the phrase "X employs A or B" is intended to mean any of the natural inclusive permutations. That is, the phrase "X employs A or B" is satisfied by any of the following: X employs A; X employs B; or X employs both A and B. In addition, the articles "a" and "an" used in this application and the appended claims should generally be construed to mean "one or more" unless specified otherwise or clear from the context to be directed to the singular form.

[0015] As used herein, the terms "component" and "system" and their various forms (e.g., component, system, subsystem, etc.) are intended to refer to a computer-related entity, be it hardware, a combination of hardware and software, software, or software in execution. For example, a component can be, but is not limited to, a process, a processor, an object, an instance, executable software, an execution thread, a program, and / or a computer running on a processor. As an example, both an application running on a computer and a computer can be a component. One or more components can reside within a process and / or an execution thread, and a component can be confined to one computer and / or distributed between two or more computers. In addition, as used herein, the term "exemplary" is intended to mean an illustration or example that serves as something, and is not intended to indicate a preference.

[0016] refer to Figure 1 , illustrates a system for embedding an electronic document 100. In some embodiments, a note taking application (e.g., ) replicates the concept of using a binder to store multiple different kinds of content (e.g., document(s)). In some embodiments, by embedding document(s) in a document canvas, users are able to gain the additional benefit of having a collaborative markup area where multiple users can attach ink, picture(s), text, and / or other embedded document(s) together into a free-form collaborative service.

[0017] The system 100 includes a service 110 (e.g., stand-alone and / or cloud-based) that utilizes, for example, available information about the electronic document to be embedded (e.g., metadata and / or content), information about the target page, information about, for example, the user performing the embedding (e.g., user identifier, group membership), information about the entity associated with the user (e.g., school, company) to make context-dependent determinations of parameter(s) of how the embedded electronic file 120 will be represented in the document canvas 130 of the application 140. Thus, in some embodiments, the service 110 is able to intelligently embed and size representations of the electronic file 120, for example, based on file type, file content, content size, keyword(s), and / or embedder(s) (e.g., user, administrator) preferences. Examples of suitable applications 140 include, but are not limited to: word processing, spreadsheets, databases, slideshows, email, drawing, note taking, web browsers, media players, and / or gaming applications.

[0018] The service 110 includes an input component 150 that receives user input of electronic file(s) to be embedded in the document canvas 130 of the application 140. In some embodiments, the user triggers the graphical user interface using a control (e.g., "Embed File") within the application 140. In some embodiments, the user triggers the graphical user interface using a trigger entry (e.g., a predetermined and / or user-configurable character(s) that invokes the embedded electronic file(s) graphical user interface) within the document canvas 130. From the graphical user interface, the user can select the electronic file(s) to be embedded in the document canvas 130 (e.g., highlight the file(s) and click the "Embed" control).

[0019] The service 110 also includes an analysis component 160 that analyzes information about the electronic file(s) to be embedded to determine parameters about the representation of the electronic file(s) in the document canvas 130. In some embodiments, the information about the electronic file(s) includes the content of the electronic file(s). For example, the analysis component 160 can determine a pattern and / or format of the content within the electronic file (e.g., a spreadsheet labeled "budget" and containing twelve columns may be an annual budget). Based on the determined pattern and / or format of the content, the analysis component 160 can determine the parameters (e.g., height, width, automatic activation, thumbnail image) about the representation of the electronic file in the document canvas to be utilized.

[0020] In some embodiments, the information about the (one or more) electronic files includes metadata associated with the (one or more) electronic files. In some embodiments, the metadata can include the time and / or date of creation of the (one or more) electronic files, the time and / or date of the last edit of the (one or more) electronic files, a user identifier associated with the user who created the (one or more) electronic files, a (one or more) user identifier associated with the (one or more) users who have read the (one or more) electronic files, the amount of (one or more) users who have read the (one or more) electronic files, and / or the minimum time spent reading the (one or more) electronic files. For example, when a user selects three electronic files of the same type (e.g., .doc) and content structure (e.g., budget), the analysis component 160 can determine to embed the three electronic files from left to right in the chronological order of creation of the electronic files. For example, for electronic files read by more than a predetermined number of users (e.g., twenty), the system 100 can embed the full content of the electronic file, otherwise a short preview can be embedded.

[0021] In some embodiments, the information about the electronic file(s) includes the document type(s) of the electronic file(s). For example, the analysis component 160 can determine that electronic file(s) of a particular type (e.g., word processing files) are to be embedded with a viewer, while electronic file(s) of another particular type (e.g., spreadsheet files) are to be embedded with an embedded editor.

[0022] In some embodiments, the analysis component 160 further analyzes information about the user (e.g., user identifier, group membership, role). In some embodiments, the analysis component 160 determines parameter(s) regarding the representation of the electronic file in the document canvas for members of a particular group (e.g., educators) and different parameter(s) for members of another particular group (e.g., educational entity administrators).

[0023] In some embodiments, analysis component 160 further analyzes information about entities associated with the user. In some embodiments, analysis component 160 determines parameter(s) about the representation of electronic files in the document canvas for members of a particular type of entity (e.g., a school) and different parameter(s) for members of another particular type of entity (e.g., a non-profit organization). In some embodiments, analysis component 160 further analyzes information about a target page.

[0024] The service 110 also includes an embedding component 170 that embeds the electronic file(s) 120 in the document canvas 130 of the application 140 according to the determined parameter(s) regarding the representation of the electronic file(s) 120 in the document canvas 130 .

[0025] Thus, in some embodiments, by using information available to the service 110 (e.g., user identity, information about the document, content of the document), the service 110 can make context-sensitive decisions about how the application 140 represents the parameter(s) of the electronic file in the document canvas 130. This can improve user satisfaction with the application 140 and the service 110.

[0026] Steering Figure 2 , illustrates a system for embedding an electronic file 200. The system 200 uses the rule(s) in the rule storage 210 when determining the parameter(s) regarding the representation of the electronic file(s) in the document canvas 130. In some embodiments, the rule(s) are defined by a user, administrator, and / or entity.

[0027] In some embodiments, the rule(s) are machine-learned. In some embodiments, the rules are based on a model trained (e.g., learned) using offline embedded electronic files and actual (e.g., observed) parameter(s) for representing the embedded electronic files. Training can be performed in a supervised, unsupervised, and / or semi-supervised manner. The parameter(s) and / or calculated probabilities generated by the model can be compared to actual (e.g., observed) values, and the model adjusted accordingly.

[0028] The system 200 includes a service 220 (e.g., standalone and / or cloud-based), which, as described above, has an input component 150 and an embedding component 170. The service 220 also includes an analysis component 230 that analyzes the electronic file(s) to be embedded (e.g., metadata and / or content), information about the user performing the embedding (e.g., user identifier, group membership), information about the target page of the electronic file to be embedded, and / or information about an entity associated with the user (e.g., school, company) to make a context-sensitive determination of the parameter(s) of how the service 220 represents the embedded electronic document 120 in the document canvas 130 of the application 140. In some embodiments, the service 220 initially ensures that an embedded viewer and / or editor for a particular type of electronic file is enabled to be embedded.

[0029] In some embodiments, the analysis component 230 uses the rule(s) stored in the rule storage 210 when determining the parameter(s) regarding the representation of the electronic file(s) in the document canvas 130. In some embodiments, the rule(s) can be based on the content of the electronic file(s) to be embedded. For example, when embedding a word processing document having a report and / or schema format, the document is embedded in full size and with a viewer.

[0030] In some embodiments, the rule(s) can be based on metadata associated with the electronic file(s) to be embedded. For example, when embedding a spreadsheet document with "budget" in the file name, an editor can be embedded (e.g., based on user preferences).

[0031] In some embodiments, the rule(s) can be based on information about the user performing the embedding. For example, for user(s) with a particular group membership, the video file(s) can be embedded at a particular size (e.g., as a thumbnail with a predetermined size).

[0032] In some embodiments, the rule(s) can be based on an entity associated with a user. For example, for a user associated with the entity and an electronic file(s) that has been viewed by the CEO, the electronic file can be embedded in full size.

[0033] In some embodiments, rules are organized hierarchically, with the parameter(s) of a higher-ranked rule(s) taking precedence over the same parameter(s) of a lower-ranked rule(s). In some embodiments, the rules are cascaded and applied (e.g., simultaneously) when not in conflict. For example, a higher-ranked rule may involve only one parameter for a particular type of file (e.g., an embedded viewer for (one or more) spreadsheet files), while another lower-ranked rule may involve different parameters for a particular type of user (e.g., embedded document full size for teachers).

[0034] In some embodiments, the rules can include one, some, or all of the following parameters, which are used to match against the electronic file(s) selected to be embedded to determine the parameter(s) used to represent the embedded file(s) in the document canvas:

[0035] Rule name: a string that uniquely identifies a specific rule;

[0036] Tenant Name: A string identifying the entity associated with the user;

[0037] Rule Configurator: An enumeration of {user, manager, entity} associated with the ownership of the rule;

[0038] File Type: target file type, i.e. an enumeration of the type(s) of electronic files to which the rule is to be applied;

[0039] Rule Triggers: A list of (one or more) triggers, which in some embodiments are specific matching triplets that include known metadata (e.g., file name, creation date, creator, modification date, upload date, file text, number of reads, number of shares, minimum time spent reading), conditional comparisons (e.g., =, >, <, contains, does not contain), and / or data to be compared (e.g., date, string). In some embodiments, a rule can have one or more triggers. In some embodiments, a rule has at least one trigger.

[0040] Embed Height: Integer - the chosen height in pixels for a particular embedded item. In some embodiments, a specific value (e.g., "-1") can be used to signal that the canvas document and / or application is responsible for calculating the height required to display the entire electronic file at its current width.

[0041] Embed width: Integer, the chosen width in pixels for the specific embed.

[0042] In some embodiments, one or more optional parameters can be specified in a particular rule to allow for more granular control over who views an embedded item and / or how the embedded item behaves, for example.

[0043] Arrays <userid>Targeted users:

[0044] This allows adding group(s) and / or group(s) within a particular entity.

[0045] Individual user filtering of specific rule(s).In some embodiments, if the rules are configured by an administrator and / or entity, the rules can be applied by default to all users within a specific entity, or if the rules are configured by a specific user, the rules are applied to the specific user.

[0046] Auto-activate: Boolean value, in some embodiments, if this item is present in the rule, the system 200 will embed the electronic file so that it is automatically activated inside the document canvas, rather than requiring user interaction to become active.

[0047] The embedding component 170 embeds the electronic file(s) 120 in the document canvas 230 of the application 140 according to the parameter(s) determined by the analysis component 230. Thus, in some embodiments, by using information available to the service 220 (e.g., user identity, information about the document, content of the document), the service 220 can apply the rule(s) to make context-sensitive decisions about how the application 140 represents the parameter(s) of the electronic file 120 in the document canvas 130. Optionally, the system 200 can include a feedback component 240 that adjusts the rule(s) stored in the rule storage 210 based on user input about the representation of the electronic file 120 in the document canvas 130.

[0048] refer to Figure 3 , illustrates a system for embedding an electronic file 300. The system 300 includes applications 3101, 3102 (collectively 310) used to view, generate and / or edit an electronic document 320 (e.g., an electronic file). Examples of suitable applications 310 include, but are not limited to: word processing, spreadsheets, databases, slide presentations, email, drawing, notes, web browsers, media players, and game applications.

[0049] In some embodiments, application 3101 is a fat client application stored locally on client device 340. In some embodiments, application 3102 is a thin client application (i.e., a web application) that resides on remote service 350 and can be accessed through a network or a combination of networks (e.g., the Internet, a wide area network, a local area network). Thin client application 3102 can be hosted in a browser-controlled environment or coded in a language supported by the browser, and relies on a common web browser to present an application that can be executed on client device 340.

[0050] The user 360 can use the application 310 to create a new document 320, edit an existing document 320, and / or view an existing document 320. The application 310 receives input from the user 360, such as text input from one or more input devices, such as a keyboard, a computer mouse, a remote control. In some embodiments, the application 310 receives input from the user 360 through a natural user interface (NUI), which enables the user to interact with the client device 340 in a natural way. Examples of NUIs include speech recognition, touch and stylus recognition, gesture recognition on and near the screen, mid-air gestures, head and eye tracking, voice and speech, vision, touch, hover, gestures, machine intelligence, etc.

[0051] The user input causes the electronic file 370 to be embedded in the document 320. In some embodiments, the electronic file 370 is embedded within a document canvas of the document 320 (e.g., a page in a note document, a page in a word processing document, a spreadsheet in a spreadsheet document, a slide in a presentation document).

[0052] System 300 can include system 100 and / or system 200 that embeds electronic file(s) in document 320. In some embodiments, system 100 and / or system 200 executes on remote server 350. In some embodiments, system 100 and / or system 200 executes on client device 340.

[0053] refer to Figure 4 , illustrates a system 400 for editing rules. For example, the system 400 can be used by a user and / or administrator to define and / or edit rule(s) to be used by the system 200 in determining parameter(s) regarding the representation of electronic file(s) in a document canvas.

[0054] The system 400 includes an editor component 410 that allows a user and / or administrator to view, create, and / or edit the rule(s) stored in the rule storage 210. In some embodiments, using the editor component 410, the user and / or administrator can define multiple rules that are applied hierarchically when embedding the electronic file(s) into the document canvas.

[0055] In some embodiments, the editor component 410 can provide a list of suggested template rules that can be easily toggled on / off and also contain a user interface for creating new rule(s) by copying and modifying an existing template or by starting from scratch. In some embodiments, once a rule is enabled, it will be used for all future embeddings for that entity, as the list is updated for each embedding of that entity.

[0056] For example, if an administrator chooses to, the administrator can change all process documents in a folder to be embedded in the same template manner, for example, if a user is embedding a document from a shared folder called "Meeting Minutes", then based on (one or more) rules, the administrator can specify that the document is to be embedded as a default exposure of the entire document, rather than a fixed length preview. In some embodiments, (one or more) rules can be based on content. For example, if the document is very short (e.g., a spreadsheet with only 1 page containing 10 rows), then embedding a control to move between the spreadsheet and the page with more than 10 rows inside would be a waste of canvas space. Therefore, rules can be defined that prevent the embedding of controls for such documents.

[0057] In some embodiments, the rules can be applied to multiple types of documents to be embedded. For example, if the user only has read-only access to the document, choose to hide / show presenter speaker notes in the slide show and / or choose to hide / show document editing tools.

[0058] Using system 400, subscription managers (one or more) and / or users (one or more) can have granular control over how their external content is displayed inside the document canvas. This further allows for more intelligent embedding methods and / or formats to be defined for specific kinds of content. For example, if a file name has All Hands Deck in it, system 400 can be confident that it is All Hands Deck and should have speaker notes embedded.

[0059] Figure 5 and Figure 6 An exemplary method is illustrated that relates to determining (one or more) parameters regarding the representation of (one or more) embedded electronic files in a document canvas. Although the method is shown and described as a series of actions performed in sequence, it is to be understood and appreciated that the method is not limited by the order of the sequence. For example, some actions can occur in a different order than described herein. In addition, an action can occur simultaneously with another action. Furthermore, in some cases, not all actions may be required to implement the method described herein.

[0060] In addition, the actions described herein may be computer executable instructions that can be implemented by one or more processors and / or stored on a computer readable medium. Computer executable instructions can include routines, subroutines, programs, execution threads, and / or the like. Further, the results of the actions of the method can be stored in a computer readable medium, displayed on a display device, and the like.

[0061] refer to Figure 5 , illustrates a method of embedding an electronic file 500. In some embodiments, the method 500 is performed by the system 100.

[0062] At 510, user input of (one or more) electronic files to be embedded in a document canvas of an application is received. At 520, information about the user (e.g., user identifier, entity), information about the target page, and / or information about the electronic file to be embedded (e.g., metadata and / or content) is analyzed to determine (one or more) parameters regarding representation of the (one or more) electronic files in the document canvas. At 530, the (one or more) electronic files are embedded in the document canvas of the application according to the determined (one or more) parameters regarding representation of the (one or more) electronic files in the document canvas.

[0063] Go to Figure 6 , illustrates a method of embedding an electronic file 600. In some embodiments, the method 600 is performed by the system 200.

[0064] At 610, user input of electronic file(s) to be embedded in a document canvas of an application is received. At 620, rule(s) for embedding electronic files are retrieved. At 630, information associated with the user, information about the target page, and / or information about the electronic file(s) to be embedded is analyzed.

[0065] At 640, the rule(s) are applied based on the analyzed information about the electronic file(s), the target page, and / or the information associated with the user to determine parameter(s) about the representation of the electronic file(s) in the document canvas. At 650, based on the determined parameter(s) about the representation of the electronic file(s) in the document canvas, the electronic file(s) are embedded in the applied document canvas.

[0066] Described herein is a system for embedding an electronic file, comprising: a computer including a processor and a memory, the memory having computer-executable instructions stored thereon, the computer-executable instructions, when executed by the processor, causing the computer to: receive user input of an electronic file to be embedded in a document canvas of an application; analyze at least one of information about a target page of the document canvas or information about the user to determine at least one parameter about a representation of the electronic file in the document canvas; and embed the electronic file in the document canvas of the application according to the determined at least one parameter about the representation of the electronic file in the document canvas.

[0067] The system can include, wherein the at least one parameter includes at least one of height, width, auto-activation, or thumbnail image. The system can also include, wherein the at least one parameter includes at least one of embedded view or embedded editor. The system can include, wherein the application is a word processing application, a spreadsheet application, a database application, a slide presentation application, an email application, a drawing application, a note application, a web browser application, a media player, or a game application.

[0068] The system can also include, wherein the user input includes a plurality of files to be embedded, and the at least one parameter is determined based on an analysis of information about the plurality of files. The system can include, wherein the parameter is a configurable setting associated with embedding of one or more electronic files.

[0069] The system can include a memory having computer executable instructions stored thereon, which when executed by a processor cause the computer to: analyze information about the electronic file to be embedded to determine the at least one parameter, wherein the analyzed information about the electronic file includes content of the electronic file.

[0070] The system can include a memory having computer executable instructions stored thereon, which when executed by a processor cause the computer to: analyze information about the electronic file to be embedded to determine the at least one parameter, wherein the analyzed information about the electronic file includes metadata associated with the electronic file. The system can also include, wherein the computer is a component of a cloud-based service.

[0071] A method for embedding an electronic file is described herein, comprising: receiving user input of one or more electronic files to be embedded in a document canvas of an application; retrieving one or more rules for embedding the electronic files; analyzing at least one item of information about a target page or information associated with a user; applying the one or more rules to determine at least one parameter regarding representation of the one or more electronic files in the document canvas based on the analyzed at least one item of information about the target page or information associated with the user; and embedding the one or more electronic files in the document canvas of the application based on the determined at least one parameter.

[0072] The method can include, wherein a plurality of rules are applied hierarchically to determine at least one parameter. The method can also include, wherein a plurality of rules are cascaded and applied to determine at least one parameter. The method can include analyzing information about the electronic file to be embedded; and applying the one or more rules further based on the analyzed information about the electronic file to be embedded.

[0073] The method can also include, wherein the rule is based on at least one of a type associated with the electronic file to be embedded, content of the electronic file to be embedded, a user embedding the electronic file, or an entity associated with the user embedding the electronic file. The method can also include receiving feedback from a user regarding the parameter and adjusting the rule based on the user feedback.

[0074] A computer storage medium storing computer-readable instructions is described herein that, when executed, causes a computing device to: retrieve one or more rules for embedding electronic files; receive user input of one or more electronic files to be embedded in a document canvas of an application; analyze at least one of information about a target page or information associated with the user; apply the one or more rules to determine at least one parameter regarding representation of the one or more electronic files in the document canvas based on the analyzed at least one of information about the target page or information associated with the user; and embed the one or more electronic files in the document canvas of the application based on the determined at least one parameter.

[0075] The computer storage medium can also include, wherein a plurality of rules are applied hierarchically to determine at least one parameter. The computer storage medium can also include, wherein a plurality of rules are cascaded and applied to determine at least one parameter.

[0076] The computer storage medium can store additional computer-readable instructions that, when executed, cause the computing device to: analyze information about the electronic file to be embedded to determine the at least one parameter, wherein the rule is based on at least one of a type associated with the electronic file to be embedded, content of the electronic file to be embedded, a user embedding the electronic file, or an entity associated with the user embedding the electronic file. The computer storage medium can store additional computer-readable instructions that, when executed, cause the computing device to: receive feedback from a user regarding the parameter and adjust the rule based on the user feedback.

[0077] refer to Figure 7 , an exemplary general purpose computer or computing device 702 (e.g., a mobile phone, a desktop, a laptop, a tablet computer, a watch, a server, a handheld device, a programmable consumer device or an industrial electronic device, a set-top box, a gaming system, a computing node, etc.) is illustrated. For example, computing device 702 can be used in system 100 for embedding an electronic file and / or system 200 for embedding an electronic file.

[0078] The computer 702 includes one or more processors 720, a memory 730, a system bus 740, a mass storage device 750, and one or more interface components 770. The system bus 740 communicatively couples at least the above system constituent components. However, it should be appreciated that in its simplest form, the computer 702 can include one or more processors 720 coupled to the memory 730, which execute various computer executable actions, instructions, and or components stored in the memory 730. The instructions can be, for example, instructions for implementing the functions described above as being performed by the one or more components or instructions for implementing one or more of the above methods.

[0079] The processor(s) 720 can be implemented using a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic unit, a discrete hardware component, or any combination thereof designed to perform the functions described herein. The general purpose processor can be a microprocessor, but in an alternative, the processor can be any processor, controller, microcontroller, or state machine. The processor(s) 720 can also be implemented as a combination of computing devices, for example, a DSP and a microprocessor, a plurality of microprocessors, a multi-core processor, a combination of one or more microprocessors in conjunction with a DSP core, or any other such configuration. In one embodiment, the processor(s) 720 can be a graphics processor.

[0080] The computer 702 can include or otherwise interact with various computer-readable media to facilitate control of the computer 702 to implement one or more aspects of the claimed subject matter. The computer-readable media can be any available media that can be accessed by the computer 702, including volatile and nonvolatile media, and removable and non-removable media. Computer-readable media can include two different and mutually exclusive types, namely: computer storage media and communication media.

[0081] 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 include storage devices such as storage devices (e.g., random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), etc.), magnetic storage devices (e.g., hard disks, floppy disks, cassettes, tapes, etc.), optical disks (e.g., compact disks (CDs), digital versatile disks (DVDs), etc.), and solid-state devices (e.g., solid-state drives (SSDs), flash memory drives (e.g., cards, sticks, key drives), etc.), or any other similar media that stores (as opposed to transmitting or transferring) desired information that can be accessed by the computer 702. Therefore, computer storage media do not include modulated data signals and those described in conjunction with communication media.

[0082] Communication media 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. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a way that the signal encodes information. By way of example and not limitation, communication media include wired media and wireless media, such as a wired network or direct line connection, and wireless media such as acoustic, RF, infrared and other wireless media.

[0083] Memory 730 and mass storage device(s) 750 are examples of computer-readable storage media. Depending on the exact configuration and type of computing device, memory 730 may be volatile (e.g., RAM), non-volatile (e.g., ROM, flash memory, etc.), or some combination of the two. For example, a basic input / output system (BIOS), including basic routines for transferring information between elements within computer 702, such as during startup, can be stored in non-volatile memory, while volatile memory can act as external cache memory to facilitate processing by processor(s) 720, and so on.

[0084] The mass storage device(s) 750 include removable / non-removable, volatile / non-volatile computer storage media for storing large amounts of data relative to the memory 730. For example, the mass storage device(s) 750 include, but are not limited to, one or more devices such as a magnetic or optical disk drive, a floppy disk drive, a flash memory, a solid state drive, or a memory stick.

[0085] The memory 730 and the mass storage device(s) 750 can include or store therein an operating system 760, one or more applications 762, one or more program modules 764, and data 766. The operating system 760 is used to control and allocate various resources of the computer 702. The application 762 includes one or both of system and application software, and can utilize the management of resources by the operating system 760 through the program modules 764 and data 766 stored in the memory 730 and / or the mass storage device(s) 750 to perform one or more actions. Therefore, the application 762 can transform the general-purpose computer 702 into a special-purpose machine according to the logical units provided thereby.

[0086] All or part of the claimed subject matter can be implemented using standard programming and / or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement the disclosed functionality. For example, and not limitation, the system 100 or a portion thereof can be or form part of an application 762, and include one or more modules 764 and data 766 stored in memory and / or (one or more) mass storage devices 750, which when executed by one or more processors 720, can implement its functionality.

[0087] According to a specific embodiment, (one or more) processors 720 can correspond to a system on chip (SoC) or similar architecture, including or in other words integrating hardware and software on a single integrated circuit substrate. Here, (one or more) processors 720 can include one or more processors and memories, etc., that are at least similar to (one or more) processors 720 and memory 730. Conventional processors include a minimum amount of hardware and software and rely heavily on external hardware and software. In contrast, the SOC implementation of the processor is more powerful because it is embedded with hardware and software that implements specific functions with minimal or no reliance on external hardware and software. For example, system 100 and / or associated functions can be embedded within the hardware in the SOC architecture.

[0088] The computer 702 also includes one or more interface components 770 that are communicatively coupled to the system bus 740 and facilitate interaction with the computer 702. For example, the interface component 770 can be a port (e.g., serial, parallel, PCMCIA, USB, FireWire, etc.) or an interface card (e.g., sound, video, etc.), etc. In one exemplary embodiment, the interface component 770 can be embodied as a user input / output interface to enable a user to enter commands and information into the computer 702, such as through one or more gestures or voice input, via one or more input devices (e.g., a pointing device such as a mouse, a trackball, a stylus, a touchpad, a keyboard, a microphone, a joystick, a game pad, a satellite dish, a scanner, a camera, other computers, etc.). In another exemplary embodiment, the interface component 770 can be embodied as an output peripheral interface to supply output to a display (e.g., LCD, LED, plasma, etc.), a speaker, a printer, and / or other computers, etc. Still further, the interface component 770 can be embodied as a network interface to enable communication with other computing devices (not shown), such as through a wired or wireless communication link.

[0089] What has been described above includes examples of various aspects of the claimed subject matter. Of course, it is not possible to describe every conceivable combination of components or methods for the purpose of describing the claimed subject matter, but one of ordinary skill in the art will recognize that many other combinations and permutations of the disclosed subject matter are possible. Therefore, the disclosed subject matter is intended to cover all such substitutions, modifications, and variations that fall within the spirit and scope of the appended claims. In addition, to the extent that the term "includes" is used in a specific embodiment or in a claim, such term is intended to mean inclusion in a manner similar to how the term "includes" is interpreted when used as a transitional word in a claim.< / userid>

Claims

1. A system for embedding an electronic file, comprising: A computer comprising a processor and a memory having stored thereon computer executable instructions which, when executed by the processor, cause the computer to: receiving input requesting to embed an electronic file in a document canvas of an application, the electronic file having an associated creation date or last edit date; retrieving an embedding rule that associates the creation date or the last edit date of the electronic file with an embedding height or an embedding width; as well as The electronic file is embedded in the document canvas of the application according to the embedding height or the embedding width specified by the embedding rule.

2. The system according to claim 1, wherein: The memory has stored thereon further computer executable instructions which, when executed by the processor, cause the computer to: receiving further input requesting embedding of another electronic file in the document canvas of the application, the further input being associated with a particular user identifier; analyzing information indicating that the particular user identifier is associated with membership in a particular organization; Access embedding parameters that specify different embedding heights or embedding widths for different organizations; determining a specific embedding height or a specific embedding width for the other electronic file based at least on a specific embedding parameter associated with the specific organization; and The other electronic file is embedded in the document canvas of the application with the specific embedding height or the specific embedding width.

3. The system according to claim 2, wherein: The memory has stored thereon further computer executable instructions which, when executed by the processor, cause the computer to: Based at least on the particular organization, the electronic file is embedded using an embed viewer or an embed editor.

4. The system according to claim 1, wherein: The application is a word processing application, a spreadsheet application, a database application, a slide presentation application, an email application, a drawing application, a note-taking application, a web browser application, a media player, or a game application.

5. The system according to claim 1, wherein: The memory has stored thereon further computer executable instructions which, when executed by the processor, cause the computer to: a mark identifying another electronic document; determining, based at least on the marking, another embedding height or another embedding width for embedding the another electronic file; and The another electronic file is embedded according to the another embedding height or the another embedding width.

6. The system according to claim 1, wherein: The embedding rule associates the creation date with the embedding height or the embedding width. 7 . The system of claim 1 , the embedding rule associating the last edit date with the embedding height or the embedding width.

8. The system of claim 1, the input being received via a graphical user interface.

9. A method for embedding an electronic file, comprising: receiving input requesting to embed an electronic file in a document canvas of an application, the electronic file having metadata associated with one or more other users who have read the electronic file; retrieving one or more embedding rules based at least on the metadata associated with the one or more other users who have read the electronic document, including a specific embedding rule that specifies a specific embedding height or a specific embedding width; and The electronic file is embedded in the document canvas of the application with the specific embedding height or the specific embedding width according to the specific embedding rule.

10. The method according to claim 9, wherein: The metadata identifies another user who has read the electronic file, and the specific embedding rule applies to the electronic file that has been read by the other user.

11. The method according to claim 10, wherein: The metadata identifies the number of other users who have read the electronic file, and the specific embedding rule applies to electronic files that have been read by the number of other users.

12. The method according to claim 9, further comprising: Feedback is received regarding the specific embedding height or the specific embedding width and the specific embedding rule is adjusted based on the feedback.

13. A computer storage medium storing computer readable instructions which, when executed, cause a computing device to: receiving an input requesting embedding of an electronic file in a document canvas of an application, the input being associated with a particular user identifier; analyzing information indicating that the particular user identifier is associated with membership in a particular organization; retrieving one or more embedding rules for the specific organization, including a specific embedding rule specifying a specific embedding height or a specific embedding width for members of the specific organization; embedding the electronic file in the document canvas of the application with the specific embedding height or the specific embedding width according to the specific embedding rule; as well as Feedback is received regarding the specific embedding height or the specific embedding width, and the specific embedding rule is adjusted based at least on the feedback.

Citation Information

Patent Citations

  • Updating document previews of embedded files

    US20130174032A1