Automatic document citations by utilizing copied content for candidate sources

Information

  • Patent Grant
  • 9703763
  • Patent Number
    9,703,763
  • Date Filed
    Thursday, August 14, 2014
    10 years ago
  • Date Issued
    Tuesday, July 11, 2017
    7 years ago
  • Inventors
  • Original Assignees
  • Examiners
    • Paula; Cesar
    • Nguyen; Luu-Phuong
    Agents
    • Young Basile Hanlon & MacFarlane, P.C.
Abstract
A method for automatic document citations includes outputting, by one or more computing devices and for display, a first interface area in which an editable document is displayed and a second interface area outside of the first interface area. The method also includes, in response to a paste command, inserting copied content into the editable document and defining, in the second interface area, an interface element that includes source information regarding the copied content.
Description
BACKGROUND

Keeping track of external sources is a key task of writing a research-based document. Users often perform research using sources available via the internet, for example, using a web browser. While researching, the user may review a large number of documents. If the user does not immediately write a citation for material that they incorporate into their research based document (e.g. by quoting), they may have difficulty later identifying the source in order to properly cite the source. For example, the user may forget from what source a particular quotation was derived, and subsequently be unable to find the original source again.


SUMMARY

The disclosure relates generally to automatic document citations.


One aspect of the disclosed embodiments is a method that includes outputting, by one or more computing devices and for display, a first interface area in which an editable document is displayed and a second interface area outside of the first interface area. In response to a paste command, the method includes inserting copied content into the editable document and defining, in the second interface area, an interface element that includes source information regarding the copied content.


Another aspect of the disclosed embodiments is an apparatus that includes a memory and a processor configured to execute instructions stored in the memory. When executed, the instructions cause the process to output, for display, a first interface area in which an editable document is displayed and a second interface area outside of the first interface area. In response to a paste command, the instructions cause the processor to insert copied content into the editable document, and define, in the second interface area, an interface element that includes source information regarding the copied content.


Another aspect of the disclosed embodiments is a non-transitory computer-readable storage device including program instructions that are executable by one or more processors. The program instructions, when executed, cause the one or more processors to perform operations. The operations include outputting, for display, a first interface area in which an editable document is displayed and a second interface area outside of the first interface area. In response to a paste command, the operations performed include inserting copied content into the editable document and defining, in the second interface area, an interface element that includes source information regarding the copied content.





BRIEF DESCRIPTION OF THE DRAWINGS

The description herein makes reference to the accompanying drawings wherein like reference numerals refer to like parts throughout the several views, and wherein:



FIG. 1 is a block diagram showing an example of an environment in which a system for automatic document citations can be implemented;



FIG. 2 is a block diagram showing an example of a hardware configuration for a server computer;



FIG. 3 is a block diagram showing a system for automatic document citations;



FIG. 4 is an illustration of an interface screen of a tabbed web browser showing a source document;



FIG. 5 is an illustration of the tabbed web browser showing a document editing interface prior to a paste operation;



FIG. 6 is an illustration of the tabbed web browser showing a document editing interface subsequent to a paste operation;



FIG. 7 is a flowchart showing a first example of a process for automatic document citations;



FIG. 8 is an illustration of an interface screen for identifying a source; and



FIG. 9 is a flowchart showing a second example of a process for automatic document citations.





DETAILED DESCRIPTION

According to the methods, systems, apparatuses, and computer programs that are discussed document citations can be added to a document in response to a paste operation that adds material to the document. The disclosure herein is directed to processes that are fully automated, where a citation is created without user input, as well as to processes that are semi-automated, where a citation is created with some user input.



FIG. 1 shows an example of an environment 100 in which a system for automatic document citations can be implemented. The environment 100 can include a user system 110, one or more additional user systems 120, and an application hosting service 130. The user system 110 and the additional user systems 120 are each representative of a large number (e.g. millions) of systems that can be included in the environment 100, with each system being able to utilize one or more applications that are provided by the application hosting service 130. The user system 110 and the additional user systems 120 can each be any manner of computer or computing device, such as a desktop computer, a laptop computer, a tablet computer, or a smart-phone (a computationally-enabled mobile telephone). The application hosting service 130 can be implemented using one or more server computers 132. The user system 110, the additional user systems 120, and the application hosting service 130 can each be implemented as a single system, multiple systems, distributed systems, or in any other form.


The systems, services, servers, and other computing devices described here are in communication via a network 150. The network 150 can be one or more communications networks of any suitable type in any combination, including wireless networks, wired networks, local area networks, wide area networks, cellular data networks, and the internet.


The application hosting service 130 can provide access to one or more hosted applications to a defined group of users including operators associated with the user system 110 and the additional user systems 120. One or more of the hosted applications can be a document editing application that that is operable to implement document creation and editing functions, and is operable to output, for display to a user, a user interface that allows the user to create and edit documents. The document editing application can be associated with a hosted document storage and retrieval application that allows the user to store, browse, organize, retrieve, view, delete, and/or perform other operations with respect to documents that are stored as data files at the application hosting service 130. The application hosting service can allow access to store, edit, delete, and/or view the documents by a single user, by a group of designated users, or by all users. The user interface for the document editing application can be output by the application hosting service 130 for display at a device associated with the user, such as the user system 110, by transmission of signals and/or data from the application hosting service to the user system 110 that, when interpreted by the user system 110, cause display of the interface at the user system 110. Various implementations of the document editing application are possible, and it should be understood that the functions and operations discussed herein can be performed solely at the application hosting service 130, solely at the user system 110, or at both the user system 110 and the application hosting service, with some of the functions and operations being performed at each of them.



