US20080126328A1 - Expanding the scope of an annotation to an entity level - Google Patents
Expanding the scope of an annotation to an entity level Download PDFInfo
- Publication number
- US20080126328A1 US20080126328A1 US12/025,131 US2513108A US2008126328A1 US 20080126328 A1 US20080126328 A1 US 20080126328A1 US 2513108 A US2513108 A US 2513108A US 2008126328 A1 US2008126328 A1 US 2008126328A1
- Authority
- US
- United States
- Prior art keywords
- annotation
- entity
- query
- data
- computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24573—Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
Definitions
- the present invention relates to the field of data entry and retrieval and, more particularly, to a method and system for associating annotations with entities associated with a data object related to the annotation.
- tacit knowledge is often only temporarily captured, for example, as cryptic notes in a lab notebook, discussions/conversations, presentations, instant messaging exchanges, e-mails and the like. Because this tacit knowledge is typically not captured in the application environment in which the related data is viewed and analyzed, it is often lost.
- annotations containing descriptive information about data objects Virtually any identifiable type of object may be annotated, such as a matrix of data (e.g., a spreadsheet or database table), a text document, or an image. Further, subportions of objects (sub-objects) may be annotated, such as a cell, row, or column in a database table or a section, paragraph, or word in a text document.
- An indexing scheme is typically used to map each annotation to the annotated data object or sub-object, based on identifying information, typically in the form of an index. The index should provide enough specificity to allow the indexing scheme to locate the annotated data object (or sub-object).
- the indexing scheme should work both ways: given an index, the indexing scheme must be able to locate the annotated data object and, given an object, the indexing scheme must be able to calculate the index for use in classification, comparison, and searching (e.g., to search for annotations for a given data object).
- a table with patient records may have a primary key which is a patient number (patient ID) and would likely also have a patient name (first and last), address, preferences, and the like. All the other information for a particular row may be regarded as being related to a ‘patient entity’ uniquely identified by the patient ID. Similarly, all the information for a particular row of information in a table of test results may be regarded as being related to a ‘test result entity.’ Some information may be related to more than one entity. For example, a patient's test results may be related to both patient and test results entities. Further, information related to a single entity may be contained in multiple tables. For example, demographic information related to a patient entity may be contained in a table of patient records, while test results for the same patient entity may be contained in a table of test results.
- test results Patient Name Test Name Test Result Test Date John Doe Hemoglobin 12 Jan. 24, 2003 Jane Smith Hemoglobin 22 Feb. 25, 2003
- the test results for the second patient may be invalid, for example, because the patient forgot to fast before the test, possibly skewing the results.
- a user e.g., a lab technician
- associating the annotation with the particular name cell may not be ideal either, as many queries may not include name information (which may not be unique, as multiple patients may have the same name), preferring unique identifiers, such as a patient ID. While associating the annotation with the patient ID may be a logical choice, patient IDs are not available in the query results in TABLE 1. In fact, in many cases, for security reasons, certain users may be prohibited from viewing any type of identifying information (e.g., patient IDs and names).
- the methods and systems will allow subsequent users viewing information related to the same entity to view the annotation, regardless of whether they are viewing the particular information described by the annotation.
- the present invention generally is directed to methods, systems, and articles of manufacture for associating an annotation describing a particular data object with an entity encompassing the particular data object.
- One embodiment provides a method of exchanging information.
- the method generally includes displaying first query results to a first user, receiving, from the first user, a data object selected from the first query results, providing an interface allowing the first user to create an annotation describing the selected data object and associate the annotation with a model entity having a corresponding model entity definition specifying a field related to the selected data object, and storing the annotation with a reference to the model entity.
- Another embodiment provides a method of exchanging information via an annotation.
- the method generally includes providing an interface allowing a user to view query results, select a data object from the query results, and create an annotation with a scope related to the selected data object, and providing an interface allowing the user to expand the scope of the annotation to a model entity encompassing the selected data object.
- Another embodiment provides a method of accessing data.
- the method generally includes displaying query results in response to issuing a query, wherein at least one data object in the query results is associated with a model entity having a corresponding model entity definition specifying a field related to the at least one data object, retrieving at least one annotation associated with the model entity, and providing an indication of the annotation associated with the model entity.
- Another embodiment provides a computer-readable medium containing a program for exchanging information via annotations.
- the program When executed by a processor, the program performs operations generally including receiving, from a first user, an indication of a data object selected from a set of first query results, providing an interface allowing the first user to create an annotation describing the selected data object and associate the annotation with a model entity having one or more associated fields related to the selected data object, and storing the annotation with a reference to the model entity.
- Another embodiment provides a system for sharing information via annotations generally including a set of one or more model entity definitions, each specifying one or more fields encompassed by a corresponding model entity, a query building interface and an annotation system.
- the query building interface is generally configured to allow a first user to build a first query and view first query results received in response to issuing the query.
- the annotation system is generally configured to allow the first user to create an annotation for a data object selected from the query results and associate the annotation with a first model entity encompassing a field related to the selected data object.
- FIG. 1 is an exemplary computing environment in which embodiments of the present invention may be utilized.
- FIGS. 2A-2D illustrate relational views of software components according to one embodiment of the present invention.
- FIGS. 3A and 3B are flow charts illustrating exemplary operations for capturing and sharing annotations associated with an entity according to one embodiment of the present invention.
- FIGS. 4A-4E illustrate exemplary graphical user interface (GUI) screens in accordance with one embodiment of the present invention.
- GUI graphical user interface
- the present invention provides methods, systems, and articles of manufacture for creating and sharing an annotation associated with a data object other than the particular data object described by the annotation.
- the annotation may be associated with an entity, even though the annotation may describe only a particular data object encompassed by the entity.
- the scope of the annotation may be “pushed out” beyond the particular data object to the entire entity.
- the annotation may be made available to other users viewing information related to the entity, even if the particular data object described by the annotation is not displayed to the other users.
- model entity generally refer to a data object associated with a set of related fields.
- the set of related fields may be specified explicitly, for example, in a model entity definition or implicitly, for example, by reference to a primary key of a table or tables containing the set of related fields.
- annotation generally refers to any type of descriptive information and may exist in various forms, including textual annotations (descriptions, revisions, clarifications, comments, instructions, etc.), graphical annotations (pictures, symbols, etc.), sound clips, etc. While an annotation may exist in any or all of these forms, to facilitate understanding, embodiments of the present invention may be described below with reference to textual annotations as a particular, but not limiting, example of an annotation.
- GUI graphical user interface
- a data model may be implemented as a data repository abstraction component containing a collection of abstract representations of physical fields of a searchable database (hereinafter “logical fields”).
- logical fields a data repository abstraction component containing a collection of abstract representations of physical fields of a searchable database
- a runtime component e.g., a query execution component
- a runtime component performs translation of abstract queries (generated based on the data abstraction model) into a form that can be used against a particular physical data representation.
- One embodiment of the invention is implemented as a program product for use with a computer system such as, for example, the computer system 100 shown in FIG. 1 and described below.
- the program(s) of the program product defines functions of the embodiments (including the methods described herein) and can be contained on a variety of signal-bearing media.
- Illustrative signal-bearing media include, but are not limited to: (i) information permanently stored on non-writable storage media (e.g., read-only memory devices within a computer such as CD-ROM disks readable by a CD-ROM drive); (ii) alterable information stored on writable storage media (e.g., floppy disks within a diskette drive or hard-disk drive); or (iii) information conveyed to a computer by a communications medium, such as through a computer or telephone network, including wireless communications. The latter embodiment specifically includes information downloaded from the Internet and other networks.
- Such signal-bearing media when carrying computer-readable instructions that direct the functions of the present invention, represent embodiments of the present invention.
- routines executed to implement the embodiments of the invention may be part of an operating system or a specific application, component, program, module, object, or sequence of instructions.
- the software of the present invention typically is comprised of a multitude of instructions that will be translated by the native computer into a machine-readable format and hence executable instructions.
- programs are comprised of variables and data structures that either reside locally to the program or are found in memory or on storage devices.
- various programs described hereinafter may be identified based upon the application for which they are implemented in a specific embodiment of the invention. However, it should be appreciated that any particular nomenclature that follows is used merely for convenience, and thus the invention should not be limited to use solely in any specific application identified and/or implied by such nomenclature.
- FIG. 1 shows an exemplary networked computer system 100 , in which embodiments of the present invention may be utilized.
- embodiments of the present invention may be implemented as a program product for use with the system 100 (e.g., as part of a query building interface 122 , query execution runtime component 150 , and/or annotation system 140 ) to allow the capture and exchange of information between users performing related research.
- Queries may be generated via the query building interface 122 and may target data stored in an application data store 156 .
- annotations made via the annotation system 140 may be associated with an entity, although the annotations may actually describe only a particular portion of data related to the entity.
- the system 100 generally includes client computers 102 and at least one server computer 104 , connected via a network 126 .
- the network 126 may be a local area network (LAN) and/or a wide area network (WAN).
- the network 126 is the Internet.
- the methods described herein may be performed on a single (e.g., non-networked) computer system.
- the client computers 102 generally include a Central Processing Unit (CPU) 110 connected via a bus 130 to a memory 112 , storage 114 , an input device 116 , an output device 119 , and a network interface device 118 .
- the input device 116 can be any device to give input to the client computer 102 .
- a keyboard, keypad, light-pen, touch-screen, track-ball, or speech recognition unit, audio/video player, and the like could be used.
- the output device 119 can be any device to give output to the user, e.g., any conventional display screen. Although shown separately from the input device 116 , the output device 119 and input device 116 could be combined.
- a client 102 may include a display screen with an integrated touch-screen or a display with an integrated keyboard.
- the network interface device 118 may be any entry/exit device configured to allow network communications between the client 102 and the server 104 via the network 126 .
- the network interface device 118 may be a network adapter or other network interface card (NIC).
- NIC network interface card
- the client 102 is a handheld device, such as a personal digital assistant (PDA)
- the network interface device 118 may comprise any suitable wireless interface to provide a wireless connection to the network 126 .
- Storage 114 is preferably a Direct Access Storage Device (DASD). Although it is shown as a single unit, it could be a combination of fixed and/or removable storage devices, such as fixed disc drives, floppy disc drives, tape drives, removable memory cards, or optical storage. The memory 112 and storage 114 could be part of one virtual address space spanning multiple primary and secondary storage devices.
- DASD Direct Access Storage Device
- the memory 112 is preferably a random access memory (RAM) sufficiently large to hold the necessary programming and data structures of the invention. While the memory 112 is shown as a single entity, it should be understood that the memory 112 may in fact comprise a plurality of modules, and that the memory 112 may exist at multiple levels, from high speed registers and caches to lower speed but larger DRAM chips.
- RAM random access memory
- the memory 112 contains an operating system 124 .
- suitable operating systems which may be used to advantage, include Linux and Microsoft's Windows®, as well as any operating systems designed for handheld devices, such as Palm OS®, Windows® CE, and the like. More generally, any operating system supporting the functions disclosed herein may be used.
- the memory 112 is also shown containing the query building interface 122 , such as a browser program, that, when executed on CPU 110 , provides support for building queries based on a data repository abstraction (DRA) component 148 .
- the query interface 122 includes a web-based Graphical User Interface (GUI), which allows the user to display Hyper Text Markup Language (HTML) information. More generally, however, the query interface 122 may be any program (preferably GUI-based) capable of exposing a portion of the DRA component 148 on the client 102 for use in building queries.
- GUI Graphical User Interface
- queries built using the query interface 122 may be sent to the server 104 via the network 126 to be issued against one or more databases 156 .
- the server 104 may be physically arranged in a manner similar to the client computer 102 . Accordingly, the server 104 is shown generally comprising a CPU 131 , a memory 132 , and a storage device 134 , coupled to one another by a bus 136 .
- Memory 132 may be a random access memory sufficiently large to hold the necessary programming and data structures that are located on the server 104 .
- the server 104 is generally under the control of an operating system 138 shown residing in memory 132 .
- Examples of the operating system 138 include IBM OS/400®, UNIX, Microsoft Windows®, and the like. More generally, any operating system capable of supporting the functions described herein may be used.
- the server 104 may be configured with an abstract query interface 146 for issuing abstract queries (e.g., received from the client application 120 ) against one or more of the databases 156 .
- elements of a query are specified by a user through the query building interface 122 which may be implemented as a browser program presenting a set of GUI screens for building queries.
- the content of the GUI screens may be generated by one or more applications of the abstract query interface 146 .
- the GUI content is hypertext markup language (HTML) content which may be rendered on the client computer systems 102 with the query building interface 122 .
- the memory 132 may include a Hypertext Transfer Protocol (http) server process 152 (e.g., a web server) adapted to service requests from the client computer 102 .
- http Hypertext Transfer Protocol
- the server process 152 may respond to requests to access the database(s) 156 , which illustratively resides on the server 104 .
- Incoming client requests for data from a database 156 invoke a server application which, when executed by the processor 130 , perform operations necessary to access the database(s) 156 .
- the server application comprises a plurality of servlets configured to build GUI elements, which are then rendered by the query interface 122 .
- the server computer 104 may be physically arranged in a manner similar to those of the client computer 102 .
- the server computer 104 is shown generally comprising a CPU 135 , a memory 133 , and a storage device 134 , coupled to one another by a bus 136 , which may all functions as similar components described with reference to the client computer 102 .
- the server computer 104 is generally under the control of an operating system (e.g., IBM OS/400®, UNIX, Microsoft Windows® and the like).
- an operating system e.g., IBM OS/400®, UNIX, Microsoft Windows® and the like.
- the server computer 104 may be configured with the annotation system 140 , also shown residing in memory 132 .
- the annotation system 140 may be used to generate annotations 159 that, for some embodiments, may be stored in an annotation store 158 separate from the application data store 156 .
- the annotations 159 may include a variety of annotations, for example, describing data in the application data store 156 .
- the universal annotation system 111 may be any suitable type annotation system and, for some embodiments, may be similar to the universal annotation system described in the commonly owned, co-pending application Ser. No. 10/600,014, entitled “Universal Annotation System,” filed Jun. 20, 2003, herein incorporated by reference.
- FIG. 2A illustrates a relational view of the query building interface 122 , query execution runtime component 150 , and annotation system 140 , according to one embodiment of the invention.
- the abstract query interface 122 may be used to generate an initial abstract query 202 I to be issued by the query execution runtime component 150 .
- the abstract query 202 I may include a set of one or more query conditions 204 and an initial results list 206 I , each based on logical fields defined in the DRA component 148 .
- abstract queries 202 may be executed by the query execution component 150 .
- the logical fields are defined independently of the underlying data representation being used in the DBMS 154 , thereby allowing queries to be formed that are loosely coupled to the underlying data representation 214 .
- the DRA component 148 includes a set of logical field specifications 208 that provide abstract representations of corresponding fields in a physical data representation 214 of data in the one or more databases 156 shown in FIG. 1 .
- Each logical field specification 208 may include various information used to map the specified logical field to the corresponding physical field, such as field names, table names, and access methods describing how to access and/or manipulate data from the corresponding physical field in the physical data representation 214 .
- the physical data representation 214 may be an XML data representation 214 1 , a relational data representation 214 2 , or any other data representation, as illustrated by 214 N . Therefore, regardless of the actual physical data representation 214 , a user may generate an abstract query 202 based on the logical fields defined by the logical field specifications 216 , in order to access data stored therein.
- the query execution component 150 is generally configured to transform the abstract query 202 into a concrete query compatible with the physical data representation (e.g., an XML query, SQL query, etc), by mapping the logical fields of the expanded abstract query 208 to the corresponding physical fields of the physical data representation 214 .
- the mapping of abstract queries to concrete queries, by the query execution component 150 is described in detail in the previously referenced co-pending application Ser. No. 10/083,075.
- the initial abstract query 202 I may include a reference to a model entity (defined in a model entity specification 525 ).
- the initial results list 206 I may be supplemented with logical fields 216 specified in a model entity definition for the referenced model entity, resulting in an effective results list 216 I .
- the concepts of model entities are described in detail in the commonly-owned, co-pending application Ser. No. 10/403,356, entitled “Dealing With Composite Data Through Data Model Entities,” filed Mar. 31, 2003, now U.S. Pat. No. 7,054,877 issued May 30, 2006, incorporated by reference herein.
- model entities may serve to identify a higher level abstraction of the underlying data by representing a composite of individual logical fields 216 .
- Model entities may provide end users and applications a higher level conceptual view of the underlying data that can simplify data query and modification tasks (i.e., insert and deletion). Rather than having to understand all of the individual fields that make up entities such as a patient or a lab test result, the user/application can work at the more conceptual model entity level.
- the definition of a model entity contains sufficient metadata to streamline and simplify transactions performed against instances of a model entity.
- model entities are defined via additional metadata to that already found in an abstract data model representation (i.e., the DRA). More generally, however, model entities can be defined within an abstract data model definition or could be defined external to an abstract data model definition. Further, while embodiments are described herein with reference to relational databases, the invention is applicable to any other data representation including, for example, markup languages such as XML.
- the model entity specification 525 defines a plurality of model entities 506 , each identified by a name 602 . Illustratively two model entities, a “Patient” model entity 506 1 , a “Test” model entity 506 2 are shown. However, any number of model entities may be defined.
- each model entity may define multiple sets of fields used to implement query, insert and delete operations against the physical data corresponding to the model entity.
- each model entity 506 may be partitioned to include a query portion 604 1-2 , the insert portion 606 1-2 and a delete portion 608 1-2 .
- the appropriate portion may be accessed according to the type of operation being run against the model entity 506 .
- the full complement of fields defining a model entity e.g., Patient
- inserts and deletes a subset of all the fields defining the model entity is specified.
- a portion of a model entity 506 may include only a single logical field pointing to a single physical entity. Further, a model entity 506 may itself only have a single logical field pointing to a single physical entity.
- the model entities provide a particular advantage, however, when they span multiple fields/entities since in this case users are able to work with a singular abstract representation rather than being burdened with knowing what logical fields make up an abstract entity.
- each portion (query, insert and delete) of a model entity 506 is itself a model entity in that the portions each define an abstract entity for a given operation, whether the abstract entity spans multiple logical fields and/or multiple physical fields.
- model entity definitions may also include physical entity relationships specification which defines hierarchical relationships between entities in a physical model.
- the physical entity relationships specification may define relationships between multiple tables containing data associated with a single model entity.
- a set of fields defined by the model entity 506 in the query portion 604 may serve a variety of purposes.
- the query portion 604 may specify fields that are required output from queries involving the model entity.
- required fields for query results may be identified in the query portion of the model entity by a “required” attribute.
- the “patient” model entity 506 1 defines “patient id” as a required field with the provision of a required attribute 610 in the query portion 604 , thereby ensuring that all query results for patients will include patient id.
- FIG. 2D illustrates an example of how the required attribute 610 may be applied to an initial abstract query 202 I .
- the abstract query 202 I represents the initial form of an abstract query as specified by a user, for example.
- the abstract query 202 I may contain an explicit reference 602 to the “Patient” model entity 506 1 .
- the logic of the model entity specification 525 specifically the metadata of the Patient model entity 506 1 , is applied to convert the initial abstract query 202 I into an effective abstract query 202 E .
- “Patient ID” was added to the result fields specified in the effective abstract query 202 E because the “patient” model entity 506 1 defines “Patient id” as a required field with the provision of a required attribute 610 .
- certain fields may not be displayed to certain users.
- a researcher may not be authorized to see a patient ID or name. However, the researcher may nonetheless be able to view test results and recognize particular results that look interesting (e.g., alarmingly high, out of range, or otherwise appear invalid).
- One way to accomplish this would be to provide the researcher with the ability to create an annotation for the test results and specify that the scope of the annotation should be “pushed out” beyond the test results to the patient entity level. In so doing, subsequent users viewing information related to the patient entity may be able to view the annotation, even if they are not viewing the particular information (e.g., test results in this example) described by the annotation.
- FIGS. 3A and 3B illustrate exemplary operations 300 and 350 for creating and viewing an annotation associated with an entity, respectively.
- the operations 300 and 350 may be performed during query building sessions for different users.
- an annotation created by a first user during a first session may be viewed by a second user during a second session.
- the first user may allow the annotation to be viewed by the second user even if the second user's query results do not contain the particular data object described by the annotation.
- GUI graphical user interface
- the operations 300 begin, at step 302 , by creating an annotation for a selected data object.
- a first user may have issued a query and obtained a table of query results 401 , as shown in the exemplary GUI screen 400 of FIG. 4A , and the user may wish to create an annotation for a data object related thereto.
- the table 401 may include a group of cells, each corresponding to a value of a field/column in a particular row of the table 401 .
- Various techniques may be used to allow the creation of annotations for one of more of the cells, columns, rows, or the entire table 401 itself.
- a check box 402 may be displayed adjacent each cell value, allowing a user to specify cells for which annotations are to be created.
- users may be able to create annotations of differing scope (e.g., describing different data objects), via an Annotation Scope pull-down menu 406 .
- the user may be able to specify a row, column, or table annotation scope, causing similar check boxes 402 to be displayed adjacent the rows, columns, or table, accordingly.
- the user may choose to annotate a particular value 408 of a test result, for example, that the user finds particularly relevant (e.g., the results may be particularly high, low, outside an expected range, or otherwise interesting).
- the user may access the GUI screen 410 of FIG. 4B , for example, via a Create Annotations button 404 .
- the GUI screen 410 may indicate the annotation author at 412 and provide a text box 414 for entering a comment.
- the user may comment that the annotated test result appears invalid, as being much greater than an expected maximum value, possibly indicating that the test was performed improperly or the data was entered incorrectly, and that the results are likely invalid.
- the annotation may also serve to alert a subsequent user viewing data related to the corresponding patient that the test should be rerun. If the annotation is associated only with the selected test result, a subsequent user would likely only see the annotation if the test results were being viewed. However, it would be desirable for the subsequent viewer to see the annotation if they were viewing any information related to the patient. In other words, the user entering the annotation may wish to have the annotation scope expanded (e.g., pushed out) to encompass the patient as an entity, rather than just the selected data object. This expansion may be accomplished by associating the annotation with a patient model entity, if one exists.
- the user creating the annotation may be presented with a list allowing the user to associate the annotation with one or more of the corresponding entities.
- the selected test results field may be included in a patient model entity definition, as well as a test results model entity, and the user may wish to associate the annotation with both.
- One approach to associate the annotation with the model entity is to store a specific reference to the model entity (e.g., by name) with the annotation, along with information describing the instance value of the model entity related to the data described by the annotation, such as a primary key cell (e.g., the patient ID).
- a primary key cell e.g., the patient ID
- associating an annotation with a primary key cell of a table containing data described by an annotation may allow the scope of annotations to be effectively “pushed out” to a higher level, even if no explicit model entity definitions are in place.
- annotations may be associated with a primary key cell even if that primary key cell is not displayed to the user creating the annotation.
- the primary key cell may be looked up based on one or more other pieces of data (e.g., a patient name, date of birth, etc.).
- an annotation e.g., to a defined model entity or a primary key
- the user may, in effect, be able to create annotations for data the user is not even authorized to view.
- the user may not be authorized to view any identifying patient information (names, patient IDs, etc.). Nonetheless, by associating annotations with a model entity (or primary key cell), the user can capture useful information and share this information with other users viewing information related to the patient, which may be of great benefit, as described below with reference to the exemplary operations 350 of FIG. 3B .
- the exemplary operations 350 may be best described with an example illustrated with reference to GUI screens 420 - 440 , shown in FIGS. 4C-4E , respectively.
- the example illustrates a query building session of a nurse generating a list of patients for a doctor.
- the list of patients may include the patient whose test results were described by the annotation generated in the example above.
- the nurse may not view the annotated test results in the query results, because the annotation was associated with the patient model entity, the annotation may still be displayed to the nurse.
- the operations 350 begin, at step 352 , by receiving a query with reference to a model entity.
- a query may have an explicit reference to a model entity by name.
- a reference to a model entity may be added by selecting a focus for the query, for example, via a pull down menu 422 listing one or more available model entities, as shown in the query building GUI screen 420 of FIG. 4C .
- the query may reference a model entity implicitly, through the specification of query results including fields contained in one or more model entity definitions.
- the model entity definition for the model entity referenced by the query is obtained.
- the fields contained in the model entity definition are optionally added to the results list of the query, at step 356 , for example, as described above with reference to FIG. 2D .
- a list of fields 426 associated with an exemplary patient model entity are shown in FIG. 4C .
- the query is issued and a set of query results is received.
- the set of query results 431 may include a list of patients, by name, along with an associated appointment time.
- annotations are associated with data objects in the results set (e.g., cells, columns, or rows), as determined at step 360 , an indication of such is provided at step 362 .
- the existence of annotations for data objects may be found, for example, by querying the annotation store 158 for annotations 159 containing references to the data objects in the query results 431 .
- Techniques for determining a set of annotations associated with a set of data objects are described in detail in the co-pending, commonly-owned patent application Ser. No. 10/600,382, now pending, entitled, “Heterogeneous Multi-Level Extendable Indexing For General Purpose Annotation Systems” filed Jun. 20, 2003, now U.S. Publication No. 2005/0203876 published Sep. 15, 2005, hereby incorporated by reference in its entirety.
- the present example assumes there are no annotations explicitly associated with data objects in the query results 431 .
- Annotations for the model entity may be retrieved, for example, using the techniques described in the above-reference application Ser. No. 10/600,382. As described in application Ser. No. 10/600,382, in some cases, even if an annotation exists, a user may only be able to view the annotation if the user has corresponding credentials (e.g., a user ID, a specified role, security level, and the like) that provide authority to view the annotation.
- indication of the annotation for the model entity may be provided as an annotation icon 435 , as illustrated in FIG. 4D .
- the annotation may be displayed at any location deemed appropriate.
- the annotation icon 435 may be displayed by the last name of the corresponding patient.
- the user may select (e.g., click on) the annotation icon 425 , resulting in the View Annotation GUI screen 440 , shown in FIG. 4E , presenting the user with the annotation.
- the GUI screen 440 may also display the actual data described by the annotation.
- the GUI screen 440 may provide the same view of the actual data described by the annotation that the user creating the annotation had.
- the user may have specified that a reference to the annotated data object be generated, as described above with reference to FIG. 4B .
- the nurse may schedule the patient for re-testing during the upcoming visit.
- an annotation “roll-up” feature may allow human resources personnel to quickly gather and view all annotations related to a particular employee, for example, by searching for annotations that contain a reference to the particular employee's ID (which may be used as a primary key).
- embodiments of the present invention may facilitate the sharing of information related to the entity.
- a first user may create an annotation describing a particular data object selected by the first user.
- the first user may allow the annotation to be viewed by a second user, regardless of whether the second user actually views the particular data object.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Library & Information Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Methods, systems, and articles of manufacture for creating and sharing an annotation associated with a data object other than the particular data object described by the annotation are provided. The annotation may be associated with an entity, even though the annotation may describe only a particular data object encompassed by the entity. By associating the annotation with the entity, the annotation may be made available to other users viewing information related to the entity, even if the particular data object described by the annotation is not displayed in the information being viewed.
Description
- This is a divisional of co-pending U.S. patent application Ser. No. 10/664,537 filed on Sep. 19, 2003, which is herein incorporated by reference.
- 1. Field of the Invention
- The present invention relates to the field of data entry and retrieval and, more particularly, to a method and system for associating annotations with entities associated with a data object related to the annotation.
- 2. Description of the Related Art
- There are well known methods for capturing and storing explicit knowledge as data, for example, in relational databases, documents, flat files, and various proprietary formats in binary files. Often, such data is analyzed by various parties (e.g., experts, technicians, managers, etc.), resulting in rich interpretive information, commonly referred to as tacit knowledge. However, such tacit knowledge is often only temporarily captured, for example, as cryptic notes in a lab notebook, discussions/conversations, presentations, instant messaging exchanges, e-mails and the like. Because this tacit knowledge is typically not captured in the application environment in which the related data is viewed and analyzed, it is often lost.
- One approach to more permanently capture tacit knowledge is to create annotations containing descriptive information about data objects. Virtually any identifiable type of object may be annotated, such as a matrix of data (e.g., a spreadsheet or database table), a text document, or an image. Further, subportions of objects (sub-objects) may be annotated, such as a cell, row, or column in a database table or a section, paragraph, or word in a text document. An indexing scheme is typically used to map each annotation to the annotated data object or sub-object, based on identifying information, typically in the form of an index. The index should provide enough specificity to allow the indexing scheme to locate the annotated data object (or sub-object). Further, to be effective, the indexing scheme should work both ways: given an index, the indexing scheme must be able to locate the annotated data object and, given an object, the indexing scheme must be able to calculate the index for use in classification, comparison, and searching (e.g., to search for annotations for a given data object).
- In many situations, portions of a collection of data, such as database rows, are roughly analogous to ‘entities’ or objects. As an example, a table with patient records may have a primary key which is a patient number (patient ID) and would likely also have a patient name (first and last), address, preferences, and the like. All the other information for a particular row may be regarded as being related to a ‘patient entity’ uniquely identified by the patient ID. Similarly, all the information for a particular row of information in a table of test results may be regarded as being related to a ‘test result entity.’ Some information may be related to more than one entity. For example, a patient's test results may be related to both patient and test results entities. Further, information related to a single entity may be contained in multiple tables. For example, demographic information related to a patient entity may be contained in a table of patient records, while test results for the same patient entity may be contained in a table of test results.
- One potential problem, however, presented when capturing and sharing information in an annotation, is selecting the proper scope of an annotation describing data related to an entity. The problem may be described with reference to the table of exemplary query results (listing patient test results) shown in Table I below.
-
TABLE I Exemplary query results Patient Name Test Name Test Result Test Date John Doe Hemoglobin 12 Jan. 24, 2003 Jane Smith Hemoglobin 22 Feb. 25, 2003
The test results for the second patient (Jane Smith) may be invalid, for example, because the patient forgot to fast before the test, possibly skewing the results. Accordingly, a user (e.g., a lab technician) may wish to create an annotation describing this situation and suggesting the test be re-run, for example, during the patient's next scheduled visit. - While there are several locations from which the user may choose to specify the annotation, none of these may be ideal to accomplish the desired result (make someone aware the patient should be retested). For example, the user may choose to associate the annotation with the row. However, this may not be ideal, as the information may span multiple tables (e.g., patient records and test results). Similarly, associating the annotation with the entire table of results is not appropriate, as the annotation concerns the test results for only one patient. Associating the annotation with the name column clearly is inappropriate, as the annotation is not applicable to the first patient (John Doe), whose test results are fine. However, associating the annotation with the particular name cell (Jane Smith) may not be ideal either, as many queries may not include name information (which may not be unique, as multiple patients may have the same name), preferring unique identifiers, such as a patient ID. While associating the annotation with the patient ID may be a logical choice, patient IDs are not available in the query results in TABLE 1. In fact, in many cases, for security reasons, certain users may be prohibited from viewing any type of identifying information (e.g., patient IDs and names).
- Accordingly, there is a need for methods and systems allowing a user to associate an annotation with an entity, regardless of whether information uniquely identifying the entity (e.g., a primary key) is displayed in query results. Preferably, the methods and systems will allow subsequent users viewing information related to the same entity to view the annotation, regardless of whether they are viewing the particular information described by the annotation.
- The present invention generally is directed to methods, systems, and articles of manufacture for associating an annotation describing a particular data object with an entity encompassing the particular data object.
- One embodiment provides a method of exchanging information. The method generally includes displaying first query results to a first user, receiving, from the first user, a data object selected from the first query results, providing an interface allowing the first user to create an annotation describing the selected data object and associate the annotation with a model entity having a corresponding model entity definition specifying a field related to the selected data object, and storing the annotation with a reference to the model entity.
- Another embodiment provides a method of exchanging information via an annotation. The method generally includes providing an interface allowing a user to view query results, select a data object from the query results, and create an annotation with a scope related to the selected data object, and providing an interface allowing the user to expand the scope of the annotation to a model entity encompassing the selected data object.
- Another embodiment provides a method of accessing data. The method generally includes displaying query results in response to issuing a query, wherein at least one data object in the query results is associated with a model entity having a corresponding model entity definition specifying a field related to the at least one data object, retrieving at least one annotation associated with the model entity, and providing an indication of the annotation associated with the model entity.
- Another embodiment provides a computer-readable medium containing a program for exchanging information via annotations. When executed by a processor, the program performs operations generally including receiving, from a first user, an indication of a data object selected from a set of first query results, providing an interface allowing the first user to create an annotation describing the selected data object and associate the annotation with a model entity having one or more associated fields related to the selected data object, and storing the annotation with a reference to the model entity.
- Another embodiment provides a system for sharing information via annotations generally including a set of one or more model entity definitions, each specifying one or more fields encompassed by a corresponding model entity, a query building interface and an annotation system. The query building interface is generally configured to allow a first user to build a first query and view first query results received in response to issuing the query. The annotation system is generally configured to allow the first user to create an annotation for a data object selected from the query results and associate the annotation with a first model entity encompassing a field related to the selected data object.
- So that the manner in which the above recited features, advantages and objects of the present invention are attained and can be understood in detail, a more particular description of the invention, briefly summarized above, may be had by reference to the embodiments thereof which are illustrated in the appended drawings.
- It is to be noted, however, that the appended drawings illustrate only typical embodiments of this invention and are therefore not to be considered limiting of its scope, for the invention may admit to other equally effective embodiments.
-
FIG. 1 is an exemplary computing environment in which embodiments of the present invention may be utilized. -
FIGS. 2A-2D illustrate relational views of software components according to one embodiment of the present invention. -
FIGS. 3A and 3B are flow charts illustrating exemplary operations for capturing and sharing annotations associated with an entity according to one embodiment of the present invention. -
FIGS. 4A-4E illustrate exemplary graphical user interface (GUI) screens in accordance with one embodiment of the present invention. - The present invention provides methods, systems, and articles of manufacture for creating and sharing an annotation associated with a data object other than the particular data object described by the annotation. For example, the annotation may be associated with an entity, even though the annotation may describe only a particular data object encompassed by the entity. In other words, the scope of the annotation may be “pushed out” beyond the particular data object to the entire entity. By associating the annotation with the entity, the annotation may be made available to other users viewing information related to the entity, even if the particular data object described by the annotation is not displayed to the other users.
- As used herein, the term model entity generally refer to a data object associated with a set of related fields. The set of related fields may be specified explicitly, for example, in a model entity definition or implicitly, for example, by reference to a primary key of a table or tables containing the set of related fields. As used herein, the term annotation generally refers to any type of descriptive information and may exist in various forms, including textual annotations (descriptions, revisions, clarifications, comments, instructions, etc.), graphical annotations (pictures, symbols, etc.), sound clips, etc. While an annotation may exist in any or all of these forms, to facilitate understanding, embodiments of the present invention may be described below with reference to textual annotations as a particular, but not limiting, example of an annotation.
- Further, as used herein, the term user may generally apply to any entity utilizing the annotation system described herein, such as a person (e.g., an individual) interacting with an application program or an application program itself, for example, performing automated tasks. While the following description may often refer to a graphical user interface (GUI) intended to present information to and receive information from a person, it should be understood that in many cases, the same functionality may be provided through a non-graphical user interface, such as a command line and, further, similar information may be exchanged with a non-person user via a programming interface.
- In one embodiment of the present invention, a data model may be implemented as a data repository abstraction component containing a collection of abstract representations of physical fields of a searchable database (hereinafter “logical fields”). Thus, this data abstraction model provides a logical view of the underlying database, allowing the user to generate “abstract” queries against the data warehouse without requiring direct knowledge of its underlying physical properties. A runtime component (e.g., a query execution component) performs translation of abstract queries (generated based on the data abstraction model) into a form that can be used against a particular physical data representation.
- The concepts of data abstraction and abstract queries are described in detail in the commonly owned, co-pending application Ser. No. 10/083,075, entitled “Improved Application Portability And Extensibility Through Database Schema And Query Abstraction,” filed Feb. 26, 2002, now U.S. Pat. No. 6,996,558 issued Feb. 7, 2006, herein incorporated by reference in its entirety. While the data abstraction model described herein provides one or more embodiments of the invention, persons skilled in the art will recognize that the concepts provided herein can be implemented without such a data abstraction model while still providing the same or similar results.
- One embodiment of the invention is implemented as a program product for use with a computer system such as, for example, the
computer system 100 shown inFIG. 1 and described below. The program(s) of the program product defines functions of the embodiments (including the methods described herein) and can be contained on a variety of signal-bearing media. Illustrative signal-bearing media include, but are not limited to: (i) information permanently stored on non-writable storage media (e.g., read-only memory devices within a computer such as CD-ROM disks readable by a CD-ROM drive); (ii) alterable information stored on writable storage media (e.g., floppy disks within a diskette drive or hard-disk drive); or (iii) information conveyed to a computer by a communications medium, such as through a computer or telephone network, including wireless communications. The latter embodiment specifically includes information downloaded from the Internet and other networks. Such signal-bearing media, when carrying computer-readable instructions that direct the functions of the present invention, represent embodiments of the present invention. - In general, the routines executed to implement the embodiments of the invention, may be part of an operating system or a specific application, component, program, module, object, or sequence of instructions. The software of the present invention typically is comprised of a multitude of instructions that will be translated by the native computer into a machine-readable format and hence executable instructions. Also, programs are comprised of variables and data structures that either reside locally to the program or are found in memory or on storage devices. In addition, various programs described hereinafter may be identified based upon the application for which they are implemented in a specific embodiment of the invention. However, it should be appreciated that any particular nomenclature that follows is used merely for convenience, and thus the invention should not be limited to use solely in any specific application identified and/or implied by such nomenclature.
-
FIG. 1 shows an exemplarynetworked computer system 100, in which embodiments of the present invention may be utilized. For example, embodiments of the present invention may be implemented as a program product for use with the system 100 (e.g., as part of aquery building interface 122, queryexecution runtime component 150, and/or annotation system 140) to allow the capture and exchange of information between users performing related research. Queries may be generated via thequery building interface 122 and may target data stored in anapplication data store 156. As will be described in greater detail below, annotations made via theannotation system 140, may be associated with an entity, although the annotations may actually describe only a particular portion of data related to the entity. - As illustrated in
FIG. 1 , thesystem 100 generally includesclient computers 102 and at least oneserver computer 104, connected via anetwork 126. In general, thenetwork 126 may be a local area network (LAN) and/or a wide area network (WAN). In a particular embodiment, thenetwork 126 is the Internet. For other embodiments, however, the methods described herein may be performed on a single (e.g., non-networked) computer system. - As illustrated, the
client computers 102 generally include a Central Processing Unit (CPU) 110 connected via abus 130 to amemory 112,storage 114, aninput device 116, anoutput device 119, and anetwork interface device 118. Theinput device 116 can be any device to give input to theclient computer 102. For example, a keyboard, keypad, light-pen, touch-screen, track-ball, or speech recognition unit, audio/video player, and the like could be used. Theoutput device 119 can be any device to give output to the user, e.g., any conventional display screen. Although shown separately from theinput device 116, theoutput device 119 andinput device 116 could be combined. For example, aclient 102 may include a display screen with an integrated touch-screen or a display with an integrated keyboard. - The
network interface device 118 may be any entry/exit device configured to allow network communications between theclient 102 and theserver 104 via thenetwork 126. For example, thenetwork interface device 118 may be a network adapter or other network interface card (NIC). If theclient 102 is a handheld device, such as a personal digital assistant (PDA), thenetwork interface device 118 may comprise any suitable wireless interface to provide a wireless connection to thenetwork 126. -
Storage 114 is preferably a Direct Access Storage Device (DASD). Although it is shown as a single unit, it could be a combination of fixed and/or removable storage devices, such as fixed disc drives, floppy disc drives, tape drives, removable memory cards, or optical storage. Thememory 112 andstorage 114 could be part of one virtual address space spanning multiple primary and secondary storage devices. - The
memory 112 is preferably a random access memory (RAM) sufficiently large to hold the necessary programming and data structures of the invention. While thememory 112 is shown as a single entity, it should be understood that thememory 112 may in fact comprise a plurality of modules, and that thememory 112 may exist at multiple levels, from high speed registers and caches to lower speed but larger DRAM chips. - Illustratively, the
memory 112 contains anoperating system 124. Examples of suitable operating systems, which may be used to advantage, include Linux and Microsoft's Windows®, as well as any operating systems designed for handheld devices, such as Palm OS®, Windows® CE, and the like. More generally, any operating system supporting the functions disclosed herein may be used. - The
memory 112 is also shown containing thequery building interface 122, such as a browser program, that, when executed onCPU 110, provides support for building queries based on a data repository abstraction (DRA)component 148. In one embodiment, thequery interface 122 includes a web-based Graphical User Interface (GUI), which allows the user to display Hyper Text Markup Language (HTML) information. More generally, however, thequery interface 122 may be any program (preferably GUI-based) capable of exposing a portion of theDRA component 148 on theclient 102 for use in building queries. As will be described in greater detail below, queries built using thequery interface 122 may be sent to theserver 104 via thenetwork 126 to be issued against one ormore databases 156. - The
server 104 may be physically arranged in a manner similar to theclient computer 102. Accordingly, theserver 104 is shown generally comprising aCPU 131, amemory 132, and astorage device 134, coupled to one another by abus 136.Memory 132 may be a random access memory sufficiently large to hold the necessary programming and data structures that are located on theserver 104. - The
server 104 is generally under the control of an operating system 138 shown residing inmemory 132. Examples of the operating system 138 include IBM OS/400®, UNIX, Microsoft Windows®, and the like. More generally, any operating system capable of supporting the functions described herein may be used. As illustrated, theserver 104 may be configured with anabstract query interface 146 for issuing abstract queries (e.g., received from the client application 120) against one or more of thedatabases 156. - In one embodiment, elements of a query are specified by a user through the
query building interface 122 which may be implemented as a browser program presenting a set of GUI screens for building queries. The content of the GUI screens may be generated by one or more applications of theabstract query interface 146. In a particular embodiment, the GUI content is hypertext markup language (HTML) content which may be rendered on theclient computer systems 102 with thequery building interface 122. Accordingly, thememory 132 may include a Hypertext Transfer Protocol (http) server process 152 (e.g., a web server) adapted to service requests from theclient computer 102. For example, theserver process 152 may respond to requests to access the database(s) 156, which illustratively resides on theserver 104. Incoming client requests for data from adatabase 156 invoke a server application which, when executed by theprocessor 130, perform operations necessary to access the database(s) 156. In one embodiment, the server application comprises a plurality of servlets configured to build GUI elements, which are then rendered by thequery interface 122. - Components of the
server computer 104 may be physically arranged in a manner similar to those of theclient computer 102. For example, theserver computer 104 is shown generally comprising a CPU 135, a memory 133, and astorage device 134, coupled to one another by abus 136, which may all functions as similar components described with reference to theclient computer 102. Theserver computer 104 is generally under the control of an operating system (e.g., IBM OS/400®, UNIX, Microsoft Windows® and the like). - As illustrated, the
server computer 104 may be configured with theannotation system 140, also shown residing inmemory 132. Theannotation system 140 may be used to generateannotations 159 that, for some embodiments, may be stored in anannotation store 158 separate from theapplication data store 156. Theannotations 159 may include a variety of annotations, for example, describing data in theapplication data store 156. The universal annotation system 111 may be any suitable type annotation system and, for some embodiments, may be similar to the universal annotation system described in the commonly owned, co-pending application Ser. No. 10/600,014, entitled “Universal Annotation System,” filed Jun. 20, 2003, herein incorporated by reference. - Operation of various components of the
system 100 and concepts of model entities may be further described with reference toFIGS. 2A-2C .FIG. 2A illustrates a relational view of thequery building interface 122, queryexecution runtime component 150, andannotation system 140, according to one embodiment of the invention. As shown, theabstract query interface 122 may be used to generate an initialabstract query 202 I to be issued by the queryexecution runtime component 150. - As illustrated, the
abstract query 202 I may include a set of one ormore query conditions 204 and aninitial results list 206 I, each based on logical fields defined in theDRA component 148. As previously described,abstract queries 202 may be executed by thequery execution component 150. In the exemplary abstract data model, the logical fields are defined independently of the underlying data representation being used in theDBMS 154, thereby allowing queries to be formed that are loosely coupled to theunderlying data representation 214. - For example, as illustrated in
FIG. 2B , theDRA component 148 includes a set oflogical field specifications 208 that provide abstract representations of corresponding fields in aphysical data representation 214 of data in the one ormore databases 156 shown inFIG. 1 . Eachlogical field specification 208 may include various information used to map the specified logical field to the corresponding physical field, such as field names, table names, and access methods describing how to access and/or manipulate data from the corresponding physical field in thephysical data representation 214. Thephysical data representation 214 may be anXML data representation 214 1, arelational data representation 214 2, or any other data representation, as illustrated by 214 N. Therefore, regardless of the actualphysical data representation 214, a user may generate anabstract query 202 based on the logical fields defined by thelogical field specifications 216, in order to access data stored therein. - Referring back to
FIG. 2A , thequery execution component 150 is generally configured to transform theabstract query 202 into a concrete query compatible with the physical data representation (e.g., an XML query, SQL query, etc), by mapping the logical fields of the expandedabstract query 208 to the corresponding physical fields of thephysical data representation 214. The mapping of abstract queries to concrete queries, by thequery execution component 150, is described in detail in the previously referenced co-pending application Ser. No. 10/083,075. - As illustrated, the initial
abstract query 202 I may include a reference to a model entity (defined in a model entity specification 525). As will be described in greater detail below, upon executing the initialabstract query 202 I the initial results list 206 I may be supplemented withlogical fields 216 specified in a model entity definition for the referenced model entity, resulting in an effective results list 216 I. The concepts of model entities are described in detail in the commonly-owned, co-pending application Ser. No. 10/403,356, entitled “Dealing With Composite Data Through Data Model Entities,” filed Mar. 31, 2003, now U.S. Pat. No. 7,054,877 issued May 30, 2006, incorporated by reference herein. - As described in the above-referenced application, model entities may serve to identify a higher level abstraction of the underlying data by representing a composite of individual
logical fields 216. Model entities may provide end users and applications a higher level conceptual view of the underlying data that can simplify data query and modification tasks (i.e., insert and deletion). Rather than having to understand all of the individual fields that make up entities such as a patient or a lab test result, the user/application can work at the more conceptual model entity level. As will be described below in more detail, the definition of a model entity contains sufficient metadata to streamline and simplify transactions performed against instances of a model entity. - For some embodiments, model entities are defined via additional metadata to that already found in an abstract data model representation (i.e., the DRA). More generally, however, model entities can be defined within an abstract data model definition or could be defined external to an abstract data model definition. Further, while embodiments are described herein with reference to relational databases, the invention is applicable to any other data representation including, for example, markup languages such as XML.
- As illustrated in
FIG. 2C , themodel entity specification 525 defines a plurality ofmodel entities 506, each identified by aname 602. Illustratively two model entities, a “Patient”model entity 506 1, a “Test”model entity 506 2 are shown. However, any number of model entities may be defined. In addition to thename 602, each model entity may define multiple sets of fields used to implement query, insert and delete operations against the physical data corresponding to the model entity. - Specifically, each
model entity 506 may be partitioned to include aquery portion 604 1-2, theinsert portion 606 1-2 and adelete portion 608 1-2. The appropriate portion may be accessed according to the type of operation being run against themodel entity 506. Note that for queries, the full complement of fields defining a model entity (e.g., Patient) is specified, while in the case of inserts and deletes a subset of all the fields defining the model entity is specified. - It should be understood that a portion of a
model entity 506 may include only a single logical field pointing to a single physical entity. Further, amodel entity 506 may itself only have a single logical field pointing to a single physical entity. The model entities provide a particular advantage, however, when they span multiple fields/entities since in this case users are able to work with a singular abstract representation rather than being burdened with knowing what logical fields make up an abstract entity. In this regard, it is noted that, in practice, each portion (query, insert and delete) of amodel entity 506 is itself a model entity in that the portions each define an abstract entity for a given operation, whether the abstract entity spans multiple logical fields and/or multiple physical fields. - As described in the application Ser. No. 10/403,356, model entity definitions may also include physical entity relationships specification which defines hierarchical relationships between entities in a physical model. For example, the physical entity relationships specification may define relationships between multiple tables containing data associated with a single model entity.
- In the case of query operations, a set of fields defined by the
model entity 506 in thequery portion 604 may serve a variety of purposes. First, thequery portion 604 may specify fields that are required output from queries involving the model entity. As illustrated, required fields for query results may be identified in the query portion of the model entity by a “required” attribute. For example, the “patient”model entity 506 1 defines “patient id” as a required field with the provision of a requiredattribute 610 in thequery portion 604, thereby ensuring that all query results for patients will include patient id. - In any case,
FIG. 2D illustrates an example of how the requiredattribute 610 may be applied to an initialabstract query 202 I. Theabstract query 202 I represents the initial form of an abstract query as specified by a user, for example. As illustrated, theabstract query 202 I may contain anexplicit reference 602 to the “Patient”model entity 506 1. As a result of this reference, the logic of themodel entity specification 525, specifically the metadata of thePatient model entity 506 1, is applied to convert the initialabstract query 202 I into an effectiveabstract query 202 E. In this case, “Patient ID” was added to the result fields specified in the effectiveabstract query 202 E because the “patient”model entity 506 1 defines “Patient id” as a required field with the provision of a requiredattribute 610. - For some embodiments, however, for security reasons, certain fields (even if listed as required) may not be displayed to certain users. As an example, a researcher may not be authorized to see a patient ID or name. However, the researcher may nonetheless be able to view test results and recognize particular results that look interesting (e.g., alarmingly high, out of range, or otherwise appear invalid). Even though the researcher is not authorized to view the patient ID, it would be desirable for the researcher to have the ability to create an annotation describing the test results and have that annotation available to subsequent viewers of information related to the patient. One way to accomplish this would be to provide the researcher with the ability to create an annotation for the test results and specify that the scope of the annotation should be “pushed out” beyond the test results to the patient entity level. In so doing, subsequent users viewing information related to the patient entity may be able to view the annotation, even if they are not viewing the particular information (e.g., test results in this example) described by the annotation.
-
FIGS. 3A and 3B illustrateexemplary operations operations - In any case, the
operations FIGS. 4A-4D . The GUI screens may be provided, for example, as components of thequery building interface 122 and/orannotation system 140. - The
operations 300 begin, atstep 302, by creating an annotation for a selected data object. For example, a first user may have issued a query and obtained a table of query results 401, as shown in theexemplary GUI screen 400 ofFIG. 4A , and the user may wish to create an annotation for a data object related thereto. For example, the table 401 may include a group of cells, each corresponding to a value of a field/column in a particular row of the table 401. Various techniques may be used to allow the creation of annotations for one of more of the cells, columns, rows, or the entire table 401 itself. - For example, a
check box 402 may be displayed adjacent each cell value, allowing a user to specify cells for which annotations are to be created. For some embodiments, users may be able to create annotations of differing scope (e.g., describing different data objects), via an Annotation Scope pull-down menu 406. For example, the user may be able to specify a row, column, or table annotation scope, causingsimilar check boxes 402 to be displayed adjacent the rows, columns, or table, accordingly. - As illustrated, the user may choose to annotate a
particular value 408 of a test result, for example, that the user finds particularly relevant (e.g., the results may be particularly high, low, outside an expected range, or otherwise interesting). After selecting thecheck box 402 adjacent thevalue 408, the user may access theGUI screen 410 ofFIG. 4B , for example, via aCreate Annotations button 404. TheGUI screen 410 may indicate the annotation author at 412 and provide atext box 414 for entering a comment. - As illustrated, the user may comment that the annotated test result appears invalid, as being much greater than an expected maximum value, possibly indicating that the test was performed improperly or the data was entered incorrectly, and that the results are likely invalid. In either case, the annotation may also serve to alert a subsequent user viewing data related to the corresponding patient that the test should be rerun. If the annotation is associated only with the selected test result, a subsequent user would likely only see the annotation if the test results were being viewed. However, it would be desirable for the subsequent viewer to see the annotation if they were viewing any information related to the patient. In other words, the user entering the annotation may wish to have the annotation scope expanded (e.g., pushed out) to encompass the patient as an entity, rather than just the selected data object. This expansion may be accomplished by associating the annotation with a patient model entity, if one exists.
- Therefore, at
step 304, a determination is made as to whether the data object selected for annotation is associated with a model entity. If not, the user may only have the option of associating the annotation with the selected data object, atstep 306. However, if the selected data object is associated with a model entity, the user may be given the option to associate the annotation with a model entity, for example, via acheckbox 416. In other words, if a model entity exists and its entity definition includes the data object being annotated, thecheckbox 416 may be enabled (otherwise, thecheckbox 416 may be disabled or not displayed at all). As illustrated, a user may also be able to specify, via acheckbox 418, that a reference to the annotated data object be generated. As will be described below, with reference toFIG. 4E , the reference may effectively provide subsequent viewers of the annotation with a link to the data described thereby. - If more than one model entity exists that includes the data object being annotated in its entity definition, the user creating the annotation may be presented with a list allowing the user to associate the annotation with one or more of the corresponding entities. As an illustration, in the current example, the selected test results field may be included in a patient model entity definition, as well as a test results model entity, and the user may wish to associate the annotation with both.
- At
step 308, a determination is made as to whether entity push through is enabled, for example, via thecheck box 416 or any other means (e.g., as a configurable default). If not, the annotation is associated with the selected data object, atstep 306. However, if entity push through is enabled, the annotation is associated with a model entity, atstep 310. In either case, theoperations 300 are exited, at 312, for example, by storing the annotation in an annotation record, along with the reference to the selected data object and/or one or more model entities. - One approach to associate the annotation with the model entity is to store a specific reference to the model entity (e.g., by name) with the annotation, along with information describing the instance value of the model entity related to the data described by the annotation, such as a primary key cell (e.g., the patient ID). In fact, it should be appreciated that associating an annotation with a primary key cell of a table containing data described by an annotation may allow the scope of annotations to be effectively “pushed out” to a higher level, even if no explicit model entity definitions are in place. In other words, annotations may be associated with a primary key cell even if that primary key cell is not displayed to the user creating the annotation. To create the association, for example, the primary key cell may be looked up based on one or more other pieces of data (e.g., a patient name, date of birth, etc.).
- In any case, by allowing a user to push out the scope of an annotation (e.g., to a defined model entity or a primary key), the user may, in effect, be able to create annotations for data the user is not even authorized to view. As an illustration, in the current example, the user may not be authorized to view any identifying patient information (names, patient IDs, etc.). Nonetheless, by associating annotations with a model entity (or primary key cell), the user can capture useful information and share this information with other users viewing information related to the patient, which may be of great benefit, as described below with reference to the
exemplary operations 350 ofFIG. 3B . - The
exemplary operations 350 may be best described with an example illustrated with reference to GUI screens 420-440, shown inFIGS. 4C-4E , respectively. The example illustrates a query building session of a nurse generating a list of patients for a doctor. As will be described, the list of patients may include the patient whose test results were described by the annotation generated in the example above. Although the nurse may not view the annotated test results in the query results, because the annotation was associated with the patient model entity, the annotation may still be displayed to the nurse. - The
operations 350 begin, atstep 352, by receiving a query with reference to a model entity. For example, as described above, with reference toFIG. 2D , a query may have an explicit reference to a model entity by name. In some cases, a reference to a model entity may be added by selecting a focus for the query, for example, via a pull downmenu 422 listing one or more available model entities, as shown in the querybuilding GUI screen 420 ofFIG. 4C . Alternatively, rather than contain an explicit reference to a model entity, the query may reference a model entity implicitly, through the specification of query results including fields contained in one or more model entity definitions. - At
step 354, the model entity definition for the model entity referenced by the query is obtained. The fields contained in the model entity definition are optionally added to the results list of the query, atstep 356, for example, as described above with reference toFIG. 2D . A list offields 426 associated with an exemplary patient model entity are shown inFIG. 4C . Atstep 358, the query is issued and a set of query results is received. As illustrated inFIG. 4D , the set of query results 431 may include a list of patients, by name, along with an associated appointment time. - If any annotations are associated with data objects in the results set (e.g., cells, columns, or rows), as determined at
step 360, an indication of such is provided atstep 362. The existence of annotations for data objects may be found, for example, by querying theannotation store 158 forannotations 159 containing references to the data objects in the query results 431. Techniques for determining a set of annotations associated with a set of data objects are described in detail in the co-pending, commonly-owned patent application Ser. No. 10/600,382, now pending, entitled, “Heterogeneous Multi-Level Extendable Indexing For General Purpose Annotation Systems” filed Jun. 20, 2003, now U.S. Publication No. 2005/0203876 published Sep. 15, 2005, hereby incorporated by reference in its entirety. To facilitate understanding, the present example assumes there are no annotations explicitly associated with data objects in the query results 431. - At
step 364, however, a determination is made as to whether annotations exist for a model entity referenced by the query and, if so, an indication of such is provided, atstep 366, prior to exiting theoperations 350, atstep 368. Annotations for the model entity may be retrieved, for example, using the techniques described in the above-reference application Ser. No. 10/600,382. As described in application Ser. No. 10/600,382, in some cases, even if an annotation exists, a user may only be able to view the annotation if the user has corresponding credentials (e.g., a user ID, a specified role, security level, and the like) that provide authority to view the annotation. - In any case, assuming the user is authorized to view the annotation, indication of the annotation for the model entity may be provided as an
annotation icon 435, as illustrated inFIG. 4D . As the annotation is associated with the patient model entity rather than any particular data object, it may be displayed at any location deemed appropriate. For example, as illustrated, theannotation icon 435 may be displayed by the last name of the corresponding patient. - In order to display the annotation, the user may select (e.g., click on) the annotation icon 425, resulting in the View
Annotation GUI screen 440, shown inFIG. 4E , presenting the user with the annotation. As illustrated, theGUI screen 440 may also display the actual data described by the annotation. In other words, theGUI screen 440 may provide the same view of the actual data described by the annotation that the user creating the annotation had. For example, when creating the annotation the user may have specified that a reference to the annotated data object be generated, as described above with reference toFIG. 4B . In response to viewing the annotation, the nurse may schedule the patient for re-testing during the upcoming visit. - Of course, those skilled in the art will recognize that the incorrect data scenario portrayed in the invalid test results example illustrates just one of many ways in which “pushing out” the scope of an annotation to the entity level may allow users to exchange information about data. Other examples include exchanging insightful information regarding particular data regarded as interesting (e.g., a user's interpretation of particularly interesting test results, or other type of data). Further, associating annotations with a model entity may facilitate gathering available information regarding an instance of the model entity. For example, in a business enterprise, an annotation “roll-up” feature may allow human resources personnel to quickly gather and view all annotations related to a particular employee, for example, by searching for annotations that contain a reference to the particular employee's ID (which may be used as a primary key).
- By extending the scope of an annotation beyond a particular data object described by the annotation to a higher level entity, such as a model entity, embodiments of the present invention may facilitate the sharing of information related to the entity. In some cases, a first user may create an annotation describing a particular data object selected by the first user. By associating the annotation with a model entity encompassing the particular data object, the first user may allow the annotation to be viewed by a second user, regardless of whether the second user actually views the particular data object.
- While the foregoing is directed to embodiments of the present invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow.
Claims (18)
1. A computer-implemented method of accessing data, comprising:
displaying query results in response to issuing a query;
retrieving at least one annotation associated with an entity encompassing at least a portion of the query results; and
providing an indication of the annotation associated with the entity.
2. The method of claim 1 , wherein the annotation describes a data object that is not contained in the displayed query results.
3. The method of claim 1 , wherein the query contains an explicit reference to the entity.
4. The method of claim 1 , wherein retrieving at least one annotation associated with the entity comprises:
looking up a primary key associated with one or more data objects contained in the query results; and
searching for annotations referring to the primary key.
5. The method of claim 1 , wherein:
providing an indication of the annotation associated with the entity comprises displaying an annotation icon; and
the method further comprises displaying the annotation, in response to input from the user.
6. The method of claim 5 , wherein displaying the annotation further comprises providing an indication of data described by the annotation.
7. A computer-readable storage medium which, when executed by a processor, performs an operation for accessing data, the operation comprising:
displaying query results in response to issuing a query;
retrieving at least one annotation associated with an entity encompassing at least a portion of the query results; and
providing an indication of the annotation associated with the entity.
8. The computer-readable storage medium of claim 7 , wherein the annotation describes a data object that is not contained in the displayed query results.
9. The computer-readable storage medium of claim 7 , wherein the query contains an explicit reference to the entity.
10. The computer-readable storage medium of claim 7 , wherein retrieving at least one annotation associated with the entity comprises:
looking up a primary key associated with one or more data objects contained in the query results; and
searching for annotations referring to the primary key.
11. The computer-readable storage medium of claim 7 , wherein:
providing an indication of the annotation associated with the entity comprises displaying an annotation icon; and
the method further comprises displaying the annotation, in response to input from the user.
12. The computer-readable storage medium of claim 11 , wherein displaying the annotation further comprises providing an indication of data described by the annotation.
13. A computer system, comprising:
a computer-readable storage medium containing an annotation program; and
a processor which, when executing the annotation program, performs an operation for accessing data, comprising:
displaying query results in response to issuing a query;
retrieving at least one annotation associated with an entity encompassing at least a portion of the query results; and
providing an indication of the annotation associated with the entity.
14. The computer-readable storage medium of claim 13 , wherein the annotation describes a data object that is not contained in the displayed query results.
15. The computer-readable storage medium of claim 13 , wherein the query contains an explicit reference to the entity.
16. The computer-readable storage medium of claim 13 , wherein retrieving at least one annotation associated with the entity comprises:
looking up a primary key associated with one or more data objects contained in the query results; and
searching for annotations referring to the primary key.
17. The computer-readable storage medium of claim 13 , wherein:
providing an indication of the annotation associated with the entity comprises displaying an annotation icon; and
the method further comprises displaying the annotation, in response to input from the user.
18. The computer-readable storage medium of claim 17 , wherein displaying the annotation further comprises providing an indication of data described by the annotation.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/025,131 US20080126328A1 (en) | 2003-09-19 | 2008-02-04 | Expanding the scope of an annotation to an entity level |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/664,537 US7899843B2 (en) | 2003-09-19 | 2003-09-19 | Expanding the scope of an annotation to an entity level |
US12/025,131 US20080126328A1 (en) | 2003-09-19 | 2008-02-04 | Expanding the scope of an annotation to an entity level |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/664,537 Division US7899843B2 (en) | 2003-09-19 | 2003-09-19 | Expanding the scope of an annotation to an entity level |
Publications (1)
Publication Number | Publication Date |
---|---|
US20080126328A1 true US20080126328A1 (en) | 2008-05-29 |
Family
ID=34312768
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/664,537 Expired - Fee Related US7899843B2 (en) | 2003-09-19 | 2003-09-19 | Expanding the scope of an annotation to an entity level |
US12/025,131 Abandoned US20080126328A1 (en) | 2003-09-19 | 2008-02-04 | Expanding the scope of an annotation to an entity level |
US12/025,132 Expired - Fee Related US8126915B2 (en) | 2003-09-19 | 2008-02-04 | Expanding the scope of an annotation to an entity level |
US12/025,129 Expired - Fee Related US7904469B2 (en) | 2003-09-19 | 2008-02-04 | Expanding the scope of an annotation to an entity level |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/664,537 Expired - Fee Related US7899843B2 (en) | 2003-09-19 | 2003-09-19 | Expanding the scope of an annotation to an entity level |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/025,132 Expired - Fee Related US8126915B2 (en) | 2003-09-19 | 2008-02-04 | Expanding the scope of an annotation to an entity level |
US12/025,129 Expired - Fee Related US7904469B2 (en) | 2003-09-19 | 2008-02-04 | Expanding the scope of an annotation to an entity level |
Country Status (1)
Country | Link |
---|---|
US (4) | US7899843B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080126329A1 (en) * | 2003-09-19 | 2008-05-29 | Dettinger Richard D | Expanding the scope of an annotation to an entity level |
US8180787B2 (en) | 2002-02-26 | 2012-05-15 | International Business Machines Corporation | Application portability and extensibility through database schema and query abstraction |
US9811513B2 (en) | 2003-12-09 | 2017-11-07 | International Business Machines Corporation | Annotation structure type determination |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050038788A1 (en) * | 2003-08-14 | 2005-02-17 | International Business Machines Corporation | Annotation security to prevent the divulgence of sensitive information |
US8156444B1 (en) | 2003-12-31 | 2012-04-10 | Google Inc. | Systems and methods for determining a user interface attribute |
US7669117B2 (en) * | 2004-03-18 | 2010-02-23 | International Business Machines Corporation | Method and system for creation and retrieval of global annotations |
US8595214B1 (en) | 2004-03-31 | 2013-11-26 | Google Inc. | Systems and methods for article location and retrieval |
US7853606B1 (en) * | 2004-09-14 | 2010-12-14 | Google, Inc. | Alternate methods of displaying search results |
WO2006081698A1 (en) * | 2005-02-02 | 2006-08-10 | Sdn Ag | Search engine based self-teaching system |
US8533586B1 (en) | 2005-07-18 | 2013-09-10 | Twelvefold Media Inc. | Annotation overlay collection, storage, and display system and method |
US20070156680A1 (en) * | 2005-12-21 | 2007-07-05 | Microsoft Corporation | Disconnected authoring of business definitions |
US7917511B2 (en) * | 2006-03-20 | 2011-03-29 | Cannon Structures, Inc. | Query system using iterative grouping and narrowing of query results |
US8261181B2 (en) * | 2006-03-30 | 2012-09-04 | Microsoft Corporation | Multidimensional metrics-based annotation |
US8190992B2 (en) * | 2006-04-21 | 2012-05-29 | Microsoft Corporation | Grouping and display of logically defined reports |
US20080172287A1 (en) * | 2007-01-17 | 2008-07-17 | Ian Tien | Automated Domain Determination in Business Logic Applications |
US9058307B2 (en) | 2007-01-26 | 2015-06-16 | Microsoft Technology Licensing, Llc | Presentation generation using scorecard elements |
US8321805B2 (en) | 2007-01-30 | 2012-11-27 | Microsoft Corporation | Service architecture based metric views |
US8495663B2 (en) | 2007-02-02 | 2013-07-23 | Microsoft Corporation | Real time collaboration using embedded data visualizations |
US8909635B2 (en) * | 2007-09-21 | 2014-12-09 | International Business Machines Corporation | Profiling content creation and retrieval in a content management system |
US8156053B2 (en) * | 2008-05-09 | 2012-04-10 | Yahoo! Inc. | Automated tagging of documents |
US9015166B2 (en) | 2009-05-30 | 2015-04-21 | Edmond Kwok-Keung Chow | Methods and systems for annotation of digital information |
US10424000B2 (en) | 2009-05-30 | 2019-09-24 | Edmond K. Chow | Methods and systems for annotation of digital information |
WO2010139127A1 (en) * | 2009-05-30 | 2010-12-09 | Edmond Kwok-Keung Chow | Methods and systems for annotation of digital information |
US20110137917A1 (en) * | 2009-12-03 | 2011-06-09 | International Business Machines Corporation | Retrieving a data item annotation in a view |
US9959326B2 (en) | 2011-03-23 | 2018-05-01 | International Business Machines Corporation | Annotating schema elements based on associating data instances with knowledge base entities |
US9164990B2 (en) * | 2011-12-20 | 2015-10-20 | Sap Portals Israel Ltd | Annotating contextual workspaces |
US9443098B2 (en) | 2012-12-19 | 2016-09-13 | Pandexio, Inc. | Multi-layered metadata management system |
US8719217B1 (en) | 2013-03-15 | 2014-05-06 | Decisyon, Inc. | Systems, devices, and methods for generation of contextual objects mapped by dimensional data to data measures |
US10152538B2 (en) * | 2013-05-06 | 2018-12-11 | Dropbox, Inc. | Suggested search based on a content item |
US9639572B2 (en) | 2013-09-06 | 2017-05-02 | Sap Se | SQL enhancements simplifying database querying |
US9361407B2 (en) | 2013-09-06 | 2016-06-07 | Sap Se | SQL extended with transient fields for calculation expressions in enhanced data models |
US9176801B2 (en) | 2013-09-06 | 2015-11-03 | Sap Se | Advanced data models containing declarative and programmatic constraints |
US9430523B2 (en) * | 2013-09-06 | 2016-08-30 | Sap Se | Entity-relationship model extensions using annotations |
US9442977B2 (en) | 2013-09-06 | 2016-09-13 | Sap Se | Database language extended to accommodate entity-relationship models |
US9354948B2 (en) | 2013-09-06 | 2016-05-31 | Sap Se | Data models containing host language embedded constraints |
US9619552B2 (en) | 2013-09-06 | 2017-04-11 | Sap Se | Core data services extensibility for entity-relationship models |
US9773000B2 (en) | 2013-10-29 | 2017-09-26 | Pandexio, Inc. | Knowledge object and collaboration management system |
EP3103216A4 (en) | 2014-01-02 | 2017-12-06 | Decisyon, Inc. | Systems, devices, and methods for exchanging and processing data measures and objects |
US9922099B2 (en) | 2014-09-30 | 2018-03-20 | Splunk Inc. | Event limited field picker |
US10235460B2 (en) | 2014-09-30 | 2019-03-19 | Splunk Inc. | Sharing configuration information for searches in data intake and query systems |
US9990423B2 (en) | 2014-09-30 | 2018-06-05 | Splunk Inc. | Hybrid cluster-based data intake and query |
US9519632B1 (en) * | 2015-12-22 | 2016-12-13 | International Business Machines Corporation | Web document annotation service |
US20190129832A1 (en) * | 2017-11-02 | 2019-05-02 | Siemens Aktiengesellschaft | System and method for test data generation for use in model based testing using source code test annotations and constraint solving |
CN108959255B (en) * | 2018-06-28 | 2019-09-10 | 北京百度网讯科技有限公司 | Entity labeled data collection construction method, device and equipment |
US11138206B2 (en) * | 2018-12-19 | 2021-10-05 | Sap Se | Unified metadata model translation framework |
CN111078671A (en) * | 2019-12-19 | 2020-04-28 | 北京启迪区块链科技发展有限公司 | Method, device, equipment and medium for modifying data table field |
CN112507067B (en) * | 2020-11-30 | 2022-08-23 | 厦门海西医药交易中心有限公司 | Cache plug-in annotating device and annotation method |
US20220229846A1 (en) * | 2021-01-20 | 2022-07-21 | Salesforce.Com, Inc. | Implementing field-level comments and presence detection |
US11983391B2 (en) * | 2022-08-26 | 2024-05-14 | Bank Of America Corporation | System and method for data analysis and processing using identification tagging of information on a graphical user interface |
Citations (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5247611A (en) * | 1989-09-15 | 1993-09-21 | Emtek Health Care Systems, Inc. | Spreadsheet cell having multiple data fields |
US5253362A (en) * | 1990-01-29 | 1993-10-12 | Emtek Health Care Systems, Inc. | Method for storing, retrieving, and indicating a plurality of annotations in a data cell |
US5309359A (en) * | 1990-08-16 | 1994-05-03 | Boris Katz | Method and apparatus for generating and utlizing annotations to facilitate computer text retrieval |
US5345586A (en) * | 1992-08-25 | 1994-09-06 | International Business Machines Corporation | Method and system for manipulation of distributed heterogeneous data in a data processing system |
US5369778A (en) * | 1987-08-21 | 1994-11-29 | Wang Laboratories, Inc. | Data processor that customizes program behavior by using a resource retrieval capability |
US5513305A (en) * | 1994-03-01 | 1996-04-30 | Apple Computer, Inc. | System and method for documenting and displaying computer program code |
US5725227A (en) * | 1995-07-20 | 1998-03-10 | Schwinn Cycling & Fitness Inc. | Suspension system for a bicycle |
US5734887A (en) * | 1995-09-29 | 1998-03-31 | International Business Machines Corporation | Method and apparatus for logical data access to a physical relational database |
US5809497A (en) * | 1995-05-26 | 1998-09-15 | Starfish Software, Inc. | Databank system with methods for efficiently storing non uniforms data records |
US5893087A (en) * | 1995-03-28 | 1999-04-06 | Dex Information Systems, Inc. | Method and apparatus for improved information storage and retrieval system |
US5918232A (en) * | 1997-11-26 | 1999-06-29 | Whitelight Systems, Inc. | Multidimensional domain modeling method and system |
US5924074A (en) * | 1996-09-27 | 1999-07-13 | Azron Incorporated | Electronic medical records system |
US5943666A (en) * | 1997-09-15 | 1999-08-24 | International Business Machines Corporation | Method and apparatus for optimizing queries across heterogeneous databases |
US5974389A (en) * | 1996-03-01 | 1999-10-26 | Clark; Melanie Ann | Medical record management system and process with improved workflow features |
US5987446A (en) * | 1996-11-12 | 1999-11-16 | U.S. West, Inc. | Searching large collections of text using multiple search engines concurrently |
US5999182A (en) * | 1998-05-11 | 1999-12-07 | The Board Of Trustees Of The Leland Stanford Junior University | Computational architecture for reasoning involving extensible graphical representations |
US6047327A (en) * | 1996-02-16 | 2000-04-04 | Intel Corporation | System for distributing electronic information to a targeted group of users |
US6061506A (en) * | 1995-08-29 | 2000-05-09 | Omega Software Technologies, Inc. | Adaptive strategy-based system |
US6226650B1 (en) * | 1998-09-17 | 2001-05-01 | Synchrologic, Inc. | Database synchronization and organization system and method |
US20010016872A1 (en) * | 1999-11-30 | 2001-08-23 | Rika Kusuda | Information control system, information processing support server, information processing terminal, information processing method, storage storing information processing program, and program transmission apparatus |
US20010016843A1 (en) * | 1999-02-08 | 2001-08-23 | Todd Olson | Method and apparatus for accessing data |
US6289362B1 (en) * | 1998-09-01 | 2001-09-11 | Aidministrator Nederland B.V. | System and method for generating, transferring and using an annotated universal address |
US20010037345A1 (en) * | 2000-03-21 | 2001-11-01 | International Business Machines Corporation | Tagging XML query results over relational DBMSs |
US20010042098A1 (en) * | 1998-09-15 | 2001-11-15 | Anoop Gupta | Facilitating annotation creation and notification via electronic mail |
US20020016821A1 (en) * | 2000-08-04 | 2002-02-07 | Byeong-Keon Son | Medical data exchange method |
US20020026630A1 (en) * | 2000-08-28 | 2002-02-28 | John Schmidt | Enterprise application integration methodology |
US20020032676A1 (en) * | 1994-01-31 | 2002-03-14 | David Reiner | Method and apparatus for data access in multiprocessor digital data processing systems |
US20020035563A1 (en) * | 2000-05-29 | 2002-03-21 | Suda Aruna Rohra | System and method for saving browsed data |
US20020078068A1 (en) * | 2000-09-07 | 2002-06-20 | Muralidhar Krishnaprasad | Method and apparatus for flexible storage and uniform manipulation of XML data in a relational database system |
US20020083094A1 (en) * | 1998-12-31 | 2002-06-27 | Gene Golovchinsky | Method and apparatus for annotating widgets |
US20020091702A1 (en) * | 2000-11-16 | 2002-07-11 | Ward Mullins | Dynamic object-driven database manipulation and mapping system |
US20020091990A1 (en) * | 2000-10-04 | 2002-07-11 | Todd Little | System for software application development and modeling |
US20020123984A1 (en) * | 1999-08-23 | 2002-09-05 | Naveen Prakash | Dynamic query of server applications |
US6457003B1 (en) * | 1999-08-16 | 2002-09-24 | International Business Machines Corporation | Methods, systems and computer program products for logical access of data sources utilizing standard relational database management systems |
US6460043B1 (en) * | 1998-02-04 | 2002-10-01 | Microsoft Corporation | Method and apparatus for operating on data with a conceptual data manipulation language |
US20020147796A1 (en) * | 2001-04-05 | 2002-10-10 | International Business Machines Corporation | Method for saving a network address |
US20020161801A1 (en) * | 2001-04-26 | 2002-10-31 | Hind John R. | Efficient processing of extensible markup language documents in content based routing networks |
US6519603B1 (en) * | 1999-10-28 | 2003-02-11 | International Business Machine Corporation | Method and system for organizing an annotation structure and for querying data and annotations |
US6553368B2 (en) * | 1998-03-03 | 2003-04-22 | Sun Microsystems, Inc. | Network directory access mechanism |
US20030081000A1 (en) * | 2001-11-01 | 2003-05-01 | International Business Machines Corporation | Method, program and computer system for sharing annotation information added to digital contents |
US6571295B1 (en) * | 1996-01-31 | 2003-05-27 | Microsoft Corporation | Web page annotating and processing |
US20030120527A1 (en) * | 2001-12-26 | 2003-06-26 | Andres Palomo | Computer-implemented system and method for productivity enhancement |
US6596593B2 (en) * | 2000-12-05 | 2003-07-22 | Seiko Instruments Inc. | Method of manufacturing semiconductor device employing oxygen implantation |
US6601065B1 (en) * | 2000-12-21 | 2003-07-29 | Cisco Technology, Inc. | Method and apparatus for accessing a database through a network |
US6609123B1 (en) * | 1999-09-03 | 2003-08-19 | Cognos Incorporated | Query engine and method for querying data using metadata model |
US6611838B1 (en) * | 2000-09-01 | 2003-08-26 | Cognos Incorporated | Metadata exchange |
US20030167274A1 (en) * | 2002-02-26 | 2003-09-04 | International Business Machines Corporation | Modification of a data repository based on an abstract data representation |
US20030172056A1 (en) * | 2002-02-26 | 2003-09-11 | International Business Machines Corporation | Application portability and extensibility through database schema and query abstraction |
US20030204490A1 (en) * | 2002-04-24 | 2003-10-30 | Stephane Kasriel | Web-page collaboration system |
US20030208486A1 (en) * | 2002-04-25 | 2003-11-06 | International Machines Business Machines | Dynamic end user specific customization of an application's physical data layer through a data repository abstraction layer |
US20030212666A1 (en) * | 2002-05-10 | 2003-11-13 | Sankar Basu | Adaptive probabilistic query expansion |
US6651055B1 (en) * | 2001-03-01 | 2003-11-18 | Lawson Software, Inc. | OLAP query generation engine |
US20030217033A1 (en) * | 2002-05-17 | 2003-11-20 | Zigmund Sandler | Database system and methods |
US20030220893A1 (en) * | 2002-05-23 | 2003-11-27 | International Business Machines Corporation | Dynamic content generation/regeneration for a database schema abstraction |
US6671714B1 (en) * | 1999-11-23 | 2003-12-30 | Frank Michael Weyer | Method, apparatus and business system for online communications with online and offline recipients |
US6725225B1 (en) * | 1999-09-29 | 2004-04-20 | Mitsubishi Denki Kabushiki Kaisha | Data management apparatus and method for efficiently generating a blocked transposed file and converting that file using a stored compression method |
US6725227B1 (en) * | 1998-10-02 | 2004-04-20 | Nec Corporation | Advanced web bookmark database system |
US20040088561A1 (en) * | 2002-10-31 | 2004-05-06 | International Business Machines Corporation | Method of query return data analysis for early warning indicators of possible security exposures |
US20040138946A1 (en) * | 2001-05-04 | 2004-07-15 | Markus Stolze | Web page annotation systems |
US20040150669A1 (en) * | 2003-01-31 | 2004-08-05 | Sabiers Mark L. | Graphical user interface for describing the state of a managed system |
US20040163042A1 (en) * | 2000-07-26 | 2004-08-19 | Itm Associates | Method and system for annotating documents using an independent annotation repository |
US20040172305A1 (en) * | 2001-03-09 | 2004-09-02 | Soerensen Jesper Leck | Method and appartus for delivering healthcare |
US6803927B1 (en) * | 1997-06-20 | 2004-10-12 | Autodesk, Inc. | Intelligent proxy objects |
US6820076B2 (en) * | 2000-05-18 | 2004-11-16 | I2 Technologies Us, Inc. | Database system facilitating parametric searching |
US6826595B1 (en) * | 2000-07-05 | 2004-11-30 | Sap Portals Israel, Ltd. | Internet collaboration system and method |
US20040260714A1 (en) * | 2003-06-20 | 2004-12-23 | Avijit Chatterjee | Universal annotation management system |
US6871318B1 (en) * | 1998-03-13 | 2005-03-22 | Siemens Corporate Research, Inc. | System and method for authoring, distributing and replaying derivative hypermedia content |
US20050065958A1 (en) * | 2003-09-19 | 2005-03-24 | International Business Machines Corporation | Expanding the scope of an annotation to an entity level |
US20050075996A1 (en) * | 2002-02-26 | 2005-04-07 | International Business Machines Corporation | Sequenced modification of multiple entities based on an abstract data representation |
US6954748B2 (en) * | 2002-04-25 | 2005-10-11 | International Business Machines Corporation | Remote data access and integration of distributed data sources through data schema and query abstraction |
US6956593B1 (en) * | 1998-09-15 | 2005-10-18 | Microsoft Corporation | User interface for creating, viewing and temporally positioning annotations for media content |
US6978324B1 (en) * | 2000-06-27 | 2005-12-20 | Emc Corporation | Method and apparatus for controlling read and write accesses to a logical entity |
US6985912B2 (en) * | 2002-07-22 | 2006-01-10 | Thought, Inc. | Dynamic object-driven database manipulation and mapping system having a simple global interface and an optional multiple user need only caching system with disable and notify features |
US7054877B2 (en) * | 2003-03-31 | 2006-05-30 | International Business Machines Corporation | Dealing with composite data through data model entities |
US7117432B1 (en) * | 2001-08-13 | 2006-10-03 | Xerox Corporation | Meta-document management system with transit triggered enrichment |
US20080147708A1 (en) * | 2006-12-15 | 2008-06-19 | Iac Search & Media, Inc. | Preview window with rss feed |
US7392267B2 (en) * | 2002-12-04 | 2008-06-24 | International Business Machines Corporation | Annotation validity using partial checksums |
US7428701B1 (en) * | 1998-12-18 | 2008-09-23 | Appligent Inc. | Method, system and computer program for redaction of material from documents |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5630121A (en) * | 1993-02-02 | 1997-05-13 | International Business Machines Corporation | Archiving and retrieving multimedia objects using structured indexes |
US6006264A (en) * | 1997-08-01 | 1999-12-21 | Arrowpoint Communications, Inc. | Method and system for directing a flow between a client and a server |
US6009422A (en) * | 1997-11-26 | 1999-12-28 | International Business Machines Corporation | System and method for query translation/semantic translation using generalized query language |
US6233586B1 (en) * | 1998-04-01 | 2001-05-15 | International Business Machines Corp. | Federated searching of heterogeneous datastores using a federated query object |
US6457009B1 (en) * | 1998-11-09 | 2002-09-24 | Denison W. Bollay | Method of searching multiples internet resident databases using search fields in a generic form |
US7752024B2 (en) * | 2000-05-05 | 2010-07-06 | Computer Associates Think, Inc. | Systems and methods for constructing multi-layer topological models of computer networks |
KR20040035675A (en) * | 2001-07-06 | 2004-04-29 | 컴퓨터 어소시에이트스 인터내쇼날 인코포레이티드 | System and method for managing object based clusters |
-
2003
- 2003-09-19 US US10/664,537 patent/US7899843B2/en not_active Expired - Fee Related
-
2008
- 2008-02-04 US US12/025,131 patent/US20080126328A1/en not_active Abandoned
- 2008-02-04 US US12/025,132 patent/US8126915B2/en not_active Expired - Fee Related
- 2008-02-04 US US12/025,129 patent/US7904469B2/en not_active Expired - Fee Related
Patent Citations (96)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5369778A (en) * | 1987-08-21 | 1994-11-29 | Wang Laboratories, Inc. | Data processor that customizes program behavior by using a resource retrieval capability |
US5247611A (en) * | 1989-09-15 | 1993-09-21 | Emtek Health Care Systems, Inc. | Spreadsheet cell having multiple data fields |
US5253362A (en) * | 1990-01-29 | 1993-10-12 | Emtek Health Care Systems, Inc. | Method for storing, retrieving, and indicating a plurality of annotations in a data cell |
US5309359A (en) * | 1990-08-16 | 1994-05-03 | Boris Katz | Method and apparatus for generating and utlizing annotations to facilitate computer text retrieval |
US5345586A (en) * | 1992-08-25 | 1994-09-06 | International Business Machines Corporation | Method and system for manipulation of distributed heterogeneous data in a data processing system |
US20020032676A1 (en) * | 1994-01-31 | 2002-03-14 | David Reiner | Method and apparatus for data access in multiprocessor digital data processing systems |
US5513305A (en) * | 1994-03-01 | 1996-04-30 | Apple Computer, Inc. | System and method for documenting and displaying computer program code |
US5893087A (en) * | 1995-03-28 | 1999-04-06 | Dex Information Systems, Inc. | Method and apparatus for improved information storage and retrieval system |
US5809497A (en) * | 1995-05-26 | 1998-09-15 | Starfish Software, Inc. | Databank system with methods for efficiently storing non uniforms data records |
US5725227A (en) * | 1995-07-20 | 1998-03-10 | Schwinn Cycling & Fitness Inc. | Suspension system for a bicycle |
US6061506A (en) * | 1995-08-29 | 2000-05-09 | Omega Software Technologies, Inc. | Adaptive strategy-based system |
US5734887A (en) * | 1995-09-29 | 1998-03-31 | International Business Machines Corporation | Method and apparatus for logical data access to a physical relational database |
US6571295B1 (en) * | 1996-01-31 | 2003-05-27 | Microsoft Corporation | Web page annotating and processing |
US6047327A (en) * | 1996-02-16 | 2000-04-04 | Intel Corporation | System for distributing electronic information to a targeted group of users |
US5974389A (en) * | 1996-03-01 | 1999-10-26 | Clark; Melanie Ann | Medical record management system and process with improved workflow features |
US6347329B1 (en) * | 1996-09-27 | 2002-02-12 | Macneal Memorial Hospital Assoc. | Electronic medical records system |
US5924074A (en) * | 1996-09-27 | 1999-07-13 | Azron Incorporated | Electronic medical records system |
US5987446A (en) * | 1996-11-12 | 1999-11-16 | U.S. West, Inc. | Searching large collections of text using multiple search engines concurrently |
US6803927B1 (en) * | 1997-06-20 | 2004-10-12 | Autodesk, Inc. | Intelligent proxy objects |
US5943666A (en) * | 1997-09-15 | 1999-08-24 | International Business Machines Corporation | Method and apparatus for optimizing queries across heterogeneous databases |
US5918232A (en) * | 1997-11-26 | 1999-06-29 | Whitelight Systems, Inc. | Multidimensional domain modeling method and system |
US6460043B1 (en) * | 1998-02-04 | 2002-10-01 | Microsoft Corporation | Method and apparatus for operating on data with a conceptual data manipulation language |
US6553368B2 (en) * | 1998-03-03 | 2003-04-22 | Sun Microsystems, Inc. | Network directory access mechanism |
US6871318B1 (en) * | 1998-03-13 | 2005-03-22 | Siemens Corporate Research, Inc. | System and method for authoring, distributing and replaying derivative hypermedia content |
US5999182A (en) * | 1998-05-11 | 1999-12-07 | The Board Of Trustees Of The Leland Stanford Junior University | Computational architecture for reasoning involving extensible graphical representations |
US6289362B1 (en) * | 1998-09-01 | 2001-09-11 | Aidministrator Nederland B.V. | System and method for generating, transferring and using an annotated universal address |
US6956593B1 (en) * | 1998-09-15 | 2005-10-18 | Microsoft Corporation | User interface for creating, viewing and temporally positioning annotations for media content |
US20010042098A1 (en) * | 1998-09-15 | 2001-11-15 | Anoop Gupta | Facilitating annotation creation and notification via electronic mail |
US7051275B2 (en) * | 1998-09-15 | 2006-05-23 | Microsoft Corporation | Annotations for multiple versions of media content |
US20030196164A1 (en) * | 1998-09-15 | 2003-10-16 | Anoop Gupta | Annotations for multiple versions of media content |
US6484156B1 (en) * | 1998-09-15 | 2002-11-19 | Microsoft Corporation | Accessing annotations across multiple target media streams |
US6226650B1 (en) * | 1998-09-17 | 2001-05-01 | Synchrologic, Inc. | Database synchronization and organization system and method |
US6725227B1 (en) * | 1998-10-02 | 2004-04-20 | Nec Corporation | Advanced web bookmark database system |
US7428701B1 (en) * | 1998-12-18 | 2008-09-23 | Appligent Inc. | Method, system and computer program for redaction of material from documents |
US20020083094A1 (en) * | 1998-12-31 | 2002-06-27 | Gene Golovchinsky | Method and apparatus for annotating widgets |
US20010016843A1 (en) * | 1999-02-08 | 2001-08-23 | Todd Olson | Method and apparatus for accessing data |
US6457003B1 (en) * | 1999-08-16 | 2002-09-24 | International Business Machines Corporation | Methods, systems and computer program products for logical access of data sources utilizing standard relational database management systems |
US20020123984A1 (en) * | 1999-08-23 | 2002-09-05 | Naveen Prakash | Dynamic query of server applications |
US6609123B1 (en) * | 1999-09-03 | 2003-08-19 | Cognos Incorporated | Query engine and method for querying data using metadata model |
US6725225B1 (en) * | 1999-09-29 | 2004-04-20 | Mitsubishi Denki Kabushiki Kaisha | Data management apparatus and method for efficiently generating a blocked transposed file and converting that file using a stored compression method |
US6519603B1 (en) * | 1999-10-28 | 2003-02-11 | International Business Machine Corporation | Method and system for organizing an annotation structure and for querying data and annotations |
US6671714B1 (en) * | 1999-11-23 | 2003-12-30 | Frank Michael Weyer | Method, apparatus and business system for online communications with online and offline recipients |
US20010016872A1 (en) * | 1999-11-30 | 2001-08-23 | Rika Kusuda | Information control system, information processing support server, information processing terminal, information processing method, storage storing information processing program, and program transmission apparatus |
US20010037345A1 (en) * | 2000-03-21 | 2001-11-01 | International Business Machines Corporation | Tagging XML query results over relational DBMSs |
US6820076B2 (en) * | 2000-05-18 | 2004-11-16 | I2 Technologies Us, Inc. | Database system facilitating parametric searching |
US20020035563A1 (en) * | 2000-05-29 | 2002-03-21 | Suda Aruna Rohra | System and method for saving browsed data |
US6978324B1 (en) * | 2000-06-27 | 2005-12-20 | Emc Corporation | Method and apparatus for controlling read and write accesses to a logical entity |
US6826595B1 (en) * | 2000-07-05 | 2004-11-30 | Sap Portals Israel, Ltd. | Internet collaboration system and method |
US20040163042A1 (en) * | 2000-07-26 | 2004-08-19 | Itm Associates | Method and system for annotating documents using an independent annotation repository |
US20020016821A1 (en) * | 2000-08-04 | 2002-02-07 | Byeong-Keon Son | Medical data exchange method |
US20020026630A1 (en) * | 2000-08-28 | 2002-02-28 | John Schmidt | Enterprise application integration methodology |
US6611838B1 (en) * | 2000-09-01 | 2003-08-26 | Cognos Incorporated | Metadata exchange |
US20020078068A1 (en) * | 2000-09-07 | 2002-06-20 | Muralidhar Krishnaprasad | Method and apparatus for flexible storage and uniform manipulation of XML data in a relational database system |
US7024425B2 (en) * | 2000-09-07 | 2006-04-04 | Oracle International Corporation | Method and apparatus for flexible storage and uniform manipulation of XML data in a relational database system |
US20020091990A1 (en) * | 2000-10-04 | 2002-07-11 | Todd Little | System for software application development and modeling |
US20020091702A1 (en) * | 2000-11-16 | 2002-07-11 | Ward Mullins | Dynamic object-driven database manipulation and mapping system |
US6596593B2 (en) * | 2000-12-05 | 2003-07-22 | Seiko Instruments Inc. | Method of manufacturing semiconductor device employing oxygen implantation |
US6601065B1 (en) * | 2000-12-21 | 2003-07-29 | Cisco Technology, Inc. | Method and apparatus for accessing a database through a network |
US7363287B2 (en) * | 2001-03-01 | 2008-04-22 | Lawson Software, Inc. | OLAP query generation engine |
US20040039736A1 (en) * | 2001-03-01 | 2004-02-26 | Lawson Software, Inc. | OLAP query generation engine |
US6651055B1 (en) * | 2001-03-01 | 2003-11-18 | Lawson Software, Inc. | OLAP query generation engine |
US20040172305A1 (en) * | 2001-03-09 | 2004-09-02 | Soerensen Jesper Leck | Method and appartus for delivering healthcare |
US20020147796A1 (en) * | 2001-04-05 | 2002-10-10 | International Business Machines Corporation | Method for saving a network address |
US20020161801A1 (en) * | 2001-04-26 | 2002-10-31 | Hind John R. | Efficient processing of extensible markup language documents in content based routing networks |
US20040138946A1 (en) * | 2001-05-04 | 2004-07-15 | Markus Stolze | Web page annotation systems |
US7117432B1 (en) * | 2001-08-13 | 2006-10-03 | Xerox Corporation | Meta-document management system with transit triggered enrichment |
US20030081000A1 (en) * | 2001-11-01 | 2003-05-01 | International Business Machines Corporation | Method, program and computer system for sharing annotation information added to digital contents |
US20030120527A1 (en) * | 2001-12-26 | 2003-06-26 | Andres Palomo | Computer-implemented system and method for productivity enhancement |
US20030167274A1 (en) * | 2002-02-26 | 2003-09-04 | International Business Machines Corporation | Modification of a data repository based on an abstract data representation |
US20030172056A1 (en) * | 2002-02-26 | 2003-09-11 | International Business Machines Corporation | Application portability and extensibility through database schema and query abstraction |
US20080215611A1 (en) * | 2002-02-26 | 2008-09-04 | Dettinger Richard D | Sequenced modification of multiple entities based on an abstract data representation |
US20050075996A1 (en) * | 2002-02-26 | 2005-04-07 | International Business Machines Corporation | Sequenced modification of multiple entities based on an abstract data representation |
US20080215612A1 (en) * | 2002-02-26 | 2008-09-04 | Dettinger Richard D | Sequenced modification of multiple entities based on an abstract data representation |
US7398263B2 (en) * | 2002-02-26 | 2008-07-08 | International Business Machines Corporation | Sequenced modification of multiple entities based on an abstract data representation |
US20060010127A1 (en) * | 2002-02-26 | 2006-01-12 | International Business Machines Corporation | Application portability and extensibility through database schema and query abstraction |
US6996558B2 (en) * | 2002-02-26 | 2006-02-07 | International Business Machines Corporation | Application portability and extensibility through database schema and query abstraction |
US20030204490A1 (en) * | 2002-04-24 | 2003-10-30 | Stephane Kasriel | Web-page collaboration system |
US20030208486A1 (en) * | 2002-04-25 | 2003-11-06 | International Machines Business Machines | Dynamic end user specific customization of an application's physical data layer through a data repository abstraction layer |
US6928431B2 (en) * | 2002-04-25 | 2005-08-09 | International Business Machines Corporation | Dynamic end user specific customization of an application's physical data layer through a data repository abstraction layer |
US6954748B2 (en) * | 2002-04-25 | 2005-10-11 | International Business Machines Corporation | Remote data access and integration of distributed data sources through data schema and query abstraction |
US20030212666A1 (en) * | 2002-05-10 | 2003-11-13 | Sankar Basu | Adaptive probabilistic query expansion |
US20030217033A1 (en) * | 2002-05-17 | 2003-11-20 | Zigmund Sandler | Database system and methods |
US7249118B2 (en) * | 2002-05-17 | 2007-07-24 | Aleri, Inc. | Database system and methods |
US20030220893A1 (en) * | 2002-05-23 | 2003-11-27 | International Business Machines Corporation | Dynamic content generation/regeneration for a database schema abstraction |
US7096229B2 (en) * | 2002-05-23 | 2006-08-22 | International Business Machines Corporation | Dynamic content generation/regeneration for a database schema abstraction |
US6985912B2 (en) * | 2002-07-22 | 2006-01-10 | Thought, Inc. | Dynamic object-driven database manipulation and mapping system having a simple global interface and an optional multiple user need only caching system with disable and notify features |
US20040088561A1 (en) * | 2002-10-31 | 2004-05-06 | International Business Machines Corporation | Method of query return data analysis for early warning indicators of possible security exposures |
US7392267B2 (en) * | 2002-12-04 | 2008-06-24 | International Business Machines Corporation | Annotation validity using partial checksums |
US20040150669A1 (en) * | 2003-01-31 | 2004-08-05 | Sabiers Mark L. | Graphical user interface for describing the state of a managed system |
US20060155692A1 (en) * | 2003-03-31 | 2006-07-13 | Dettinger Richard D | Dealing with composite data through data model entities |
US7054877B2 (en) * | 2003-03-31 | 2006-05-30 | International Business Machines Corporation | Dealing with composite data through data model entities |
US7539662B2 (en) * | 2003-03-31 | 2009-05-26 | International Business Machines Corporation | Dealing with composite data through data model entities |
US20040260714A1 (en) * | 2003-06-20 | 2004-12-23 | Avijit Chatterjee | Universal annotation management system |
US20080126329A1 (en) * | 2003-09-19 | 2008-05-29 | Dettinger Richard D | Expanding the scope of an annotation to an entity level |
US20050065958A1 (en) * | 2003-09-19 | 2005-03-24 | International Business Machines Corporation | Expanding the scope of an annotation to an entity level |
US20080147708A1 (en) * | 2006-12-15 | 2008-06-19 | Iac Search & Media, Inc. | Preview window with rss feed |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8180787B2 (en) | 2002-02-26 | 2012-05-15 | International Business Machines Corporation | Application portability and extensibility through database schema and query abstraction |
US20080126329A1 (en) * | 2003-09-19 | 2008-05-29 | Dettinger Richard D | Expanding the scope of an annotation to an entity level |
US20080147718A1 (en) * | 2003-09-19 | 2008-06-19 | Dettinger Richard D | Expanding the scope of an annotation to an entity level |
US7904469B2 (en) | 2003-09-19 | 2011-03-08 | International Business Machines Corporation | Expanding the scope of an annotation to an entity level |
US8126915B2 (en) | 2003-09-19 | 2012-02-28 | International Business Machines Corporation | Expanding the scope of an annotation to an entity level |
US9811513B2 (en) | 2003-12-09 | 2017-11-07 | International Business Machines Corporation | Annotation structure type determination |
Also Published As
Publication number | Publication date |
---|---|
US8126915B2 (en) | 2012-02-28 |
US20050065958A1 (en) | 2005-03-24 |
US20080126329A1 (en) | 2008-05-29 |
US7904469B2 (en) | 2011-03-08 |
US7899843B2 (en) | 2011-03-01 |
US20080147718A1 (en) | 2008-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7904469B2 (en) | Expanding the scope of an annotation to an entity level | |
US7941444B2 (en) | Universal annotation configuration and deployment | |
US7669117B2 (en) | Method and system for creation and retrieval of global annotations | |
US9811513B2 (en) | Annotation structure type determination | |
US20050038788A1 (en) | Annotation security to prevent the divulgence of sensitive information | |
US20040260714A1 (en) | Universal annotation management system | |
US20040260717A1 (en) | Universal annotation server and interface | |
US20040267798A1 (en) | Federated annotation browser | |
US9043365B2 (en) | Peer to peer (P2P) federated concept queries | |
US9026901B2 (en) | Viewing annotations across multiple applications | |
US7844607B2 (en) | Annotation of query components | |
US8375046B2 (en) | Peer to peer (P2P) federated concept queries | |
US20050160356A1 (en) | Dealing with annotation versioning through multiple versioning policies and management thereof | |
US8713041B2 (en) | Peer to peer (P2P) missing fields and field valuation feedback | |
US8086568B2 (en) | Peer to peer (P2P) concept query notification of available query augmentation within query results | |
US20080250003A1 (en) | Peer to peer (p2p) concept query abstraction model augmentation with federated access only elements | |
US7509303B1 (en) | Information retrieval system using attribute normalization | |
US20050171966A1 (en) | Relational to hierarchical tree data conversion technique |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |