|Publication number||US6499041 B1|
|Application number||US 09/222,690|
|Publication date||Dec 24, 2002|
|Filing date||Dec 29, 1998|
|Priority date||Dec 29, 1998|
|Publication number||09222690, 222690, US 6499041 B1, US 6499041B1, US-B1-6499041, US6499041 B1, US6499041B1|
|Inventors||Franklin Charles Breslau, Paul Gregory Greenstein, John Ted Rodell|
|Original Assignee||International Business Machines Corporation|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (17), Non-Patent Citations (1), Referenced by (57), Classifications (4), Legal Events (10)|
|External Links: USPTO, USPTO Assignment, Espacenet|
The present invention relates generally to computer systems, methods, and program products, and more particularly to computer systems, methods, and program products for copying data.
Data is frequently maintained on computers in a template format where data is placed in fields within the template. The fields typically have an associated field designation such as a field name and may further include a specification of field size and type. Field type may include text, currency or other data type. An example of a template containing fields is an address directory database including a plurality of records each representing address information for a different customer, client or other contact for an individual or company. The various fields within an address book template may include name, address, city, state, zip code or other field information.
If data is stored on a computer in a template format within fields, a problem may arise when it is necessary to copy data from one template to another. The field designations of a source template may not identically match those of a target template. For example, a user may wish to copy address book information from one application program database to another which uses a slightly modified data field format. Typically, database programs provided with an ability to import records to populate the fields of the database with data assume an import file format based on ordering of the data rather than field designations associated with individual pieces of data in the import file. For example, comma delimited import files may be provided where commas are placed to mark demarcations between fields within a record and CR/LF (carriage return/line feed) characters mark the end of individual records. Import operations copying the import file into the template format of the receiving database then proceed sequentially with field transition and record transition decisions being made based upon the CR/LF and comma characters as they are encountered during the read operation. Similarly, clipboard type copy and paste operations typically provided by various computer operating systems presently in use typically will copy and paste data contained in a template but will do so without maintaining information related to the field designations associated with the various data segments.
These approaches to copying of data to field based templates each have various limitations which create difficulties for a user in copying data from a first template to a second template. Both of these conventional approaches may require user formatting or intervention to provide the logical association between data blocks in the source template and the target location in the destination template. Therefore, it would be desirable to provide improved methods, systems and computer program products for copying between templates.
Accordingly, it is an object of the present invention to provide methods, system:; and computer program products for copying data between templates using field designation information.
It is a further object of the present invention to provide such methods, systems and computer program products that provide for copying of data from matching and non-matching fields.
These and other objects are provided, according to the present invention, by methods, systems and computer program products for copying data between templates having data stored in fields. The field designations of the source and target template are read and compared and data is copied between fields having matching field designations. For example, each field in the target template with the same field name and field size as a field in the source template receives the data from the corresponding field of the first template. Non-matching fields are present d to a user to obtain instructions on how to complete the copying operation. The user may specify concatenation, splitting, or renaming/resizing to provide source data for the target template. Alternatively, the non-matching fields in the target template may be left empty or the user may manually enter data by using a clipboard function or keying in new data.
In one embodiment of the present invention, a method for copying data between templates contained on a computer is provided including receiving a designation of a first template containing data associated with a plurality of fields and of, second template to which the data is to be copied. A first plurality of field designations associated with the fields of the first template and a second plurality of field designations associated with a plurality of fields of the second template are read. Data associated with ones of the plurality of fields of the first template is then co pied to corresponding ones of the plurality of fields of the second template having field designations matching field designations associated with the fields of the first template.
In another embodiment of the present invention, the designation of the first template may be a designation of a portion of the first template containing the data to be copied, the portion including a plurality of the plurality of fields of the first template. In one embodiment the field designations have an associated name and size ant copying is provided by comparing the field designations of the first template to the field designations of the second template to identify ones of the field designations of the first template having associated names and sizes which are identical to ones of the field designations of the second template to determine identical fields. Data associated with identical fields from the first template is copied o the second template.
In a further embodiment of the present invention ones of the first plurality of field designations and ones of the second plurality of field designations having non-matching field designations are displayed to a user. Designations of data to be copied into designated ones of the plurality of fields of the second template are received from the user and the designated data is copied into the designated ones of the plurality of fields of the second template. The user designation may be provided as a user selection of a field designation from the second template to be associated with a field designation selected by the user from the first template for copying data. Alternatively, data may be received from the user for placement in a field of the second template selected by the user.
In another embodiment of the present invention, one of the matching field designations is displayed to a user and a designation of whether copying of a field associated with the displayed field designation is desired is received from the user. Data associated with the field associated with the displayed field designation is copied if the user designations copying as desired. These operations are repeated for each of the matching field designations.
In a further embodiment of the present invention, one of the non-matching field designations is displayed to a user and a designation of a type of copying to be use for the displayed field designation is received from the user. Data is copied into a field of the second template responsive to the received designation of a type of copying to be used. The type of copying may be selected from the group consisting of manual copying, renaming, concatenating and splitting. For manual copying data received from the user is placed in a field of the second template selected by the user. For renaming, at least one of renaming or resizing a field of at least one of the first template or the second template selected by the user to provide a new matching field designation is performed and then data is copied into a field of the second template having a field designation corresponding to the new matching field designation from a field of the first template having a field designation corresponding to the new matching field designation. For concatenating, a plurality of fields of at least one of the first template or the second template selected by the user are concatenated and data is copied from the concatenated plurality of fields to one of the fields of the other of the first template or the second template selected by the user. For splitting, data from a field of at least one of the first template or the second template selected by the user is split into at least two portions and a first one of the portions is copied into a first one of the fields of the other of the first template or the second template selected by the user and a second one of the portions is copied into a second one of the fields of the other of the first template or the second template selected by the user.
In one embodiment of the present invention, copy operations are performed using a clipboard function. In another embodiment, data is copied using memory mapping.
While the invention has been described above primarily with respect to the method aspects of the invention, both systems and computer program products are also provided.
Accordingly, the present invention provides for intelligent copying of data between templates based upon the information contained in the field designations of the source and target templates.
FIG. 1 is a schematic diagram of an operating environment implementing operations according to an embodiment of the present invention;
FIG. 2 is a flowchart illustrating operations for copying according to an embodiment of the present invention;
FIG. 3 is a flowchart illustrating operations for copying according to another embodiment of the present invention; and
FIG. 4 is a diagram illustrating a field display according to an embodiment of the present invention.
The present invention now will be described more fully hereinafter with reference to the accompanying drawings, in which preferred embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. As will be appreciated by one of skill in the art, the present invention may be embodied as methods, systems or computer program products. Accordingly, the present invention may take the form of a hardware embodiment, a software embodiment or an embodiment combining software and hardware aspects.
Referring now to FIG. 1, copy operations according to the present invention may be provided for users accessing a network having shared resources or operating in a standalone mode. In either case, a user may execute an operating environment suitable for supporting copy operations according to the present invention running on a computer 20. Computer 20 in a network embodiment may include , but is not limited to, Apple®, IBM®, or IBM-compatible personal computers or other data processing systems known to those of skill in the art. Computer 20 preferably includes a central processing unit 21, a display 22, a pointing device 23, a keyboard 24, a communications device 25 (such as a modem or network interface), and a connection 26 for connecting to a network 27. The keyboard 24, having a plurality of keys thereon, is in communication with the central processing unit 21. A pointing device 23, such as a mouse, is also connected to the central processing unit 21. The network connection 26 may be made via traditional phone lines, an ISDN link, a T1 link, a T3 link, via cable television, via a network adapter card (NIC) such as an ethernet adapter or a Token Ring™ (IBM) adapter or the like.
The central processing unit 21 contains one or more microprocessors (not shown or other computational devices and random access memory (not shown) or its functional equivalent, including but not limited to, RAM, FLASHRAM, and VRAM for storing programs therein for processing by the microprocessor(s) or other computational devices. Computer 20, if an IBM®, or IBM-compatible personal computer, preferably utilizes either a Windows® 3.1, Windows 95®, Windows 98®, Windows NT®, Unix®, or OS/2® operating system.
Furthermore, it is to be understood that a device not having computational capability, or having limited computational capability, may be utilized in accordance with the present invention for copying data through a network where the execution of the program instructions of the operating environment are execute d remote from the workstation of the user. Thus, the present invention may also be utilized in “mainframe” systems where a plurality of terminals, typically dumb terminals, share a processing system. Such system are well known to those of skill in the art and, therefore, will not be described in detail herein.
In a networking environment, the present invention may be utilized in client/server or other such network environments, including intranet, extranet, and Internet environments utilizing Transport Control Protocol/Internet Protocol (TCP/IP) communications, Asynchronous Transfer Mode (ATM) or other such interconnection and communication protocols which allow communication between computers such as between a computer 20 and computer 30.
Computer 30 may have a configuration similar to that of a computer 20 and may include a central processing unit 31, a display 32, a pointing device 33, a keyboard 34, a communications device 35, and a network connection 36 for connecting to the network 27. However, computer 30 may be configured in the same manner or in a different manner than computer 20. Accordingly, the present invention may be utilized in a homogeneous or a heterogenous network. For example, computer 30 may be implemented using other processors and via other computing devices, including, but not limited to, mainframe computing systems and mini-computers.
Operations of the present invention will now be described with respect to the flowcharts of FIGS. 2 and 3. It will be understood that each block of the flowchart illustrations, and combinations of blocks in the flowchart illustrations, can be implemented by computer program instructions. These program instructions may be provided to a processor to produce a machine, such that the instructions which execute on the processor create means for implementing the functions specified in the flowchart block or blocks. The computer program instructions may be executed by a processor to cause a series of operational steps to be performed by the processor to produce a computer implemented process such that the instructions which execute on the processor provide steps for implementing the functions specified in the flowchart block or blocks.
Accordingly, blocks of the flowchart illustrations support combinations of means for performing the specified functions, combinations of steps for performing the specified functions and program instruction means for performing the specified functions. It will also be understood that each block of the flowchart illustrations, and combinations of blocks in the flowchart illustrations, can be implemented by special purpose hardware-based systems which perform the specified functions or steps, or combinations of special purpose hardware and computer instructions.
Referring now to FIG. 2, operations for template copying according to a first embodiment of the present invention will now be described. It is to be understood that the term “template copying” as used herein is intended to encompass cut and paste as well as copying operations. The embodiment illustrated in FIG. 2, as contrasted with that which will be described with reference to FIG. 3, uses minimal user prompting during the template copying operation.
As used herein, the term “template” refers to field associated data records on a computer. For example, a data table may be provided with rows and columns and associated names and each cell of the table may have an associated cell size or width. Similarly, records from a database such as an address book may include various field names such as street address, city, phone number and so on. Each field name may have associated with it one or more entries for each record in the database. Various other data storage structures wherein portions of the stored data are associated with field names and/or field widths and which contain a plurality of records are known to those of skill in the art and are understood to fall within the usage of the term template in descriptions of template copying operations provided herein and as claimed in the present invention. For ease of understanding, descriptions as provided further herein will be directed to an exemplary template based on an address book database for purposes of illustration and are not intended to limit the scope of the invention as more generally claimed herein.
Operations begin at block 200 where the template field designations of the source and target templates are read responsive to a copy request from a user. The request to initiate template copying operations at block 200 may be received from a user by various known interfaces. For example, a command format specifying the template, copying command followed by the “from” file designation and the “to” file designation can be entered such as is known under the DOS interface format. Various options can be provided specifying which embodiment of the copy operations of the present invention will be implemented. An exemplary command line along this format is shown below:
where TC initiates template copy operations according to the present invention, <from> designates a source template, <to> designates a target template, and the options specify various optional levels of user interaction during the copy operations. Alternatively, windows display buttons, such as those known for use with a mouse 23, 33, light pen or other user input device, may be utilized to initiate copy operations and specify a source file and a target file including, alternatively, a designation of a portion of a file as a source file.
The field designations of the source and the target template are then compared to each other. The field designations may be field names or, alternatively, may encompass both a field name and a specified field width (size). Accordingly, matching operations as subsequently described may be limited to matching the field name or both field name and field width between source and target templates for copying.
Operations at block 200 including reading the field designations of both the source and target template specified. In one embodiment, in addition to checking the field names for the comparison of the field designations, field widths are further compared. At block 202, if all of the field designations exactly match when comparing both the source and the target field designations, operations move to block 204 and all fields are copied from the designated source template to the target template. Alternatively, a user could be provided an opportunity to respond to a yes/no query before initiating copy operations at block 204. The requesting user is notified of completion of copy operations following copy of the data between all of the fields (block 206). Copy operations at block 204 provide for copying data associated with ones of the plurality of fields of the first (or source) designated template to corresponding ones of the plurality of fields of the second (or target) template having field designations matching field designations associated with the fields of the first template.
Template copying operations at block 204 and as otherwise described herein May be done via addressing between two fields in the same address space or by using a clipboard function such as those commonly provided with various operating systems where the data is temporarily copied into a commonly accessible area are then copied into the destination area. In the case of the present template copying operations, the clipboard maybe used recursively to copy data from one template field and then paste the data into another template field. Various PC operating systems such as OS/2, Windows 3.1, Windows 95, Windows 98 and Windows NT each have clipboard functions suitable for use in implementing the copy operations of the present invention.
Alternatively, memory mapping may be used to support copy operations of each field at block 204. In this embodiment, a set of memory locations are identified that contain the data in the field of the source template. These same memory locations are defined with pointers for the target (or destination) template so that both templates point to the same data locations in memory. Accordingly, a data store operation to provide copying may be implemented by taking these values and storing them in permanent persistent storage.
If all fields do not match at block 202, matching fields are copied (block 208). After the matching fields are copied, non-matching fields are displayed to the user (block 210). Preferably, for field mismatches, all fields from both the from (source) and to (target) template that do not compare are listed along with an indication to the user that the listed fields do not compare. The user may then manually enter information or copy information selectively. The list presented to the user may be displayed, for example, on a monitor 22, 32. Furthermore, fields with potential correspondence may be aligned and presented in a source template and target template column in row format. For example, field designations having the same field name but a different field width may be presented in the same row. Similarly, fields with partial field name matches can be presented in adjacent rows. An exemplary display list is illustrated in FIG. 4.
Note that fields may be ordered differently and may also, as with the illustrated example of FIG. 4, include an identification of the matching field designations along with the mismatched designations. For example, in the illustrated example of FIG. 4, the name, address and telephone number fields are matching fields which are displayed to the user and shown in shared row format. The user then provides input, such as through mouse 23, 33 or keyboard 24, 34, to design ate data for entry into two fields or selection of fields from the source template to move data from into designated fields of the two template (block 212).
Referring now to FIG. 3, an alternative embodiment of the copy operations according to the present invention involving prompting will now be described. At block 300, field designations from the source and target templates are read and compared as described previously in connection with block 200 of FIG. 2. All of the fields are then aligned and displayed (block 302). The display, as with the example of FIG. 4, may provide for alignment of every matching name/width field in common rows. A unique naming convention is preferably assumed wherein identical matches in field name and, optionally, field width may be required before treating fields as matching. At this point, the user is given the choice of aborting template copy operations based upon the information contained in the displayed aligned fields (block 304), in which case operations are ended. Furthermore, the user may elect to copy all fields (block 306) in which case all matching fields are copied as described previously with reference to block 208 of FIG. 2 (block 308).
If the copy all matching fields option is not elected by a user (block 306) then copy one at a time operations commence by providing a first matching field selection to the user for selection (block 310). If the user requests copying of the identified matching field, the data from the field is copied from the source to the destination template field (block 312). Otherwise, operations bypass copying for that field and move to block 314. If there are more matching fields (block 314) operations return to block 310 and repeat until each matching field has been displayed to the user for a determination of whether a data copy is desired by the user for that field.
Once all matching fields are copied (block 308) or no more matching fields remain to be presented to the user for copy selection (block 314) operations move to block 316 to determine if there are any non-matching fields in either the source template or the target template. If additional fields exist (block 316) the user is presented with the remaining non-matching fields in a list format, preferably in two column format, on display 22, 32 (block 318). User input is then accepted and copy operations are carried out responsive to the user input (block 320).
The user may be presented with a variety of different options to control copying of the remaining field data at block 320. Possible approaches include manual copying, renaming/resizing, concatenating, splitting or aborting copy operations. Manual copying allows users to manually select and copy data, for example, using the operating system clipboard function to copy and paste the selected portions of data in the appropriate locations. Alternatively, keyboard entry of data may be directly provided into destination fields using keyboard 24, 34. Renaming operations allow a user to rename or to resize field designations in either the “from” or “to” column of the display to create an additional matching field designation for copying. For example, a field name “street address” in the “from” field and a corresponding field bearing the different name “address” in the “to” field could be converted into a matching field designation by changing the field name in either the source or target template.
The third option, concatenating, may be used in either the “from” or “to” columns (i.e., with reference to either the source or target template) to allow field matching to be established. For example, if the source template has city and state as a single field and the target template has them as two separate fields, as shown in the example display of FIG. 4, the user may concatenate the two separate fields and adjust the width to create a new matching field with the name “city, state.” Splitting is, essentially, the opposite of concatenating. In other words, a “city, state” field in the source template may be split or separated into two separate fields and the widths adjusted if necessary. A user may select different options for different non-matching fields in the source and target template to obtain the desired intelligent template copying results in copying according to the teachings of the present invention.
While operations have been described above with reference to copying from a single source template to a single target template, the teachings of the present invention are to be understood to apply to multiple copies. For example, a single source template (or multiple source templates) could be specified for copying into a plurality of target templates.
In a further aspect of the copying operations according to the present invention, a modified template copy for use in copying information from a template is provided. In this aspect of the invention, the target destination for copying of the data need not be a field associated template destination. Accordingly, field information associated with the source data is provided by copying field designation information into a clipboard along with the data contained in the field when a portion of a template containing data in fields is designated for copying. For example, a portion may be designated by a user using known rubber banding techniques with a mouse 23, 33. The highlighted (or selected portions are then copied into the clipboard function of the operating system in use on computer 20, 30 including the field designations along with the contained data. When the copied portion is subsequently pasted into a destination location both the field designation and data information is pasted and available for access by a user. Accordingly, field contained data from a template is not copied in a large block devoid of any description as is presently provided with existing clipboard type functions.
As will be appreciated by those of skill in this art, the above-described aspects of the present invention in FIGS. 2 and 3 may be provided by hardware, software, or a combination of the above. Various components of the application management system of the present invention may, in practice, be implemented by a microcontroller including input and output ports and running software code, by custom or hybrid integrated circuits, by discrete components or by a combination of the above. Similarly, various of the operations may be implemented as software programs executing on a workstation. More generally, as described above, operations according to the present invention may be realized in the hardware of existing computers which, when so configured, provide for copy operations according to the present invention.
In the drawings and specification, there have been disclosed typical preferred embodiments of the invention and, although specific terms are employed, they are used in a generic and descriptive sense only and not for purposes of limitation, the scope of the invention being set forth in the following claims.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US5765005 *||May 26, 1993||Jun 9, 1998||Hitachi, Ltd.||Method for preparing form|
|US5793887||Nov 16, 1993||Aug 11, 1998||International Business Machines Corporation||Method and apparatus for alignment of images for template elimination|
|US5794259 *||Jul 25, 1996||Aug 11, 1998||Lextron Systems, Inc||Apparatus and methods to enhance web browsing on the internet|
|US5802514 *||Apr 9, 1996||Sep 1, 1998||Vision Software Tools, Inc.||Automated client/server development tool using drag-and-drop metaphor|
|US5805158 *||Aug 22, 1996||Sep 8, 1998||International Business Machines Corporation||Copying predicted input between computer systems|
|US5845300 *||Jun 5, 1996||Dec 1, 1998||Microsoft Corporation||Method and apparatus for suggesting completions for a partially entered data item based on previously-entered, associated data items|
|US5963925 *||Oct 8, 1997||Oct 5, 1999||Visa International Service Association||Electronic statement presentment system|
|US5999939 *||Feb 6, 1998||Dec 7, 1999||Interactive Search, Inc.||System and method for displaying and entering interactively modified stream data into a structured form|
|US6002867 *||Oct 24, 1996||Dec 14, 1999||Inprise Corporation||Development system with methods providing visual form inheritance|
|US6084585 *||Jul 29, 1998||Jul 4, 2000||International Business Machines Corp.||System for directly accessing fields on electronic forms|
|US6112215 *||Sep 24, 1998||Aug 29, 2000||International Business Machines Corporation||Database or repetitively used data entries displayable for selection and entry on a variety of user interactive interfaces from sources independent of said database|
|US6119136 *||Aug 15, 1997||Sep 12, 2000||Pfu Limited||Manuscript text composition system featuring a parameter table for specifying template parameters and characters|
|US6192380 *||Mar 31, 1998||Feb 20, 2001||Intel Corporation||Automatic web based form fill-in|
|US6199079 *||Mar 20, 1998||Mar 6, 2001||Junglee Corporation||Method and system for automatically filling forms in an integrated network based transaction environment|
|US6239802 *||Sep 15, 1997||May 29, 2001||International Business Machines Corporation||File menu option for making file templates from pre-existing files|
|US6247029 *||May 1, 1998||Jun 12, 2001||International Business Machines Corporation||Web browser form enhancements|
|US6327598 *||Nov 24, 1997||Dec 4, 2001||International Business Machines Corporation||Removing a filled-out form from a non-interactive web browser cache to an interactive web browser cache|
|1||Method for Copying Differently Formatted Records with a Field Processor, IBM Technical Disclosure , vol. 30, No. 12, May, 1998.|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US6662340 *||May 30, 2002||Dec 9, 2003||America Online, Incorporated||Client-side form filler that populates form fields based on analyzing visible field labels and visible display format hints without previous examination or mapping of the form|
|US6694338||Aug 29, 2000||Feb 17, 2004||Contivo, Inc.||Virtual aggregate fields|
|US6941328 *||Jan 22, 2002||Sep 6, 2005||International Business Machines Corporation||Copy process substituting compressible bit pattern for any unqualified data objects|
|US7117431 *||Jun 22, 2001||Oct 3, 2006||Intel Corporation||Dialog boxes to simplify web-based forms|
|US7234105||Sep 9, 2002||Jun 19, 2007||Sap Ag||Methods and systems for providing a document with interactive elements to retrieve information for processing by business applications|
|US7275075||Feb 14, 2005||Sep 25, 2007||International Business Machines Corporation||Copy process substituting compressible bit pattern for any unqualified data objects|
|US7281029||May 13, 2003||Oct 9, 2007||Aol Llc, A Delaware Limited Liability Company||Method and system of capturing data for automating internet interactions|
|US7320004 *||Apr 28, 2000||Jan 15, 2008||Microsoft Corporation||System and method for managing database files in a client management tool|
|US7330876 *||Oct 13, 2000||Feb 12, 2008||Aol Llc, A Delaware Limited Liability Company||Method and system of automating internet interactions|
|US7373603 *||Sep 18, 2003||May 13, 2008||Microsoft Corporation||Method and system for providing data reference information|
|US7383499 *||Dec 30, 2004||Jun 3, 2008||Microsoft Corporation||System and method for dynamically creating a destination template|
|US7389472 *||May 7, 2003||Jun 17, 2008||Microsoft Corporation||Connected templates in connection with a content management server system or the like|
|US7433899||Mar 1, 2004||Oct 7, 2008||International Business Machines Corporation||Apparatus, system, and method for managing multiple copy versions|
|US7454763||Feb 22, 2005||Nov 18, 2008||Microsoft Corporation||System and method for linking page content with a video media file and displaying the links|
|US7475333 *||Jun 1, 2001||Jan 6, 2009||Sap Ag||Defining form formats with layout items that present data of business application|
|US7617449 *||May 28, 2004||Nov 10, 2009||Microsoft Corporation||Method and system for mapping content between a starting template and a target template|
|US7665062||Aug 27, 2004||Feb 16, 2010||Borland Software Corporation||System and methodology for design-time dynamic class type construction|
|US7694216 *||Dec 19, 2000||Apr 6, 2010||International Business Machines Corporation||Automatic assignment of field labels|
|US7707040 *||Jun 23, 2006||Apr 27, 2010||International Business Machines Corporation||Method of generating business intelligence incorporated business process activity forms|
|US7707518||Nov 13, 2006||Apr 27, 2010||Microsoft Corporation||Linking information|
|US7712049||Sep 30, 2004||May 4, 2010||Microsoft Corporation||Two-dimensional radial user interface for computer software applications|
|US7747557||Jan 5, 2006||Jun 29, 2010||Microsoft Corporation||Application of metadata to documents and document objects via an operating system user interface|
|US7761785||Nov 13, 2006||Jul 20, 2010||Microsoft Corporation||Providing resilient links|
|US7774317||May 22, 2007||Aug 10, 2010||International Business Machines Corporation||Copy process substituting compressible bit pattern for any unqualified data objects|
|US7774799||Mar 26, 2003||Aug 10, 2010||Microsoft Corporation||System and method for linking page content with a media file and displaying the links|
|US7788589||Sep 30, 2004||Aug 31, 2010||Microsoft Corporation||Method and system for improved electronic task flagging and management|
|US7793233||Mar 12, 2003||Sep 7, 2010||Microsoft Corporation||System and method for customizing note flags|
|US7797626 *||Jun 25, 2003||Sep 14, 2010||Sap Ag||Managing different representations of information|
|US7797638||Jan 5, 2006||Sep 14, 2010||Microsoft Corporation||Application of metadata to documents and document objects via a software application user interface|
|US7904807 *||Nov 5, 2002||Mar 8, 2011||Xerox Corporation||System and method for copying formatting information between Web pages|
|US7908564 *||Sep 29, 2006||Mar 15, 2011||International Business Machines Corporation||Copying and pasting a plurality of data items as a group|
|US8069411 *||Jul 5, 2006||Nov 29, 2011||Dictaphone Corporation||System and method for auto-reuse of document text|
|US8095597||May 1, 2001||Jan 10, 2012||Aol Inc.||Method and system of automating data capture from electronic correspondence|
|US8225202||Jun 16, 2008||Jul 17, 2012||Microsoft Corporation||Connected templates in connection with a content management server system or the like|
|US8332747||Jul 25, 2006||Dec 11, 2012||International Business Machines Corporation||Method and systems for linking sources to copied text|
|US8375324 *||Nov 25, 2002||Feb 12, 2013||Hyland Software, Inc.||Computer-implemented document manager application enabler system and method|
|US8560621||Dec 1, 2011||Oct 15, 2013||Mercury Kingdom Assets Limited||Method and system of automating data capture from electronic correspondence|
|US8688448||Sep 14, 2012||Apr 1, 2014||Nuance Communications Austria Gmbh||Text segmentation and label assignment with user interaction by means of topic specific language models and topic-specific label statistics|
|US9087053 *||Oct 12, 2012||Jul 21, 2015||Hyland Software, Inc.||Computer-implemented document manager application enabler system and method|
|US20020156846 *||May 30, 2002||Oct 24, 2002||Jai Rawat||Intelligent client-side form filler|
|US20040068693 *||Oct 6, 2003||Apr 8, 2004||Jai Rawat||Client side form filler that populates form fields based on analyzing visible field labels and visible display format hints without previous examination or mapping of the form|
|US20040088653 *||Nov 5, 2002||May 6, 2004||Xerox Corporation||System and method for copying formatting information between Web pages|
|US20040225652 *||May 7, 2003||Nov 11, 2004||Microsoft Corporation||Connected templates in connection with a content management server system or the like|
|US20040230647 *||May 13, 2003||Nov 18, 2004||Jai Rawat||Method and system of capturing data for automating internet interactions|
|US20040243545 *||May 29, 2003||Dec 2, 2004||Dictaphone Corporation||Systems and methods utilizing natural language medical records|
|US20040268247 *||Jun 25, 2003||Dec 30, 2004||Lutz Rosenpflanzer||Managing different representations of information|
|US20050142528 *||Feb 22, 2005||Jun 30, 2005||Microsoft Corporation||System and method for linking page content with a video media file and displaying the links|
|US20050154613 *||Jan 13, 2004||Jul 14, 2005||Kade Christopher S.||System and method for creation of operative notes for use in surgical facilities|
|US20050193038 *||Mar 1, 2004||Sep 1, 2005||Pearson Anthony S.||Apparatus, system, and method for managing multiple copy versions|
|US20050223187 *||Apr 6, 2005||Oct 6, 2005||Ntt Docomo, Inc.||Memory mapping control apparatus, information storage controller, data moving method, and data moving program|
|US20050268227 *||May 28, 2004||Dec 1, 2005||Microsoft Corporation||Method and system for mapping content between a starting template and a target template|
|US20050289171 *||Sep 2, 2005||Dec 29, 2005||Microsoft Corporation||System and method for managing database files in a client management tool|
|US20100180213 *||Jul 15, 2010||Scigen Technologies, S.A.||Document creation system and methods|
|US20120089562 *||Oct 4, 2011||Apr 12, 2012||Sempras Software, Inc.||Methods and Apparatus for Integrated Management of Structured Data From Various Sources and Having Various Formats|
|US20130318425 *||May 24, 2012||Nov 28, 2013||Sap Ag||Method for copying multiple content between applications|
|US20140108397 *||Oct 12, 2012||Apr 17, 2014||Hyland Software, Inc.||Computer-Implemented Document Manager Application Enabler System and Method|
|EP1600862A2||May 11, 2005||Nov 30, 2005||Microsoft Corporation||Method and system for mapping content between a starting template and a target template|
|Dec 1, 2000||AS||Assignment|
|Jan 9, 2006||FPAY||Fee payment|
Year of fee payment: 4
|Oct 17, 2006||CC||Certificate of correction|
|Nov 28, 2006||CC||Certificate of correction|
|Aug 2, 2010||REMI||Maintenance fee reminder mailed|
|Sep 24, 2010||FPAY||Fee payment|
Year of fee payment: 8
|Sep 24, 2010||SULP||Surcharge for late payment|
Year of fee payment: 7
|Aug 1, 2014||REMI||Maintenance fee reminder mailed|
|Sep 26, 2014||SULP||Surcharge for late payment|
Year of fee payment: 11
|Sep 26, 2014||FPAY||Fee payment|
Year of fee payment: 12