FIG. 2 is a block diagram of an example of a hardware configuration for the one or more server computers 132 of FIG. 1. The same hardware configuration or a similar hardware configuration can be used to implement the user system 110 and the additional user systems 120. Each server computer 132 can include a CPU 210. The CPU 210 can be a conventional central processing unit. Alternatively, the CPU 210 can be any other type of device, or multiple devices, capable of manipulating or processing information now-existing or hereafter developed. Although the disclosed examples can be practiced with a single processor as shown, e.g. CPU 210, advantages in speed and efficiency can be achieved using more than one processor.


Each server computer 132 can include memory 220, such as a random access memory device (RAM). Any other suitable type of storage device can also be used as the memory 220. The memory 220 can include code and data 222 that can be accessed by the CPU 210 using a bus 230. The memory 220 can further include one or more application programs 224 and an operating system 226. The application programs 224 can include software components in the form of computer executable program instructions that cause the CPU 210 to perform the operations and methods described here.


A storage device 240 can be optionally provided in the form of any suitable computer readable medium, such as a hard disc drive, a memory device, a flash drive, or an optical drive. One or more input devices 250, such as a keyboard, a mouse, or a gesture sensitive input device, receive user inputs and can output signals or data indicative of the user inputs to the CPU 210. One or more output devices can be provided, such as a display device 260. The display device 260, such as a liquid crystal display (LCD) or a cathode-ray tube (CRT), allows output to be presented to a user, for example, in response to receiving a video signal.


Although FIG. 2 depicts the CPU 210 and the memory 220 of each server computer 132 as being integrated into a single unit, other configurations can be utilized. The operations of the CPU 210 can be distributed across multiple machines (each machine having one or more of processors) which can be coupled directly or across a local area or other network. The memory 220 can be distributed across multiple machines such as network-based memory or memory in multiple machines. Although depicted here as a single bus, the bus 230 of each of each server computer 132 can be composed of multiple buses. Further, the storage device 240 can be directly coupled to the other components of the respective server computer 132 or can be accessed via a network and can comprise a single integrated unit such as a memory card or multiple units such as multiple memory cards. The one or more server computers can thus be implemented in a wide variety of configurations.



FIG. 3 is a block diagram showing a system 300 for automatic document citations. The system 300 utilizes a clipboard 310 to transfer content from a source document 320 to a working document 330 in response to a copy command 340 and a paste command 350. The source document 320 is the document from which content is copied or otherwise associated with the content. For example, the source document could be a web page displayed in a web browser. The working document 330 is an editable document that is being edited by a user of the document editing application, and is the active document at the time that the paste command 350 is received. As an example, the working document 330 can be a word processing document, having a designated area (e.g. pages) in which content can be added, deleted, and modified.


The clipboard 310 is part of an inter-application functionality commonly implemented by the operating environment of a computing device, and is also referred to herein as an inter-application clipboard. For example, the clipboard 310 can be implemented by the operating system of the user system 110.


The clipboard 310 allows content to be transferred from one document or application to another document or application. In response to the copy command 340 being received while the source document 320 is active, information from the source document 320 is stored by the clipboard 310. The copy command 340 is typically received in response to a user input, such as a key press, a mouse click, or a gesture input. The information that is stored at the clipboard 310 can correspond to a portion of the source document 320 that was the target of the copy command 340, such as content from the source document 320 that was selected when the copy command 340 was received. The information that is stored at the clipboard 310 in response to the copy command 340 includes copied content 312 and meta-information 314.


The copied content 312 includes one or more representations of the content that was indicated by the user as the target of the copy command 340. For example, the copied content 312 can include multiple copies of the content in different formats, with a subsequent paste command causing selection of a copy of the content that is compatible with the application that the content is being pasted into.


The meta-information 314 is information that relates to the copied content 312, but is not a representation of the copied content. Instead, the meta-information 314 includes information about some aspect of the copied content. The meta-information 314 can include information identifying the source document 320, which is referred to herein as source information. The meta-information 314 identifies the work that the copied content 312 was copied from. In some implementations, the meta-information 314 can be an address usable for obtaining a copy of the work that the copied content 312 was copied from. For example, if the source document 320 is a web page, the source information can be a uniform resource locator (URL). Other examples of source information are possible. The meta-information 314 can include other types of information, such as a title of the source document 320, a creation date associated with the source document 320, and an author name associated with the source document 320.


After the clipboard 310 has been populated with the copied content 312 and the meta-information 314 from the source document 320, the paste command 350 can use the contents of the clipboard 310 to create the citation information 370.


In response to the paste command 350 being received while the working document 330 is active, a modified document 360 is generated and citation information 370 is created. The paste command 350 is typically received in response to a user input, such as a key press, a mouse click, or a gesture input.


The modified document 360 is a copy of the working document 330 subsequent to incorporation of the copied content 312 from the clipboard 310 in the working document 330 in response to the paste command 350. The copied content 312 is incorporated in a conventional manner, such as by inserting the copied content into the working document 330 as a user-selected location, as designated by a cursor location or other input signal, upon receipt of the paste command 350.


The citation information 370 is created by the document editing application. In some implementations, the document editing application utilizes the meta-information 314 to create the citation information in a fully automated manner, in which the citation information 370 is created without further user input subsequent to the paste command 350. In other implementations, the document editing system can mark the copied content as potentially corresponding to a source, and prompt the user to define the citation information 370 in a semi-automated manner that utilizes the copied content 312 and/or the meta-information 314 in combination with one or more user inputs, as will be explained further herein.


