NZ793125A - Method and system for adapting programs for interoperability and adapters therefor - Google Patents
Method and system for adapting programs for interoperability and adapters thereforInfo
- Publication number
- NZ793125A NZ793125A NZ793125A NZ79312520A NZ793125A NZ 793125 A NZ793125 A NZ 793125A NZ 793125 A NZ793125 A NZ 793125A NZ 79312520 A NZ79312520 A NZ 79312520A NZ 793125 A NZ793125 A NZ 793125A
- Authority
- NZ
- New Zealand
- Prior art keywords
- data
- program
- adapter
- transform
- exchange
- Prior art date
Links
- 230000002457 bidirectional Effects 0.000 claims 8
- 230000000875 corresponding Effects 0.000 claims 6
- 238000006243 chemical reaction Methods 0.000 claims 2
- 230000001537 neural Effects 0.000 claims 2
- 229940109526 Ery Drugs 0.000 claims 1
- 229940036310 Program Drugs 0.000 claims 1
Abstract
method and system according to embodiments enable generalized program to program interoperability. The method and system employ an automatic or substantially automatic transform adapter for using a given exchange standard for two-way communication with a program. In order for the adapter to employ the exchange standard, a discovery manager may learn the program’s data communications structure and/or format, and may learn data meaning information from the program. An adapter creator may derive a transform which converts the program’s data communications structure and data meaning into the exchange standard. The transform may be used by the adapter to enable two-way communication with any adapter and/or program similarly employing the given exchange standard to achieve interoperability. oy the exchange standard, a discovery manager may learn the program’s data communications structure and/or format, and may learn data meaning information from the program. An adapter creator may derive a transform which converts the program’s data communications structure and data meaning into the exchange standard. The transform may be used by the adapter to enable two-way communication with any adapter and/or program similarly employing the given exchange standard to achieve interoperability.
Description
A method and system according to embodiments enable generalized program to program
interoperability. The method and system employ an automatic or substantially automatic
transform adapter for using a given exchange standard for two-way ication with a
m. In order for the adapter to employ the exchange standard, a ery manager may
learn the program’s data communications structure and/or format, and may learn data meaning
information from the program. An adapter creator may derive a transform which converts the
program’s data communications ure and data meaning into the exchange standard. The
transform may be used by the adapter to enable two-way communication with any adapter and/
or program similarly ing the given exchange standard to achieve interoperability.
NZ 793125
METHOD AND SYSTEM FOR ADAPTING PROGRAMS FOR INTEROPERABILITY
AND ADAPTERS THEREFOR
Incorporation by Reference
This application is a divisional application of New d Patent ation No.
785912, which is the Australian National Phase ation of 2020/070410 filed
on 13 August 2020, which claims the benefit of US Patent Application No. 16/542,259 filed
on 15 August 2019, the disclosures of which are incorporated herein by reference in their
entirety.
Field of the Invention
[0001a] The present invention relates in l to a method and a system for adapting
software programs for interoperability. It further relates to adapters for enabling different
ms to achieve interoperability.
ound of the Invention
There is no admission that the background art sed in this section legally
constitutes prior art.
Currently, programs such as database programs employ a variety of different data
models, interface languages, naming conventions, data semantics, schemas, and data
representations. Thus, a fundamental problem is the sharing of heterogeneous information
among a variety of resources. The diversity among data from different programs may
create serious barriers where interoperability among such diverse programs may be highly
desirable but was heretofore unattainable.
Although there have been many attempts directed at heterogeneous databases, a
significant need continues to exist for design, engineering, and manufacturing ations
to be able to easily access and import data in an efficient and effective . Efforts to
develop global query languages do not satisfactorily address the large group of users who
may want to see the world of external data as if it were an ion of their existing
system and its specialized representation. These users may not wish to learn a different
global representation – and more importantly, their expensive design tools may only work
with their one specialized representation.
Database gateways, Common Object Request Broker (COBRA), and Open
Database Connectivity (ODBC) interfaces attempt to address geneity, but only do so
at a relatively superficial level. Thus, there are serious cks to even beginning to
achieve sal m interoperability.
In all these cases, programmers must still write the application code to invoke the
several functions ed in an interface between programs to somehow enable them to
perate, thus creating unwanted and undesirable expense and time delays. Data
transformations and reformatting may be needed on the source side of the application
programming interface (API), the target side of the API, or often on both sides. All of this is
left to the programmers, who must implement this interoperability functionality on a case by
case basis, and thus at great expense for the d implementation. Unfortunately, there
is little or no pre-existing software from which these translators can be built, and each effort
usually begins from scratch. While some vendors offer import translators from a few
common formats, in general these do not e sufficient interoperability.
er, if the target use of the data expects non-relational data (e.g., linked,
nested, or other format), then onal data transformation may be required. N ormally
this too can involve a significant prohibitively expensive programming effort with unwanted
time consuming requirements. Even within the relational data mode, there usually are
several different ways of designing the relational tables – that is, there usually is more than
one way to normalize the data. If the application requires the data differently than the API
provides, then data transformations are usually required. Thus, it is often necessary for an
organization to write expensive and time consuming specialized translators for their
particular requirements.
Other interoperability drawbacks frequently occur in a large modern enterprise. It
is inevitable that different parts of the organization may use ent systems to e,
store, and search their critical data. This diversity of data sources may be caused by many
factors including lack of coordination among company units, different rates of adopting new
technology, mergers and itions, and geographic separation of collaborating groups.
Yet, it is only by combining the information from these various systems that the enterprise
may be able to realize the full value of the data they contain. Thus, program
interoperability is increasingly more xing in modern large enterprises.
In the finance or healthcare industries, for example, mergers are an almost
commonplace occurrence. The company resulting from a merger inherits the data stores
of the original institution or institutions. Many of those data stores may often be from
different cturers. Both the acquirer and the target may have had one or more
document management s for storing text documents. Each may have had
ations that compute important information such as, for example, the risk of granting a
loan to a given customer, or mine for information about customer buying patterns.
After the merger, the new company may require access to the customer
information from both sets of data stores, to analyze its new portfolio using ng and
new applications, and, in general, to use the combined resources of both institutions
through a common interface. The company may also require the ability to identify common
customers and consolidate their accounts, even though the customer data may be stored
in different databases and in different formats. These are all aspects of program
perability, and all may pose hefty and unduly expensive challenges in the
implementation process. Also, the implementation typically requires unwanted lengthy
delays to achieve the d interoperability.
Another t at interoperability is the establishment of a data warehouse, which
is usually built by g data from one or more data s into a newly defined schema
in a warehouse database. The data is often cleansed and transformed in the load process.
Changes in the underlying sources may cause changes to the load process, and the part of
the application that deals with data is must be protected. New data sources may
introduce changes to the schema, requiring that a new load process for the new data be
defined. However, any functions of the new data source that are not a standard part of the
warehouse se ment system usually must be re-implemented in the
warehouse database system or as part of the application, frequently at ed expense
and wasted time for installation.
A solution based on warehousing alone may be impractical or not cost effective for
various other reasons. For e, it is not always feasible to move data from their
original location to a data warehouse, and as bed above, warehousing comes with its
own maintenance and implementation costs.
The use of a se federation system is still another attempt at achieving
universal interoperability. The term “database federation” refers to an architecture in which
a database management system provides uniform access to a number of heterogeneous
data s. However, the time and expense of designing and enting such a
system is usually undesirable and unwanted. Even then it is typically limited to relational
databases only and not to other formats such as hierarchical or other forms. Thus, such a
limited ecture is not at all well suited for universal interoperability. Scaling up by
adding not previously known populated data sources can be an external challenge at best,
if not totally impractical for some applications.
In general, there is unwanted expense and time required to create interfaces to
achieve some measure of program interoperability such, for example, as where a large
group of heterogeneous data sources are employed. Such manual work by programmers
is usually totally undesirable and unwanted, if not daunting.
It would be extremely desirable to have a system and method of enabling
interoperability for any number of different programs in an tic or substantially
automatic, and highly efficient and effective manner. Such a system and method should
safe guard against human errors. Additionally, it would be highly desirable to have a
program adapter for helping to facilitate universal interoperability among ent
programs. The adapters would e in an automatic or substantially automatic manner
to eliminate or greatly reduce the need for programmers developing interfaces for
previously unknown ms. The adapters should be able to enable interoperability
even among programs having previously unknown data arrangements and meanings, and
the implementation may be completed substantially without human intervention. Thus,
previously unknown programs could be readily accessed by other programs for
interoperability purposes to extend globally a system in an essentially unlimited manner
and in a fast and efficient approach.
Adapters have been used for g accessing databases achieve access with
other programs. For example, reference may be made to the following U.S. patents: US
9,201,874 B2; US 9,135,297 B2; US 6,880,151 B2; US 6,792,431 B2; US 5,970,490; and
published US patent application 2014/0032608 A1.
Also, the following are non-patent published articles:
Freir, Andreas, adt, Ralf, Lange, Matthias, , Uwe, Stephanik, Andreas, “BioDataServer; A
sed e for the Online Integration of Life Science Data”, In Silico Biology 2, 0005
Bioinformation Systems (2002).
Devi, C. Punitha, Venkatesan, V. Prasanna, Diwahar, S., Shanmugasundaram, G., “A Model for
Information Integration Using e Oriented Architecture”, I.J. Information Engineering and Electronic
Business, (published online in MECS www.mecs-press.org/ June 2014).
For example, in hed US patent ation 2014/0032608 A1, there is
disclosed a database adapter which claims to reduce “the time and expense associated
with adapting an application program to operate with a second database different from a
first database that the application is designed to access”. First, r, such an adapter
must be manually customized for each of the two different database programs. Such
customization is, of , unduly expensive and undesirably time consuming to
implement, especially when there can be a large number of different possible
heterogeneous programs to interoperate, in an efficient and effective manner. Second, the
disclosed adapter is ed to instantiate both databases, which may not be desirable for
most applications.
US patent 6,792,431 to Tamboli and US patent 9,201,874 to Szyperski disclose
adapters and techniques for data mapping information to assist interoperability. In the
Tamboli patent, there is disclosed adapters used for data integration. Identifying attributes
are displayed by a user workstation. The attributes are “actually stored in a catalog”.
(Column 12, lines 43-49). The user can then enable “execution of a transfer, to transfer
particular identified data from a source native repository to a destination native repository.
User interfaces in such embodiments are capable, when ordered to do so, of writing to a
transfer cart, g keys from the identifying attributes for all native records d
transferred by the user. … The user interface then in l embodiments, writes a
g key into a transfer cart (242), one key for each transfer record.” (Column 13, lines
1-26). In order to enable this ion, mmers “write code for adapter functions or
member methods that is either written in the language of a database management system
for a native repository or that calls application programming interfaces (“APIs”) supported
by a native tory or its database management system.” (Column 23, lines 8-12).
When mistakes were made in the mapping, to “the extent that the mapping needs to be
amended, no programming is required, only text editing. To the extent that an adapter
needs to be amended, only a small amount of programming is involved, just enough in the
current example to add the one excluded data t. … The fact … that human error or
human choice may as a cal matter exclude data elements in a way that fails the
definition of full unison, ‘amendments are required.’” (Column 25, lines 29-40).
Thus, the mapping apparently es amending due to human error in ly
entering information on a workstation. Such human errors and manual corrections may
well be costly and highly undesirable. The Tamboli technique of requiring the “user
interface then, in typical embodiments, writes a catalog key into a transfer cart (242), one
key for each transfer register”, is t to human error for every record in the system.
Therefore, severe cy problems could easily and predictably result.
In the Szyperski , an attempt is made to “correlate different nominal types
together based on a minimal set of common shapes or structures. In one implementation,
a developer identifies a number of different nominal types of interest (source types), and
identifies the minimum set of common type shapes to be accessed by an application
program. The minimum set of common type shapes can then be used to create an
intermediate type (target type) to which each of the other different source types can be
mapped. For example, one or more proxies can be created that map shapes of the one or
more source types to corresponding shapes of the created target type. The application
program created by the per, in turn, can access, operate on, or otherwise use the
mapped data of each different source type through a single target type.” (Abstract, lines 2-
However, for the purpose of data mapping, the developer must identify ent
nominal types of interest (source , and identify the minimum set of common type
shapes to be accessed by an application program. Such programming can be unduly
expensive and time consuming. Also, it is apparent that the developer must already know
the types before he or she can identify a number of different nominal types, and further can
identify the minimum set of common type shapes. Thus, Szyperski requires prior
knowledge of n programs before mapping can even take place.
BRIEF DESCRIPTION OF THE DRAWINGS
In order to better understand certain embodiments and to see how the same may
be carried out in practice, non-limiting preferred embodiments of the ion will now be
described with reference to the accompanying drawings, in which:
is a symbolic block diagram showing a creation of rs for use with
different programs to enable interoperability among them according to s
embodiments;
is a symbolic block diagram of a pair of adapters connected to a pair of
different programs to enable them to interoperate according to various embodiments;
is a flow chart m of methods of creating adapters for facilitating
different programs to interoperate according to various embodiments;
is a more detailed symbolic block diagram of the adapter according to a
currently preferred embodiment;
is a diagram of a data profile from a given exchange rd data
according to an embodiment; and
is a software implementation of a profile consistency determination step of
the flow chart of according to a preferred embodiment.
Detailed Description of Certain Embodiments of the Invention
Certain embodiments of the present invention will now be described more fully
hereinafter with reference to the accompanying drawings, in which some, but not all,
embodiments of the invention are shown. Indeed, these embodiments of the ion may
be in many different forms and thus the invention should not be ued as limited to the
embodiments set forth herein; rather, these embodiments are provided as illustrative
examples only so that this disclosure will y applicable legal requirements. Like
s refer to like elements throughout.
It will be readily understood that the components of the embodiments as generally
described and illustrated in the drawings herein, could be arranged and designed in a wide
y of different configurations. Thus, the following more detailed description of the
certain ones of the embodiments of the apparatus system, components and methods of the
t invention, as represented in the drawings, is not intended to limit the scope of the
invention, as claimed, but is merely representative examples of one or more of the
embodiments of the invention.
According to an embodiment, a system tates interoperability between first and
second different ms. The programs may have prior unknown data meanings and
arrangements. The system includes first and second bidirectional ge standard
rs each including first and second data functional transforms. The transforms may
be a conversion function of data structures and data formats between the first and second
programs and a common exchange standard. The first and second adapters also each
include communication transfer reading and writing data for the respective first and second
programs. A communication link may connect the first and second adapters for conveying
exchange standard information bidirectionally.
The data functional transforms, in accordance with various embodiments, may be
created without human intervention, and enable the programs to interoperate. The data
structures and data formats, as well as the rite data for each program are learned by
discovery managers. Thus, the data transforms and the read/write data for each adapter
enable adapter creators to create the adapters, which all may be done without human
intervention.
It is to be understood that the term “data onal orm” as used herein may
also be referred to herein variously as “ES data transform”, “transform”, or “ES program
data transform”.
Another embodiment s to a method of creating the ctional ge
standard adapters. The method includes receiving program data meanings and
corresponding data locations from a given program. It is then determined whether the
received program meanings are equivalent to desired meanings of an exchange standard.
A further determination may be made as to whether data from the received data locations
of the given program are consistent with ponding data of the exchange standard.
Thus, if data gs may be available, the data for those meanings may be
verified by ing the ated data. If no meanings are available, the data itself may
be analyzed to determine if any of the data ned in the unknown program may be of
interest, all may be completed without human intervention in a fast and efficient manner.
If equivalency and/or consistency are determined, a two-way functional transform
may then be created. The functional transform may be a function of data structure and
data format for a conversion of data between the given program and the corresponding
exchange standard. The functional transform is provided for a given ctional
exchange standard adapter to tate interoperability between the given program and a
different program having another bidirectional exchange standard adapter.
The method of ng may e a discovery manager, which tates
searching for data meanings for data stored in the given program. The searching may
include receiving via the discovery manager an ation programming interface (API).
The method of creating may include a discovery r, which facilitates
searching for data meanings for data stored in the given program in the form of metadata.
The method of creating using the discovery manager may include determining the
desired exchange standard g with the received program data meanings to
determine whether or not the exchange standard meanings are equivalent with
corresponding program data meanings.
The method of creating using the discovery manager may include determining if a
program data profile exists and an exchange data profile exists. If they exist, a
determination may then be made via the discovery manager whether consistency exists
between the program data profile and the exchange standard data profile.
The method of creating may include a determination if the discovery manager
determines that either the lency of the data meaning and/or the consistency of the
data profile exists, the adapter may then be created by an adapter creator unless (1) the
program data meaning is not equivalent to the exchange standard data meaning, or (2) the
program data profile is not consistent with the exchange standard data profile.
The method of ng may include creating rules defining read and write
commands and onal data transforms.
Yet another ment relates to a bidirectional exchange standard adapter
which enables a given program to interoperate with a ent program having another
bidirectional exchange standard adapter. The adapter may include one or more hyper
s including one or more rules defining a two-way functional data orm. The
functional transform may be a data conversion function of data structures and data formats
for the given program and for a given exchange standard. The one or more hyper objects
may also define rules for data reading and data writing for the given program. As a result,
ommunication with another bidirectional exchange standard adapter is facilitated to
provide interoperability between the given program and the different program.
The bidirectional exchange standard adapter may further include a
communication link for communication between the adapter and another bidirectional
exchange standard adapter for ing two-way exchange standard information.
In an embodiment, the adapter hyper object rules enable fast and efficient
implementation in a well-known and ed hyper object framework. The rules may also
be revised or otherwise changed dynamically.
Referring now to the drawings, and more particularly to thereof, there is
shown a bidirectional exchange standard adapter 10 for enabling a given program such as
a program 12 of a group of programs 13 to interoperate with a ent unknown program
such as a m 14. The group of programs 13 may be a variety of ent programs,
such for example as databases, applications and other types and kinds of programs. Also,
the data meanings may not be previously known among the various ms 13.
According to various embodiments, by equipping each one of programs 13 with an
exchange standard adapter similar to the adapter 10, the programs 13 may still be able to
interoperate with one another and share data with one another, even though the structure
and arrangement of the data of each one of programs 13 may be different and usly
unknown.
In order to create the adapter 10 for the program 12, a discovery manager 15 may
be employed to discover the meaning of certain desired data utilized or stored in the
m 12. For this purpose, certain received program information indicated at 16 informs
the discovery manager 15 how to find data meanings and corresponding data locations,
which may be provided to a server 17 of the discovery r 15.
According to various embodiments, if such data meanings and data locations may
not be available, the program data (P-DATA), for example, may be analyzed automatically
or semi-automatically to learn data meanings and location from the data itself.
According to embodiments, a given exchange standard (ES), as generally
indicated at 18, is received by the ery manager 15. The exchange standard data
ES-DATA may e data representing desired given information including, but not
limited to, desired data meanings, data structure and format, data profiles and others.
Should the discovery r 15 learn that the given desired data gs and
their locations corresponding to the given exchange standard ES were discovered and/or
the program data P-DATA is consistent with the exchange standard data ES-DATA, an
adapter creator 19 having a server 21, then may create data onal transforms for data
structure and data formats as well as read-write program commands.
Once created, the orm such as the ES program data transform may be
assembled in the adapter 10 as indicated at 20. onally, communication transfer
read/write data may also be determined by the discovery r 15 and used for
accessing the program 12 by the adapter creator 19 for providing read and write
commands for the given program 12, and assembled in the adapter 10 as indicated at 22.
Referring now to upon completion of the adapter 10, the given program 12
may be connected via its adapter 10 through an ES data communication link 26 to a
different bidirectional exchange rd adapter such as an adapter 27 in turn coupled via
a link 25 to a different program such as the program 14 to facilitate interoperation between
the programs 12 and 14. Assume that the r 27 may have been d by the
discovery manager 15 and the adapter creator 19, or by its own similar dedicated discovery
manager (not shown) and adapter creator (not shown). The adapter 27 includes an ES
m data transform 29 which converts bidirectionally between program information in
the program 14 and the ge standard ES in a similar manner as the transform 20 of
the adapter 10 for use with the program 12. rly, the adapter 27 may include a
communication transfer read/write data 28, which is similar in function to the
ication transfer data 22 of the adapter 10, and which provides g and writing
commands for the program 14.
As an example, assume that the given program 12 contains information in the
n language, and the different program 14 contains information in the Chinese
language. Further assume that the exchange standard ES is in the English language. The
program 12 may request information from the different program 14 by sending a message
such as a query in Italian via the link 11, the adapter 10, the ES data communication link
26, the adapter 27, and the link 25 to the program 14. In so doing, the program t
from the program 12 in the Italian language is sent using the read/write commands 22 and
is transformed into the English language via the ES data transform at 20 and conveyed by
the link 26 and the adapter 27 to e the request in English. T he adapter 27 in turn
converts the English language request into the Chinese language by means of the data
transform 29 for presentation to the m 14. The Chinese language request is
conveyed to the program 14 via the link 25 by using the read/write data 28 for the program
The program 14 may then respond in Chinese via the link 25 to the adapter 27,
using the read/write commands pursuant to the data 28. The adapter 27 converts the
Chinese language information into h by means of the data transform 29 for providing
the English response via the ES data communication link 26 to the adapter 10. The
adapter 10 then converts the English data response via the data transform 20 into the
n language for supplying the Italian information using the read/write data 22, via the
link 11, to the program 12. As a result, two-way communication may take place between
the programs 12 and 14 to provide interoperability, even though the two programs may be
different and icate in different languages, or other differences.
Referring now to FIGS. 1 and 3, in accordance with various embodiments, the
method or process of ng the bidirectional exchange adapter 10 will now be described
in greater detail. Assume that the program 12 is a database program and employs
usly unknown data meanings. However, other programs such as the group 13 of
programs of may be ent programs such as applications, and may have different
unknown data arrangements. The group 13 of ms may have other different adapters
such as adapter 27 made in a similar way as adapter 10.
At box 31, program information and the exchange standard ES are ed by the
discovery manager 15. The desired healthcare information such as certain patient
information may, for example, be desired. Assume the program information may inform the
discovery manager 15 how to find data meanings (P-DMs) and locations therefor contained
in program 12. The m information ed by discovery manager 15 may for
example be in the form of an application programming interface (API), metadata or data
meanings and locations or manually receiving information for program 12.
At decision box 32, the discovery r 15 determines whether or not any
m data meanings (P-DMs) may be available from program 12. If available at
on box 34, it is determined whether or not the available program data meanings (PDMs
) for program 12 equate to corresponding exchange standard data meanings (ESDMs
). For example, the program data meaning (P-DM) for program 12 may include
"temperature" or "temp" for the temperatures recorded for a given patient. Assuming that
at least one of the exchange standard data gs is "temperature", then equality is
determined by the discovery manager 15. Equality determination means that the program
12 contains a program data meaning P-DM which equates to an exchange standard data
meaning ES-DM such in this t example as “temperature”. This operation may be
accomplished by processing a comparison or matching function.
Since in the present example it is assumed that exchange standard data meaning
ES-DM equates to corresponding program data meaning P-DM or that no program data
gs are available, at decision box 38, the discovery manager 15 determines whether
or not program data P-DATA and ge standard data ES-DATA are available.
As indicated at box 41, since P-DATA and ES-DATA are available, the discovery
r 15 may determine whether or not the data program P-DATA is consistent with the
exchange standard data ES-DATA. The data may be similar to corresponding ES-DATA,
but not necessarily the same. tency may be defined in various ways including but
not d to similar, ible, possible or other. The m data may not be
consistent if the P-DATA is out of the data range described in the exchange standard. For
example, the program data “1000” could be determined not to be a “temperature” of a
human patient, by comparing the program data with an exchange standard data of a range
of physiologic possible temperatures. Other consistency checking techniques are
hereinafter described.
Assume that the P-DATA and ES-DATA are available. Then at decision box 41,
the m data P-DATA may be determined by the discovery manager 15 to be
consistent with a corresponding exchange rd data ES-DATA. If consistent, then the
adapter creator 19 may create transforms for the adapter 10.
As indicated at boxes 34 and 36, if the program data meanings P-DMs do not
equate to the exchange standard data meanings ES-DMs, then at the STOP box 36, the
discovery manager 15 may determine that no r discovery of this data meaning will be
undertaken by the discovery manager 15 and other data meanings may be processed, or
the process may be terminated entirely.
If the discovery manager 15 at box 41 determines that there is no consistency
between the program data P-DATA and the exchange standard data ES-DATA, then the
discovery manager 15 as indicated at STOP box 45 may determine that no further
discovery of this data meaning will be undertaken by the discovery manager 15 and other
data meanings may be processed, or the process may be ated entirely.
The discovery manager 15 may determine that (1) at box 34 the program data
meaning P-DM does equate to the exchange standard data meaning ES-DM, and that (2)
at box 38, program data P-DATA and exchange standard data ES-DATA are not ble.
Then, by means of an AND function 43, such as an AND gate or other techniques such as
a software function, the adapter creator 19 may then provide functional transforms for the
r 10 as indicated at box 47. Also if the discovery r 15 determines that the
data P-DATA and data ES-DATA are consistent as indicated at box 41, the ES data
transform may then be d by the adapter creator 19, unless the program data is not
consistent with the exchange standard data profile at STOP box 45.
According to s embodiments, by analyzing the m data, it can be
determined if the program data in the program 12 may be of interest, even without the
bility of any data meanings. Thus, an unknown program, such as program 12,
according to embodiments may be analyzed by its data alone to determine if it is of interest
as required by the exchange standard ES.
As indicated at box 47, the adapter creator 19 develops a functional data transform
T which is a on of both exchange standard data structure/format (ES-DSF) and
program data structure/format (P-DSF). The data ure may for some applications
relate to the data units. For example, in the case of exchange standard data meaning ESDM
being "temperature", the ES-DSF may employ s centigrade as the units of
measure for the ge standard data, and the P-DSF may be expressed in degrees
Fahrenheit. The adapter creator 19 may then employ a conventional conversion formula
as at least a portion of the transform T for converting between degrees centigrade and
degrees Fahrenheit. The data transform in general may be any mathematical function
and/or logical operation.
The data format for the exchange standard (ES-DSF) may be in a binary format,
whereas the program data format (P-DSF) may be expressed in the form of ASCII. The
adapter creator 19 may, for example, employ a conversion formula as a n of the
transform T for converting between binary and ASCII formats.
As indicated in box 49, the adapter creator 19 also provides the data read and data
write commands for communicating to and from the program 12.
Thereafter, as indicated at box 52, the r 10 receives the ES data transform
T at 20 and the read and write data at 22 from the adapter r 19.
Referring now to there is described in greater detail the adapter 10. The
adapter 10, ing to a preferred embodiment, may include a read group 53 of hyper
objects such as hyper s 54 and 56. The read group 53 of hyper objects receives
information from the bidirectional link 11 coupled to the program 12, and forms part of the
read/write data 22. The read group 53 conveys information to a program data group 58 of
hyper objects such as a hyper object 61 and a hyper object 63. The program data group
58 forms a part of the ES data transform 20, and in turn, s the transformed data to
the bidirectional link 26 and to another adapter such as the r 27. Thus, ation
may be conveyed from the program 12 via the ctional link 11 and the hyper object
groups 53 and 58 to the bidirectional link 26 coupled to the adapter 27.
In the reverse direction, a program data group 66 of hyper objects such as a hyper
object 68 and a hyper object 71 forms a part of the ES data transform 20, and conveys
information from the bidirectional link 26 from the adapter 27. The information from the
program data group 66 may be conveyed to a write group 55 of hyper objects such as a
hyper object 57 and a hyper object 59, and which forms a part of the read/write data 22.
The read/write data 22 conveys the information to the bidirectional link 11 coupled to the
program 12. Thus, information may be conveyed from the adapter 27 via the link 26 and
the hyper object groups 55 and 66 to the bidirectional link 11 coupled to the program 12.
The groups of hyper objects may be ed under the control of a server 65 and
may be programmed with the read/write command rules generated according to, for
example, an API or similar information of a m such as the program 12 for managing
communication between the r 10 and the program 12. The rules or algorithms may
n complex functional formulas or equations in a simple expressive manner to
ent the rule, such as bed in connection with the transform T. The
implementation is relatively straight forward for g information such as Structured
Query Language (SQL), as well as other more complex ones, as rules. Hyper object
framework is well known and thus, rules may be dynamically changed relatively quickly and
easily for dynamic updating as required in certain applications. The hyper objects do not
contain data. See, for example, US patent 8,386,442, which is incorporated by reference
in its entirety.
Therefore, interoperability of programs may be achieved by the use of adapters
according to various embodiments, even though the programs may be different and the
data ements therein are unknown previously. Furthermore, through the use of the
exchange standard, dynamic updating may be achieved by simply ng the exchange
standard. Through the use of the discovery managers and adapter creators according to
the various embodiments, the adapters may be created and updated even dynamically,
without the need for expensive and time-consuming programming. Such techniques
employed by the various embodiments enable addressing large data rds and
requirements in modern industry, and facilitate ility and scaling requirements.
Considering now the technique according to various embodiments of determining
from the m data P-DATA alone whether or not it may include desired data specified
in the exchange standard data ES-DATA. ing to certain embodiments, certain data
profiles may be recognized by the discover manager 15. The data profile according to
various embodiments may describe the intrinsic characteristics of the program data P-
DATA, such as, for example, a data value range, a data hierarchical structure, a data
statistical distribution, and , for the data itself. A data profile of the exchange
standard ES is preferably a high quality sample.
A high quality sample data curve from an exchange standard ES may be
compared with an input data curve from the program 12. A variety of methods may be
used to determine the consistency between the two data curves. For example, a cross-
correlation method based on the “Two-Sample Kolmogorov-Smirnov Test” algorithm may
be used to calculate the consistency of two data curves.
In there is shown an example for non-limiting explanation purposes only of
an exchange standard data profile which may be derived from its underlying data. A data
m 40 shown in is a one-dimensional histogram forming a data profile. With
particular nce to box 41 of assume that program 12 is a healthcare oriented
database program, and the ge standard ES is designed to access desired data
concerning patients having undergone hemoglobin testing. The data profile of diagram 40
of illustrates the number of samples tested verses the hemoglobin values for various
patient records to determine a finger print of a data profile.
On the X axis of the m 40, there is shown test values of hemoglobin test
results for various patients. On the Y axis, there is listed the number of the obin
samples corresponding to each value specified on the X axis. The total number of values
for the test samples was 715,511. The result is the distinctive curve 40 to illustrate a
distribution pattern of the data. This pattern is then the data profile for hemoglobin
laboratory test results, and may be used as an exchange standard data profile. It should
be understood that there may be many ent types and kinds of data profiles which may
be used ing to s embodiments. Examples of data profiles may include,
without limitation, electro cardiograms (ECGs), images, histograms and many .
Referring now to a conventional Convolutional Neural Network (CNN) 42 may be
used ing to a preferred ment for the step 41 of the method of The
CNN may be trained to capture the invariant-representation (intrinsic shape) of a data
curve. The trained CNN may also be used to compute a consistency score between two
data curves. In the present example of a histogram curve 40 as shown in the CNN
is first trained to capture the intrinsic shape of the data curve 40 and also to compute a
desired consistency score between two curves based on the curve 40 as the exchange
rd. Then both the P-DATA from the program 12 as well as the exchange standard
ES-DATA are streamed to the CNN for processing purposes. The s of the
consistency determination may then be either a "yes" or "no" as ted.
In view of that foregoing drawings and detailed descriptions of certain
embodiments, it may become apparent to those skilled in the art that the disclosed and
other ments relate to novel techniques for achieving program interoperability among
and between different ms, despite the fact they may have previously unknown data.
Adapters may be created for helping to e the desired interoperability by, at least in
part, learning whether or not the program ns the desired data.
A method and system according to embodiments enable generalized program to
program interoperability. The method and system employ an automatic or substantially
automatic transform adapter for using a given exchange standard for two-way
communication with a program. In order for the adapter to employ the exchange standard,
a discovery manager may learn the program’s data communications structure and/or
format, and may learn data meaning information from the program. An adapter creator
may derive a transform which converts the program’s data communications ure and
data meaning into the exchange rd. The transform may be used by the adapter to
enable two-way communication with any adapter and/or program similarly employing the
given exchange standard to achieve interoperability.
gh the invention has been bed with reference to the above examples,
it will be understood that many modifications and variations are contemplated within the
true spirit and scope of the embodiments as disclosed herein. Many modifications and
other embodiments will come to mind to one skilled in the art to which the invention
pertains having the benefit of the teachings ted in the foregoing descriptions and the
associated drawings. Therefore, it is to be understood that the invention shall not be
limited in any way to the specific embodiments disclosed herein or modifications thereof,
and that modifications and other embodiments are ed and contemplated to be
included within the scope of the appended claims. Although specific terms are ed
herein, they are used in a generic and descriptive sense only and not for purposes of
limitation.
Claims (20)
1. A method of creating adapters for enabling different programs to interoperate, sing: receiving program data meanings and corresponding data locations for a program; determining if the received program gs are ntially equivalent to predetermined data meanings of an exchange standard; determining if data from the received data locations of the program are substantially consistent with corresponding data of the exchange rd; creating a two-way functional data transform if substantial equivalency or substantial consistency is determined; and providing the two-way functional data transform for a bidirectional exchange standard adapter to enable interoperability between the program and a different m having another bidirectional exchange standard r in an automatic or substantially automatic manner to eliminate or reduce human ention.
2. The method of claim 1, further including providing a discovery manager.
3. The method of claim 2, wherein the step of determining if the received program meanings are ntially equivalent to desired data meanings of an exchange standard includes searching via the discovery manager for data meanings for data stored in the program.
4. The method of claim 3, wherein the receiving includes receiving via the discovery manager an application programming interface (API).
5. The method of claim 3, n the searching includes receiving metadata from the program via the discovery manager.
6. The method of claim 1, wherein the step of ining if the received program gs are substantially equivalent to desired data gs of the exchange standard includes comparing via the discovery manager the predetermined exchange standard meaning with the received program data meanings to ine whether or not the exchange standard meanings are substantially equivalent with corresponding program data meanings.
7. The method of claim 1, wherein the step of ining if data from the received data locations of the program are tent with corresponding data of the exchange standard includes determining via a discovery manager ing a convolutional neural network if a program data profile exists and an exchange data profile exists.
8. The method of claim 7, further includes determining via the discovery manager the consistency between the program data profile and the exchange standard data profile.
9. The method of claim 7, wherein if the discovery manager determines that either the equivalency of the data meaning and/or the consistency of the data profile exists, the transform is then created by the adapter creator unless (1) the program data meaning is equivalent to the exchange standard data meaning, and (2) the program data profile is not consistent with the ge standard data profile.
10. The method of claim 1, further including creating a communication transfer transform including rules for data reading and/or data writing.
11. The method of claim 10, wherein the data transform and the communication transfer transform are assembled by the adapter creator for the exchange standard adapter.
12. The method of claim 1, n the step of determining if data from the received data ons of the program are substantially consistent with corresponding data of the ge standard includes a m data meaning (P-DM) which equates to an exchange standard data meaning (ES-DM).
13. The method of claim 1, wherein the step of determining if data from the received data locations of the program are consistent with corresponding data of the exchange standard includes determining if a program data (P-DATA) is out of the data range described in the exchange rd.
14. The method of claim 13, wherein the program data es one or more of the intrinsic characteristics: a data value range, a data chical structure, and a data statistical distribution.
15. The method of claim 1, wherein the step of creating a two-way functional data transform if substantial equivalency or substantial consistency is determined includes developing a functional data transform (T) which is a function of both ge rd data structure/format (ES-DSF) and program data structure/format (P-DSF).
16. A system for facilitating perability between first and second different programs, comprising: a first bidirectional ge standard adapter ing a first data functional transform, the first data functional transform being a conversion function of data structures and data formats between a first program and an exchange standard, the first ctional exchange standard adapter further including a first communication transfer transform for data reading and data writing for the first program; a second bidirectional exchange standard adapter ing a second data functional transform, the second data functional transform being a conversion function of data structures in data formats between the second program and the exchange rd, the second bi-directional exchange adapter including a second communication transfer transform standard for data reading and data writing for the second program; and a common communication link coupled between the first bidirectional exchange standard adapter and the second bidirectional exchange standard adapter and conveying exchange standard information bi-directionally therebetween in an automatic or substantially automatic manner.
17. The system of claim 16, wherein the first bidirectional ge standard adapter includes one or more hyper objects each having rules, the rules ng the first data functional transform and the first communication transfer transform.
18. The system of claim 16, wherein the second bidirectional exchange standard adapter includes one or more hyper objects each having rules, the rules defining the second data onal transform and the second ication transfer transform.
19. The system of claim 16, wherein the first program contains information in a first language, and wherein the second program contains information in a second language that is different from the first language.
20. The system of claim 19, wherein the exchange rd information conveyed through the common communication link contains information in a third language that is different from the first language and the second language. PROGRAM 18 16 INFORMATION ES 17 SERVER SERVER 21 ERY ADAPTER 19 15 MANAGER CREATOR 13 11 22 20 12 26 PROGRAM ADAPTER PROGRAM 10 PROGRAM 22 20 29 28 2 5 ADAPTER ADAPTER 11 10 27 PROGRAM Receiving program information and exchange rd ES program data No gs P-DMs availa ble? 36 34 Do pro gram No data meanings P -DMs equate to Stop exchange st andard data Discovery meanings ES-DMs? Manager Progr am data No P-DATA a nd exchange standard d ata ES-DATA available? And Yes 43 41 Progra m data P-DATA and exchange stan- No dard data ES -DATA profiles Stop consi stent? Creating ES data transform -DSF, P-DSF) Adapter Creater 19 Creating read/write data rules for communication from/to program Adapte r 52 10 Receiving data transform T and read/write data rules P-DATA 54 61 53 H.O. 58 H.O. ES-DATA 56 63 H.O. H.O. 11 READ P-DATA 26 55 H.O. ES-DATA WRITE P-DATA RITE ES-DATA DATA TRANSFORM 22 20 SERVER ADAPTER P-DATA 40 21.7 12.2 bi n gl o L) 11.3 mo /d 11.0 (g . 5 He FI G t - bi n b T es gl o 8.9 He 11 15 ,5 3.2 = 7 3.5 al u es 2.6 2.0 l V To ta 0.7 00 0 0 0 0 14 12 00 10 00 80 00 00 60 40 00 20 00 obin Samples P-DATA A CONVOLUTIONAL 42 NEURAL NETWORK CNN NO
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/542,259 | 2019-08-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
NZ793125A true NZ793125A (en) | 2022-10-28 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7756882B2 (en) | Method and apparatus for elegant mapping between data models | |
US6594672B1 (en) | Generating multidimensional output using meta-models and meta-outlines | |
US7305656B2 (en) | Content management framework for use with a system for application development | |
US20060106856A1 (en) | Method and system for dynamic transform and load of data from a data source defined by metadata into a data store defined by metadata | |
Shankaranarayanan et al. | Managing metadata in data warehouses: Pitfalls and possibilities | |
US20230325398A1 (en) | Method and system for adapting programs for interoperability and adapters therefor | |
NZ793125A (en) | Method and system for adapting programs for interoperability and adapters therefor | |
Taylor | SQL All-in-one for Dummies | |
Yafooz et al. | FlexiDC: a flexible platform for database conversion | |
Domdouzis et al. | Object and Object Relational Databases | |
Harvey et al. | Transplant2mongo: Python scripts that insert organ procurement and transplantation network (optn) data in mongodb | |
Noble | Functionality | |
Abellera et al. | The Oracle R Technologies and R Enterprise | |
Bai | SQL Server Database Programming with C#: Desktop and Web Applications | |
Holland | SAS programming and data visualization techniques: a power user's guide | |
Rajeswari et al. | A Novel Approach for Integrating Heterogeneous Database through XML | |
Shankaranarayanan et al. | Managing metadata in decision environments | |
Yang | Web Database System to Manage Graduate Student Information | |
Connors | When Communities of Interest Collide: Harmonizing Vocabularies Across Operational Areas | |
Litani et al. | Hands-on: creating XML solutions with DB2 pureXML and WebSphere application server | |
Fahad | FlexiDC: A Flexible Platform for Database Conversion |