U.S. patent application number 10/832036 was filed with the patent office on 2005-10-27 for multi-source, multi-destination data transfers.
This patent application is currently assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION. Invention is credited to Berstis, Viktors, Chen, Yen-Fu, Dunsmoir, John W..
Application Number | 20050240866 10/832036 |
Document ID | / |
Family ID | 34969173 |
Filed Date | 2005-10-27 |
United States Patent
Application |
20050240866 |
Kind Code |
A1 |
Berstis, Viktors ; et
al. |
October 27, 2005 |
Multi-source, multi-destination data transfers
Abstract
Methods, systems, and products are disclosed for multi-source,
multi-destination data transfers that include identifying a
plurality of destination points having destination contexts in one
or more destination objects; selecting source content for transfer;
displaying destination contexts for the destination points; and
directing source content to at least one destination point in
dependence upon the displayed destination contexts. In typical
embodiments, identifying destination points includes recording each
identified destination point and storing in association with each
recorded destination point a copy of a destination context for each
recorded destination point.
Inventors: |
Berstis, Viktors; (Austin,
TX) ; Chen, Yen-Fu; (Austin, TX) ; Dunsmoir,
John W.; (Round Rock, TX) |
Correspondence
Address: |
INTERNATIONAL CORP (BLF)
c/o BIGGERS & OHANIAN, LLP
P.O. BOX 1469
AUSTIN
TX
78767-1469
US
|
Assignee: |
INTERNATIONAL BUSINESS MACHINES
CORPORATION
ARMONK
NY
|
Family ID: |
34969173 |
Appl. No.: |
10/832036 |
Filed: |
April 26, 2004 |
Current U.S.
Class: |
715/248 ;
715/257 |
Current CPC
Class: |
G06F 3/04812 20130101;
G06T 2200/24 20130101; G06F 3/04817 20130101; G06F 3/0486 20130101;
G06F 3/04842 20130101; G06F 9/543 20130101; G06T 1/0007 20130101;
G06F 3/0482 20130101 |
Class at
Publication: |
715/522 ;
715/533 |
International
Class: |
G06F 017/24 |
Claims
What is claimed is:
1. A method for multi-source, multi-destination data transfers, the
method comprising: identifying a plurality of destination points
having destination contexts in one or more destination objects;
selecting source content for transfer; displaying destination
contexts for the destination points; and directing source content
to at least one destination point in dependence upon the displayed
destination contexts.
2. The method of claim 1 wherein identifying destination points
further comprises: recording each identified destination point; and
storing in association with each recorded destination point a copy
of a destination context for each recorded destination point.
3. The method of claim 2 further comprising inserting source
content at a destination point in a copy of a destination
context.
4. The method of claim 3 further comprising checking spelling of a
copied destination context that includes inserted source
content.
5. The method of claim 3 further comprising checking grammar of a
copied extracted destination context that includes inserted source
content.
6. The method of claim 1 wherein directing source content to at
least one destination point in dependence upon the displayed
destination contexts further comprises inserting source content at
an identified destination point in a destination object.
7. The method of claim 1 further comprising: inserting source
content at a selected destination point in a copied destination
context; and replacing the destination context in the destination
object with the copied destination context including the inserted
source content.
8. The method of claim 1 further comprising mapping a plurality of
selected source content to a plurality of selected destination
points.
9. The method of claim 1 further comprising: designating at least
one source content for transfer; inserting the designated source
content at a selected destination point in a destination object;
and deleting the designated source content from a source
object.
10. A system for multi-source, multi-destination data transfers,
the system comprising: means for identifying a plurality of
destination points having destination contexts in one or more
destination objects; means for selecting source content for
transfer; means for displaying destination contexts for the
destination points; and means for directing source content to at
least one destination point in dependence upon the displayed
destination contexts.
11. The system of claim 10 wherein means for identifying
destination points further comprises: means for recording each
identified destination point; and means for storing in association
with each recorded destination point a copy of a destination
context for each recorded destination point.
12. The system of claim 111 further comprising means for inserting
source content at a destination point in a copy of a destination
context.
13. The system of claim 12 further comprising means for checking
spelling of a copied destination context that includes inserted
source content.
14. The system of claim 12 further comprising means for checking
grammar of a copied extracted destination context that includes
inserted source content.
15. The system of claim 10 wherein means for directing source
content to at least one destination point in dependence upon the
displayed destination contexts further comprises means for
inserting source content at an identified destination point in a
destination object.
16. The system of claim 10 further comprising: means for inserting
source content at a selected destination point in a copied
destination context; and means for replacing the destination
context in the destination object with the copied destination
context including the inserted source content.
17. The system of claim 10 further comprising means for mapping a
plurality of selected source content to a plurality of selected
destination points.
18. The system of claim 10 further comprising: means for
designating at least one source content for transfer; means for
inserting the designated source content at a selected destination
point in a destination object; and means for deleting the
designated source content from a source object.
19. A computer program product for multi-source, multi-destination
data transfers, the computer program product comprising: a
recording medium; means, recorded on the recording medium, for
identifying a plurality of destination points having destination
contexts in one or more destination objects; means, recorded on the
recording medium, for selecting source content for transfer; means,
recorded on the recording medium, for displaying destination
contexts for the destination points; and means, recorded on the
recording medium, for directing source content to at least one
destination point in dependence upon the displayed destination
contexts.
20. The computer program product of claim 19 wherein means,
recorded on the recording medium, for identifying destination
points further comprises: means, recorded on the recording medium,
for recording each identified destination point; and means,
recorded on the recording medium, for storing in association with
each recorded destination point a copy of a destination context for
each recorded destination point.
21. The computer program product of claim 20 further comprising
means, recorded on the recording medium, for inserting source
content at a destination point in a copy of a destination
context.
22. The computer program product of claim 21 further comprising
means, recorded on the recording medium, for checking spelling of a
copied destination context that includes inserted source
content.
23. The computer program product of claim 21 further comprising
means, recorded on the recording medium, for checking grammar of a
copied extracted destination context that includes inserted source
content.
24. The computer program product of claim 19 wherein means,
recorded on the recording medium, for directing source content to
at least one destination point in dependence upon the displayed
destination contexts further comprises means, recorded on the
recording medium, for inserting source content at an identified
destination point in a destination object.
25. The computer program product of claim 19 further comprising:
means, recorded on the recording medium, for inserting source
content at a selected destination point in a copied destination
context; and means, recorded on the recording medium, for replacing
the destination context in the destination object with the copied
destination context including the inserted source content.
26. The computer program product of claim 19 further comprising
means, recorded on the recording medium, for mapping a plurality of
selected source content to a plurality of selected destination
points.
27. The computer program product of claim 19 further comprising:
means, recorded on the recording medium, for designating at least
one source content for transfer; means, recorded on the recording
medium, for inserting the designated source content at a selected
destination point in a destination object; and means, recorded on
the recording medium, for deleting the designated source content
from a source object.
Description
BACKGROUND OF THE INVENTION
[0001] 1. Field of the Invention
[0002] The field of the invention is data processing, or, more
specifically, methods, systems, and products for multi-source,
multi-destination data transfers.
[0003] 2. Description of Related Art
[0004] Typical computer application software and computer operating
systems provide at least some support for copies and moves of
content from sources to destinations. In actual usage, however, the
demand for accurate, sophisticated content transfer often outstrips
available support. In effecting multiple transfers, for example,
user are often required to laboriously identify or label blocks of
source content or destinations for transfers, and there is little
support for identifying multiple destinations for transfers. For
these reasons, there is an ongoing need for improvement in the area
of multi-source, multi-destination data transfers.
SUMMARY OF THE INVENTION
[0005] Methods, systems, and products are disclosed for
multi-source, multi-destination data transfers that include
identifying a plurality of destination points having destination
contexts in one or more destination objects; selecting source
content for transfer; displaying destination contexts for the
destination points; and directing source content to at least one
destination point in dependence upon the displayed destination
contexts. In typical embodiments, identifying destination points
includes recording each identified destination point and storing in
association with each recorded destination point a copy of a
destination context for each recorded destination point.
[0006] Typical embodiments include inserting source content at a
destination point in a copy of a destination context. Typical
embodiments include checking spelling of a copied destination
context that includes inserted source content. Typical embodiments
include checking grammar of a copied extracted destination context
that includes inserted source content.
[0007] In typical embodiments, directing source content to at least
one destination point in dependence upon the displayed destination
contexts further comprises inserting source content at an
identified destination point in a destination object. Typical
embodiments include inserting source content at a selected
destination point in a copied destination context and replacing the
destination context in the destination object with the copied
destination context including the inserted source content.
[0008] Typical embodiments include mapping a plurality of selected
source content to a plurality of selected destination points.
Typical embodiments include designating at least one source content
for transfer, inserting the designated source content at a selected
destination point in a destination object, and deleting the
designated source content from a source object.
[0009] The foregoing and other objects, features and advantages of
the invention will be apparent from the following more particular
descriptions of exemplary embodiments of the invention as
illustrated in the accompanying drawings wherein like reference
numbers generally represent like parts of exemplary embodiments of
the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] FIG. 1 sets forth a block diagram of automated computing
machinery useful according to various embodiments of the present
invention.
[0011] FIG. 2 sets forth a block diagram illustrating exemplary
multi-source, multi-destination data transfers.
[0012] FIG. 3 sets forth a block diagram of an exemplary selection
of source content in a source object.
[0013] FIG. 4 sets forth a line drawing illustrating an exemplary
mapping of a plurality of selected source content to a plurality of
selected destination points.
[0014] FIG. 5 sets forth a flow chart illustrating an exemplary
method for multi-source, multi-destination data transfers.
DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS
Introduction
[0015] The present invention is described to a large extent in this
specification in terms of methods for multi-source,
multi-destination data transfers. Persons skilled in the art,
however, will recognize that any computer system that includes
suitable programming means for operating in accordance with the
disclosed methods also falls well within the scope of the present
invention. Suitable programming means include any means for
directing a computer system to execute the steps of the method of
the invention, including for example, systems comprised of
processing units and arithmetic-logic circuits coupled to computer
memory, which systems have the capability of storing in computer
memory, which computer memory includes electronic circuits
configured to store data and program instructions, programmed steps
of the method of the invention for execution by a processing
unit.
[0016] The invention also may be embodied in a computer program
product, such as a diskette or other recording medium, for use with
any suitable data processing system. Embodiments of a computer
program product may be implemented by use of any recording medium
for machine-readable information, including magnetic media, optical
media, or other suitable media. Persons skilled in the art will
immediately recognize that any computer system having suitable
programming means will be capable of executing the steps of the
method of the invention as embodied in a program product. Persons
skilled in the art will recognize immediately that, although most
of the exemplary embodiments described in this specification are
oriented to software installed and executing on computer hardware,
nevertheless, alternative embodiments implemented as firmware or as
hardware are well within the scope of the present invention.
Multi-Source, Multi-Destination Data Transfers
[0017] Methods, systems, and products are disclosed for
multi-source, multi-destination data transfers that operate
generally by allowing a user to first identify multiple destination
points in destination objects, then to select multiple source
content, and direct the transfer of information such that some
destination points may received transfers of source content and
other may receive copies of source content. For example, a user may
identify destination points A, B, C, and D in a destination object
such as a destination word processing document and then select
source content blocks X, Y, and Z in one or more source objects.
The user may then direct the transfer of source content so that
source content block X is copied to destination point A and to
destination point B, source content block Y is transferred to
destination point C, and source content block Z is transferred to
destination point D.
[0018] Systems according to embodiments of the present invention
typically provide for a subscreen image depicting a destination
context of an identified destination point stored in memory when a
destination point is identified. Thus when a paste operation is to
be performed, images depicting destination contexts may be
displayed to aid users in remembering or deciding which source
content is to be directed to which destination. More particularly,
such systems operate generally, as described in more detail below,
by identifying a plurality of destination points having destination
contexts in one or more destination objects, selecting source
content for transfer, displaying destination contexts for the
destination points, and directing source content to at least one
destination point in dependence upon the displayed destination
contexts.
[0019] Methods and systems according to embodiments of the present
invention are implemented generally upon automated computing
machinery, referred to here as "computers." For further
explanation, FIG. 1 sets forth a block diagram of automated
computing machinery comprising a computer (134.) Computer (134) may
be a personal computer, mainframe, laptop, minicomputer, personal
digital assistant, wireless handheld device, a cellular telephone,
or any other form of automated computing machinery useful as a
system for multi-source, multi-destination data transfer according
to embodiments of the present invention as will occur to those of
skill in the art. The exemplary computer (134) of FIG. 1 includes
at least one computer processor (156) or `CPU` as well as random
access memory (168) ("RAM"). Stored in RAM (168) are application
programs (152). Application programs useful in accordance with
various embodiments of the present invention include browsers, word
processors, spreadsheets, database management systems, email
clients, and so on, as will occur to those of skill in the art.
[0020] Also stored in RAM (168) is an operating system (154).
Operating systems useful in computers according to embodiments of
the present invention include Unix, Linux, Microsoft NT.TM., and
many others as will occur to those of skill in the art. Computer
program instructions for multi-source, multi-destination data
transfer according to embodiments of the present invention may be
implemented at least to some extent in application software (152).
It is operating systems, however, that include many of the computer
software instructions that support inter-application operations,
and operating systems will often include many of the computer
program instructions needed for multi-source, multi-destination
data transfer according to embodiments of the present
invention.
[0021] The computer (134) of FIG. 1 includes computer memory (166)
coupled through a system bus (160) to the processor (156) and to
other components of the computer. Computer memory (166) may be
implemented as a hard disk drive (170), optical disk drive (172),
electrically erasable programmable read-only memory space
(so-called `EEPROM` or `Flash` memory) (174), RAM drives (not
shown), or as any other kind of computer memory as will occur to
those of skill in the art.
[0022] The example computer (134) of FIG. 1 includes communications
adapter (167) implementing couplings for data communications (184)
to other computers (182), servers or clients. Communications
adapters implement the hardware level of connections for data
communications through which local hosts and remote hosts or
servers send data communications directly to one another and
through networks. Examples of communications adapters include
modems for wired dial-up connections, Ethernet (IEEE 802.3)
adapters for wired LAN connections, and 802.11b adapters for
wireless LAN connections.
[0023] The example computer of FIG. 1 includes one or more
input/output interface adapters (178). Input/output interface
adapters in computers implement user-oriented input/output through,
for example, software drivers and computer hardware for controlling
output to display devices (180) such as computer display screens,
as well as user input from user input devices (181) such as
keyboards and mice.
[0024] FIG. 2 sets forth a block diagram illustrating exemplary
multi-source, multi-destination data transfers according to
embodiments of the present invention. In the example of FIG. 2,
three destination points (104) are identified in two destination
objects (102). A destination object is any data structure
administered by any application program or operating system
component. Examples of destination objects include word processing
documents, spreadsheets, database records, web pages, email
documents, and so on, as will occur to those of skill in the art. A
destination point (104) is a location in a destination object (102)
where source content from a source object is to be inserted as a
copy or a transfer.
[0025] In the example of FIG. 2, each destination point (104) in
the destination object (102) has a destination context (106). A
destination context (106) is a portion of a destination object that
logically contains a destination point (104). If, for example, a
destination object (102) includes text surrounding a destination
point, a destination context may include a sentence containing the
destination point, a paragraph containing the destination point, a
document page containing the destination point, and so on. If the
destination object (102) is a graphic object such as JPEG file, for
example, a destination context may include a two dimensional range
of picture elements surrounding the destination point. Destination
contexts may be displayed to advantageously provide users with a
visual impression of the surroundings of a destination point
thereby facilitating users' control over multi-source,
multi-destination data transfers. In the example of FIG. 2, when a
user identifies a destination point, the destination point and its
associated destination context are copied (107) to a data structure
in memory represented in FIG. 2 as a display buffer (108).
[0026] As mentioned above, systems according to embodiments of the
present invention operate generally by selecting source content for
transfer to one or more identified destination points, displaying
destination contexts for the destination points, and directing
source content to at least one destination point in dependence upon
the displayed destination contexts. FIG. 3 sets forth a block
diagram of an exemplary selection of source content (212) in a
source object (210). A source object (210) is any data structure
administered by any application program or operating system
component. Examples of source objects (210) include word processing
documents, spreadsheets, database records, web pages, email
documents, and so on, as will occur to those of skill in the art.
Source content (212) is any portion of the source object (210) to
be inserted into a destination object at a destination point. The
source content is either copied or transferred into the destination
object at the destination point. Source content may include
selected text such as a word, sentence, or paragraph of a word
processing document, a two dimensional range of picture elements
from a graphic object such as JPEG file, or any other source
content as will occur to those of skill in the art.
[0027] In the example of FIG. 3, a user has selected source content
(212) in a source object by, for example, clicking and dragging a
mouse pointer over a portion of a graphical user interface ("GUI")
upon which is displayed a portion of a source object such as a word
processing document. In the example of FIG. 3, a right mouse click
(214) is depicted as a user's instruction to a system according to
an embodiment of the present invention to direct the source content
to a destination point. In response, the system has displayed a
destination display (214) displaying destination contexts for
previously identified destination points. In the example of FIG. 3,
the user's directing selected source content (212) to a particular
destination point (104) is represented by a left mouse click (215)
on the displayed destination context of the destination point.
[0028] FIG. 4 sets forth a line drawing illustrating an exemplary
mapping, called a transfer map (420), of a plurality of selected
source content to a plurality of selected destination points.
Transfer map (420) is implemented as a table of three columns: a
column named "Source" (422) that lists items of source content, a
column named "Destination" (426) that displays images of
destination contexts each of which (as explained above) includes a
destination point from a destination object, and a column named
"Map Entry" (424) that contains mapping entries associating source
content with destination points and describes the mappings as
either copies or transfers.
[0029] The selected source content in the example of FIG. 4 is
represented as items A, B, C, and D. The selected source content
was selected from a source object such as a word processing
document of video image by highlighting the source content on a
graphical user interface with a mouse-down-and-drag and the right
clicking (214) the highlighted area to list the selected content in
the transfer map (420). The items of source content may be
implemented as blocks of text, ranges of picture elements, segments
of memory, or otherwise as will occur to those of skill in the
art.
[0030] In the example of FIG. 4, some source content is mapped for
transfer and some for copying. Copying source content is carried
out by inserting designated source content at selected destination
points in one or more destination objects. Transferring source
content is carried out by inserting designated source content at
selected destination points in one or more destination objects and
deleting the designated source content from a source object. In the
example of FIG. 4, source content item A is mapped for copying to
the destination point in destination context (410) and for copying
to the destination point in destination context (414). Source
content item B is mapped for transfer to the destination point in
destination context (410) and to the destination point in
destination context (412), and, because it is mapped as a transfer,
source content item B is to be deleted from its source object.
Source content item C is mapped for copying to the destination
point in destination context (416), and source content item D is
mapped for copying to the destination point in destination context
(414).
[0031] Transfer map (420) may, for example, be implemented for use
as a window or dialogue box in a GUI so that a user may edit the
map entries (424). Such an implementation of a transfer map may
support other user functions such as, for example, deleting
transfer map records from the transfer map--to the extent that, for
example, a user has identified a destination point whose
destination context is therefore displayed in the transfer map when
the user subsequently has decided not to insert any source content
at that destination point. The example of FIG. 4 also provides an
Apply button (418) which when invoked through a GUI operation such
as a mouseclick operates to carrying out all the insertions and
deletions of source content described in map entries (424) in the
transfer map (420).
[0032] Further explanation is provided with reference to FIG. 5.
FIG. 5 sets forth a flow chart illustrating an exemplary method for
multi-source, multi-destination data transfers that includes
identifying (502) a plurality of destination points having
destination contexts in one or more destination objects. A
destination object is any data structure manipulated by software.
Examples of destination objects include word processing documents,
spreadsheets, database records, email messages, web pages, and so
on, as will occur to those of skill in the art. There is no
limitation in this specification regarding the number of
destination points identified in a destination object. That is,
methods and systems according to embodiments of the present
invention support user identification of one or more destination
points within any destination object.
[0033] In the method of FIG. 5, identifying (502) destination
points includes recording (504) each identified destination point
(104) and storing (505) in association with each recorded
destination point (104) a copy of a destination context (106) for
each recorded destination point (104). In the example of FIG. 5,
destination points and destination contexts are stored in a buffer
(108) in computer memory (318). Destination points and destination
contexts may alternatively be stored in a transfer map such as the
one illustrated at reference (420) on FIG. 4, and may be stored
otherwise as will occur to those of skill in the art.
[0034] The method of FIG. 5 also includes selecting (506) source
content for transfer, displaying (508) destination contexts for the
destination points, and directing (510) source content to at least
one destination point in dependence upon the displayed destination
contexts. There is no limitation in this specification regarding
the number of destination points in a single destination object to
which a particular item of source content may be directed. That is,
methods and systems according to embodiments of the present
invention support directing of one item of source to content to one
or more destination points in the same destination object or in
more than one destination object.
[0035] In the method of FIG. 5, directing (510) source content to
at least one destination point in dependence upon displayed
destination contexts is carried out by inserting (511) source
content at an identified destination point in a destination object
(102). Directing (510) source content to at least one destination
point in dependence upon displayed destination contexts may also be
carried out by use of a transfer map with an Apply function as
described above and in other ways as may occur to those of skill in
the art.
[0036] The example of FIG. 5 includes an alternative of inserting
(512) source content at a destination point (104) in a copy of a
destination context (106) that may be implemented within the scope
of the present invention as an alternative or in addition to
inserting source content at insertion points in destination object.
Inserting (512) source content at a destination point (104) in a
copy of a destination context (106), for example, may
advantageously support checking the spelling of a copied
destination context (106) that includes inserted source content
(514) and checking grammar of a copied extracted destination
context (106) that includes inserted source content (514). Checking
spelling and grammar of source content inserted in a destination
context provides the advantage of excluding from destination
objects errors originating in a source objects and also errors
originating in destination contexts--so that errors originating in
source object are not communicated to destinations and errors
originating in destination objects are not perpetuated. Checking
grammar of source content inserted in a destination context also
provides the advantage of checking grammar of source content as it
will lie in its new context--which may affect the correctness of
the grammar because grammar that is correct in a source object may
need to be altered for correct usage in its new surroundings in a
destination object. The method of FIG. 5 also includes replacing
(516) the destination context in the destination object (102) with
the copied destination context (106) including the inserted source
content (514).
[0037] It will be understood from the foregoing description that
modifications and changes may be made in various embodiments of the
present invention without departing from its true spirit. The
descriptions in this specification are for purposes of illustration
only and are not to be construed in a limiting sense. The scope of
the present invention is limited only by the language of the
following claims.
* * * * *