The citation information 370 is separate from the body of the modified document 360 (e.g. editable text and/or objects), but can be stored in a common data file with the modified document. In some implementations, and as will be explained further herein, the citation information 370 is utilized by the document editing application to generate an interface element or graphical indicator that includes source information regarding the copied content 312. This interface element or graphical indicator is not incorporated in the body of the document itself, such as in an inline citation or footnote, but can be utilized to generate content such as an inline citation, footnote, endnote that is incorporated in the body of the document in an automated or manual process. In other implementations, the citation information is stored for subsequent use, such as automatic generation of footnotes or endnotes, without display of any manner of interface element or graphical indicator.



FIG. 4 is an illustration of a tabbed web browser 400 showing a source document 410. The source document 410 has a title 412, which is “Source 1,” and source information in the form of a URL 414, which is “http://source1.example.com.” The source document 410 also includes text 416, a portion of which has been selected by the user as selected text 418. Upon receiving the copy command 340, the selected text 418 is stored as the copied content 312 of the clipboard 310 and the URL 414 is stored as part of the meta-information 314.



FIG. 5 shows a document editing application 500 displayed in a tab of the tabbed web browser. For example, after the copy command 340 in the example of FIG. 4, the user clicks the “Report” tab 502, which corresponds to the document editing application 500. The document editing application includes a first interface area in which an editable document is displayed, namely a document area 510. The document area 510 includes text and/or objects that are displayed within a boundary 512 of the document area 510 and are editable by the user via the document editing application 500. As an example, the document area 510 can represent one or more document pages each having an outer periphery represented by the boundary 512.


In the document area 510, the user defines an insertion position 514, such as a cursor position, and a user input is received that corresponds to the paste command 350. As shown in FIG. 6, the paste command 350 causes the copied content 312 to be inserted into the document at the insertion location 514 as pasted content 600. Adjacent to the document area 510 but outside of the boundary 512 thereof, a second interface area, namely a citation area 610, is updated to include display of an interface element 612 that includes source information regarding the pasted content 600. The citation area 610 is located outside of the outer peripheries of the one of more pages of the document represented in the document area 510. In fully automated implementations, the interface element 612 can be generated immediately in response to the paste command 350 using the meta-information 314, as previously described. In semi-automated implementations, an interface for facilitating identification of the source can be displayed immediately in response to the paste command 350 or at a later time, such as in response to a user input.


The information in the interface element 612 can include, for example, at least one of a title of a document associated with the clipboard content or a URL of a document associated with the pasted content 600. The interface element 612 can include additional information, such as information describing the number of times that the source referred to in the interface element 612 is cited in the document. In some implementations, the interface element 612 is a user-activatable link to the URL of the document associated with the pasted content 600. The interface element 612 can, in some implementations, be graphically associated with the pasted content 600. Examples of graphical associations include symbols, color coding, highlighting, and leader lines. Other types of graphical associations can be utilized.



FIG. 7 is a flowchart showing a first example of a process 700 for automatic document citations. The operations described in connection with the process 700 can be performed at one or more computers, such as at the one or more server computers 132 of the application hosting service 130, or at the user system 110. When an operation is described as being performed by one or more computers, it is completed when it is performed by one computer working alone, or by multiple computers working together. The operations described in connection with the process 700 can be embodied as a non-transitory computer readable storage medium including program instructions executable by one or more processors that, when executed, cause the one or more processors to perform the operations. For example, the operations described in connection with the process 700 could be stored at the memory 220 of one of the server computers 132 and be executable by the CPU 210 thereof.


In operation 710, content is copied to the clipboard 310. This can be performed in the manner described with respect to the copy command 340, and causes the copied content 312 and the meta-information 314 to be stored at the clipboard 310.


In operation 720, the application focus has changed to the document editing application 500, and the paste command 350 is received at the document editing application. In operation 730 the copied content 312 is inserted into the document, thereby defining the modified document 360. In operation 740 a source identifier is displayed adjacent to the document, such as by defining the citation information 370 based on the meta-information 314 and generating the interface element 612 for display in the citation area 610 as previously described.



FIG. 8 is an illustration of an interface screen 800 for identifying a source in order to define the citation information 370 in a semi-automated process. In this example, the citation information 370 is defined with respect to previously pasted content, either by displaying the interface screen 800 immediately after the content is pasted or at a later time, for example, by selection of the pasted content by the user in combination with a user input that causes display of the interface screen 800.


The interface screen 800 includes one or more candidate sources 810, which are each displayed in or associated with an interface element for selecting it. The candidate sources 810 represent documents and source information that may correspond to the previously pasted content. In one implementation, each of the candidate sources 810 corresponds to a concurrently open document, such as a currently open browser tab in the tabbed web browser 400. In another implementation, each of the candidate sources corresponds to a document that was previously viewed in the tabbed web browser 400, as indicated by browser history information. In another implementation, the previously pasted text is passed as an input to a search engine, and each of the candidate sources 810 is associated with a result that was identified by the search engine as being related to the previously pasted text. After selecting one of the candidate sources 810, such as by clicking the candidate source 810 and then clicking a confirmation button 820, the citation information 370 is updated to include information associated with the candidate source 810, and information can be displayed by the document editing application 500, such as in the manner described with respect to the interface element 612.



