U.S. patent application number 10/010727 was filed with the patent office on 2002-10-24 for intelligent object handling device and method for intelligent object data in heterogeneous data environments with high data density and dynamic application needs.
This patent application is currently assigned to Biosentients, Inc.. Invention is credited to Gombocz, Erich A., Stanley, Robert A..
Application Number | 20020156792 10/010727 |
Document ID | / |
Family ID | 27585989 |
Filed Date | 2002-10-24 |
United States Patent
Application |
20020156792 |
Kind Code |
A1 |
Gombocz, Erich A. ; et
al. |
October 24, 2002 |
Intelligent object handling device and method for intelligent
object data in heterogeneous data environments with high data
density and dynamic application needs
Abstract
System, method, computer program and computer program product
for generation of Intelligent Object data; unified presentation of
dynamically customizable functional menus and interfaces such as
for user definition, administration and security protocols; secured
user interaction, access and presentation based on imported and/or
defined user definition, administration and security protocols;
data object standardization and normalization; definition of user
interaction and computing environment protocols for data object
translation, standardization, access and routing; definition of
data type access, translation, presentation and routing protocols
for functional data and applications integration; definition of
application and/or application components and interface access,
translation, presentation and routing protocols for functional data
and applications integration; provision of interactive, unified,
functionality for data acquisition, management, viewing and
analysis. Application of such methods and techniques whether
implemented in computer program software or otherwise to
heterogeneous data environments with high data density and dynamic
application needs
Inventors: |
Gombocz, Erich A.; (San
Francisco, CA) ; Stanley, Robert A.; (Emeryville,
CA) |
Correspondence
Address: |
FLEHR HOHBACH TEST
ALBRITTON & HERBERT, LLP
Suite 3400
Four Embarcadero Center
San Francisco
CA
94111
US
|
Assignee: |
Biosentients, Inc.
|
Family ID: |
27585989 |
Appl. No.: |
10/010727 |
Filed: |
December 6, 2001 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
60254063 |
Dec 6, 2000 |
|
|
|
60254062 |
Dec 6, 2000 |
|
|
|
60254064 |
Dec 6, 2000 |
|
|
|
60259050 |
Dec 29, 2000 |
|
|
|
60264238 |
Jan 25, 2001 |
|
|
|
60266957 |
Feb 6, 2001 |
|
|
|
60276711 |
Mar 16, 2001 |
|
|
|
60282656 |
Apr 9, 2001 |
|
|
|
60282658 |
Apr 9, 2001 |
|
|
|
60282654 |
Apr 9, 2001 |
|
|
|
60282657 |
Apr 9, 2001 |
|
|
|
60282655 |
Apr 9, 2001 |
|
|
|
60282979 |
Apr 10, 2001 |
|
|
|
60282989 |
Apr 10, 2001 |
|
|
|
60282991 |
Apr 10, 2001 |
|
|
|
60282990 |
Apr 10, 2001 |
|
|
|
Current U.S.
Class: |
1/1 ; 707/999.1;
707/E17.005 |
Current CPC
Class: |
Y10S 707/99944 20130101;
Y10S 707/99945 20130101; G06F 16/20 20190101 |
Class at
Publication: |
707/100 |
International
Class: |
G06F 017/00 |
Claims
We claim:
1. An applications handling framework is provided to enable
functionally integrated user interactivity, comprising structures
and methods for one or more of a. bi-directional information
interchange with components and access interfaces comprising such
as a data object with a comprised status management component
agent; an object pool database structure with a comprised result
aggregation engine; an object normalization engine; an object state
engine; an object translation engine; and application translation
interface, a master query interface; and a report generation
interface; b. utilizing unique data structures as core accessing;
routing; and processing elements for i. unified analysis of
homogeneous and/or heterogeneous data content, contained within
homogeneous and/or heterogeneous data formats, types and
structures; ii. by homogeneous and/or heterogeneous analytical
applications, modules, and plug-ins; iii. in homogeneous and/or
heterogeneous network computing environments; to enable c.
provision of user interactivity utilizing said Intelligent Object
data, Intelligent Object Handler, and Intelligent Object Pool
applications within a unified, globally accessible graphical user
environment, via an interactive unified presentation layer (UPL)
graphical user interface.
2. An applications handling framework as in claim 1, wherein said
methods for one or more of utilization, accessing, routing and
processing of data structures further comprise a. definition of
said data object and data content according to methods comprising
data matrix structure definition; application requirements
definition; data resource definition; and b. preparation of said
data object and data content according to methods for one or more
of data content and activity synchronization; standardization;
translation; validation; ranking; and automated and/or interactive
data organization; c. nested vector table translation of data
content presentation via extraction of required information,
generation and provision of look up tables for applications
integration; and d. non-destructive cache-based "overlay"
analytical processing of data content; e. analysis and presentation
of said data object and data content according to methods required
for analysis by potentially heterogeneous applications; to enable
f. unified analysis of homogeneous and/or heterogeneous data by
heterogeneous analytical applications in heterogeneous network
environments.
3. An applications handling framework as in claim 1, wherein said
methods for one or more of utilization, accessing, routing and
processing of data structures further comprise a. applications
environment detection, extraction and definition for accessing,
unified viewing, processing and routing; and b. data content
detection, extraction and definition for accessing, unified
viewing, processing and routing.
4. An applications handling framework as in claim 1, wherein said
methods for utilization, accessing, routing and processing of
functionally integrated data structures further comprise one or
more of a. direction of vectorized data content accessing, linking
and routing between data objects for direct parallel information
interchange; b. direction of meta-data accessing, linking and
routing between data objects for direct parallel information
interchange; c. direction of vectorized data content accessing,
linking and routing between data objects and applications for
direct parallel information interchange; d. direction of meta-data
accessing, linking and routing between data objects and
applications; for direct parallel information interchange; and e.
comparison, ranking and organization of said data according to
Boolean analysis, structural matching and/or other statistical
analyses of said information interchanged.
5. An applications handling framework as in claim 1, wherein said
methods for user interaction further comprise one or more of a.
direct vectorized accessing to all relevant data content and
meta-data properties of said potentially heterogeneous and
distributed data content; b. direct accessing to analytical
functionality of integrated applications and/or analytical
components; and c. functional integration of data content according
to data inter-relationships and analytical functionality required
for interactive accessing; routing; viewing; querying; and
analyzing of data content.
6. Within information technology platform architecture
advantageously enabled in software as the "Sentient IT Platform",
comprising Intelligent Object data structures and the Intelligent
Object Pool database structure, an Intelligent Object Handler data
and applications handling framework is provided to enable
functionally integrated user interactivity, said Intelligent Object
Handler comprising structures and methods for one or more of a.
bi-directional information interchange with components and access
interfaces comprising such as a data object with a comprised status
management component agent; an object pool database structure with
a comprised result aggregation engine; an object normalization
engine; an object state engine; an object translation engine; and
application translation interface, a master query interface; and a
report generation interface; b. utilizing unique Intelligent Object
data structures and comprised processing components and access
interfaces as accessing; routing; and processing elements; for i.
unified analysis of homogeneous and/or heterogeneous data content,
contained within homogeneous and/or heterogeneous data formats,
types and structures; ii. by homogeneous and/or heterogeneous
analytical applications, modules, and plug-ins; iii. in homogeneous
and/or heterogeneous network computing environments; to enable c.
provision of user interactivity utilizing said Intelligent Object
data, Intelligent Object Handler, and Intelligent Object Pool
applications within a unified, globally accessible graphical user
environment, via an interactive unified presentation layer (UPL)
graphical user interface.
7. An Intelligent Object Handler data and applications handling
framework as in claim 6, wherein said methods for utilization,
accessing, routing and processing of Intelligent Object data
structures and applications further comprise a. Intelligent Object
("IMO", hereinafter "Intelligent Object") data as core elements,
which provide methods advantageous for data handling, for i.
automated and/or interactive data and data resource access,
routing, processing, translation, analytical integration, viewing,
analysis and management; b. definition of said Intelligent Object
data structures and data content according to methods comprising
data matrix structure definition; application requirements
definition; data resource definition; and c. preparation of said
Intelligent Object data structures and data content according to
methods for data content and activity synchronization;
standardization; translation; validation; ranking; and automated
and/or interactive data organization; d. nested vector table
translation of data content presentation via extraction of required
information, generation and provision of look up tables for
applications integration; and e. non-destructive cache-based
"overlay" analytical processing of data content; f. analysis and
presentation of said Intelligent Object data structures and data
content according to methods required for analysis by potentially
heterogeneous applications; to enable: g. unified analysis of
homogeneous and/or heterogeneous data by heterogeneous analytical
applications in heterogeneous network environments.
8. An Intelligent Object Handler data and applications handling as
in claim 6, wherein said methods for unified utilization,
accessing, routing and processing of Intelligent Object data
structures further comprise one or more of a. applications
environment detection, extraction and definition for accessing,
unified viewing, processing and routing; and b. data content
detection, extraction and definition for accessing, unified
viewing, processing and routing.
9. An Intelligent Object Handler data and applications handling
framework as in claim 6, wherein said methods for utilization,
accessing, routing and processing of functionally integrated
Intelligent Object data structures further comprise one or more of
a. direction of vectorized data content accessing, linking and
routing between Intelligent Object data structures for direct
parallel information interchange; b. direction of meta-data
accessing, linking and routing between Intelligent Object data
structures for direct parallel information interchange; c.
direction of vectorized data content accessing, linking and routing
between Intelligent Object data structures and applications for
direct parallel information interchange; d. direction of meta-data
accessing, linking and routing between Intelligent Object data
structures and applications; for direct parallel information
interchange; and e. comparison, ranking and organization of said
Intelligent Object data structures and their data content according
to Boolean analysis, structural matching and/or other statistical
analyses of said information interchanged.
10. An Intelligent Object Handler data and applications handling
framework as in claim 6, wherein said methods for user interaction
further comprise one or more of a. direct vectorized accessing to
all relevant data content and meta-data properties of said
potentially heterogeneous and distributed data content; and b.
direct accessing to analytical functionality of integrated
applications and/or analytical components; and c. functional
integration of data content according to data inter-relationships
and analytical functionality required for interactive accessing;
routing; viewing; querying; and analyzing of data content utilizing
said applications and applications components.
11. An Intelligent Object Handler data and applications handling
framework as in claim 6, providing a graphical user interface
comprising further methods for a. User-directed functional
integration of plug-ins; components; modules; applications;
interfaces; from sources not limited to diverse scientific;
business; manufacturing; academic; manufacturing; and laboratory
systems environments; including i. multi-platform installation;
including for such as Unix, Linux, Win32, Mac OS 9 and 10, and
other computer operating systems; and ii. automated and/or
interactive applications translation, integration, access, viewing
and management; automated and/or interactive data and data resource
access, routing, processing, translation, integration, viewing,
analysis and management.
12. An Intelligent Object Handler data and applications handling
framework as in claim 6, providing a graphical user interface
comprising further methods for one or more of a. interactive data
object handling and analysis of data content, dynamically presented
to enable user interactivity, via sets of customizable toolbars
such as; user menus; and various analytical interfaces; such as
File; New; Open; Open All (in directory); Close; Close All; Print
preview; Print; Edit Undo; Redo; Cut; Copy; Paste; Select; Select
All; and other customizable toolbars and menus.
13. A user definition and administration (UDA) component for user,
access, authentication and privilege definition and processing,
comprising methods for one or more of a. bi-directional information
interchange with components and access interfaces including the
said User menu, Intelligent Object generator component; object
state engine component; master query component; and b. definition
and integration of requirements for user, access, authentication
and privilege definitions such as Laboratory Information Management
Systems (LIMS) for local and/or remote data sources; applications;
and other user activities within heterogeneous and/or homogeneous
computing and/or network information environments.
14. A user definition and administration (UDA) component as in
claim 13, functionally linked to a "User" menu comprised by said
unified presentation layer within said Intelligent Object handler,
said component comprising further methods for one or more of a.
provision of a user interface and functionality to set up and
govern user preferences and privileges, for such as password
settings; look preference; color preference; local cache size;
local cache clear; import settings; auto setup; connectivity
profile; database access preference; applications list; personal
data storage; and for b. provision of a user interface and
functionality for global user administration; comprising such as a
dynamically updated list of user names; a dynamically updated list
of user levels; Add User; Edit User; Export User; Import User;
Lock/Unlock User; Retire User; and Clear User Password.
15. An Intelligent Object generator (IMO-G) component, to generate
new Intelligent Objects, which comprises methods for one or more of
a. bi-directional information interchange with components and
access interfaces including the data type translator component; b.
fielding of data object and content import requests; c. generation
of Intelligent Object data structures; d. utilization of data
content and information provided by a data type translator; for one
or more of: e. provision of run-time translation of heterogeneous
data types and their data content into Intelligent Object data; and
f. assignation of a unique object identifier to the Intelligent
Object, such as a 128 bit alphanumeric identifier.
16. An Intelligent Object generator (IMO-G) component as in claim
15, which comprises further methods for one or more of a.
bi-directional information interchange with components and access
interfaces including the user definition and administration
component; direct instrument acquisition and control component; and
object state engine component; and b. activation of object state
history via the object state engine.
17. An object state engine (OSE) component for Intelligent Object
state management, which comprises methods for one or more of a.
bi-directional information interchange with components and access
interfaces including an object handler, status management component
agents comprised by said Intelligent Objects; and master query
interface; b. monitoring and governing any activities of
Intelligent Objects in real-time via a comprised active listening
mode (ALM) 2028; c. provision of continuously-running sets of
processes updated by synchronization with any system clock, such as
atomic clock synchronization over a network; d. provision of a
state processing method for recording Intelligent activity or
transactions, to provide activity history; e. provision of a state
processing method assigning a defined state to the Intelligent
Object to synchronize the current action; f. provision of a query
processing method for handling of external query submissions to
Intelligent Objects; g. provision of a query processing method for
Intelligent Object-to-Intelligent Object query result
synchronization; h. provision of a query processing method for
governing user access to Intelligent Objects and Intelligent
Object-to-Intelligent Object intercommunication between Intelligent
Objects, between said Intelligent Objects and applications, and
between analytical and processing components; based on definitions
such as security protocols and privilege definitions; i. provision
of a query processing method for governing user access to output
generation of said Intelligent Objects and analyses; j. provision
of a query processing method for query status updating; k.
provision of a query processing method for query result
synchronization; l. provision of a query processing method for
output generation; m. provision of an access processing method for
Intelligent Object root addressing and routing; n. provision of an
access processing method for data content addressing and routing;
o. provision of an access processing method for Intelligent
Object-to-Intelligent Object linking and synchronization.
18. An object state engine (OSE) component as in claim 15, which
comprises further methods for a. bi-directional information
interchange with components and access interfaces including the
master query component; and legacy synchronization interface.
19. An object state engine (OSE) component as in claim 15, which
comprises further methods for one or more of a. Intelligent Object
generator; Intelligent Object standardization component; Object and
Image Normalization components; object translation engine
component; data type translator component; direct instrument
acquisition and control interface; triggering of the Intelligent
Object generator to create a new Intelligent Object if an available
Intelligent Object pertaining to queried data content does not
exist; b. assigning a unique identifier to newly generated
Intelligent Objects; c. provision of a state processing method for
comparison of said activity history to GLP/GMP laboratory
information management system (LIMS)-style experiment data states
and validating any action by assigning a defined state to the
object; d. provision of a state processing method for validation
state-based alerting and information ranking; e. provision of a
state processing method which queries existing data and application
resources to detect and update data content status; f. provision of
a state processing method for accepting status updates received or
"pushed" from external data and applications sources; g. provision
of a state processing method for maintaining status memory over
state-less networks by transmitting action consequences back to the
backend system; h. provision of a query processing method for
handling of network requests to Intelligent Objects; i. provision
of an access processing method comprising procedural ranking of
requests for information exchange based on annotation or validation
state of the addressed Intelligent Object; j. provision of an
access processing method for activating vectorized access to
subsets of object data ("the workspace") within provided data
content matrices for dynamic information interchange; and k.
provision of an access processing method for access ordering and
ranking; and synchronized accessing to raw data matrix vectors; l.
enabling other customized functionality for monitoring, governing,
updating, synchronization, recordation and alerting activities of
Intelligent Objects in real-time and/or within latency
environments.
20. An object standardization technique (IMO-S) component for
standardization of data content queried or processed, which
comprises methods for one or more of a. bi-directional information
interchange with components and access interfaces including the
object state engine; object translation engine; and b. provision of
calibration to data content via utilization of linear; non-linear;
polynomial; exponential; logarithmic; cubic spline; adaptive;
weighted point-to-point fit; and a variety of multi-parametric
functions.
21. An object standardization technique (IMO-S) component as in
claim 20, which comprises further methods for one or more of a.
bi-directional information interchange with components and access
interfaces including the object normalization engine component; and
global image normalization component; and b. activation and
interaction with said components to provide automated
standardization; and normalization of data; by methods for
calibration by standardized empirical criteria.
22. An object normalization engine (ONE) component, for
normalization of data to be compared, which comprises methods for
one or more of a. bi-directional information interchange with
components and access interfaces including an object state engine;
b. normalization of scientific data contained in Intelligent
Objects for comparison independent of procedural errors and
multiple sources of errors inherent in multiple datasets of
different origins; via comprised methods for i. generation of a
normalized global standard to provide algorithms to which all
similar data can be referenced to in regard to their field
parameters contained within the raw data matrix; ii. application of
said algorithms to user-defined workspaces addressed by dynamically
generated vector subsets to minimize data exchange and increase
processing speed, allowing for use of said algorithm even in
network environments with limited data exchange capabilities; iii.
utilization of a workspace cache area for said processing to
maintain data content integrity at all times; and iv. provision of
standard algorithms for processing a variety of scientific data
configurations such as timeline-related; spectra or
wavelength-related; kinetics-related; migration- or
separation-related data content matrices in single and
multidimensional variations; locational deviations within arrays,
bioassay-related and gene and/or protein sequence-related raw data
matrices.
23. An object normalization engine (ONE) component as in claim 22,
which comprises further methods for a. an object standardization
technique component; an object translation engine; and application
translation interface, a master query interface; and a report
generation interface.
24. An object normalization engine (ONE) component as in claim 22,
which comprises further methods for one or more of a. provision of
multi-parameter normalization in respect to color, intensity,
dynamic range and x/y/z distortions in 2D and 3D scientific images;
b. provision of x/y/z-alignment and component distance adjustments
in molecular structures; and acoustic wave pattern and/or video
signals.
25. An object normalization engine (ONE) component as in claim 22,
which comprises further methods for one or more of a. detection of
non-obvious data redundancies in diverse data resources, databases,
data marts or data warehouses; b. validation and accessibility
ranking of such multiple records; c. multiple addressing of such
multiple records; and/or d. elimination or retirement of such
multiple records.
26. An object normalization engine (ONE) component as in claim 22,
which comprises further methods for one or more of a. application
of said algorithms to subsets of decompressed workspaces within
loss-free compressed raw data providing normalization to compressed
data without the need for decompression of the entity of such data
sets.
27. An object normalization engine (ONE) component as in claim 22,
which comprises further methods for one or more of i. tracking of
deviations from an established global standard; and to ii.
correction of detected deviations in real-time for use in
calibrated on- the-fly analysis applications.
28. An object normalization engine (ONE) component as in claim 22,
which comprises further methods for a. saving or transferring
workspace cache area data converted by said algorithms between
applications.
29. A direct instrument acquisition and control (DIAC) interface,
which comprises methods for one or more of a. bi-directional
information interchange with components and access interfaces
including the master query component; Intelligent Object generator
component; object state engine component; and external instruments
and devices; b. acquisition of data content via instrumentation; c.
recordation of experimental and instrument running parameters; and
d. activation of a component for generation of Intelligent Objects
corresponding to said data content.
30. A direct instrument acquisition and control (DIAC) interface as
in claim 29, which comprises further methods for one or more of a.
automated detection and/or user definition of instrument and device
dependencies, parameters, and/or operational method definitions; b.
definition and functional integration of said dependencies,
parameters, and/or operational method definitions for interactive
remote and/or local user interactivity and instrument control; c.
linking of said user-defined and or automatically detected
instrument and/or device dependencies with said Instrument Control
user interface; to enable d. real-time, pre-programed and/or latent
viewing and interactivity from local and/or remote locations; and
e. provision of an Instrument Control interface comprised by the
unified presentation layer, which presents information for
Connection status, such as presence or absence of connection and
connection type information; instrument activity information such
as run-time - hours, minutes, seconds; experiment status
information such as validation status; instrument status
information such as various operating parameters; and user
interactivity such as start, pause, resume, stop.
31. A data type translator (DTT), which comprises methods for one
or more of a. bi-directional information interchange with
components and access interfaces including the Intelligent Object
generator; object translation engine component; and application
framework component; b. fielding of applications and database
environment definitions provided by an application/database
definition generator interface; and c. definition of data type
dependencies to define the Intelligent Object;
32. A data type translator (DTT) as in claim 31, which comprises
further methods for a. provision of data type dependencies as
required for linked components and access interfaces.
33. An object translation engine (OTE) component, which comprises
methods for one or more of a. bi-directional information
interchange with components and access interfaces including the
master query component; object state engine component; data type
translator component; application/database definition generator;
and master query interface; b. activation of data object, data
field and raw data matrix structure definition tables for
translation of Intelligent Object presentation according to
applications requirements; c. activation of table lookup to provide
real-time translation of the Intelligent Object within
heterogeneous database and application environments; d. activation
of data structure information for non-object data for translation
of Intelligent Object presentation according to applications
requirements; e. activation of data type, access and structure
definition tables for translation of Intelligent Object
presentation according to applications requirements; f. activation
of database type, access and structure definition tables for
translation of Intelligent Object presentation according to
applications requirements; g. activation of application type,
access and structure definition tables for translation of
Intelligent Object presentation according to applications
requirements; and h. automated translation of said previously
heterogeneous and/or incompatible data object into a variety of
required data types; structures formats; and matrices.
34. An object translation engine (OTE) component as in claim 33,
which comprises further methods for one or more of a. activation of
data content access and routing protocols required for functional
integration for heterogeneous and/or dynamically defined query,
viewing or analysis protocols; processing components; access
interfaces; data resources; and/or applications environments; and
b. linking of said structure information and definition tables to
dynamically direct Intelligent Object property pane activation and
presentation; data object activation and presentation; data content
activation and presentation; application activation and
presentation; component activation and presentation; and interface
activation and presentation; in real-time, according to defined
data structure; database; and application requirements.
35. An application/database definition generator (ADG) component,
for detection, extraction and generation of structural and
functional information necessary for standardized unified access,
presentation and utilization of heterogeneous data; comprising
methods for one or more of a. bi-directional information
interchange with components and access interfaces including the
object translation engine; Intelligent Object application
framework; application translation interface; external data
content; databases and data resources; and external applications
and components; b. provision of an interface for detection and
extraction of diverse data object, data field and raw data matrix
definitions c. provision of an interface for detection and
extraction of diverse data type, access, structure and functional
dependencies; d. provision of an interface for detection and
extraction of diverse database type, access and structure
dependencies; e. provision of an interface for detection and
extraction of diverse application type, access and structure
dependencies; f. provision of an automated query interface to
define application and database dependencies according to automated
and/or user-defined requirements utilizing said provided methods
for i. data table extraction to determine data object, data field
and raw data matrix definitions; ii. data type extraction to
determine data access and structure dependencies for Intelligent
Objects; iii. database type extraction to determine database access
and structure dependencies; and iv. application type extraction to
determine application type, access and structure; g. dynamic
updating of applications and database resource availability
information based on presence, absence or other characteristics
such as performance response time, for previously detected
application and database functionality; h. dynamic updating of
applications and database resource availability information based
on presence, absence or other characteristics such as performance
response time, for application and database functionality requested
at run-time; i. generation of table definitions for look-up to
provide real-time translation of Intelligent Object data content
between and within heterogeneous computing environments; and j.
definition of the computing environment as required for linked
components and access interfaces including the data type
translator, the application framework and the application
translation interface.
36. An application/database definition generator (ADG) component as
in claim 35, comprising further methods for one or more of a.
provision of an interface for activation of external components for
meta-data extraction; b. generation of table definitions for
look-up to provide real-time translation of Intelligent Object
meta-data.
37. A master query component (MQC), which comprises methods for a.
bi-directional information interchange with components and access
interfaces including an object state engine component; an
Intelligent Object handle component; an Intelligent Object
application framework component; and a master query interface; b.
fielding and direction of automated queries and commands for data
acquisition; access, retrieval, translation, viewing, processing
and/or analysis; and c. provision of state-related vector
definition of object data subsets for dynamic information
interchange.
38. A master query component (MQC) as in claim 37, comprising
further methods for one or more of a. bi-directional information
interchange with components and access interfaces including unified
presentation layer toolbars and query interfaces; a direct
instrument acquisition and control interface; an object translation
engine; and b. presentation of security, access and interactivity
protocols to menus, toolbars and/or other tools for user
interactivity according to said unified presentation layer; and c.
fielding and direction of user-directed queries and commands for
data acquisition; access, retrieval, translation, viewing,
processing and/or analysis.
39. A master query interface (MQI) for direct linking of vectorized
data content and meta-data between Intelligent Objects,
applications, analytical components and interfaces, which comprises
methods for one or more of a. bi-directional information
interchange with components and access interfaces including the
object state engine; external object query interfaces comprised by
Intelligent Objects; components and/or access interfaces comprised
by external Intelligent Object Pool and/or Intelligent Object Pools
("IOP"; hereinafter "Pool(s)"); external result aggregation engine;
and depending on the system configuration, to varied components,
interfaces and data content resources; b. linking to Intelligent
Object root routing information; c. linking to direct interactive
Intelligent Object content routing vector addresses; and d. linking
to aggregated query result output provided by external result
aggregation engines.
40. A master query interface (MQI) as in claim 39, which comprises
further methods for one or more of a. bi-directional information
interchange with components and access interfaces including the
master query component; object translation engine; Intelligent
Object handle component; b. linking to Intelligent Object meta-data
content information; c. linking to other external components and
access interfaces for query processing, such as a distributed
learning engine, or knowledge extraction engine.
41. An Intelligent Object handle component (IMO-H) for activation
and direction of Intelligent Object information interchange, which
comprises methods for one or more of a. bi-directional information
interchange with components and access interfaces including the
master query component; master query interface; Intelligent Object
application framework component; and report generation interface;
b. management of Intelligent Object data by activating and
directing information linking provided by said components and
access interfaces to comprised meta-data tags; data content
attribute definitions; vector address pointers; comprised by said
Intelligent Objects, c. fielding of queries and/or command
parameters provided by automated; and/or user-based methods.
42. A report generation interface (RGI), for generation of reports
based on data information and aggregated processing results, which
comprises methods for one or more of a. bi-directional information
interchange with components and access interfaces including the
Intelligent Object handle component; object translation engine;
distributed learning engines; knowledge extraction engines; and an
external result aggregation engine component; b. assembly of
information comprised by such as data objects; specified meta-data
indices of said data; specified data content subsets defined to
levels of granularity as small as a single byte; and aggregated
processing results; c. tabulation of information comprised by such
as data objects; specified meta- data indices of said data,
specified data content subsets defined to levels of granularity as
small as a single byte; and aggregated processing results; i.
according to information and requests received from external
processing engines and access interface components; and d. relaying
generated results to external processing engines, access interfaces
and pane descriptor components in an automated, synchronized,
real-time manner.
43. A report generation interface (RGI) as in claim 42, which
comprises fuirther methods for one or more of a. validation
reporting regarding information comprised by such as data objects;
specified meta-data indices of said data; specified data content
subsets defined to levels of granularity as small as a single byte;
and aggregated processing results; and b. ranked reporting of
information comprised by such as data objects; specified meta-data
indices of said data; specified data content subsets defined to
levels of granularity as small as a single byte; and aggregated
processing results; i. according to information and requests
received from external processing engines and access interface
components.
44. An Intelligent Object application framework (IMO-A) for
functional integration of Intelligent Object data with applications
components, plug-ins and modules, which comprises methods for one
or more of a. bi-directional information interchange with
components and access interfaces including the Intelligent Objects
and their content; master query component; data type translator
component; Application/Database Definition Generator; Intelligent
Object handle component; application translation interface;
applications comprised within said Intelligent Object handler as
components, modules and/or plug-ins; b. fielding of automated
and/or user-directed queries; applications assembly commands;
processing requests; viewing requests; other dynamic applications
needs; c. detection of required components, interfaces and
protocols to enable functionally integrated analysis utilizing
homogeneous and/or heterogeneous data content and applications; and
d. activation and enabling of a comprised automated applications
assembly component to enable dynamic assembly of applications
utilizing Intelligent Objects for unified, functionally integrated
analysis utilizing homogeneous and/or heterogeneous data content
and applications.
45. An automated applications assembly component (AAA), to enable
automated assembly of new applications during run-time
("just-in-time") from sets of components according to specific
needs and best suited for complex processing requirements in
heterogeneous data and applications environments, comprising
methods for one or more of a. selection and combination of required
I/O components, such as components required to transfer data into
and results out of individual analytical and/or descriptive and/or
annotative components; b. selection of algorithms best suited for
processing of specifically defined data types or data type
descriptors; c. dynamic combination of said components and
algorithms towards automated and/or user-defined analytical
performance goals, utilizing distributed subcomponent integration
under best-fit conditions; d. activation of required components,
interfaces and protocols to enable functionally integrated analysis
utilizing homogeneous and/or heterogeneous data content and
applications; e. synchronization of required components, interfaces
and protocols to enable functionally integrated analysis utilizing
homogeneous and/or heterogeneous data content and applications; f.
assembly of required components, interfaces and protocols to enable
functionally integrated analysis utilizing homogeneous and/or
heterogeneous data content and applications memory ranking of
performance-optimized component selection; g. memory ranking of
information-optimized component selection; and h. best choice
adjustment according to user-defined functional requirements.
46. An automated applications assembly (AAA) component according to
claim 45, further contained in a stand-alone application or module
for non-object data.
47. An automated applications assembly (AAA) component according to
claim 45, further contained in a stand-alone application or module
for object data.
48. An automated applications assembly (AAA) component according to
claim 45, further contained as a plug-in or module for an
information technology platform containing Intelligent Object
data.
49. An automated applications assembly according to claim 45, in
which selection of components is based on their immediate
availability for real-time use.
50. An automated applications assembly according to claim 45,
comprising further methods for one or more of: a. selection of
components based on their functional consistency and accuracy
within all components assembled, such as, but not limited to
functions for governing raw data precision; handling of
mathematical errors; provision of data pointer referencing; matrix
operation synchronization in regard to internal or external
transformations and dimension descriptions; output rounding;
determination of logical processing pathways; accounting for
Boolean inheritances; iterative step tracing; and controlling and
logging of rollback behavior.
51. An automated applications assembly according to claim 45,
comprising further methods for one or more of: a. selection of
components is based on the ranking among available components in
regard to overall performance, such as, but not limited to one or
more of: network traffic; local processing; remote processing;
process sharing; distributed processing; direct
"on-object"-processing; result clustering; and graphics element
preprocessing and charting.
52. An automated applications assembly according to claim 45,
comprising further methods for one or more of: a. selection of
components based on the ranking among available components in
regard to validation required for decisive answers (output
knowledge assessment).
53. An automated applications assembly according to claim 45,
comprising further methods for a. provision of a vectorized
"Application Archive Table" for quick referencing of previously
assembled applications with similar processing needs.
54. An automated applications assembly according to claim 45,
comprising further methods for a. provision of "on-the-fly"
temporary applications memory management for Just-in-Time (JIT)
component linking, loading and unloading from the active caching
area.
55. An automated applications assembly according to claim 45,
comprising further methods for a. provision of an intuitive
interactive graphical user interface for drag-&-drop selection
of components for process modeling and analytical simulations based
on user output requests.
56. An automated applications assembly according to claim 45,
comprising further methods for a. provision of active communication
with learning engines, such as for example, a distributed learning
engine or knowledge extraction engine to optimize iterative
processes or loop algorithms based on condition feedback.
57. An application translation interface (ATI), for presentation of
Intelligent Object data according to heterogeneous applications
requirements, which comprises methods for a. bi-directional
information interchange with components and access interfaces such
as the Intelligent Object Handler; master query interface,
provision of an interface layer to present defined data object,
data field and raw data matrix structure definitions to required
external data resources; applications; access interfaces; and
processing components utilizing provided definition look-up tables;
b. provision of an interface layer to present defined data type,
access, structure and function definitions to required external
data resources; applications; access interfaces; and processing
components via provided look-up tables; c. provision of an
interface layer to present defined database type, access, structure
and function definitions to required external data resources;
applications; access interfaces; and processing components via
provided look-up tables; d. provision of an interface layer to
present defined application type, access and structure definitions
to required external data resources; applications; access
interfaces; and processing components via provided look-up tables;
and e. transferring of requests such as read/write processes within
or in-between external applications; Intelligent Object and data
content property presentation in real-time, according to defined
requirements.
58. An application translation interface (ATI), for presentation of
Intelligent Object data according to heterogeneous applications
requirements, which comprises methods for a. bi-directional
information interchange with components and access interfaces such
as the result aggregation engine; application/database definition
generator; application handling framework; external result
aggregation engine; as well as with external data resources;
applications; access interfaces; and processing components.
59. A legacy synchronization interface (LSI), for updating and
synchronization of batch processed or temporarily offline
Intelligent Object data and data content, which comprises methods
for one or more of a. bi-directional information interchange with
components and access interfaces including the object state engine;
and external data content, databases, and data resources; b.
synchronization of object data of various types with data content
contained in off-line and/or batch processing legacy databases or
external applications, in regard to data integrity, content and
state for updating of such as raw data vector matrices linking; and
property pane content definition; c. synchronization of Intelligent
Object data with data content contained in off- line and/or batch
processing legacy databases or external applications in regard to
data integrity, content and state for updating of such as raw data
vector matrices linking; and property pane content definition; d.
synchronization of Intelligent Object data content with external,
off-line or temporarily unavailable data sets in regard to data
integrity, content and state for updating of such as raw data
vector matrices linking; and property pane content definition.
60. A legacy synchronization interface (LSI) as in claim 59,
comprising further methods for a. reporting to the object slate
engine to update state history records for changes during times
where activity-listening-mode is temporarily unavailable under
conditions, such as, but not restricted to off-line; connection
time-out; transaction acknowledgement errors; or record locking
conflicts on the legacy end.
61. A legacy synchronization interface (LSI) as in claim 60,
comprising further methods for one or more of a. metadata index
updating in batch mode; and for b. object pane descriptor updating
whenever object panes are added or descriptors need to be modified;
by c. relaying required information to said object state engine
component.
62. A legacy synchronization interface (LSI) as in claim 60,
comprising further methods for one or more of a. provision of link
functions between "local state machines" or agents, such as for
"pushed" updating and said object state engine component; to enable
b. synchronous handshaking during connect and disconnect of
heterogeneous legacy data and/or applications; c. transaction
management and accounting for such as "once-and-only-once"
transactions; d. linking between "local state machines" or agents
and components within the unified presentation layer of said
Intelligent Object handler; to enable e. platform-integration of
external applications, which modify data properties during their
execution, for synchronization and update.
63. A legacy synchronization interface (LSI) as in claim 60,
comprising further methods for one or more of: a. provision of
feedback on synchronization conditions for frequency; updates; and
timing preferences towards a variety of internally and/or
externally comprised components and interfaces, such as knowledge
extraction engines; and distributed learning engines; and for b.
"best-fit" optimization of synchronization and timing based on said
event history feedback.
64. A legacy synchronization interface as in claim 60, comprising
further methods for a. logging and reporting of synchronization
events to methods comprised within such as Intelligent Objects;
processing components; access interfaces; applications; data
resources and/or databases; and b. provision of the interface to
integrate required methods for synchronization requests or "pulls"
and/or metadata index updates utilizing provided protocols and/or
definitions such as user preferences; user profiles; administrative
protocols; and/or maintenance action definitions.
Description
RELATED APPLICATIONS
[0001] Priority is hereby claimed under 35 U.S.C. 120 and/or 35
U.S.C. 119(e) to the following United States Provisional and
Utility Patent Applications, each of which is hereby incorporated
by reference:
[0002] U.S. Utility Patent Application Serial No. _/___,___
(Attorney Docket No. A-70134/RMA) filed Dec. 6, 2001 and entitled
Data Pool Architecture, System, And Method For Intelligent Object
Data In Heterogeneous Data Environments;
[0003] U.S. Utility Patent Application Serial No. _/___,___
(Attorney Docket No. A-70135/RMA) filed Dec. 6, 2001 and entitled
Intelligent Molecular Object Data Structure and Method for
Application in Heterogeneous Data Environments with High Data
Density and Dynamic Application Needs;
[0004] U.S. Utility Patent Application Serial No. _/___,___
(Attorney Docket No. A-70136/RMA) filed Dec. 6, 2001 and entitled
Intelligent Object Handling Device and Method for Intelligent
Object Data in Heterogeneous Data Environments with High Data
Density and Dynamic Application Needs;
[0005] U.S. Utility Patent Application Serial No. _/___,___
(Attorney Docket No. A-70310/RMA) filed Dec. 6, 2001 and entitled
System, Method, Software Architecture, And Business Model For An
Intelligent Object Based Information Technology Platform;
[0006] U.S. Provisional Application Serial No. 60/254,063 filed
Dec. 6, 2000 entitled Data Pool Architecture for Intelligent
Molecular Object Data in Heterogeneous Data Environments with High
Data Density and Dynamic Application Needs;
[0007] U.S. Provisional Application Serial No. 60/254,062 filed
Dec. 6, 2000 entitled Intelligent Molecular Object Data for
Heterogeneous Data Environments with High Data Density and Dynamic
Application Needs;
[0008] U.S. Provisional Application Serial No. 60/254,064 filed
Dec. 6, 2000 entitled Handling Device for Intelligent Molecular
Object Data in Heterogeneous Data Environments with High Data
Density and Dynamic Application Needs;
[0009] U.S. Provisional Application Serial No. 60/259,050 filed
Dec. 29, 2000 entitled Object State Engine for Intelligent
Molecular Object Data Technology;
[0010] U.S. Provisional Application Serial No. 60/264,238 filed
Jan. 25, 2001 entitled Object Translation Engine Interface For
Intelligent Molecular Object Data;
[0011] U.S. Provisional Application Serial No. 60/266,957 filed
Feb. 6, 2001 entitled System, Method, Software Architecture and
Business Model for an Intelligent Molecular Object Based
Information Technology Platform;
[0012] U.S. Provisional Application Serial No. 60/276,711 filed
Mar. 16, 2001 entitled Application Translation Interface For
Intelligent Molecular Object Data In Heterogeneous Data
Environments With Dynamic Application Needs;
[0013] U.S. Provisional Application Serial No. 60/282,656 filed
Apr. 9, 2001 entitled Result Generation Interface For Intelligent
Molecular Object Data In Heterogeneous Data Environments With
Dynamic Application Needs;
[0014] U.S. Provisional Application Serial No. 60/282,658 filed
Apr. 9, 2001 entitled Knowledge Extraction Engine For Intelligent
Object Data In Heterogeneous Data Environments With Dynamic
Application Needs;
[0015] U.S. Provisional Application Serial No. 60/282,654 filed
Apr. 9, 2001 entitled Result Aggregation Engine For Intelligent
Object Data In Heterogeneous Data Environments With Dynamic
Application Needs;
[0016] U.S. Provisional Application Serial No. 60/282,657 filed
Apr. 9, 2001 entitled Automated Applications Assembly Within
Intelligent Object Data Architecture For Heterogeneous Data
Environments With Dynamic Application Needs;
[0017] U.S. Provisional Application Serial No. 60/282,655 filed
Apr. 9, 2001 entitled System, Method And Business Model For
Productivity In Heterogeneous Data Environments;
[0018] U.S. Provisional Application Serial No. 60/282,979 filed
Apr. 10, 2001 entitled Legacy Synchronization Interface For
Intelligent Molecular Object Data In Heterogeneous Data
Environments With Dynamic Application Needs;
[0019] U.S. Provisional Application Serial No. 60/282,989 filed
Apr. 10, 2001 entitled Object Query Interface For Intelligent
Molecular Object Data In Heterogeneous Data Environments With
Dynamic Application Needs;
[0020] U.S. Provisional Application Serial No. 60/282,991 filed
Apr. 10, 2001 entitled Distributed Learning Engine For Intelligent
Molecular Object Data In Heterogeneous Data Environments With
Dynamic Application Needs; and
[0021] U.S. Provisional Application Serial No. 60/282,990 filed
Dec. 10, 2001 entitled Object Normalization For Intelligent
Molecular Object Data In Heterogeneous Data Environments With
Dynamic Application Needs;
[0022] each of which U.S. utility and U.S. provisional patent
application is hereby incorporated by reference in its
entirety.
FIELD OF INVENTION
[0023] This invention pertains generally to system, method,
computer program product, data structure and architecture, data
management, and software architecture; and more particularly to
system, method, computer program product, and data structure and
architecture, data management, and software architecture in the
life sciences, biotechnology, therapeutic diagnostic and
intervention, pharmaceuticals, and bioinformatics.
BACKGROUND
[0024] As demand for effective Information Technology (IT) software
to provide global data access and integrated scientific and
business solutions has grown, significant challenges have become
evident. A central problem poses access, integration, and
utilization of large amounts of new and valuable information
generated in each of the major industries. Lack of unified, global,
real-time data access and analysis is detrimental to crucial
business processes, which include new product discovery, product
development, decision-making, product testing and validation, and
product time-to-market. Additionally, the importance of
functionally integrating multiple dimensions of heterogeneous data
in the field, such as protein expression data, chemical structure
data, bioassay data and clinical text data, is recognized (Lin, D.,
et al., 2001).
[0025] With the completion of the sequence of the human genome and
the continued effort in understanding protein expression in the
life sciences, a wealth of new genes are being discovered that will
have potential as targets for therapeutic intervention. As a result
of this new information, however, Biotech and Pharmaceutical
companies are drowning in a flood of data. In the Life Sciences
alone, approximately 1 Terabyte of data is generated per company
and day, of which currently the vast majority is unutilized for
several reasons.
[0026] Data are contained in diversified system environments using
different formats, heterogeneous databases and have been analyzed
using different applications. These applications may each apply
different processing to those data. Competitive software, based on
proprietary platforms for network and applications analysis, have
utilized data platform technologies such as SQL with open database
connectivity (ODBC), component object model (COM), Object Linking
and Embedding (OLE) and/or proprietary applications for analysis as
evidenced in patents from such companies as Sybase, Kodak, IBM, and
Cellomics in U.S. Pat. No. 6,161,148, U.S. Pat. No. 6,132,969, U.S.
Pat. No. 5,989,835, U.S. Pat. No. 5,784,294, for data management
and analysis, each of which patents are hereby incorporated by
reference. Because of this diversity, despite the fact that the
seamless integration of public, legacy and new data is crucial to
efficient drug discovery and life science research, current data
mining tools cannot handle all data and analyze their functional
relationships simultaneously. There is a significant lack of data
handling methods, which can utilize these data in a secure,
manageable way. The shortcomings of these technologies are evident
within heterogeneous software and hardware environments with global
data resources. Despite the fact that the seamless integration of
public, legacy and new data is crucial to efficient research
(particularly in the life sciences), product discovery (such as for
example drug, or treatment regime discovery) and distribution,
current data mining tools cannot handle or validate all diverse
data simultaneously.
[0027] With the expansion of high numbers of dense data in a global
environment, user queries often require costly massive parallel or
other supercomputer-oriented processing in the form of mainframe
computers and/or cluster servers with various types of network
integration software pieced together for translation and access
functionality as evidenced by such companies as NetGenics, IBM and
ChannelPoint in U.S. Pat. No. 6,125,383 U.S. Pat. No. 6,078,924,
U.S. Pat. No. 6,141,660, U.S. Pat. No. 6,148,298, each of which
patents are herein incorporated by reference--(e.g. Java, CORBA,
"wrapping", XML) and networked supercomputing hardware as evidenced
by such companies as IBM, Compaq and others in patents such as for
example U.S. Pat. No. 6,041,398, U.S. Pat. No. 5,842,031, each of
which is hereby incorporated by reference. Even with these
expensive software and hardware infrastructures, significant
time-delays in result generation remain the norm.
[0028] In part due to the flood of data and for other reasons as
well, there is a significant redundancy within the data, making
queries more time consuming and less efficient in their results.
Tools are not yet in place which can effectively detect data
redundancy over heterogeneous data types and network environments,
especially of data content subsets within data files, and provide
ranked and validated multiple addressing and/or removal of said
redundant data. The flood of new and legacy data results in a
significant redundancy within the data making queries more time
consuming and less efficient in their results.
[0029] With the advent of distinct differentiations in the field of
genomics, proteomics, bioinformatics and the need for informed
decision making in the life sciences, the state of object data is
crucial for their overall validation and weight in complex,
multi-disciplinary queries. This is even more important due to
inter-dependencies of a variety of data at different states.
Furthermore, because biological data describe a "snapshot"
representing a unique moment of complex processes at a defined
state of the organism, data obtained at any time refer to this
unique phase of metabolism. Thus, in order to account for
meaningful comparison, only data in similar states can be utilized.
Therefore, there is a growing need for an object data state
processing engine, which allows to continuously monitor, govern,
validate and update the data state based on any activities of
intelligent molecular objects in real-time. Currently, these
capabilities are not broadly available for network data structures,
and they are not available for data structures integrating
heterogeneous data over distributed network environments.
[0030] With the advent of distinct differentiations in the field of
genomics, proteomics, bioinformatics and the need for informed
decision making in the life sciences, access to all data is crucial
for overall validation and weight in complex, multi-disciplinary
queries. This is even more important due to inter-dependencies of a
variety of data at different states. The current individual data
translation approach does not support these needs. Most of these
problems require real-time processing; automated, instant data
translation of data from different sources; and integration of
heterogeneous applications and analytical components for their
solutions. Data contained in diversified system environments may
use different formats, heterogeneous databases and different
applications, each of which may apply different processing to those
data. Therefore, there is a growing and unmet need for an automated
object data translation engine, which allows for bi-directional
translation of multidimensional data from various sources into
intelligent molecular objects in real-time. Currently, data
translation processes between different data types are
time-consuming and require administrative exchange of information
on data structures, pplication programming interfaces (API's) and
other dependencies, as required by the latest technologies such as
Incellico's CELL, IBM's DiscoveryLink, Netgenic's Synergy and
Tripos' MetaLayer solutions (Haas et al 2001). These processes,
although available and used, have a number of shortcomings. Despite
the fact that the rapid seamless integration of public, legacy and
newly emerging data is crucial to efficient drug discovery and life
science research, unique "wrappers" or translation layers must
currently be designed and programmed in order to translate each of
those data sets correctly, and even with this manual integration,
multiple data types and dimensions of data interdependencies are
not made available, or "functionally integrated" for detailed
qualitative and quantitative comparison and analysis across data
types and dimensions. These solutions currently require significant
effort and resources in both, software development and data
processing, and the need for improvements such as those offered by
this invention are recognized.
[0031] An additional consideration, which is prohibitive to change
towards a more homogeneous infrastructure is the missing of
fluently definable object representation definition protocols to
prepare and present data objects for unified, functionally
integrated interaction within heterogeneous environments. There is
a lack of defined sets of user interaction and environment
definition protocols needed to provide means for intelligent data
mining and optimization of multidimensional analysis to achieve
validated solutions. Data currently are interacted with and
presented in diverse user interfaces with dedicated, unique
features and protocols, preventing universal, unified user access.
Thus, a homogeneous, unified presentation such as a flexibly
network-enabled graphical user interface, which integrates
components from diverse applications and laboratory systems
environments over a variety of connections and protocols, is highly
desirable, but currently non-existent for real-time data access and
analysis utilizing diverse applications and data.
[0032] Finally, an additional consideration, which is prohibitive
to change towards a homogenous data and applications
infrastructure, is cost. The cost to bring legacy systems up to
date, to retool a company's intranet-based software systems, to
create a unified environment utilizing existing software products
and tools such as CORBA, JAVA, XML, SQL and classic data
warehousing techniques, can be time-consuming and expensive.
Conventional practices require retooling and/or translating at both
application and hardware layers, as evidenced by such companies as
Unisys and IBM in U.S. Pat. No. 6,038,393, U.S. Pat. No. 5,634,015,
and may be prohibitively expensive for smaller and medium-sized
companies or groups wishing to access this type of
functionality.
[0033] Because of the constraints outlined above, it is nearly
impossible to extract useful, functionally integrated information
from the entity of data within reasonable computing time and
efforts. For these reasons, the development of a unique
architecture and system, comprising a unique application framework,
data structure, and database structure, is unavailable and needed
to overcome these obstacles (Hobbs, D. W. 2001).
[0034] LITERATURE
[0035] Andreoli, J-M., In: Agha G., Wegner P., Yonezawa A.(eds.):
Research Directions in Concurrent Object-Oriented Programming, MIT
Press (1993): 260-263; Bertino E., Urban S., Rundensteiner E.
A.(eds.): Theory and Practice of Object Systems (1999) 5 (3):
125-197; Chaudhri A. B., McCann J. A., Osmon P.: Theory and
Practice of Object Systems (1999) 5 (4): 263-279; Cai D., McTear M.
F., McClean S.I.: International Journal of Intelligent Systems
(2000): 15 (8): 745-761; Hert C. A., Jacob E. K., Dawson P.:
Journal of the American Society for Information Science (2000) 51
(11): 971-988; Hobbs, D. W., Chemical and Engineering News. (2001)
79 (13): 266; Lin, D., et al.: American Genomic/Proteomic
Technology (2001) 1 (1): 38-46; Williams R. J., In: Miller W.,
Thomas I., Sutton R. S., Werbos, P. J. (eds.): Neural Networks for
Control, MIT Press (1990): 97-114; Wilson G. V., Lu P. (eds.):
Parallel Programming and C++, MIT Press (1996): 257-280.; C. N.
Lauro, G. Giordano, R. Verde: Applied Stochastic Models and Data
Analysis: A multidimensional approach to conjoint analysis (1998)
14 (4): 265-274; Meyer, Bertrand: IEEE Computer. (1999) 32 (1):
139-140.; Chalmers, Mathew: Journal of the American Society for
Information Science. (1999) 50 (12): 1108-1118.; Teasley, Stephanie
and Steven Wolinsky: Science. (2001, June 22) 292:2254; Haas, L.
M., et al: IBM Systems Journal. (2001) 40 (2): 489-511.; Siepel,
A., et al: IBM Systems Journal. (2001) 40 (2): 570-591; and
Steiner, S. and Witzmann, F. A.. Electrophoresis. (2000) 21:
2099-2104; each of which publications are incorporated by
reference.
[0036] The following United States Patents: U.S. Pat. No.
5,596,744, U.S. Pat. No. 5,867,799, U.S. Pat. No. 5,745,895, U.S.
Pat. No. 6,076,088, U.S. Pat. No. 5,706,453, U.S. Pat. No.
5,767,854, U.S. Pat. No. 6,035,300, U.S. Pat. No. 6,145,009, U.S.
Pat. No. 5,664,066, U.S. Pat. No. 5,862,325, U.S. Pat. No.
6,016,495, U.S. Pat. No. 6,119,126, U.S. Pat. No. 6,088,717, U.S.
Pat. No. 6,052,722, U.S. Pat. No. 6,064,382, U.S. Pat. No.
6,134,581, and U.S. Pat. No. 6,146,027; each of which publications
are incorporated by reference.
SUMMARY
[0037] System, method, computer program and computer program
product are provided for: generation of Intelligent Object data;
unified presentation of dynamically customizable functional menus
and interfaces such as for user definition, administration and
security protocols; secured user interaction, access and
presentation based on imported and/or defined user definition,
administration and security protocols; data object standardization
and normalization; definition of user interaction and computing
environment protocols required for data object translation,
standardization, access and routing; definition of data type
access, translation, presentation and routing protocols for
functional data and applications integration; definition of
application and/or application components and interface access,
translation, presentation and routing protocols for functional data
and applications integration; provision of interactive, unified,
functionality for data acquisition, management, viewing and
analysis; as well as other methods and procedures as described in
detail herein. Such methods an techniques whether implemented in
computer program software or otherwise is useful in heterogeneous
data environments with high data density and dynamic application
needs.
[0038] In the object creation methods, the Intelligent Object
generator extracts relevant data information, routes real-time data
from ongoing data acquisitions and transforms device outputs and
heterogeneous data types to Intelligent Object data. Data content
may be stored remotely from the corresponding Intelligent Object,
and both, data content as well as Intelligent Objects (stored in
"Intelligent Object Pools" or Pool subset "iPools") may be stored
locally or may be distributed across heterogeneous data storage
resources and networks. Next, components such as the object
standardization technique and the object normalization engine
standardize and normalize the data by calibration according to
standardized empirical criteria.
[0039] In the interactive user access and presentation methods, the
unified presentation layer provides the web-enabled graphical user
interface that integrates the technology defined to unify diverse
applications, laboratory systems environments, and Intelligent
Object data at the graphic user interface layer. As an example, in
the security and access methods, the user menu activates the user
definition and administration shell and prompts for user input
regarding access privileges environments at login. The master query
component then presents security and access protocols to the
unified presentation layer and to the object state engine for
authentication and permits or denies access to begin fielding user
queries and commands for data acquisition, retrieval, or
analysis.
[0040] In the methods for interactive, functionally integrated data
acquisition, management, viewing and analysis, user interactivity
at the front end is enabled by the unified presentation layer,
which is linked to defined processing components and access
interfaces.
[0041] In the environment definition methods, the
application/database definition generator interface dynamically
detects application and database requirements and defines the
computing environment for the data type translator, the application
translation interface, and the application framework.
[0042] In the object definition methods, the data type translator
defines the data type dependencies for the Intelligent Object
generator, the object translation engine and the application
framework component according to the applications and database
environment defined by the application/database definition
generator.
[0043] Simultaneously, in the functional integration methods, the
Intelligent Object application framework provides functional
integration of components, access interfaces and Intelligent
Objects comprised by the Intelligent Object Handler, to provide
fast, efficient, functionally integrated querying, viewing and
analysis. Components and interfaces such as the
application/database definition generator interface and the
application translation interface provide access and routing
protocols to heterogeneous applications and databases.
[0044] Additionally, in the methods for functional integration, the
Intelligent Object handle enables activities including real-time
acquisition, management, viewing and analysis of Intelligent Object
data through the utilization of integrated meta-data tags and
pointers activated by the master query component and returned via
components and access interfaces to the master query interface for
presentation to the user.
[0045] Finally, automated and/or user-directed interaction with
external applications, processing components, instruments and
devices is enabled by access interfaces including the master query
interface, direct instrument acquisition and control, legacy
synchronization interface, and report generation interface.
BRIEF DESCRIPTION OF THE DRAWINGS
[0046] FIG. 1 depicts an embodiment of the unified presentation
layer for the Sentient (IMO) IT Platform, showing the Intelligent
Object Handler and a variety of Intelligent Objects.
[0047] FIG. 2 depicts an embodiment of a query dialog within the
Intelligent Object Handler utilizing Intelligent Object handle
features.
[0048] FIG. 3 depicts an embodiment of the intelligent object
handler in their relationships comprising a unified presentation
layer, components and access interfaces. The figure shows the
relationship of the Intelligent Object Handler ("IOH") to its
comprised components and access interfaces, such as to the "IOH
User", to Intelligent Objects ("IMO(s)"), to an external
Intelligent Object Pool ("IOP") and its comprised components and
access interfaces, and to the external "Legacy"domain of existing
heterogeneous data content, applications, and devices.
[0049] FIG. 4 depicts an embodiment of an exemplary hardware
configuration for the Intelligent Object Handler and its enabling
architecture.
[0050] FIG. 5 depicts an embodiment of the Intelligent Object
Handler comprised within a software information technology platform
architecture (such as the exemplary Sentient IT Platform) for one
exemplary and advantageous embodiment.
[0051] FIG. 6 depicts an embodiment of the object state engine
showing its major functions, internal architecture and certain of
its relationships to external components.
[0052] FIG. 7 depicts an embodiment of the object translation
engine showing its relationships to external databases and to
required and optional components and access interfaces.
[0053] FIG. 8 depicts an alternative embodiment of the object
translation engine.
[0054] FIG. 9 depicts an embodiment of the Intelligent Object
Handler, providing an overview for a more general understanding of
the Intelligent Object Handler's functions.
[0055] FIG. 10 is an illustration depicting an embodiment of a
first menu.
[0056] FIG. 11 is an illustration depicting an embodiment of a
another menu screen showing various pull-down menu details and
options.
DESCRIPTION OF EXEMPLARY EMBODIMENTS
[0057] Methods are provided to define and describe an exemplary
embodiment of an information technology platform architecture
utilizing an Intelligent Object Handler (IOH) 202 and Intelligent
Object (IMO) 200 data structures as core processing components. The
Intelligent Object Handler (IOH) 202 comprises a unified
presentation layer (UPL) 206 to enable user interactivity,
component processing engines and access interfaces required to
enable interactive, secure, efficient, property-driven functional
access to data content queried, presented and analyzed, utilizing a
variety of raw data sources, applications and analytical
components. Additionally, optional embodiments define and describe
an information technology platform architecture utilizing the
Intelligent Object Handler (IOH) 202 for any object data structures
as core processing components.
[0058] For reasons of explanation, these methods, components and
processes will be described in a fashion that does not represent
the entity of simultaneous and/or interactive actions as they
occur. However, it should be noted that the system herein described
is composed of bi- directonally interactive components and
interfaces which perform certain tasks simultaneously, or in a
rapidly alternating fashion.
[0059] Examples of enabling code are provided to define and
describe a single exemplary embodiment, which utilizes Microsoft
C++ as the exemplary programming language. Additionally, software
development tools not limited to Visual C++, Microsoft Foundation
Classes (MFC), DIB image transformations and matrix-based graphical
content generation were utilized to enable this specific
embodiment. The overall architecture, its application across varied
domains, its processing engines and its access interfaces are in no
way limited to the utilization of Microsoft C++ or the Windows
32-bit operating system environment. It is readily apparent to
anyone skilled in the art that other enabling software codes or
enabling techniques may also be used, including for example Java,
XML and other markup languages, and/or other similar
techniques.
[0060] The Intelligent Object Handler (IOH) 202 may be compiled to
run on multiple platforms, including, but not limited to, UNIX,
Linux, Macintosh OS 9 and 10, or any Window 32-bit operating
systems. The following hardware specifications are provided to
define and describe the requirements for a specific exemplary
embodiment, implemented for a 32-bit Microsoft Windows
environment.
[0061] The depiction in FIG. 1, represents an embodiment of a
graphical user interface (and the display image available via that
interface) for interaction with Intelligent Object data. The
dynamically defined menu bar shows extensible options in a standard
order, consisting of, but not limited to, drop-down menu items such
as file, edit, view, options, objects, selection, query, analysis,
link, user, window and help-functions. Within the common user
interface window, several independent sub-windows show a depiction
of the Intelligent Objects, as well as related query and/or
analysis tools and the real-time answer window, which presents the
relevant results in their significance numerically and/or
graphically.
[0062] The depiction in FIG. 2, represents an embodiment of a
typical query profiler (and the screen display image resulting
therefrom) utilizing Intelligent Object technology. Such queries
can be performed using pre-definable templates, subsets of common,
industry-specific questions, and/or by free form, user-defined
entries and graphical "drag-and-drop" query definition.
[0063] The inventive system, architecture, method, and computer
program and computer program product of the Intelligent Object
Handler (IOH) as well as other core elements and modules described
herein and in the related applications identified herein, may be
used in a variety of computing and network or connectivity
environments as are known in the art and advantageoulsy are
hardware and operating system agnostic. For example, the invention
may be practices with the great majority of contemporary personal
computers, workstations, mainframes, as well as notebook and other
portable computing devices and all manner of information
appliances. Exemplary computing devices and components are for
example illustrated in the embodiments illustrated in FIG. 3, FIG.
4, and FIG. 5.
[0064] It will be apparent to anyone skilled in the art in light of
the description provided herein that these requirements are
provided by way of instruction regarding a specific embodiment of
the technology, and that the implementation of the Intelligent
Object Handler (IOH) 202 is not limited to the particular
embodiments shown in the drawings as many optional components that
provide optional and enhanced features are shown that are not
required.
[0065] An overview of major presentation, processing and interface
methods are provided below to describe and define, in an exemplary
embodiment, the Intelligent Object Handler (IOH) 202 comprised by
information technology architecture for user interaction, viewing,
analysis, and other automated and/or interactive data handling
activities utilizing Intelligent Object (IMO) 200 data as core
components. In an optional embodiment, and Intelligent Object
Handler (IOH) 202 utilizing a variety of object data is defined and
described.
[0066] The embodiment of the system, architecture, and method in
FIG. 3, represents an exemplary embodiment of the inventive
elements and their relationships, showing the relationship of the
Intelligent Object to an external Intelligent Object Handler (IOH),
its components and access interfaces, the legacy domain of existing
data content, applications, and devices, and an external
Intelligent Object Pool (IOP). Unbroken lines ending with arrows on
each end 490 represent bi-directional communication between
exemplary property panes, components and access interfaces. Dashed
lines ending with arrows on each end 492 represent bi-directional
communication between optional property panes, components and
access interfaces. Forked lines 491 at or near the "interface to
external legacy domain" were utilized for clarity due to the
complexity of the figure, and represent unbroken bi-directional
connectivity between opposed arrows. Crossed lines do not represent
connections in this figure.
[0067] The depiction in FIG. 4, represents an exemplary embodiment
of a hardware configuration for the Intelligent Object Handler and
its enabling architecture. All major elements within the diagram
below may be bi-directionally connected over a variety of network
protocols. The minimum hardware requirement is defined by a single
machine. In an exemplary embodiment, as below, two laptop computers
are connected in a peer-to-peer configuration and in a
client/server configuration to a workstation and via these
workstation directly to a laboratory instrument, such as a gene
sequencer or gel electrophoresis machine. Other connectivity
schemes may alternatively or additionally be provided.
[0068] In FIG. 4, dotted bi-directional lines 248 represent options
for "any-to-any" connectivity enabled via use of Intelligent
Objects as central accessing and routing components. Any-to-any
options include but are not limited to LAN, WAN, peer-to-peer (e.g.
data, applications, memory and processor sharing between two or
more laptops, workstations, etc.), server-server, Portal, ASP and
other unified, distributed, parallel and grid network options.
Connectivity protocols include and are not limited to PPP, http,
TCP/IP, and ftp over multiple platforms.
[0069] The depiction in FIG. 5, represents an embodiment of the
Intelligent Object Handler comprised within an exemplary software
platform architecture (Sentient IT Platform). This embodiment
depicts minimal core elements for the Intelligent Object Handler,
along with the Intelligent Object, Intelligent Object Pool, and
other components (Processing Engines) and access interfaces
required by or desired in the Sentient IT Platform.
[0070] In an exemplary embodiment advantageously enabled in
software, sets of structures and methods are provided for; unified,
functionally integrated and user-directed interactivity with
previously heterogeneous data and applications; applications
environment and data definition and translation; and functional
integration of heterogeneous and/or homogeneous data objects and
their contents with comprised and/or external as well as local
and/or remote applications; including one or more of:
[0071] An information technology platform, such as the Sentient
(IMO) IT Platform illustrated in FIG. 3 and FIG. 5, comprising
methods for user interactivity, applications environment and data
definition and functional data and applications integration
[0072] utilizing Intelligent Objects (IMO) 200 as core
components;
[0073] providing interactive, dynamically defined menus, toolbars
and user interface panes presented within a unified presentation
layer (UPL) 206 to enable an interactive, functionally integrated
graphical user interface; and
[0074] providing integration of heterogeneous data content for
analysis by internal components and access interfaces as well as
components and interfaces of other external applications or
devices, over a variety of local and/or distributed connectivity
protocols.
[0075] Intelligent Object Handler (IOH) 202, comprising methods for
one or more of:
[0076] enabling user interactivity within the Sentient IT Platform
(See FIG. 5);
[0077] providing interactive, dynamically defined menus, toolbars
and user interface panes presented within the unified presentation
layer (UPL) 206; and
[0078] providing functional integration of corresponding components
and access interfaces, which comprise data-enabling methods for
handling of Intelligent Objects (IMO) 200 and their data
content.
[0079] User definition and administration (UDA) 2000 interface
shell component, comprising methods for one or more of:
[0080] enabling its related menus and a user interface for user
definition and privilege administration presented within the
unified presentation layer (UPL) 206 comprised by the Intelligent
Object Handler (IOH) 202,
[0081] providing issuance and regulation of access privileges
within the entity of heterogeneous data network environments for
Intelligent Objects (IMO) 200.
[0082] Intelligent Object generator (IMO-G) 2002, comprising
methods for one or more of:
[0083] automated generation of Intelligent Objects (IMO) 200
corresponding to newly acquired, imported, or queried data content
from laboratory devices (Instrumentation) 1076 and/or heterogeneous
data types; and
[0084] generation of initial Intelligent Object (IMO) 200 state
history records.
[0085] Object state engine (OSE) 212 component, comprising methods
for one or more of:
[0086] continuously monitoring, governing, synchronizing, recording
and activating alerts for all activities of Intelligent Objects
(IMO) 200 in real-time and/or within latency environments; and
[0087] synchronization with and updating of a comparable
continuously running status management component (SMC) 208 or
comparable component comprised within a data structure.
[0088] Object standardization technique (IMO-S) 2004, comprising
methods for one or more of:
[0089] basic calibration of a variety of data content by
calibration with standardized empirical criteria according to
comprised algorithms; and
[0090] linking to additional components which normalize the data
content, such as the object normalization engine (ONE) 210.
[0091] Object normalization engine (ONE) 210, comprising methods
for one or more of:
[0092] normalization of scientific data contained in objects for
comparison independent of procedural errors resulting from
variation in experimental and inherent in multiple datasets of
different origins.
[0093] Direct instrument acquisition and control (DIAC) 2006
interface, comprising methods for one or more of:
[0094] enabling its related menus, toolbars and user interface
presented within the unified presentation layer (UPL) 206 comprised
by the Intelligent Object (IMO) 200 and linked via the master query
component (MQC) 2012; and
[0095] providing for remote and/or local instrument control and/or
data acquisition.
[0096] Data type translator (DTT) 2008 component, comprising
methods for
[0097] Defining and integrating heterogeneous data content, data
types and structures as data content for Intelligent Objects (IMO)
200, without writing to the data content.
[0098] Object translation engine (OTE) 214, comprising methods for
one or more of:
[0099] provision of nested vector table lookup and translation to
enable required data type translation according to interactivity
requirements of heterogeneous computing environments;
[0100] presentation of translated and defined data type
dependencies to components which generate required representations
of the data content; and
[0101] provision of varying data content access, routing and
presentation protocols to components and interfaces required for
functional integration of data and applications.
[0102] Application/database definition generator (ADG) 2010,
comprising methods for
[0103] detection, extraction and definition of requirements for
functional interaction with external applications, components,
access interfaces and heterogeneous data resources.
[0104] Master query component (MQC) 2012, comprising methods for
one or more of:
[0105] enabling its related menus, toolbars and user interface
presented within the unified presentation layer (UPL) 206 comprised
by the Intelligent Object Handler (IOH) 202,
[0106] fielding and directing automated and/or user queries and
commands for data acquisition, retrieval, or analysis.
[0107] Master query interface (MQI) 218, comprising methods for one
or more of:
[0108] linking, accessing and routing of bi-directional vectorized
data content pointers and meta-data tags between Intelligent
Objects (IMO) 200; and
[0109] directing of accessing and routing to and between linked
processing components and access interfaces.
[0110] Intelligent Object handle (IMO-H) 2014 component, comprising
methods for one or more of:
[0111] enabling its related menus, toolbars and user interface
presented within the unified presentation layer (UPL) 206 comprised
by the Intelligent Object Handler (IOH) 202 and linked via the
master query component (MQC) 2012;
[0112] presentation and functional integration of the Intelligent
Object (IMO) 200 data with the user interface layer and its
described functionality; via activation of external
[0113] methods for dynamic updating, activation, accessing and
routing of bi-directional vectorized data content pointers and
meta-data tags.
[0114] Report generation interface (RGI) 220, comprising methods
for one or more of:
[0115] assembly, tabulation, validation and ranking, according to
information received from external processing engines and access
interface components, of Intelligent Object (IMO) 200 and data
content information; and
[0116] relaying of generated results to external processing
engines, access interfaces and pane descriptor components.
[0117] Intelligent Object application framework (IMO-A) 2016,
comprising methods for one or more of:
[0118] user-directed functional assembly and functional integration
of processing components and access interfaces comprised within the
Intelligent Object Handler (IOH) 202 as applications, modules or
plug-ins; and optionally further comprising a component for
[0119] automated applications assembly according to dynamic,
automated and/or user- directed processing requirements.
[0120] Application translation interface (ATI) 216, which comprises
methods for
[0121] interface linking and translation for functional integration
of applications, to provide user interactivity for Intelligent
Object (IMO) 200 data within heterogeneous data and applications
environments.
[0122] In an optional embodiment, a set of interaction protocols
are also provided, which may include one or any combination of the
following:
[0123] An IT Platform supporting the requirements of the inventive
system and method, such as for example, the Sentient IT Platform
illustrated in FIG. 5, comprising methods for one or more of:
[0124] using data objects other than Intelligent Objects (IMO) 200
as core components;
[0125] comprising menus, toolbars and user interface panes
presented within a unified presentation layer (UPL) 206 to enable
an interactive, functionally integrated graphical user interface;
and
[0126] integrating internal components and access interfaces as
well as components and interfaces of other external applications or
devices over a variety of local and/or distributed connectivity
protocols.
[0127] A data object and applications handler (IOH) 202, comprising
methods for
[0128] providing a core data and applications handling framework
within an IT Platform (See FIG. 3 and FIG. 4),
[0129] provision of interactive menus, toolbars and user interface
panes presented within a unified presentation layer (UPL) 206;
and
[0130] provision of corresponding components and access interfaces,
which comprise data-enabling methods for handling of various data
objects and their data content.
[0131] The following embodiments defined and described in enabling
detail by minimal set of processing components and access
interfaces below as well as certain optional and advantageous
embodiments. Alternative embodiments may or may not have
corresponding or additional processing components, access
interfaces and property panes with unique, functionality-driven
properties. In this exemplary embodiment, the set of property
panes, processing components and their corresponding access
interfaces are defined as follows.
[0132] In an advantageous and exemplary embodiment, an information
technology platform architecture such as for example the "Sentient
IT Platform" (See FIG. 5), as described here or in one or more of
the related applications identified herein, advantageously enabled
in software, comprises a unified presentation layer (UPL) 206
graphical user interface, processing components and access
interfaces to enable functionally integrated user interactivity.
The presentation layer, interfaces and components comprise sets of
instructions for methods, processes and/or protocols including user
interaction; data content definition, accessing, unified viewing,
processing and routing; environment definition, accessing, unified
viewing, processing and routing; to provide unified functionality
within previously homogeneous and/or heterogeneous data and
applications environments. The information technology platform
allows for fast, efficient, functionally integrated,
multidimensional accessing, routing; viewing; querying; analyzing;
and other data- enabling operations via the utilization of
comprised methods and/or processes including vectorized data
content accessing and routing; direct information interchange
between data objects; data-enabled parallel processing via
organization, ranking and result generation of the information
interchanged, according to Boolean and other statistical analyses;
nested vector table translation; and non-destructive cache
"overlay" processing.
[0133] The architecture utilizes Intelligent Objects (IMO) 200 as
core accessing; routing; and processing elements; and provides a
set of components and access interfaces including but not limited
to definition of Intelligent Object (IMO) 200 and data content
according to methods including but not limited to data object and
content definition; data matrix structure definition; application
requirements definition; data resource (database, data storage)
definition; and preparation of Intelligent Object (IMO) 200 and
data content according to methods including but not limited to data
content and activity synchronization; standardization; translation;
validation; ranking; automated and/or interactive data
organization; cache-based non-destructive processing; analysis and
presentation of Intelligent Object (IMO) 200 and data content
according to methods including but not limited to direct
data-to-data information interchange; vectorized accessing and
routing of data content; meta-data learning and optimization; to
enable fast, efficient, functionally integrated interaction of
Intelligent Object (IMO) 200s within homogeneous and/or
heterogeneous data and applications environments.
[0134] In an advantageous and exemplary embodiment, an Intelligent
Object Handler (IOH) 202, advantageously enabled in software,
comprises a unified presentation layer (UPL) 206 graphical
interface, processing components and access interfaces to enable
functionally integrated user interactivity. These unified
presentation layer (UPL) 206, components and interfaces comprise
methods not limited to Intelligent Object (IMO) 200 data as core
elements, which provide methods advantageous for Intelligent Object
handling, including but not limited to automated and/or interactive
data and data resource access, routing, processing, translation,
analytical integration, viewing, analysis and management. The
Intelligent Object Handler (IOH) 202 comprises a multi-platform
graphical user interface which functionally integrates plug-ins;
components; modules; applications; interfaces; from sources not
limited to diverse scientific; business; manufacturing; academic;
manufacturing; and laboratory systems environments. The unified
presentation layer (UPL) 206 provides methods advantageous for data
Object Handling and analysis of data content, dynamically presented
within the Handler to enable user interactivity, including but not
limited to sets of customizable toolbars; user menus; and various
analytical interfaces at the unified presentation layer (UPL) 206 ,
such as File New; Open; Open All (in directory); Close; Close All;
Print preview; Print; ( . . . ); Edit; Undo; Redo; Cut; Copy;
Paste; Select; Select All; as well as additional and easily
extensible options for user interactivity and automated
functionality.
[0135] Owing at least in part to the significant operational
advantages provided by the inventive system, architecture, method,
and computer program and computer program product, the structure,
function, and operation of aspects of the invention are described
in the context of a series of experiments so that the manner in
which a scientist or other investigator would utilize and interact
with the system and method are clearly set forth. Elements of
various structural, methodological, and computer program facets of
the invention are described in this context.
[0136] In this description, data from protein expression studies
based on 2-dimensional gel electrophoresis (2DE) are complex to
interpret due to the limited reproducibility of the experimental
procedure, which typically does not allow for direct comparisons
regarding spot position and quantity. Within the inventive
intelligent object or intelligent molecular object IMO technology,
such object queries can be performed in real-time at an individual
spot level. The attached images of the user interface handling
input/output operation between the Intelligent Objects demonstrate
the effective, interactive real-time answer generation process.
[0137] Three examples are also described. "Example 1" depicts a
specific embodiment of enabling code, providing instructions
utilized for the exemplary embodiment of dynamic menu configuration
for the Intelligent Object Handler's (IOH) main routing menu.
"Example 2" depicts a specific embodiment of enabling code,
providing instructions utilized in the user definition and
administration (UDA) Shell. "Example 3" depicts a specific
embodiment of enabling code, providing instructions utilized in the
direct instrument data acquisition and control (DIAC) interface to
remotely operate and/or monitor connected instrumentation in
real-time. Functions such as status of the instrumentation,
parameter queries, start-stop or pause-resume and the like are
provided. A remote-control styled dialog and message handler are
implemented.
[0138] Three examples showing specific instantiation of computer
software program code are now described.
EXAMPLE 1
[0139] Example 1 shows a specific instantiation of enabling code,
providing instructions utilized for the exemplary embodiment of
dynamic menu configuration for the Intelligent Object Handler's
(IOH) 202 main routing menu.
[0140] IMPLEMENT DYNCREATE(CMainDoc, COleDocument)
[0141] BEGIN MESSAGE_MAP(CMainDoc, COleDocument)
[0142] //((AFX MSG_MAP(CMainDoc)
[0143] ON_UPDATE_COMMAND_UI(ID_ANALYZE_STAT_SIMCLUSTER,
[0144] On UpdateAnalyzeStatSimCluster)
[0145] ON_COMMAND(ID_ANALYZE_STAT SIMCL USTER,
OnAnalyzeStatSimCluster)
[0146] ON_UPDATE_COMMAND_UI(IDFILE_SAVE, OnUpdateFileSave)
[0147] ON_COMMAND(ID_VALIDA TE_RA WDA TA_INTEG, On Validate
VerifyIntegrity)
[0148] ON_ UPDATE_COMMAND_UI(ID_VALIDATE_RA,WDATA_INTEG,
[0149] On Update Validate VerifyIntegrity)
[0150] //}}AFX MSG_MAP
[0151] //Enable default OLE container implementation
[0152] ON UPDATE COMMAND UI(ID EDIT PASTE,
[0153] COleDocument::On UpdatePasteMenu)
[0154] ON_UPDATE_COMMAND_UI(ID_EDIT PASTE LINK,
[0155] COle.Document:: On UpdatePasteLinkMenu'
[0156] ON_UPDATE COMMAND UI(ID_OLE EDIT CONVERT
[0157] COleDocument:: On UpdateObjectVerbMenu)
[0158] ON_COMMAND(ID_OLE_EDIT CONVERT,
COleDocument::OnEditConvert)
[0159] ON_UPDATE_COMMAND_UI(IDOLE_EDIT LINKS,
[0160] COleDocument::On UpdateEditLinksMenu)
[0161] ON_COMMAND(IDOLE_EDIT LINKS, COleDocument::OnEditLinks)
[0162] ON_UPDATE_COMMAND_UI RANGE(IQOLE_VERB_FIRST,
[0163] ID_OLE_VERB_LAST, COleDocument::OnUpdateObjectVerbMenu)
[0164] END_MESSAGE-MAP(
[0165] In a typical IOH configuration, the following menus as
illustrated in FIG. 11 and FIG. 12 are available: File, Edit, View,
Select, Options, Control, Analyze, Query, Validate, Report, Link,
User, Maintain, Window, and Help.
[0166] In FIG. 11, the menu of FIG. 10 is expanded using a menu
pull-down feature. The FILE menu provides selections such as for
creating, opening, closing, import or export of data; for printing,
print preview or setup and to logout for user changes. The EDIT
menu provides selections such as for cutting, copying, pasting,
object insertion, linking and such for Undo of the last operation.
The VIEW menu provides selections such as those for enabling of
diverse toolbars, viewing of connections, graphical thumbnails; and
such for viewing of specific lookup tables (LUTs) in individual
windows such as object state, content attributes, database list,
sample definitions, calibration functions and the like. The SELECT
menu provides selections such as those for connection type,
database or instrument integration and such to select devices for
live data acquisition. The OPTIONS menu provides selections to
preview individual results, aggregate results, enable distributed
learning or to customize result aggregation. The CONTROL menu
provides selections to control diverse instruments, cameras,
imagers and for setup of experimental parameters in the analyzers
or imagers. The ANALYZE menu provides selections for analytical
modules, plug-ins or tools which provide content-specific
analytical functions and data viewer. The QUERY menu provides
selections to perform queries in form-based or graphical
drag-and-drop fashion and a selection to launch a query profiler.
The VALIDATE menu provides selections to verify data authenticity
and integrity and to electronically sign object and raw data sets.
The REPORT menu provides selections for a variety of reporting
options as displayed in the example. The LINK menu provides
selections to link experiments, libraries, public resources and
external applications. The USER menu provides selections for user
management as described for user definition and administration
(UDA) 2000. The MAINTAIN menu provides selections such as those for
backup, redundancy removal, manual metadata index update and
performance-related parameter monitoring. The WINDOW menu provides
selections such as those for arrangement of diverse windows across
the main application window and a list of currently open windows.
The HELP menu provides selections such as those for generic help
topics, acronyms, contact, web link, check for updates and version
information.
[0167] These components and access interfaces comprise methods for
automated and/or interactive applications access, routing,
translation, integration, viewing and management; automated and/or
interactive data and data resource access, routing, processing,
translation, integration, viewing, analysis and management.
[0168] The user definition and administration (UDA) 2000 component
is functionally linked to a "User"menu comprised by the unified
presentation layer (UPL) 206 within the Intelligent Object Handler
(IOH) 202. The user definition and administration (UDA) 2000
component provides a set of instructions, advantageously enabled in
software, comprising methods including bi-directional information
interchange with components and access interfaces including the
User menu, Intelligent Object generator (IMO-G) 2002 component;
object state engine (OSE) 208 component; and master query component
(MQC) 2012; and which provides a user interface and functionality
to set up and govern User preferences and privileges, including but
not limited to password settings; look preference; color
preference; local cache size; local cache clear; import settings;
auto setup; connectivity profile (peer-to-peer, client/server,
etc.); database access preference; applications list; personal data
storage; and global user administration including a dynamically
update list of user names; a dynamically update list of user levels
including; Add User; Edit User; Export User; Import User;
Lock/Unlock User; Retire User; Clear User; and Set Password.
EXAMPLE 2
[0169] Example 2 shows a specific instantiation of enabling code,
providing instructions utilized in the user definition and
administration (UDA) 2000 Shell. A process provides arrays for
connection, user access tracking, logging and displaying.
1 { CPlatformApp* app = (CPlatformApp*)AfxGetApp(); TCHAR
computer_name[MAX_COMPUTERNAME_LENGTH + 1] = {0}; DWORD size =
MAX_COMPUTERNAME_LENGTH + 1;, GetComputerName(computer_name,
&size); CONNECTEDUSERS cu = {0}; _tcscpy(cu.szComputerName,
computer_name); _tcscpy(cu.szName, app->m_stUser.szName);
_tcscpy(cu.szSessionID, app->m_stUser.szSessionID);
_tcscpy(cu.szIpAddress, app->m_strHostIp); cu.uuid =
app->m_stUser.uuid; cu.timeLoginTime = app->m_stUser.timeLo-
ginTime; m_arrayConnectedUsers.Add(cu); // add to list for(int i =
0; i < 3; i++) // write to file { CONNECTEDUSERS tmp_cu = {0};
key.Format(fmt, i,); GetPrivateProfileStruct(_T("Connection"), key,
&tmp_cu, sizeof(tmp_cu),fileName);
if(_tcslen(tmp_cu.szSessionID) == 0) {
WritePrivateProfileStruct(_T("Connection"), key, &cu,
sizeof(cu),fileName); break; } }
[0170] The User Definition and Administration (UDA) shell provides
dialog-based tools to add, edit, export, import, lock, unlock,
retire user or to clear or request renewal of user passwords.
2 BEGIN_MESSAGE_MAP(CAdministrationDlg, CDialog)
//{{AFX_MSG_MAP(CAdministrationDlg) ON_NOTIFY(LVN_ITEMCHANGED,
IDC_USERLIST, OnItemChangedUserList) ON_BN_CLICKED(IDC_CLEARPASSW-
ORD, On ClearPassword) ON_BN_CLICKED(IDC_EDITUSER, OnEditUser)
ON_BN_CLICKED(IDC_DELETEUSER, OnDeleteUser)
ON_BN_CLICKED(IDC_ADDUSER, OnAddUser) ON_BN_CLICKED(IDC_LOCKUSER,
OnLockUser) ON_BN_CLICKED(IDC_SHOWACTIVE, OnShowActive)
ON_BN_CLICKED(IDC_SHOWALL, OnShowAll) ON_BN_CLICKED(IDC_SHOWINACT-
IVE, OnShowInactive) ON_BN_CLICKED(IDC_EXPORTUSER, OnExportUser)
ON_BN_CLICKED(IDC_IMPORTUSER, OnImportUser) //}}AFX_MSG_MAP
END_MESSAGE_MAP() ..... void CAdministrationDlg::Ini- tUserList() {
m_listUser.DeleteAllItems(); m_listUser.DeleteColumn(5);
m_listUser.DeleteColumn(4); m_listUser.DeleteColumn(3);
m_listUser.DeleteColumn(2); m_listUser.DeleteColumn(1);
m_listUser.DeleteColumn(0); DWORD flags =
m_listUser.GetExtendedStyle(); m_listUser.SetExtendedStyle(flags
.vertline. LVS_EX_FULLROWSELECT .vertline. LVS_EX_GRIDLINES);
m_listUser.InsertColumn(0, _T("User"), LVCFMT_LEFT);
m_listUser.InsertColumn(1, _T("Level"), LVCFMT_LEFT);
m_listUser.InsertColumn(2, _T("Group"), LVCFMT_LEFT);
m_listUser.InsertColumn(3, _T("Status"), LVCFMT_LEFT);
m_listUser.InsertColumn(4, _T("Creation"), LVCFMT_LEFT);
m_listUser.InsertColumn(5, _T("Termination"), LVCFMT_LEFT);
m_listUser.SetColumnWidth(0, LVSCW_AUTOSIZE_USEHEADER);
m_listUser.SetColumnWidth(1, LVSCW_AUTOSIZE_USEHEADER);
m_listUser.SetColumnWidth(2, LVSCW_AUTOSIZE_USEHEADER,);
m_IistUser.SetColumnWidth(3, LVSCW_AUTOSIZE_USEHEADER);
m_listUser.SetColumnWidth(4, LVSCW_AUTOSIZE_USEHEADER),
m_listUser.SetColumnWidth(5, LVSCW_AUTOSIZE_USEHEADER); int
txt_width = 0; int col_width = 0; for(int i = 0; i <
m_arrayUsers.GetSize(); i++) { if((m_nShowUsers ==
SHOWUSERS_ACTIVE) && (m_arrayUsers[i].byteStatus !=
USERSTATUS_ACTIVE) .vertline..vertline. (m_nShowUsers ==
SHOWUSERS_INACTIVE) && (m_arrayUsers[i].byteStatus ==
USERSTATUS_ACTIVE)) continue; int index = m_listUser.InsertItem(i,
m_arrayUsers[i].szUser); m_listUser.SetItemData(index, i);
txt_width = m_listUser.GetStringWidth(m_arrayUsers[i].szUser) + 15;
col_width = m_listUser.GetColumnWidth(0); if(txt_width >
col_width) m_listUser.SetColumnWidth(0, txt_width); CString str =
_T(""); switch(m_arrayUsers[i].byteLevel) { case 1: str =
_T("Assistant"); break; case 2: str = _T("Technician"); break; case
3: str = _T("Researcher"); break; case 4: str = _T("Validator");
break; case 5: str = _T("Chief"); break; case 8: str =
_T("Department Head"); break; case 16: str = _T("Maintenance");
break; case 20: str = _T("Internal Technical Support"); break; case
32: str = _T("Administrator"); break; case 64: str = _T("Super
User"); break; default: ASSERT(FALSE); } m_listUser.SetItem(index,
1, LVIF_TEXT, str, 0, 0, 0, 0); txt_width =
m_listUser.GetStringWidth(str) + 15; col_width =
m_listUser.GetColumn Width(1); if(txt_width > col_width)
m_listUser.SetColumnWidth(1, txt_width);
switch(m_arrayUsers[i].byteType) { case 1: str =
_T("Administration"); break; case 2: str = _T("Finance"); break;
case 3: str = _T("Human Resources"); break; case 4: str =
_T("Inventory"); break; case 5: str = _T("Logistics"); break; case
6: str = _T("Management"); break; case 7: str = _T("Marketing");
break; case 8: str = _T("Production"); break; case 9: str =
_T("Purchasing"); break; case 10: str = _T("Regulatoty
Compliance"); break; case 11: str = _T("Research &
Development"); break; case 12: str = _T("Quality Control / QA");
break; default: ASSERT(FALSE); } m_listUser.SetItem(index, 2,
LVIF_TEXT, str, 0, 0, 0, 0); txt_width =
m_listUser.GetStringWidth(str) + 15; col_width =
m_listUser.GetColumnWidth(2); if(txt_width > col_width)
m_listUser.SetColumnWidth(2, txt_width); switch(m_arrayUsers[i].b-
yteStatus) { case 0: str = _T("Locked"); break; case 1: str =
_T("Active"); break; case 255: str = _T("Retired"); break; default:
ASSERT(FALSE); } m_listUser.SetItem(index, 3, LVIF_TEXT str, 0, 0,
0, 0); txt_width = m_listUser.GetStringWidth(str) + 15; col_width =
m_listUser.GetColumnWidth(3); if(txt_width > col_width)
m_listUser.SetColumnWidth(3, txt_width); if(m_arrayUsers[i].timeC-
reation > 0) { CTime t(m_arrayUsers[i].timeCreation); str =
t.Format("%B %d, %Y"); m_listUser.SetItem(index, 4, LVIF_TEXT, str,
0, 0, 0, 0); txt_width = m_listUser.GetStringWidt- h(str) + 15;
col_width = m_listUser.GetColumnWidth(4); if(txt_width >
col_width) m_listUser.SetColumnWidth(4, txt_width); }
if(m_arrayUsers[i].timeTermination > 0) { CTime
t(m_arrayUsers[i].timeTermination); str = t.Format("%B %d, %Y");
m_list User.SetItem(index, 5, LVIF_TEXT, str, 0, 0, 0, 0);
txt_width = m_listUser.GetStringWidth(str) + 15; col_width =
m_listUser.GetColumnWidth(5); if(txt_width > col_width)
m_listUser.SetColumnWidth(5, txt_width); } } m_nCurListIndex = 0;
m_listUser.SetItemState(m_nCurListInde- x, LVIS_SELECTED,
LVIS_SELECTED); }
[0171] Subsequently, the user definition and administration (UDA)
2000 shell component also handles user-selective preference
setting. An example of such preferences, the output selection for a
specific user profile is listed below.
3 BEGIN_MESSAGE_MAP(CPreferenceDlg, CDialog)
//{{AFX_MSG_MAP(CPreferenceDlg) ON_BN_CLICKED(IDC_OUTPUT_BROADCAS-
T, OnOutputBroadcast) ON_BN_CLICKED(IDC_OUTPUT_FILELOCAL,
OnOutputFileLocal) ON_BN_CLICKED(IDC_OUTPUT_FILEPRINT,
OnOutputFilePrint) ON_BN_CLICKED(IDC_OUTPUT_PRINTER,
OnOutputPrinter) ON_BN_CLICKED(IDC_OUTPUT_SCREEN, OnOutputScreen)
//}}AFX_MSG_MAP END_MESSAGE_MAP()
[0172] Additionally, the user definition and administration (UDA)
2000 shell component provides a unified environment for user
interactivity, importation and/or information entry regarding
access and user privileges for local and/or remote data sources;
applications; and other user activities within heterogeneous and/or
homogeneous computing and/or network information environments.
[0173] A master query component (MQC) 2012 comprises methods
including bi-directional information interchange with components
and access interfaces including the unified presentation layer
(UPL) 206, including but not limited to menus; toolbars; and query
interfaces; object state engine (OSE) 208 component; Intelligent
Object handle (IMO-H) 2014 component; Intelligent Object
application framework (IMO-A) 2016 component; master query
interface (MQD) 218; direct instrument acquisition and control
(DIAC) 2006 interface; and object translation engine (OTE) 214. The
Master Query component presents externally defined security, access
and interactivity protocols to the appropriate menus, toolbars
and/or other elements comprised within the unified presentation
layer (UPL) 206; and fields and directs automated and/or
user-directed queries and commands, including but not limited to
data acquisition; retrieval; viewing, and/or analysis.
[0174] An Intelligent Object generator (IMO-G) 2002 (IMO-G)
component comprises methods including bi-directional information
interchange with components and access interfaces including the
user definition and administration (UDA) 2000 component; direct
instrument acquisition and control (DIAC) 2006 component; object
state engine (OSE) 208 component; and data type translator (DTT)
2008 component. The Intelligent Object generator (IMO-G) 2002
interacts with the data type translator (DTT) 2008 component to
automate transformation of heterogeneous data sources and types
into Intelligent Object (IMO) 200 data in real-time. Additionally,
the Intelligent Object generator (IMO-G) 2002 interacts with such
as the user definition and administration (UDA) 2000 shell, the
unified presentation layer (UPL) 206 and the Object State engine to
field such as data import requests; user-based queries and/or
commands; and/or automated queries provided by components and
access interfaces, and to dynamically generate Intelligent Objects
(IMO) 200 based on fielded requirements and available data
resources. Simultaneously, this Intelligent Object generator
(IMO-G) 2002 activates and updates the object state history via the
object state engine (OSE) 208.
[0175] An exemplary embodiment of an object state history comprised
of time-sequential set of object activity records is depicted in
Table I. The table represents an embodiment of the object state
history, comprising an object activity record. A typical record is
shown from data object creation prior to data acquisition from an
analytical instrument, several steps of calibrated analysis carried
out by different users within and outside the local network. Note,
that same state codes can occur within the object state history for
different users, for example, output requests and the like.
[0176] With reference to FIG. 6, there is illustrated an embodiment
of an object state engine (OSE). The central element of the object
state engine is the active listening process (ALM), an processing
thread or set of threads that is "always-on" or nearly always on,
that is, running whenever the host machine is active. (Some non-on
time may be provided for maintenance, power-savings, or according
to some other rules or policies.) The object state engine governs
activity on the object data level, via interaction with the status
management component contained within an external Intelligent
Object.
[0177] In FIG. 6, the two state processing elements are query state
processing and object access processing, which handle Intelligent
Object root addressing and interactive content routing,
object-to-object interaction states, data information interchange
definitions and workspace vector assignment. Object state
processing includes storage of current state, history update
functions, assignment of GLP/GMP-compliance via lookup table and
ranking based on validation assessments. The outer pane represents
the universal presentation layer (UPL), which contains non-time
critical components for I/O operation and utilizes the state
provided from the OSE for tasking. Object creation processes are
only triggered by the OSE, but may be carried out within UPL for
specific tasking such as user entry of ownership terms, or the
like.
4TABLE 1 depicts an embodiment of an object state history,
comprised of time- sequential set of object activity records. Ob-
ject: User/ Net- State level work Date/time stamp (Explanation) 000
RAS/05 00220 12/20/2000 14:33:05 (object created) 011 WUD/02 00220
12/20/2000 14:33:07 (data: acquisition in progress) 014 WUD/02
00220 12/20/2000 16:53:07 (data: acquisition completed) 022 WUD/02
00220 12/20/2000 16:55:22 (data: matrix defined) 056 GOT/03 00220
12/21/2000 08:00:57 (image: dynam. range verified) 052 GOT/03 00220
12/21/2000 08:01:46 (image: fluoresc. intens. calib.) 041 GOT/03
00220 12/21/2000 08:16:31 (bio: quantitation calib.) 061 GOT/03
00220 12/21/2000 08:18:58 (image: origin calib.) 062 GOT/03 00220
12/21/2000 08:20:25 (image: size x calib.) 063 GOT/03 00220
12/21/2000 08:23:19 (image: size y calib.) 101 GOT/03 00220
12/21/2000 08:25:44 (std/norm: detection threshold) 164 GOT/03
00220 12/21/2000 08:41:12 (std/norm: measurement x) 165 GOT/03
00220 12/21/2000 08:45:30 (std/norm: measurement y) 901 KRE/05
00080 12/21/2000 08:45:31 (access denied) 911 AAH/02 04092
12/21/2000 08:45:44 (user: access to object granted) 071 AAH/02
04092 12/21/2000 08:45:50 (anno: descript. text) 024 GOT/03 00220
12/21/2000 08:52:12 (data: vector defined) 911 BLD/03 00693
12/21/2000 09:02:36 (user: access to object granted) 073 BLD/03
00693 12/21/2000 09:02:39 (anno: AA protein sequence) 045 GOT/03
00220 12/21/2000 09:14:08 (bio: immunol. activity) 046 GOT/03 00220
12/21/2000 09:39:41 (bio: other bio- activity) 410 GOT/03 00220
12/21/2000 09:42:31 (output: numerical output) 411 GOT/03 00220
12/21/2000 09:44:07 (output: graphical output) 430 GOT/03 00220
12/21/2000 09:42:31 (output: printed) . . .
[0178] The object state engine 208 (OSE) comprises methods
including bi-directional information interchange with components
and access interfaces including the Status Management Components
comprised by Intelligent Objects (IMO) 200; master query component
(MQC) 2012; Intelligent Object generator (IMO-G) 2002; Intelligent
Object standardization component; object and image normalization
components; object translation engine (OTE) 214 component; data
type translator (DTT) 2008 component; direct instrument acquisition
and control (DIAC) 2006 interface; and legacy synchronization
interface (LSI) 2018.
[0179] The object state engine (OSE) 208 provides
continuously-running (always-on) sets of processes, or activity
listening mode (ALM) which enable creation and identification,
monitoring, recordation, governing, synchronization, validation and
alerting activities for Intelligent Objects (IMO) 200 in real-time
and/or within latency environments.
[0180] The object state engine (OSE) 208 comprises methods for
active listening (activity listening mode - ALM) 2028; state
processing (State Processing) 2030; query processing (Query
Processing) 2032; and access processing (Access Processing)
2034.
[0181] Initially, the object state engine (OSE) 208 comprises
methods for triggering the creation (Object Creation) 2024 of a new
Intelligent Object (IMO) 200 via the Intelligent Object generator
(IMO-G) 2002 and assigning a unique identifier to it (UID
Assignment) 2026.
[0182] The object state engine (OSE) 208 comprises state processing
(State Processing) 2030 methods such as recording Intelligent
Object (IMO) 200 activity or transaction to provide activity
history (State Memory) 2036; assigning a defined state to the
Intelligent Object (IMO) 200 to synchronize the current action
(Update History) 2038; and in advantageous embodiments, relating
the activity history to GLP/GMP-compliant data states (G*P
Assignment) 2040; and providing a validation state-based
information ranking component (G*P Ranking) 2042. Additionally, the
object state engine (OSE) 208 may provide status memory over
state-less networks by transmitting action consequences back to the
backend system.
[0183] The object state engine (OSE) 208 also comprises query
processing (Query Processing) 2032 methods such as handling of
network requests (Network Request) 2050 and external query
submissions (External Submission) 2046 to the Intelligent Object
(IMO) 200; governing query access (User Access Privilege) 2048 and
output generation (Output Generation) 2054 according to provided
user access privileges; providing query status updating (Query
Status Update) 2044; and providing query result synchronization
(Result Synchronization) 2052.
[0184] The object state engine (OSE) 208 also comprises access
processing (Access Processing) 2034 methods such as Intelligent
Object root and data content addressing and routing (Object
Routing) 2056; Intelligent Object-to-Intelligent Object linking and
synchronization (Object: Object) 2058; state-related vector
definition of object data subsets for dynamic information
interchange (DII Definition) 2060; and synchronized accessing to
raw data matrix vectors (RDM Vectors) 2062.
[0185] An object standardization technique (IMO-S) 2004 comprises
methods including bi-directional information interchange with
components and access interfaces including the object state engine
(OSE) 208; object normalization engine (ONE) 210 component; global
image normalization component; and object translation engine (OTE)
214. The object standardization technique (IMO-S) 2004 activates
and interacts with these components to provide automated
standardization; and normalization of data; by methods including
calibration by standardized empirical criteria; calibration
functions including but not limited to linear; non-linear;
polynomial; exponential; logarithmic; cubic spline; adaptive;
weighted point-to-point fit; and a variety of multi-parametric
functions.
[0186] An object normalization engine (ONE) 210 component comprises
methods including bi-directional information interchange with
components and access interfaces including the object state engine
(OSE) 208 and the object standardization technique (IMO-S) 2004
component. The object normalization engine (ONE) 210 component
provides methods, protocols and processing components which
normalize scientific data contained in objects for comparison
independent of procedural errors. These methods allow for accurate
and precise comparison by eliminating the variability due to
multiple sources of errors in the process of performing experiments
and inherent in multiple datasets of different origins.
[0187] These methods, protocols and processing components comprise
automated and/or event-driven processes and algorithms which
generate a normalized global standard to provide algorithms to
which all similar data can be referenced to in regard to their
field parameters contained within the raw data matrix; apply these
algorithms to user-defined workspaces addressed by dynamically
generated vector subsets to minimize data exchange and increase
processing speed significantly, allowing for use of these algorithm
even in network environments with limited data exchange
capabilities; utilize a workspace cache area for this processing to
maintain data content integrity at all times; provide algorithms
for processing a variety of scientific data configurations such as
timeline-related; spectra or wavelength-related; kinetics-related;
migration- or separation-related data content matrices in single
and multidimensional variations; locational deviations within
arrays, bioassay-related and gene and/or protein sequence-related
raw data matrices; multi-parameter normalization in respect to
color, intensity, dynamic range and x/y/z distortions in 2D and 3D
scientific images; x/y/z-alignment and component distance
adjustments in molecular structures; and acoustic wave pattern
and/or video signals.
[0188] Another aspect of the object normalization engine (ONE) 210
provides a component comprised of one or several algorithms which
detect non-obvious data redundancies in diverse data resources,
databases, data marts or data warehouses; and eliminate or
otherwise retire such multiple records. In another aspect of the
object normalization engine (ONE) 210, algorithms are applied to
subsets of decompressed workspaces within loss-free compressed raw
data providing normalization to compressed data without the need
for decompression of the entity of such data sets. In yet another
aspect of the object normalization engine (ONE) 210, algorithms are
used to track deviations from an established global standard; and
to correct them in real-time for use in calibrated on-the-fly
analysis applications. The object normalization engine (ONE) 210
also provides means for saving or transferring workspace cache area
data converted by these algorithms between applications.
[0189] A direct instrument acquisition and control (DIAC) 2006
comprises methods including bi-directional information interchange
with components and access interfaces including but not limited to
the Master Query; Intelligent Object generator (IMO-G) 2002; object
state engine (OSE) 208 component and external instruments and
devices. The direct instrument acquisition and control (DIAC) 2006
interface comprises methods including automated detection and/or
user definition of instrument and device dependencies, parameters,
and/or operational method definitions; definition and functional
integration of dependencies, parameters, and/or operational method
definitions for interactive remote and/or local user interactivity
and instrument control; an Instrument Control comprised by the
unified presentation layer (UPL) 206, which presents information
including but not limited to Connection status; such as presence or
absence of connection; connection type information; instrument
activity information such as run-time-hours, minutes, seconds;
experiment status information such as validation status; instrument
status information such as various operating parameters; and user
interactivity such as start, pause, resume, stop; and which enables
the acquisition of data content via instrumentation; and the
generation of Intelligent Objects (IMO) 200 corresponding to data
content.
EXAMPLE 3
[0190] Example 3 shows a specific instantiation of enabling code,
providing instructions utilized in the direct instrument
acquisition and control (DIAC) 2006 interface to remotely operate
and/or monitor connected instrumentation in real-time. Functions
such as status of the instrumentation, parameter queries,
start-stop or pause-resume and the like are provided. A
remote-control styled dialog and message handler are
implemented.
5 // RemoteDlg dialog RemoteDlg::RemoteDlg(CWnd* pParent /*=NULL*/)
:CDialog(RemoteDlg::IDD, pParent) { //{{AFX_DATA_INIT(RemoteDlg)
//}}AFX_DATA_INIT } void RemoteDlg::DoDataExchange(CDataExchange*
pDX) { CDialog::DoDataExchange(pDX); //{{(AFX_DATA_MAP(RemoteDlg)
//}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(RemoteDlg, CDialog)
//{{AFX_MSG_MAP(RemoteDlg) ON_COMMAND(ID_SELECT_ANALYZEINTE-
G_REMOTE, OnSelectAnalyzeIntegRemote) //}}AFX_MSG_MAP
END_MESSAGE_MAP() // RemoteDlg message handlers void
RemoteDlg::OnSelectAnalyzeIntegRemote() { .... }
[0191] The direct instrument acquisition and control (DIAC) 2006
interface provides linking of user-defined and/or automatically
detected instrument and/or device dependencies with the instrument
control user interface; real-time, pre-programmed and/or latent
viewing and interactivity from local and/or remote locations; and
recordation of experimental and instrument running parameters via
the object state engine (OSE) 208.
[0192] A data type translator (DTT) 2008 component is comprised
within the Intelligent Object Handler (IOH) 202, comprising methods
including bi-directional information interchange with components
and access interfaces including the Intelligent Object generator
(IMO-G) 2002; object translation engine (OTE) 214 component and
application framework component. The data type translator (DTT)
2008 provides methods to field applications and database
environment definitions provided by an application/database
definition generator (ADG) 2010 interface; and define data type
dependencies as required for components and access interfaces
including the Intelligent Object generator (IMO-G) 2002,
application framework and object translation engine (OTE) 214.
[0193] With respect to FIG. 7, there is shown an embodiment of
object translation engine (OTE) showing its relationships to
external databases and to certain required and optional components
and access interfaces comprised within the Intelligent Object
Handler. The object translation engine interacts with an
application/database generator (ADG) 2010 and master query
component (MQC) 2012 to provide Intelligent Object translation and
functional integration with heterogeneous applications and data
resource back-ends. An alternative embodiment of OTE is illustrated
in FIG. 8.
[0194] The object translation engine (OTE) 214 component comprises
methods including bi- directional information interchange with
components and access interfaces including the master query
component (MQC) 2012; object state engine (OSE) 208 component; data
type translator (DTT) 2008 component; application/database
definition generator (ADG) 2010 and master query interface (MQI)
218. The object translation engine (OTE) 214 component also
provides methods, protocols and processing components required to
enable dynamic, automated translation of previously heterogeneous
and/or incompatible data into data types; structures formats;
matrices; and various data content access and routing protocols
required for functional integration including but not limited to
heterogeneous and/or dynamically defined query, viewing or analysis
protocols; processing components; access interfaces; data
resources; and/or applications environments. Additionally, the
object translation engine (OTE) 214 comprises automated and/or
event-driven processes, protocols and algorithms including but not
limited to data object, data field and raw data matrix structure
definition tables; data structure information for non-object data;
data type, access and structure definition tables; database type,
access and structure definition tables; application type, access
and structure definition tables; table lookup to provide real-time
translation of the Intelligent Object (IMO) 200 within
heterogeneous database and application environments; and linking of
structure information and definition tables to dynamically direct
Intelligent Object property pane activation and presentation
(Property Panes) 1000; data object activation and presentation;
data content activation and presentation; application activation
and presentation; component activation and presentation; and
interface activation and presentation; in real-time, according to
defined data structure; database; and application requirements.
[0195] An application/database definition generator (ADG) 2010
component comprises methods including bi-directional information
interchange with components and access interfaces including the
object translation engine (OTE) 214; Intelligent Object application
framework (IMO-A) 2016; application translation interface (Am 216;
external data content; databases and data resources; external
applications and components. The application/database definition
generator (ADG) 2010 enables the detection of structural and
functional information necessary for standardization of non-object
data; and for the presentation of standardized Intelligent Object
(IMO) 200 data for analysis within dynamically defined analytical
environments. The application/database definition generator (ADG)
2010 also comprises and provides methods including the: extraction
interface to diverse data object, data field and raw data matrix
definitions and activation of external components for meta-data
extraction; extraction interface to diverse data type, access,
structure and functional dependencies; extraction interface to
diverse database type, access and structure dependencies;
extraction interface to diverse application type, access and
structure dependencies; Additionally, the application/database
definition generator (ADG) 2010 automates the query of all
application and database requirements according to automated and/or
user-defined requirements utilizing methods including data table
extraction to determine data object, data field and raw data matrix
definitions; data type extraction to determine data access and
structure dependencies for Intelligent Objects (IMO) 200; database
type extraction to determine database access and structure
dependencies; application type extraction to determine application
type, access and structure; Finally, the application/database
definition generator (ADG) 2010 provides table definitions for
look-up to provide real-time translation of Intelligent Object
(IMO) 200 meta-data and data content between and within
heterogeneous computing environments and defines the computing
environment for components and access interfaces including the data
type translator (DTT) 2008, the application framework and the
application translation interface (ATI) 216.
[0196] A master query interface (MQI) 218 comprises methods
including bi-directional information interchange with components
and access interfaces including the master query component (MQC)
2012; object translation; Intelligent Object handle (IMO-H) 2014
component; external object query interfaces comprised by
Intelligent Objects (IMO) 200; components and/or access interfaces
comprised by an external Intelligent Object Pool (IOP) 204; an
external result aggregation engine; and various data resources.
Additionally, the master query interface (MQI) 218 comprises
methods including linking of Intelligent Object (IMO) 200 root
routing information comprised within external unique object
identifier interfaces; linking of components and access interfaces
to direct interactive content routing provided by components
comprised within external unique object identifier interfaces;
linking of components and access interfaces to aggregated query
result output provided by external result aggregation engines;
linking components and access interfaces to other external
components and access interfaces for query processing, such as but
not limited to distributed learning engines; and knowledge
extraction engines.
[0197] An Intelligent Object handle (IMO-H) 2014 component
comprises methods including bi-directional information interchange
with components and access interfaces including the master query
component (MQC) 2012 ; master query interface (MQI) 218;
Intelligent Object application framework (IMO-A) 2016 component;
and a report generation interface (RGI) 220. The Intelligent Object
handle (IMO-H) 2014 component enables management of Intelligent
Object (IMO) 200 data by activating information linking and
directing information provided by components and access interfaces,
including but not limited to data content attribute definitions;
meta-data tags; and address vector pointers; comprised by
Intelligent Objects (IMO) 200, according to query and/or command
parameters fielded by automated; and/or user-based methods.
[0198] A report generation interface (RGI) 220 comprises methods
including bi-directional information interchange with components
and access interfaces including the Intelligent Object handle
(IMO-H) 2014 component; object translation engine (OTE) 214;
distributed learning engines; knowledge extraction engines; and an
external result aggregation engine component. The report generation
interface (RGI) 220 comprising methods for assembly, tabulation,
validation and ranking, according to information received from
external processing engines and access interface components, of
data content including data objects; specified meta-data indices of
the Intelligent Object (IMO) 200 data and data content; and
specified data content subsets; defined to levels of granularity as
small as a single byte. Additionally, the report generation
interface (RGI) 220 relays generated results to external processing
engines, access interfaces and pane descriptor components in an
automated, synchronized, real-time manner.
[0199] An Intelligent Object application framework (IMO-A) 2016
comprises methods including bi-directional information interchange
with components and access interfaces including the master query
component (MQC) 2012; data type translator (DTT) 2008 component;
Application/Database Definition Generator; Intelligent Object
handle (IMO-H) 2014; application translation interface (ATI) 216;
Intelligent Objects (IMO) 200 and their content; and the
Intelligent Object Pool (IOP) 204; applications comprised within
the Intelligent Object Handler (IOH) 202 via modules and/or
plug-ins, access interfaces, and processing components. The
application framework provides methods including but not limited to
fielding of automated and/or user-directed queries; applications
assembly commands; processing requests; viewing requests; and other
dynamic applications needs, and provides methods including but not
limited to; detection; assembly; activation; synchronization and
functional integration of required components, interfaces and
protocols to enable assembly of unified applications; and
activation of a comprised component for automated applications
assembly within homogeneous and/or heterogeneous data resources;
applications; access interfaces; and processing components
environments.
[0200] The component for automated applications assembly comprised
by the Intelligent Object application framework (IMO-A) 2016
enables automated assembly of new applications during run-time
("just-in-time") from sets of components according to specific
needs and best suited for complex processing requirements in
heterogeneous data and applications environments.
[0201] The automated applications assembly component comprises
methods for selection and combination of required I/O components,
such as components required to transfer data into and results out
of individual analytical and/or descriptive and/or annotative
components; selection of algorithms best suited for processing of
specifically defined data types or data type descriptors; dynamic
combination of these components and algorithms towards automated
and/or user-defined analytical performance goals, utilizing
distributed subcomponent integration under best-fit conditions;
activation of required components, interfaces and protocols to
enable functionally integrated analysis utilizing homogeneous
and/or heterogeneous data content and applications; synchronization
of required components, interfaces and protocols to enable
functionally integrated analysis utilizing homogeneous and/or
heterogeneous data content and applications; assembly of required
components, interfaces and protocols to enable functionally
integrated analysis utilizing homogeneous and/or heterogeneous data
content and applications memory ranking of performance-optimized
component selection; memory ranking of information-optimized
component selection; and best choice adjustment according to
user-defined functional requirements.
[0202] In addition to its embodiment as comprised by the
Intelligent Object application framework (IMO-A) 2016, the
automated applications assembly component may be contained in a
stand-alone application or module for non-object data; in a
stand-alone application or module for object data; or as a plug-in
or module for an information technology platform containing
Intelligent Object data. The automated applications assembly
component may comprise further methods for selection of components
based on their functional consistency and accuracy within all
components assembled, such as, but not limited to functions for
governing raw data precision; handling of mathematical errors;
provision of data pointer referencing; matrix operation
synchronization in regard to internal or external transformations
and dimension descriptions; output rounding; determination of
logical processing pathways; accounting for Boolean inheritances;
iterative step trace-ing; and controlling and logging of rollback
behavior; selection of components based on their immediate
availability for real-time use; selection of components is based on
the ranking among available components in regard to overall
performance, such as, but not limited to: network traffic; local
processing; remote processing; process sharing; distributed
processing; direct "on-object"-processing; result clustering; and
graphics element preprocessing and charting; selection of
components based on the ranking among available components in
regard to validation required for decisive answers (output
knowledge assessment).
[0203] Additionally, the automated applications assembly component
may comprise further methods for provision of a vectorized
"Application Archive Table" for quick referencing of previously
assembled applications with similar processing needs; provision of
"on-the-fly"temporary applications memory management for
Just-in-Time (JIT) component linking, loading and unloading from
the active caching area. The automated applications assembly
component may also comprise further methods for provision of an
intuitive interactive graphical user interface for drag-&-drop
selection of components for process modeling and analytical
simulations based on user output requests. The automated
applications assembly component may also comprise further methods
for provision of active communication with learning engines, such
as for example, a distributed learning engine or knowledge
extraction engine to optimize iterative processes or loop
algorithms based on condition feedback.
[0204] An application translation interface (ATI) 216 comprises
methods including bi-directional information interchange with
components and access interfaces including the application/database
definition generator (ADG) 2010; application framework; external
result aggregation engine; and including but not limited to
external data resources; applications; access interfaces; and
processing components. The application translation interface (ATI)
216 comprises and provides methods including the; interface layer
to present defined data object, data field and raw data matrix
structure definitions utilizing provided definition look-up tables;
interface layer to present defined data type, access, structure and
function definitions, via provided look-up tables; interface layer
to present defined database type, access, structure and function
definitions provided via look-up tables; interface layer to present
defined application type, access and structure definitions provided
via look-up tables; transferring of requests such as read/write
processes within or in-between external applications; Intelligent
Object (IMO) 200 and data content property presentation in
real-time, according to defined requirements.
[0205] A legacy synchronization interface (LSI) 2018 comprises
methods including bi-directional information interchange with
components and access interfaces including the object state engine
(OSE) 208; and external data content, databases, and data
resources. Additionally, the legacy synchronization interface (LSI)
2018 provides comprised components, and interfaces to synchronize
object data of various types with other data contained in off-line
and/or batch processing legacy databases or external applications;
synchronize Intelligent Object (IMO) 200 data with other data
contained in off-line and/or batch processing legacy databases or
external applications in regard to their integrity, content and
state; and to synchronize Intelligent Object (IMO) 200 data content
with external, off-line or temporarily unavailable data sets,
including but not limited to raw data vector matrices linking; and
property pane updating . In another aspect, the legacy
synchronization interface (LSI) 2018 reports to the object state
engine (OSE) 208 to update state history records for changes during
times where activity-listening-mode is temporarily unavailable
under conditions, such as, but not restricted to off-line;
connection time-out; transaction acknowledgement errors; and/or
record locking conflicts on the legacy end. In another aspect, the
legacy synchronization interface (LSI) 2018 comprises methods for
metadata index updating in batch mode; and for Intelligent Object
(IMO) 200 object pane descriptor (OPD) 1024 updating whenever
object property panes are added or descriptors need to be modified;
by relaying required information to the object state engine (OSE)
208 component. This may for example, be any OPD interface, such as
an external OPD interface described with greater particularity
relative to exemplary IMO. In another aspect, the legacy
synchronization interface (LSI) 2018 provides link functions
between "local state machines" and the object state engine (OSE)
208 component to enable real-time synchronous handshaking during
connect and disconnect of heterogeneous legacy data and/or
applications; transaction management and accounting for such as
"once-and-only-once" transactions; linking between "local state
machines" and components within the unified presentation layer
(UPL) 206 of the Intelligent Object Handler (IOH) 202; to enable
real-time platform-integration of external applications, which
modify data properties during their execution, for synchronization
and update. The described legacy synchronization interface (LSI)
2018 also contains a component which provides feedback on
synchronization conditions including but not limited to frequency;
updates; and timing preferences towards a variety of internally
and/or externally comprised components and interfaces, such as
knowledge extraction engines; and distributed learning engines; and
for automated synchronization and optimization based on event
histories. The legacy synchronization interface (LSI) 2018 also
contains a component, which provides logging and reporting of
synchronization events to methods comprised within such as
Intelligent Objects (IMO) 200; processing components; access
interfaces; applications; data resources and/or databases; and
which provides the interface to integrate required methods to
automatically request synchronization and/or metadata index updates
based on provided instructions including protocols and definitions
such as user preferences; user profiles; administrative; and/or
maintenance actions.
[0206] In an optional embodiment, an information technology
platform architecture advantageously enabled in software comprises
a unified presentation layer (UPL) 206 graphical user interface,
processing components and access interfaces to enable functionally
integrated user interactivity. The presentation layer, interfaces
and components comprising sets of instructions for methods,
processes and/or protocols not limited to user interaction; data
content definition, accessing, unified viewing, processing and
routing; environment definition, accessing, unified viewing,
processing and routing; for homogeneous and/or heterogeneous data
and applications environments. The information technology platform
allows for fast, efficient, functionally integrated,
multidimensional accessing, routing; viewing; querying; analyzing;
and other data- enabling operations via the utilization of
comprised methods and/or processes including data- enabled parallel
processing; via vectorized data content accessing and routing;
direct information interchange between data objects; organization,
ranking and comparison of data according to Boolean and other
statistical analyses of the information interchanged; nested vector
table translation; and non-destructive cache "overlay" processing.
The architecture utilizes a variety of data objects as core
accessing; routing; and processing elements; and providing a set of
components and access interfaces including but not limited to
definition of the data object and data content according to methods
including but not limited to data object and content definition;
data matrix structure definition; application requirements
definition; data resource (database, data storage) definition; and
preparation of the data object and data content according to
methods including but not limited to data content and activity
synchronization; standardization; translation; validation; ranking;
automated and/or interactive data organization; cache-based non-
destructive processing; analysis and presentation of the data
object and data content according to methods including but not
limited to direct data-to-data information interchange; vectorized
accessing and routing of data content; meta-data learning and
optimization; to enable fast, efficient, functionally integrated
interaction of data objects within homogeneous and/or heterogeneous
data and applications environments.
[0207] In an optional embodiment, a data object Handler comprises a
unified presentation layer (UPL) 206 graphical interface
advantageously enabled in software, utilizing processing components
and access interfaces to enable functionally integrated user
interactivity. The unified presentation layer (UPL) 206, components
and interfaces comprising methods not limited to Intelligent Object
(IMO) 200 data as core elements, which provide methods advantageous
for data object handling, including but not limited to automated
and/or interactive data and data resource access, routing,
processing, translation, analytical integration, viewing, analysis
and management. A multi-platform graphical user interface which
functionally integrates plug-ins; components; modules;
applications; interfaces; from sources not limited to diverse
scientific; business; manufacturing; academic; manufacturing; and
laboratory systems environments. The unified presentation layer
(UPL) 206 provides methods advantageous for data object handling
and analysis of data content, dynamically presented within the
handler to enable user interactivity, including but not limited to
sets of customizable toolbars; user menus; and various analytical
interfaces; such as File New; Open; Open All (in directory); Close;
Close All; Print preview; Print; ( . . . ); Edit Undo; Redo; Cut;
Copy; Paste; Select; Select All; ( . . . ); ( . . . ); These
components and access interfaces comprise methods for automated
and/or interactive applications access, routing, translation,
integration, viewing and management; automated and/or interactive
data and data resource access, routing, processing, translation,
integration, viewing, analysis and management.
[0208] Having described many aspects of the invention, it will be
apparent to those workers having ordinary skill in the art that
various modification may be made to the various structures,
organizations, methods, procedures, algorithms, organizations,
interfaces, and the like provided by aspects of the invention. For
example, other structures and methods may be utilized for the
intelligent object handler. FIG. 9, shows one of many alternative
embodiments of the Intelligent Object Handler, providing an
overview for a more general understanding of the Intelligent Object
Handler's functions.
[0209] Through provision of these components and modules, real-time
data flow to and from Intelligent Object (IMO) 200 data is
described, governed, controlled, secured, and monitored and the
data stream is minimized to provide means for highly efficient,
non-redundant, global and selective real-time querying and
reporting.
[0210] Methods defined and described include but are not limited
to: cache-based non- destructive processing; information
interchange of defined vector data subsets directly between data
objects, applications, components and interfaces; directed
meta-data and data content information interchange between data
objects, applications, components and interfaces. Additionally,
methods are defined and described which enable detection,
extraction, definition and functional interaction of and between
comprised and/or external applications, components, interfaces and
data. The representation definitions create state-relevant data
presentation formats in accordance with data type conventions
required by detected and/or user defined applications, databases,
and analytical environments. The methods comprised within these
Intelligent Object Handler (IOH) 202 and Sentient Platform
information technology system (See FIG. 5) enable actions including
highly secure user interactivity over a variety of connection
protocols; automated and/or user-defined data translation;
automated and/or user-directed functional integration of data,
applications and instrumentation over a variety of network
protocols; direct data-to-data interaction; dynamic data content
presentation within different Intelligent Object property pane
(Property Panes) 1000 layers; and automated applications
assembly.
[0211] It is evident from the above description, that this object
management architecture allows for efficient real-time processing
of complex, multidimensional, interdependent queries by providing
the applications and data handling framework and infrastructure on
both the user- interface level and object-interaction level, to
allow for a comprehensive analysis of otherwise inaccessible,
inconsistent data sets.
[0212] Although the foregoing invention has been described in some
detail by way of illustration and example for purposes of clarity
of understanding, it will be readily apparent to those of ordinary
skill in the art in light of the teachings of this invention that
certain changes and modifications may be made thereto without
departing from the spirit or scope of the appended claims.
* * * * *