The present invention may be better understood, and its numerous objects, features, and advantages made apparent to those skilled in the art by referencing the accompanying drawings. The use of the same reference symbols in different drawings indicates similar or identical items.
Turning now to the drawings and, with particular attention to
User devices, such as user devices 106a, 106b may be connected to or in communication with the e-mail service 104. In certain embodiments, the user devices may be implemented as telephones, cellular telephones, PDAs, computers, etc. For example, a user device 106a, 106b may be embodied as a personal computer implementing the Windows XP operating system.
In certain embodiments, the system 100 may also include other hardware and/or software components (e.g., gateways, proxy servers, registration server, presence servers, redirect servers, databases, applications, etc.) such as, for example, hardware and software used to support a SIP (Session Initiation Protocol) or other protocol based infrastructure for the system 100 and allow the registration of SIP devices in the system 100.
The e-mail service 104 may be or include an application that allows users to register and make use of Internet electronic mail services. The e-mail service 104 may be implemented in hardware and/or software operating on one or more servers, computer systems, host or mainframe computers, workstations, etc. In some embodiments, the e-mail service 104 may be operating on some or all of the same devices as other components in the system 100.
The e-mail service 104 may couple to or be in communication with, one or more e-mail clients 107 that allow users to compose, save, etc., e-mail. The e-mail clients 107 may include e-mail application programs 108 and selective forwarding utilities 112 in accordance with embodiments of the present invention. More particularly, as will be explained in greater detail below, the selective forwarding utilities operate in conjunction with the e-mail application programs 108 and/or the document generating application program 114 to allow selection of portions of documents and automatically generate an e-mail therefrom. The e-mail client 107 may be implemented in hardware and/or software operating on one or more servers, computer systems, host or mainframe computers, workstations, etc. In some embodiments, the e-mail client 107 may be operating on some or all of the same devices as other components in the system 100.
As noted above, the e-mail clients 107 may interact with one or more document generating application programs 114. Such document generating application programs 114 may include word processing programs, such as Microsoft Word; spreadsheet programs, such as Microsoft Excel; or any program that allows for generating documents. The document generating application programs 114 may be implemented in hardware and/or software operating on one or more servers, computer systems, host or mainframe computers, workstations, etc. In some embodiments, the document generating application programs 114 may be operating on some or all of the same devices as other components in the system 100.
In certain embodiments of the present invention, one or more of the components of the system 100 may be connected to or in communication with each other via a communication network. For example, turning now to
In the particular implementation illustrated, the e-mail client 107 and the document generating application program 114 may run on one of the user devices, such as a personal computer 106a. In addition, the user devices 106a, 106b may include an operating system/graphical user interface program 110 such as Microsoft Windows XP; and a clipboard memory 113. The clipboard memory 113 is a portion of memory set aside for temporarily storing portions of documents that have been selected by the user.
Turning now to
Shown is an exemplary document window 302. The document window 302 may be representative of an e-mail window, a word processing document window, a spreadsheet document window, or other document window in which a user can select text or other information. The window can include a variety of text or information. As shown, a user can “select” or “highlight” portions 303a of the text, for example, by manipulating the left key of a mouse (not shown) or other cursor pointing device. Once the user has selected the text, for example, text 303a, the user can “right click” to reveal an options dialog menu such as menu 304. In the example, illustrated, menu options include CUT, COPY, PASTE, PASTE TO EMAIL, and COPY TO EMAIL.
In general, if the user selects CUT or COPY, the selected text will be transferred to a clipboard memory 113 as shown at 306. The selected text 303a is detected as present in the clipboard 113 and is then available to be inserted into another document, typically, via selection of PASTE from the menu 304.
According to embodiments of the present invention, however, the user may have the option of selecting PASTE TO EMAIL. According to embodiments of the present invention, this causes the e-mail program 108 to generate a new e-mail document or “compose” window, and automatically pastes the text from the clipboard into the new e-mail window, as shown at 308.
According to other embodiments of the present invention, instead of separately cutting/copying and then pasting to e-mail, the user can select COPY TO EMAIL from the menu 304. Again, this causes the e-mail program 108 to generate a new compose window and automatically pastes the selected text into the new compose window. Depending on the specific implementation, the text can also be copied into the clipboard 113 for other use.
It is noted that in certain embodiments (particularly those in which the original document is an e-mail), merely selecting the text may itself automatically cause generation of a new e-mail compose window. Alternatively, selecting the text can generate a new dialog window that asks if the user wishes to paste into a new e-mail. If the user selects YES, a new compose window is generated. In addition, in certain embodiments, a dialog may be generated allowing the user to deselect the automatic paste to e-mail option.
Turning now to
In branch 401, at a step 402, a portion of a document in a document generating program 114 can be selected. As noted above, this may be done via a cursor pointing device such as a mouse, trackball, touchscreen LED, tablet, etc. At a step 404, the options dialog menu 304 is generated. In certain embodiments, the document generating program 114 can generate the options menu 304 responsive to a “right click” from the cursor pointing device. In other embodiments, the operating system generates the options menu. At a step 406, the PASTE or COPY TO E-MAIL options may be selected and/or detected. For example, the user may select and left click the appropriate menu entry, which is then detected by the selective forwarding utility 112. In response, in a step 408, the e-mail compose window 308 is opened. For example, the selective forwarding utility 112 may issue the appropriate commands to the e-mail program 108 or operating system to cause it to open. Finally, in a step 410, the selected portion of the document is pasted from the clipboard 113 into the compose e-mail window.
Branch 403 illustrates operation of an alternate embodiment of the present invention. In a step 412, a portion of a document may be selected. Again, this may be done via a cursor pointing device such as, e.g., a mouse or trackball. At a step 414, the options menu 304 is generated. In certain embodiments, the document generating program 114 can generate the options menu responsive to a “right click” from the cursor pointing device. In other embodiments, the operating system 110 generates the options menu. In a step 416, the CUT or PASTE options may be selected. For example, the user may select and left click the appropriate menu entry, which is then detected by the document generating program 114 or the operating system 110. The selection is then saved to the clipboard memory 113, in a step 418. The contents of the clipboard can be pasted into a e-mail compose window following steps 404-410, described above.
In a step 452, a user can view a document, such as an e-mail document. In a step 454, a portion of the document can be selected and cut or copied. Again, this may be done, for example, via a cursor pointing device such as a mouse or trackball. In a step 456, the selection is detected by the selective forwarding utility 112, which causes the e-mail application 108 to open a new compose e-mail window. In a step 458, the selected portion is automatically pasted into the compose e-mail window.
In another embodiment, a menu dialog at 460 may be opened to query whether the user wants to paste to e-mail; if the user clicks yes, then steps 456 and 458 may be undertaken. It is noted that, as in the previously discussed embodiments, the document may be a document from a program other than an e-mail program. Thus, the figure is exemplary only.
Turning now to
Also shown is an option menu 309 that functions in a manner generally similar to that of
Turning now to
In branch 601, at a step 602, a portion of a document in a document generating or reading program can be selected. As noted above, this may be done via a cursor pointing device such as a mouse or trackball. At a step 604, the options menu 309 is generated. In certain embodiments, the document generating program 114 can generate the options menu responsive to a “right click” from the cursor pointing device. In other embodiments, the operating system 110 generates the options menu 309. At a step 606, the PASTE or COPY AS ATTACHMENT TO EMAIL options may be selected and/or detected. For example, the user may select and left click the appropriate menu entry, which is then detected by the selective forwarding utility 112. In a step 607, if the user selected the “attachment” option, the user may be given the option of saving the selected portion into a document, of the same type as the source of the selection. The system can identify the source document and source document generating program and the document can be given a default name and a storage location. Alternatively, the user may specify a document name and storage location. In a step 608, an e-mail compose window may be opened in a manner similar to that discussed above. In a step 610, the document is attached to the new e-mail.
It is noted that, in alternate embodiments, rather than providing the user the saving option in step 607, the system could automatically generate the document, giving it a default name, in step 610, just prior to attachment.
Branch 603 illustrates operation of an alternate embodiment of the present invention. In a step 612, a portion of a document may be selected. Again, this may be done via a cursor pointing device such as a mouse or trackball. At a step 614, the options menu is generated. In certain embodiments, the document generating program 114 can generate the options menu responsive to a “right click” from the cursor pointing device. In other embodiments, the operating system 110 generates the options menu. In a step 618, the CUT or PASTE options may be selected. For example, the user may select and left click the appropriate menu entry, which is then detected by the document generating program or the operating system. The selection is then saved to the clipboard memory 113, in a step 618. The contents of the clipboard can be attached to a e-mail compose window following steps 606-610, described above.
In a step 652, a user can view a document, such as an e-mail document. In a step 654, a portion of the document can be selected and cut or copied. Again, this may be done, for example, via a cursor pointing device such as a mouse or trackball. In a step 656, the selection is detected by the selective forwarding utility 112, which causes the e-mail application 108 to open a new compose e-mail window. In a step 658, the selected portion is automatically attached to the compose e-mail window. That is, it can be automatically inserted or pasted into a document, given a default name and type, and be automatically attached.
In another embodiment, a menu dialog at 660 may be opened to query whether the user wants to paste to e-mail; if the user clicks yes, then steps 656 and 658 may be undertaken. It is noted that, as in the previously discussed embodiments, the document may be a document from a program other than an e-mail program. Thus, the figure is exemplary only.
Embodiments of the present invention may be used in conjunction with a web e-mail system, as well as to standard e-mail. In this case, the e-mail server of
In this case, selecting the PASTE or COPY EMAIL (or attachment) options results in either the generation of a new web browser window at the appropriate URL, or a navigation from the current window to the compose window URL, and the pasting of the selected text in or attaching the text to window 704.
Turning now to
In branch 801, at a step 802, a portion of a document in a document generating or reading program can be selected. As noted above, this may be done via a cursor pointing device such as a mouse or trackball. At a step 804, the options dialog menu is generated. In certain embodiments, the document generating program 114 can generate the options menu responsive to a “right click” from the cursor pointing device. In other embodiments, the operating system 110 generates the options dialog menu. At a step 808, the PASTE or COPY TO E-MAIL options may be selected and/or detected. For example, the user may select and left click the appropriate menu entry, which is then detected by the selective forwarding utility 112. In a step 808, the user may be given the option of saving the selected portion into a document, of the same type as the source of the selection (particularly in the case that the attachment option has been selected). The system can identify the source document and source document generating program and the document can be given a default name and storage location. Alternatively, the user may specify a document name and storage location. In a step 810, the web browser may be opened or a new browser window may be opened. For example, in a manner similar to that discussed above, the selective forwarding utility 112 may issue the appropriate commands to the web browser or operating system to cause it to open. In a step 812, the browser navigates or opens to the URL of the compose e-mail page. Finally, in a step 814, the document is attached or pasted to the new e-mail. It is noted that, in alternate embodiments, rather than providing the user the option in step 808, the system could automatically generate the document, giving it a default name, in step 814, just prior to attachment.
Branch 803 illustrates operation of an alternate embodiment of the present invention. In a step 816, a portion of a document may be selected. Again, this may be done via a cursor pointing device such as a mouse or trackball. At a step 818, the options dialog menu is generated. In certain embodiments, the document generating program 112 can generate the options menu responsive to a “right click” from the cursor pointing device. In other embodiments, the operating system generates the options menu. In a step 820, the CUT or PASTE options may be selected. For example, the user may select and left click the appropriate menu entry, which is then detected by the document generating program 112 or the operating system 110. The selection is then saved to the clipboard memory 113, in a step 822. The contents of the clipboard 113 can be attached to a e-mail compose window following steps 804-814, described above.
In a step 852, a user can view a document, such as an e-mail document in a web browser. In a step 854, a portion of the document can be selected and cut or copied. Again, this may be done, for example, via a cursor pointing device such as a mouse, trackball, or other device. In a step 856, the selection is detected by the selective forwarding utility 112, which causes the e-mail application 108 to open a new browser window compose e-mail window. In a step 858, the selected portion is automatically attached the compose e-mail window.
In another embodiment, a menu dialog at 880 may be opened to query whether the user wants to paste to e-mail; if the user clicks yes, then steps 856 and 858 may be undertaken. It is noted that, as in the previously discussed embodiments, the document may be a document from a program other than an e-mail program. Thus, the figure is exemplary only.
Now referring to
The computer 900 may include a processor, microchip, central processing unit, or computer 902 that is in communication with or otherwise uses or includes one or more communication ports or network interfaces 904 for communicating with user devices and/or other devices. The communication ports 904 may include such things as local area network adapters, wireless communication devices, Bluetooth technology, cellular network interfaces, etc. The computer 900 also may include an internal clock element 906 to maintain an accurate time and date for the computer 900, create time stamps for communications received or sent by the computer 900, etc.
If desired, the computer 900 may include one or more output devices 908 such as a printer, infrared or other transmitter, antenna, audio speaker, display screen or monitor, text to speech converter, etc. as well as one or more input devices 910 such as a bar code reader or other optical scanner, infrared or other receiver, antenna, magnetic stripe reader, image scanner, roller ball, touch pad, joystick, touch screen, microphone, computer keyboard, computer mouse, etc.
In addition to the above, the computer 900 may include a memory or data storage device 920 to store information, software, databases, documents, communications, device drivers, etc. The memory or data storage device 920 may be implemented as an appropriate combination of magnetic, optical and/or semiconductor memory, and may include, for example, Read-Only Memory (ROM), Random Access Memory (RAM), a tape drive, flash memory, a floppy disk drive, a Zip™ disk drive, a compact disc and/or a hard disk. Thus, the storage device 920 may include various combinations of moveable and fixed storage. The computer 900 also may include memory 914, such as ROM 916 and RAM 918.
The processor 902 and the data storage device 912 in the computer 900 each may be, for example: (i) located entirely within a single computer or other computing device; or (ii) connected to each other by a remote communication medium, such as a serial port cable, telephone line or radio frequency transceiver. In one embodiment, the computer 900 may be implemented as one or more computers that are connected to a remote server computer, as will be explained in greater detail below.
A conventional personal computer or workstation with sufficient memory and processing capability may be used as the computer 900. The computer 900 may be capable of high volume transaction processing, performing a significant number of mathematical calculations in processing communications and database searches. A Pentium™ microprocessor such as the Pentium III™ or IV™ microprocessor, manufactured by Intel Corporation may be-used for the processor 902. Other suitable processors may be available from Motorola, Inc., AMD, or Sun Microsystems, Inc. The processor 902 also may be embodied as one or more microprocessors, computers, computer systems, etc.
Software may be resident and operating or operational on the computer 900. The software may be stored on the data storage device 920 and may include one or more control programs 922. In the client devices, the control programs 922 may include, inter alia, the operating system, selective forwarding utility, document generating programs, web browser, and e-mail programs.
The client control program 922 may control the processor 902. The processor 902 may perform instructions of the client control program 922, and thereby operate in accordance with the methods described in detail herein. The client control program 922 may be stored in a compressed, uncompiled and/or encrypted format. The client control program 922 furthermore may include program elements that may be necessary, such as an operating system, a database management system and device drivers for allowing the processor 902 to interface with peripheral devices, databases, etc. Appropriate program elements are known to those skilled in the art, and need not be described in detail herein.
The computer 900 also may include or store user information regarding identities, user devices, contexts, presence information, communications, etc. These may include, for example, default messages, etc. Information regarding other application program data may be stored in application databases (not shown)
According to some embodiments, the instructions of the control program may be read into a main memory from another computer-readable medium, such as from the ROM 916 to the RAM 918. Execution of sequences of the instructions in the control program causes the processor 902 to perform the process elements described herein. In alternative embodiments, hard-wired circuitry may be used in place of, or in combination with, software instructions for implementation of some or all of the methods described herein. Thus, embodiments are not limited to any specific combination of hardware and software.
The processor 902, communication ports 904, clock 906, output device 908, input device 910, data storage device 912, ROM 916 and RAM 918 may communicate or be connected directly or indirectly in a variety of ways. For example, the processor 902, communication ports 904, clock 906, output device 908, input device 910, data storage device 912, ROM 916 and RAM 918 may be connected via a bus 934.
While specific implementations and hardware/software configurations for the computer 900 have been illustrated, it should be noted that other implementations and hardware configurations are possible and that no specific implementation or hardware/software configuration is needed. Thus, not all of the components illustrated in
The methods described herein may be embodied as a computer program developed using an object oriented language that allows the modeling of complex systems with modular objects to create abstractions that are representative of real world, physical objects and their interrelationships. However, it would be understood by one of ordinary skill in the art that the invention as described herein could be implemented in many different ways using a wide range of programming techniques as well as general-purpose hardware systems or dedicated controllers. In addition, in some embodiments, many, if not all, of the elements for the methods described above are optional or can be combined or performed in one or more alternative orders or sequences and the claims should not be construed as being limited to any particular order or sequence, unless specifically indicated.
Each of the methods described above can be performed on a single computer, computer system, microprocessor, etc. In addition, in some embodiments, two or more of the elements in each of the methods described above could be performed on two or more different computers, computer systems, microprocessors, etc., some or all of which may be locally or remotely configured. The methods can be implemented in any sort or implementation of computer software, program, sets of instructions, programming means, code, ASIC, or specially designed chips, logic gates, or other hardware structured to directly effect or implement such software, programs, sets of instructions, programming means or code. The computer software, program, sets of instructions or code can be storable, writeable, or savable on any computer usable or readable media or other program storage device or media such as a floppy or other magnetic or optical disk, magnetic or optical tape, CD-ROM, DVD, punch cards, paper tape, hard disk drive, Zip™ disk, flash or optical memory card, microprocessor, solid state memory device, RAM, EPROM, or ROM.
The foregoing description of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention. The drawings and description were chosen in order to explain the principles of the invention and its practical application. The drawings are not necessarily to scale and illustrate the device in schematic block format. It is intended that the scope of the invention be defined by the claims appended hereto, and their equivalents