FIG. 9 is a flowchart showing a second example of a process for automatic document citations. The operations described in connection with the process 900 can be performed at one or more computers, such as at the one or more server computers 132 of the application hosting service 130, or at the user system 110. When an operation is described as being performed by one or more computers, it is completed when it is performed by one computer working alone, or by multiple computers working together. The operations described in connection with the process 900 can be embodied as a non-transitory computer readable storage medium including program instructions executable by one or more processors that, when executed, cause the one or more processors to perform the operations. For example, the operations described in connection with the process 900 could be stored at the memory 220 of one of the server computers 132 and be executable by the CPU 210 thereof.


Operations 910, 920, and 930 are performed in the manner described with respect to operations 710, 720, and 730, respectively. In operation 940, a selection dialog is displayed that shows one or more candidate sources. This can be done in the manner described with respect to the interface screen 800 and the candidate sources 810. In operation 950, a selection is received of one of the candidate sources, and the corresponding information is utilized as source information. In operation 960, a source identifier can be displayed adjacent to the document, for example, as described with respect to operation 740.


The foregoing description describes only some exemplary implementations of the described techniques. Other implementations are available. For example, the particular naming of the components, capitalization of terms, the attributes, data structures, or any other programming or structural aspect is not mandatory or significant, and the mechanisms that implement the invention or its features may have different names, formats, or protocols. Further, the system may be implemented via a combination of hardware and software, as described, or entirely in hardware elements. Also, the particular division of functionality between the various system components described herein is merely exemplary, and not mandatory; functions performed by a single system component may instead be performed by multiple components, and functions performed by multiple components may instead performed by a single component.


The words “example” or “exemplary” are used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as “example’ or “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs. Rather, use of the words “example” or “exemplary” is intended to present concepts in a concrete fashion. As used in this application, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or”. That is, unless specified otherwise, or clear from context, “X includes A or B” is intended to mean any of the natural inclusive permutations. That is, if X includes A; X includes B; or X includes both A and B, then “X includes A or B” is satisfied under any of the foregoing instances. In addition, the articles “a” and “an” as used in this application and the appended claims should generally be construed to mean “one or more” unless specified otherwise or clear from context to be directed to a singular form. Moreover, use of the term “an embodiment” or “one embodiment” or “an implementation” or “one implementation” throughout is not intended to mean the same embodiment or implementation unless described as such.


The implementations of the computer devices (e.g., clients and servers) described herein can be realized in hardware, software, or any combination thereof. The hardware can include, for example, computers, intellectual property (IP) cores, application-specific integrated circuits (ASICs), programmable logic arrays, optical processors, programmable logic controllers, microcode, microcontrollers, servers, microprocessors, digital signal processors or any other suitable circuit. In the claims, the term “processor” should be understood as encompassing any of the foregoing hardware, either singly or in combination. The terms “signal” and “data” are used interchangeably. Further, portions of each of the clients and each of the servers described herein do not necessarily have to be implemented in the same manner.


Operations that are described as being performed by a single processor, computer, or device can be distributed across a number of different processors, computers or devices. Similarly, operations that are described as being performed by different processors, computers, or devices can, in some cases, be performed by a single processor, computer or device.


Although features may be described above or claimed as acting in certain combinations, one or more features of a combination can in some cases be excised from the combination, and the combination may be directed to a sub-combination or variation of a sub-combination.


The systems described herein, such as client computers and server computers, can be implemented using general purpose computers/processors with a computer program that, when executed, carries out any of the respective methods, algorithms and/or instructions described herein. In addition or alternatively, for example, special purpose computers/processors can be utilized which can contain specialized hardware for carrying out any of the methods, algorithms, or instructions described herein.


Some portions of above description include disclosure presented in terms of algorithms and symbolic representations of operations on information. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. These operations, while described functionally or logically, are understood to be implemented by computer programs. Furthermore, it has also proven convenient at times, to refer to these arrangements of operations as modules or by functional names, without loss of generality. It should be noted that the process steps and instructions of implementations of this disclosure could be embodied in software, firmware or hardware, and when embodied in software, could be downloaded to reside on and be operated from different platforms used by real time network operating systems.


Unless specifically stated otherwise as apparent from the above discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system memories or registers or other such information storage, transmission or display devices.


At least one implementation of this disclosure relates to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored on a computer readable storage medium that can be accessed by the computer.


All or a portion of the embodiments of the disclosure can take the form of a computer program product accessible from, for example, a non-transitory computer-usable or computer-readable medium. The computer program, when executed, can carry out any of the respective techniques, algorithms and/or instructions described herein. A non-transitory computer-usable or computer-readable medium can be any device that can, for example, tangibly contain, store, communicate, or transport the program for use by or in connection with any processor. The non-transitory medium can be, for example, any type of disk including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, application specific integrated circuits (ASICs), or any type of media suitable for tangibly containing, storing, communicating, or transporting electronic instructions.


It is to be understood that the disclosure is not to be limited to the disclosed embodiments but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.

Claims
  • 1. A method comprising: outputting, by one or more computing devices and for display, a first interface area in which an editable document is displayed and a second interface area outside of the first interface area;in response to a paste command, inserting copied content into the editable document;identifying a plurality of candidate sources for the copied content, each candidate source being a distinct source of the copied content, at least some of the candidate sources being identified based on documents concurrently open in a third interface area outside of the first interface area and the second interface area;outputting, in the second interface area, a plurality of interface elements, wherein each respective interface element corresponds to a respective candidate source for the copied content;receiving, from a user, a selection of one of the interface elements; andgenerating, by the one or more computing devices, citation information in the editable document based on the candidate source associated with the selected one of the interface elements.
  • 2. The method of claim 1, wherein each candidate source includes at least one of a title of a document associated with the copied content or a URL of a document associated with the copied content.
  • 3. The method of claim 1, wherein the first interface area represents one or more document pages each having an outer periphery, and the second interface area is located outside of the outer peripheries of each of the one of more document pages.
  • 4. The method of claim 1, wherein the copied content is received from an inter-application clipboard.
  • 5. The method of claim 1, wherein the copied content is received from an inter-application clipboard and at least some of the candidate sources of the plurality of candidate sources are associated with browser history information.
  • 6. The method of claim 1, wherein the interface element includes an indication of a number of times each candidate source is referenced in the editable document.
  • 7. The method of claim 1, wherein the documents concurrently open are documents concurrently open in a browser.
  • 8. An apparatus comprising: a memory; anda processor configured to execute instructions stored in the memory to: output, for display, a first interface area in which an editable document is displayed and a second interface area outside of the first interface area,in response to a paste command, insert copied content into the editable document, andoutput, in the second interface area, a plurality of interface elements, each interface element associated with a candidate source, other than the editable document, for the copied content, at least some of the candidate sources are associated with results of a search function based on the copied content.
  • 9. The apparatus of claim 8, wherein each candidate source includes at least one of a title of a document associated with the copied content or a URL of a document associated with the copied content.
  • 10. The apparatus of claim 8, wherein the first interface area represents one or more document pages each having an outer periphery, and the second interface area is located outside of the outer peripheries of each of the one of more document pages.
  • 11. The apparatus of claim 8, wherein the copied content is received from an inter-application clipboard.
  • 12. The apparatus of claim 8, wherein output of the interface element in the second area interface occurs in response to the paste command.
  • 13. The apparatus of claim 8, wherein output of the interface element in the second interface area occurs in response to a selection, by a user, of the copied content in the editable document in combination with a user input that causes display of the candidate sources.
  • 14. A non-transitory computer-readable storage device including program instructions executable by one or more processors that, when executed, cause the one or more processors to perform operations, the operations comprising: outputting, for display, a first interface area in which an editable document is displayed and a second interface area outside of the first interface area;in response to a paste command, inserting copied content into the editable document;identifying a plurality of candidate sources for the copied content, at least some of the candidate sources being identified based on documents concurrently open in a third interface area outside of the first interface area and the second interface area, and at least some of the candidate sources are associated with results of a search function based on the copied content; andoutputting, in the second interface area, a plurality of interface elements, wherein each respective interface element corresponds to a respective candidate source for the copied content.
  • 15. The non-transitory computer-readable storage device of claim 14, wherein each candidate source includes at least one of a title of a document associated with the copied content or a URL of a document associated with the copied content.
  • 16. The non-transitory computer-readable storage device of claim 14, wherein the first interface area represents one or more document pages each having an outer periphery, and the second interface area is located outside of the outer peripheries of each of the one of more document pages.
US Referenced Citations (260)
Number Name Date Kind
5280367 Zuniga Jan 1994 A
5448695 Douglas et al. Sep 1995 A
5493692 Theimer et al. Feb 1996 A
5544049 Henderson et al. Aug 1996 A
5600778 Swanson et al. Feb 1997 A
5613163 Marron et al. Mar 1997 A
5721849 Amro Feb 1998 A
5790127 Anderson et al. Aug 1998 A
5821928 Melkus et al. Oct 1998 A
5826015 Schmidt Oct 1998 A
5845300 Comer et al. Dec 1998 A
5859640 de Judicibus Jan 1999 A
5877763 Berry et al. Mar 1999 A
5883626 Glaser et al. Mar 1999 A
5905991 Reynolds May 1999 A
5966121 Hubbell et al. Oct 1999 A
6005575 Colleran et al. Dec 1999 A
6018341 Berry et al. Jan 2000 A
6272490 Yamakita Aug 2001 B1
6295542 Corbin Sep 2001 B1
6301573 McIlwaine et al. Oct 2001 B1
6377965 Hachamovitch et al. Apr 2002 B1
6421678 Smiga et al. Jul 2002 B2
6463078 Engstrom et al. Oct 2002 B1
6546393 Khan Apr 2003 B1
6564213 Ortega et al. May 2003 B1
6647383 August et al. Nov 2003 B1
6654038 Gajewska et al. Nov 2003 B1
6751604 Barney et al. Jun 2004 B2
6789251 Johnson Sep 2004 B1
6820075 Shanahan et al. Nov 2004 B2
6865714 Liu et al. Mar 2005 B1
6889337 Yee May 2005 B1
6907447 Cooperman et al. Jun 2005 B1
6944821 Bates Sep 2005 B1
6980977 Hoshi et al. Dec 2005 B2
7003506 Fisk et al. Feb 2006 B1
7003737 Chiu et al. Feb 2006 B2
7031963 Bae Apr 2006 B1
7051277 Kephart et al. May 2006 B2
7073129 Robarts et al. Jul 2006 B1
7103835 Yankovich et al. Sep 2006 B1
7127674 Carroll et al. Oct 2006 B1
7146422 Marlatt et al. Dec 2006 B1
7295995 York et al. Nov 2007 B1
7353252 Yang et al. Apr 2008 B1
7353397 Herbach Apr 2008 B1
7370274 Stuple et al. May 2008 B1
7380218 Rundell May 2008 B2
7386789 Chao et al. Jun 2008 B2
7392249 Harris et al. Jun 2008 B1
7395507 Robarts et al. Jul 2008 B2
7406659 Klein et al. Jul 2008 B2
7451389 Huynh et al. Nov 2008 B2
7480715 Barker et al. Jan 2009 B1
7487145 Gibbs et al. Feb 2009 B1
7499919 Meyerzon et al. Mar 2009 B2
7499940 Gibbs Mar 2009 B1
7647312 Dai Jan 2010 B2
7664786 Oh et al. Feb 2010 B2
7685144 Katragadda Mar 2010 B1
7685516 Fischer Mar 2010 B2
7716236 Sidhu et al. May 2010 B2
7734627 Tong Jun 2010 B1
7756935 Gaucas Jul 2010 B2
7761788 McKnight et al. Jul 2010 B1
7769579 Zhao et al. Aug 2010 B2
7774328 Hogue et al. Aug 2010 B2
7779355 Erol et al. Aug 2010 B1
7783965 Dowd et al. Aug 2010 B1
7818678 Massand Oct 2010 B2
7836044 Kamvar et al. Nov 2010 B2
7917848 Harmon et al. Mar 2011 B2
8020003 Fischer Sep 2011 B2
8020112 Ozzie et al. Sep 2011 B2
8027974 Gibbs Sep 2011 B2
8051088 Tibbetts et al. Nov 2011 B1
8086960 Gopalakrishna et al. Dec 2011 B1
8091020 Kuppusamy et al. Jan 2012 B2
8117535 Beyer et al. Feb 2012 B2
8185448 Myslinski May 2012 B1
8224802 Hogue Jul 2012 B2
8229795 Myslinski Jul 2012 B1
8239751 Rochelle et al. Aug 2012 B1
8260785 Hogue et al. Sep 2012 B2
8261192 Djabarov Sep 2012 B2
8346620 King et al. Jan 2013 B2
8346877 Turner Jan 2013 B2
8359550 Meyer et al. Jan 2013 B2
8370275 Bhattacharya et al. Feb 2013 B2
8386914 Baluja et al. Feb 2013 B2
8434134 Khosrowshahi et al. Apr 2013 B2
8453066 Ozzie et al. May 2013 B2
8458046 Myslinski Jun 2013 B2
8479094 Fouts Jul 2013 B2
8572388 Boemker et al. Oct 2013 B2
8595174 Gao et al. Nov 2013 B2
8621222 Das Dec 2013 B1
8666961 Qureshi Mar 2014 B1
8667394 Spencer Mar 2014 B1
8782516 Dozier Jul 2014 B1
8799765 MacInnis et al. Aug 2014 B1
8856640 Barr et al. Oct 2014 B1
8856645 Vandervort et al. Oct 2014 B2
8904284 Grant et al. Dec 2014 B2
9298823 Cragun Mar 2016 B2
20010025287 Okabe et al. Sep 2001 A1
20020010725 Mo Jan 2002 A1
20020029337 Sudia et al. Mar 2002 A1
20020035714 Kikuchi et al. Mar 2002 A1
20020069223 Goodisman et al. Jun 2002 A1
20020070977 Morcos et al. Jun 2002 A1
20020103914 Dutta et al. Aug 2002 A1
20020129100 Dutta et al. Sep 2002 A1
20020152255 Smith, Jr. et al. Oct 2002 A1
20020161839 Colasurdo et al. Oct 2002 A1
20020187815 Deeds et al. Dec 2002 A1
20030046263 Castellanos et al. Mar 2003 A1
20030046277 Jackson Mar 2003 A1
20030058286 Dando Mar 2003 A1
20030069877 Grefenstette et al. Apr 2003 A1
20030156130 James et al. Aug 2003 A1
20030172353 Cragun Sep 2003 A1
20030200192 Bell et al. Oct 2003 A1
20030234822 Spisak Dec 2003 A1
20040061716 Cheung et al. Apr 2004 A1
20040062213 Koss Apr 2004 A1
20040122846 Chess et al. Jun 2004 A1
20040139465 Matthews, III et al. Jul 2004 A1
20040140901 Marsh Jul 2004 A1
20040145607 Alderson Jul 2004 A1
20040153973 Horwitz Aug 2004 A1
20040164991 Rose Aug 2004 A1
20040177319 Horn Sep 2004 A1
20050024487 Chen Feb 2005 A1
20050028081 Arcuri et al. Feb 2005 A1
20050034060 Kotler et al. Feb 2005 A1
20050039191 Hewson et al. Feb 2005 A1
20050044132 Campbell et al. Feb 2005 A1
20050044369 Anantharaman Feb 2005 A1
20050055416 Heikes et al. Mar 2005 A1
20050120308 Gibson et al. Jun 2005 A1
20050144162 Liang Jun 2005 A1
20050144573 Moody et al. Jun 2005 A1
20050160065 Seeman Jul 2005 A1
20050183001 Carter et al. Aug 2005 A1
20050183006 Rivers-Moore et al. Aug 2005 A1
20050198589 Heikes et al. Sep 2005 A1
20050210256 Meier et al. Sep 2005 A1
20050246653 Gibson et al. Nov 2005 A1
20060005142 Karstens Jan 2006 A1
20060010865 Walker Jan 2006 A1
20060041836 Gordon et al. Feb 2006 A1
20060047682 Black et al. Mar 2006 A1
20060080303 Sargent et al. Apr 2006 A1
20060106778 Baldwin May 2006 A1
20060136552 Krane et al. Jun 2006 A1
20060150087 Cronenberger et al. Jul 2006 A1
20060190435 Heidloff et al. Aug 2006 A1
20060213993 Tomita Sep 2006 A1
20060236217 Michelstein Oct 2006 A1
20060248070 Dejean et al. Nov 2006 A1
20070005581 Arrouye et al. Jan 2007 A1
20070005697 Yuan et al. Jan 2007 A1
20070033200 Gillespie Feb 2007 A1
20070143317 Hogue et al. Jun 2007 A1
20070150800 Betz et al. Jun 2007 A1
20070156761 Smith Jul 2007 A1
20070162907 Herlocker et al. Jul 2007 A1
20070168355 Dozier et al. Jul 2007 A1
20070198952 Pittenger Aug 2007 A1
20070220259 Pavlicic Sep 2007 A1
20070280205 Howell et al. Dec 2007 A1
20070291297 Harmon et al. Dec 2007 A1
20080022107 Pickles et al. Jan 2008 A1
20080028284 Chen Jan 2008 A1
20080034213 Boemker et al. Feb 2008 A1
20080059539 Chin et al. Mar 2008 A1
20080077571 Harris et al. Mar 2008 A1
20080082907 Sorotokin et al. Apr 2008 A1
20080120319 Drews et al. May 2008 A1
20080172608 Patrawala et al. Jul 2008 A1
20080208969 Van Riel Aug 2008 A1
20080239413 Vuong et al. Oct 2008 A1
20080320397 Do et al. Dec 2008 A1
20090006936 Parker et al. Jan 2009 A1
20090013244 Cudich et al. Jan 2009 A1
20090044143 Karstens Feb 2009 A1
20090044146 Patel et al. Feb 2009 A1
20090083245 Ayotte et al. Mar 2009 A1
20090094178 Aoki Apr 2009 A1
20090132560 Vignet May 2009 A1
20090192845 Gudipaty et al. Jul 2009 A1
20090198670 Shiffer et al. Aug 2009 A1
20090204818 Shin et al. Aug 2009 A1
20090282144 Sherrets et al. Nov 2009 A1
20090287988 Cohen Nov 2009 A1
20090292673 Carroll Nov 2009 A1
20100070448 Omoigui Mar 2010 A1
20100070881 Hanson et al. Mar 2010 A1
20100076946 Barker et al. Mar 2010 A1
20100100743 Ali et al. Apr 2010 A1
20100121888 Cutting et al. May 2010 A1
20100131523 Yu et al. May 2010 A1
20100180200 Donneau-Golencer et al. Jul 2010 A1
20100191744 Meyerzon et al. Jul 2010 A1
20100198821 Loritz et al. Aug 2010 A1
20100223541 Clee et al. Sep 2010 A1
20100251086 Haumont et al. Sep 2010 A1
20100268700 Wissner et al. Oct 2010 A1
20100269035 Meyer et al. Oct 2010 A1
20100275109 Morrill Oct 2010 A1
20100281353 Rubin Nov 2010 A1
20110016106 Xia Jan 2011 A1
20110023022 Harper et al. Jan 2011 A1
20110043652 King et al. Feb 2011 A1
20110060584 Ferrucci et al. Mar 2011 A1
20110072338 Caldwell Mar 2011 A1
20110082876 Lu et al. Apr 2011 A1
20110087973 Martin et al. Apr 2011 A1
20110126093 Ozzie et al. May 2011 A1
20110173210 Ahn et al. Jul 2011 A1
20110179378 Wheeler et al. Jul 2011 A1
20110191276 Cafarella et al. Aug 2011 A1
20110208769 Kemp Aug 2011 A1
20110209064 Jorgensen et al. Aug 2011 A1
20110209075 Wan Aug 2011 A1
20110219291 Lisa Sep 2011 A1
20110225482 Chan et al. Sep 2011 A1
20110225490 Meunier Sep 2011 A1
20110252312 Lemonik et al. Oct 2011 A1
20110276538 Knapp et al. Nov 2011 A1
20110296291 Melkinov et al. Dec 2011 A1
20110306028 Galimore Dec 2011 A1
20120078826 Ferrucci et al. Mar 2012 A1
20120084644 Robert et al. Apr 2012 A1
20120095979 Aftab et al. Apr 2012 A1
20120116812 Boone et al. May 2012 A1
20120124053 Ritchford et al. May 2012 A1
20120166924 Larson et al. Jun 2012 A1
20120185473 Ponting et al. Jul 2012 A1
20120203734 Spivack et al. Aug 2012 A1
20120226646 Donoho et al. Sep 2012 A1
20120254730 Sunderland et al. Oct 2012 A1
20120284602 Seed et al. Nov 2012 A1
20120304046 Neill et al. Nov 2012 A1
20120317046 Myslinski Dec 2012 A1
20130036344 Ahmed et al. Feb 2013 A1
20130041685 Yegnanarayanan Feb 2013 A1
20130132566 Olsen et al. May 2013 A1
20130165086 Doulton Jun 2013 A1
20130212062 Levy et al. Aug 2013 A1
20130246346 Khosrowshahi et al. Sep 2013 A1
20130268830 Khosrowshahi et al. Oct 2013 A1
20140013197 McAfee et al. Jan 2014 A1
20140032913 Tenenboym et al. Jan 2014 A1
20140040249 Ploesser et al. Feb 2014 A1
20140236958 Vaughn Aug 2014 A1
20140351693 Glassop Nov 2014 A1
20150012805 Bleiweiss et al. Jan 2015 A1
Foreign Referenced Citations (2)
Number Date Country
WO2012057726 May 2012 WO
WO2014072767 May 2014 WO
Non-Patent Literature Citations (26)
Entry
“Bohman, P. ““Introduction to Web Accessibility””, Oct. 2003, ebAIM, printed Apr. 17, 2004,<http://www.webaim.org/intro/?templatetype=3> (p. 1- 6)”.
“Caldwell et al., ““Web Content Accessibility Guidelines 2.0, W3C Working Draft Mar. 11, 2004””, Mar. 11, 2004, WorldWide Web Consortium (p. 1-56)”.
Francik, E., Computer-& screen-based interfaces: Universal design filter, Human Factors Engineering, Pacific Bell Version 2, Jun. 6, 1996.
Griesser, A., “A generic editor Full text,” pp. 50-55, 1997 ACM Press NewYork, NY, USA.
Jacobs, Ian, et al., “User Agent Accessibility Guidelines 1.0, W3C Recommendation Dec. 17, 2002”, World Wide Web Consortium, 115 pages.
Treviranus, Jutta, et al., “Authoring Tool Accessibility Guidelines 1.0, W3C Recommendation Feb. 3, 2000”, World Wide Web Consortium (p. 1-22).
Jourdan, Guy-Vincent, CSI 3140 WWW Structures, Techniques and Standards, Cascading Style Sheets, power point slides, published Feb. 16, 2010.
W3C, Cascading Style sheets Level 2 Revision 1 Specification, Apr. 15, 2011, 487 pages.
David Sawyer McFarland, “CSS the missing manual”, O'Reilly, Aug. 2009, pp. 7-101, 134-138, 428-429.
Herb Tyson, Microsoft Word 2010 Bible, John Wiley & Sons, pp. 221, 757, 833, Jun. 21, 2010.
Timestamp from Wikipedia, accessed from https://en.wikipedialcorg/wiki/Timestamp, archived by WaybackMachine on Sep. 15, 2012, pp. 1-2.
Ashman. “Electronic Document Addressing: Dealing with Change.” ACM Computing Surveys, vol. 32, No. 3, Sep. 2000, pp. 201-212.
ISR and Written Opinion of the International Searching Authority in PCT Application No. PCT/US2011/037862, dated Oct. 31, 2011, 64 pages.
Electronic Signatures and Infrastructures ESI; PDF Advanced Electronic Signature Profiles; Part 4: PAdES Long Ter PAdES-LTV Profile, ETSI TS 102 778-4, V1.1.1, Jul. 2009, 19 pages.
Fox. “Maps API Blog: Creating Dynamic Client-side Maps Mashups with Google Spreadsheets.” Mar. 2007, [retrieved on Dec. 5, 2011]. Retrieved from the Internet: <URL:http://googlemapsapi.blogspot.com/2007/03/creating-dynamic-client-side-maps.html>. 2 pages.
GeekRant.org' [online]. “How to Embed a Word Document in Another Word Document,” Sep. 14, 2005, [retrieved on Dec. 5, 2011]. Retrieved from the Internet: <URL:http://www.geekrant.org/2005/09/14/word-embed-document/>. 6 pages.
Herrick. “Google this Using Google Apps for Collaboration and Productivity.” Proceedings of the ACM Siguccs Fall Conference on User Services Conference, Siguccs '09, Jan. 2009, p. 55.
https://en.wikipedia.org/wiki/Backus%E2%80%93Naur—Form, as of Jul. 14, 2013.
https://en.wikipedia.org/wiki/Regular—expression, as of Sep. 2, 2013.
Kappe. “Hyper-G: A Distributed Hypermedia System.” Proceedings of the International Networking Conference, 1993, [retrieved on Oct. 20, 2011]. Retrieved from the Internet: <URL:http://ftp.iicm.tugraz.at/pub/papers/inet93.pdf>. 9 pages.
Kircher. “Lazy Acquisition.” Proceedings of the 6th European Conference on Pattern Languages of Programs, Jul. 2011, pp. 1-11.
Microsoft Support' [online]. “How to Embed and Automate Office Documents with Visual Basic,” Mar. 27, 2007, [retrieved on Dec. 5, 2011]. Retrieved from the Internet: <URLhttp://support.microsoft.com/kb/242243>. 6 pages.
Microsoft Support' [online]. “OLE Concepts and Requirements Overview,” Oct. 27, 1999, [retrieved on Dec. 2, 2011]. Retrieved from the Internet: <URL:http://support.microsoft.com/kb/86008>. 3 pages.
Oracle Provider for OLE DB—Developer's Guide. 10g Release 1 (10.1) Dec. 2003, Oracle Corp., 90 pages.
Pinkas et al. “CMS Advanced Electrponic Signatures,” Request for Comments 5126, Feb. 2008, 142 pages.
WebArchive' [online]. “Supplementary Notes for MFC Programming Module 23 and Module 27: Interfaces, com.com + and OLE” in: http://www.tenouk.com/visualcplusmfc/mfcsupp/ole.html, Jan. 6, 2008, [retrieved on Dec. 5, 2011]. Retrieved from the Internet: <URL:http://web.archive.org/web/20091125073542/http://www.tenouk.com/visualcplusmfc/mfcsupp/ole.html>. 4 pages.