# US 8,788,720 B2 · Method and apparatus for interfacing with multiple objects using an object independent interface protocol

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,788,720 B2
- Document ID: US8788720B2
- Status: Granted
- Kind: B2
- Application number: 13/542,484
- Filed: 2012-07-05
- Published: 2013-07-11
- Granted: 2014-07-22
- Earliest claimed: 2008-05-01
- Assignees: Tucson Embedded Systems, Inc.
- Applicants: Elden Crom; David Crowe; Paul Kenjora; Sean Mulholland; Joseph Fico; Jonathan Strootman; Stephen Simi; Stephen Koester
- Inventors: Elden Crom; David Crowe; Paul Kenjora; Sean Mulholland; Joseph Fico; Jonathan Strootman; Stephen Simi; Stephen Koester
- Web page: https://patentgrep.com/patent/US8788720B2

## CPC

- H04L 12/6418: {Hybrid transport}
- G06F 9/4488: {Object-oriented}
- G06F 9/54: Interprogram communication
- G06F 9/541: {via adapters, e.g. between incompatible applications}
- H04L 12/66: Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
- H04L 69/08: Protocols for interworking; Protocol conversion
- H04L 69/321: Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
- G01R 31/008: {on air- or spacecraft, railway rolling stock or sea-going vessels}
- G16H 40/63: for local operation
- H04L 67/12: specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G01R: MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES (indicating correct tuning of resonant circuits H03J3/12)
- G16H: HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA

## Abstract

A method and apparatus is presented for communicating between a platform and multiple objects, where the objects comprise a set of parameters and an object-specific interface protocol, where at least one of the object-specific interface protocols differs from at least one other object-specific interface protocol. The method includes identifying the objects and creating multiple nonobject-specific data structures, where at least one of the nonobject-specific data structures can engage each parameter of each set of parameters. The method further includes transforming, using the plurality of nonobject-specific data structures created, the object-specific interface protocols into a single nonobject-specific interface protocol for communicating between the platform and the objects.

## Claims

### Claim 1

A method of communicating between a platform and a plurality of objects, the method comprising:
identifying the plurality of objects, wherein each of the plurality of objects comprises a set of parameters and an object-specific interface protocol, wherein at least one object-specific interface protocol differs from at least one other object-specific interface protocol;
creating a plurality of nonobject-specific data structures, wherein at least one of the plurality of nonobject-specific data structures can engage each parameter of each set of parameters; and
transforming, using the plurality of nonobject-specific data structures created, the object-specific interface protocols into a single nonobject-specific interface protocol for communicating between the platform and the plurality of objects.

### Claim 2 (depends on 1)

The method of claim 1, further comprising rating the probability that each parameter of each set of parameters is equivalent to another parameter of a different set of parameters.

### Claim 3 (depends on 2)

The method of claim 2, further comprising, when the probability that a parameter of a set of parameters is equivalent to another parameter of a different set of parameters, determining a likelihood that both parameters are enabled in the same manner.

### Claim 4 (depends on 1)

The method of claim 1, wherein each object-specific interface protocol includes an object-specific application programming interface (“API”), wherein said transforming further comprises generating, using at least part of the plurality of nonobject-specific data structures created, a single nonobject-specific API for communicating between the platform and the plurality of objects.

### Claim 5 (depends on 1)

The method of claim 1, wherein said transforming further comprises generating, using at least a part of the plurality of nonobject-specific data structures created, a single nonobject-specific interprocess communication (“IPC”) layer for communicating between the platform and the plurality of objects.

### Claim 6 (depends on 5)

The method of claim 5, wherein said creating further comprises generating a function to enable a data value to be obtained from an IPC cache, a data value to be set in the IPC cache, and a data value to be flushed from the IPC cache to one of the plurality of objects, wherein the method further comprises defining the IPC cache.

### Claim 7 (depends on 1)

The method of claim 1, wherein each object is an operating environment, wherein said transforming further comprises generating, using at least a part of the plurality of nonobject-specific data structures created, a single nonobject-specific common operating environment for communicating between the platform and the plurality of objects.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
storing each parameter of each set of parameters in a database; and
tracing that each parameter of each set of parameters can be engaged by at least one of the plurality of nonobject-specific data structures.

### Claim 9

An article of manufacture comprising a non-transitory computer readable medium comprising computer readable program code disposed therein for communicating between a platform and a plurality of objects, the computer readable program code comprising a series of computer readable program steps to effect:
identifying the plurality of objects, wherein each of the plurality of objects comprises a set of parameters and an object-specific interface protocol, wherein at least one object-specific interface protocol differs from at least one other object-specific interface protocol;
creating a plurality of nonobject-specific data structures, wherein at least one of the plurality of nonobject-specific data structures can engage each parameter of each set of parameters; and
transforming, using the plurality of nonobject-specific data structures created, the object-specific interface protocols into a single nonobject-specific interface protocol for communicating between the platform and the plurality of objects.

### Claim 10 (depends on 9)

The article of manufacture of claim 9, wherein said computer readable program code further comprises a series of computer readable program steps to effect rating the probability that each parameter of each set of parameters is equivalent to another parameter of a different set of parameters.

### Claim 11 (depends on 10)

The article of manufacture of claim 10, wherein said computer readable program code further comprises a series of computer readable program steps to effect, when the probability that a parameter of a set of parameters is equivalent to another parameter of a different set of parameters, determining a likelihood that both parameters are enabled in the same manner.

### Claim 12 (depends on 9)

The article of manufacture of claim 9, wherein each object-specific interface protocol includes an object-specific application programming interface (“API”), wherein said transforming further comprises a series of computer readable program steps to effect generating, using at least part of the plurality of non-object-specific function calls created, a single nonobject-specific API for communicating between the platform and the plurality of objects.

### Claim 13 (depends on 9)

The article of manufacture of claim 9, wherein said transforming further comprises a series of computer readable program steps to effect generating, using at least a part of the plurality of nonobject-specific data structures created, a single nonobject-specific interprocess communication (“IPC”) layer for communicating between the platform and the plurality of objects.

### Claim 14 (depends on 13)

The article of manufacture of claim 13, wherein said creating further comprises a series of computer readable program steps to effect generating a function to enable a data value to be obtained from an IPC cache, a data value to be set in the IPC cache, and a data value to be flushed from the IPC cache to one of the plurality of objects, wherein the article of manufacture further comprises a series of computer readable program steps to effect defining the IPC cache.

### Claim 15 (depends on 9)

The article of manufacture of claim 9, wherein each object is an operating environment, wherein said transforming further comprises a series of computer readable program steps to effect generating, using at least a part of the plurality of nonobject-specific data structures created, a single nonobject-specific common operating environment for communicating between the platform and the plurality of objects.

### Claim 16 (depends on 9)

The article of manufacture of claim 9, wherein said computer readable program code further comprises a series of computer readable program steps to effect:
storing each parameter of each set of parameters in a database; and
tracing that each parameter of each set of parameters can be engaged by at least one of the plurality of nonobject-specific data structures.

### Claim 17

A computer program product encoded in a non-transitory computer readable medium and usable with a programmable computer processor for communicating between a platform and a plurality of objects, the computer program product comprising:
computer readable program code which causes said programmable processor to identify the plurality of objects, wherein each of the plurality of objects comprises a set of parameters and an object-specific interface protocol, wherein at least one object-specific interface protocol differs from at least one other object-specific interface protocol;
computer readable program code which causes said programmable processor to create a plurality of nonobject-specific data structures, wherein at least one of the plurality of nonobject-specific data structures can engage each parameter of each set of parameters; and
computer readable program code which causes said programmable processor to transform, using the plurality of nonobject-specific data structures created, the object-specific interface protocols into a single nonobject-specific interface protocol for communicating between the platform and the plurality of objects.

### Claim 18 (depends on 17)

The computer program product of claim 17, further comprising computer readable program code which causes said programmable processor to rate the probability that each parameter of each set of parameters is equivalent to another parameter of a different set of parameters.

### Claim 19 (depends on 18)

The computer program product of claim 18, further comprising computer readable program code which, when the probability that a parameter of a set of parameters is equivalent to another parameter of a different set of parameters, causes said programmable processor to determine a likelihood that both parameters are enabled in the same manner.

### Claim 20 (depends on 17)

The computer program product of claim 17, wherein each object-specific interface protocol includes an object-specific application programming interface (“API”), wherein said computer readable program code which causes said programmable processor to transform further comprises computer readable program code which causes said programmable processor to generate, using at least part of the plurality of nonobject-specific data structures created, a single nonobject-specific API for communicating between the platform and the plurality of objects.

### Claim 21 (depends on 17)

The computer program product of claim 17, wherein said computer readable program code which causes said programmable processor to transform further comprises computer readable program code which causes said programmable processor to generate, using at least a part of the plurality of nonobject-specific data structures created, a single nonobject-specific interprocess communication (“IPC”) layer for communicating between the platform and the plurality of objects.

### Claim 22 (depends on 21)

The computer program product of claim 21, wherein said computer readable program code which causes said programmable processor to create further comprises computer readable program code which causes said programmable processor to generate a function to enable a data value to be obtained from an IPC cache, a data value to be set in the IPC cache, and a data value to be flushed from the IPC cache to one of the plurality of objects, wherein the computer program product further comprises computer readable program code which causes said programmable processor to define the IPC cache.

### Claim 23 (depends on 17)

The computer program product of claim 17, wherein each object is an operating environment, wherein said computer readable program code which causes said programmable processor to transform further comprises computer readable program code which causes said programmable processor to generate, using at least a part of the plurality of nonobject-specific data structures created, a single nonobject-specific common operating environment for communicating between the platform and the plurality of objects.

### Claim 24 (depends on 17)

The computer program product of claim 17, further comprising:
computer readable program code which causes said programmable processor to store each parameter of each set of parameters in a database; and
computer readable program code which causes said programmable processor to trace that each parameter of each set of parameters can be engaged by at least one of the plurality of nonobject-specific data structures.

### Claim 25

A method of communicating between a platform and a plurality of objects, the method comprising:
identifying the plurality of objects, wherein each of the plurality of objects comprises a set of parameters and an object-specific interface protocol, wherein at least one object-specific interface protocol differs from at least one other object-specific interface protocol;
for at least one of the plurality of objects:
identifying a subset of the associated set of parameters; and
generating a data model representative of the subset identified;
creating a plurality of nonobject-specific data structures, wherein at least one of the plurality of nonobject-specific data structures can engage each parameter of each set of parameters; and
transforming, using the plurality of nonobject-specific data structures created, the object-specific interface protocols into a single nonobject-specific interface protocol for communicating between the platform and the plurality of objects.

### Claim 26 (depends on 25)

The method of claim 25, wherein said generating further comprises establishing a static data model comprising a data set and a finite state machine.

### Claim 27 (depends on 25)

The method of claim 25, wherein said generating further comprises establishing a remote translation model comprising a set of translation functions.

### Claim 28 (depends on 25)

The method of claim 25, wherein said generating further comprises establishing a local translation model comprising a set of translation functions.

### Claim 29 (depends on 25)

The method of claim 25, wherein said generating further comprises testing the data model.

### Claim 30

An article of manufacture comprising a non-transitory computer readable medium comprising computer readable program code disposed therein for communicating between a platform and a plurality of objects, the computer readable program code comprising a series of computer readable program steps to effect:
identifying the plurality of objects, wherein each of the plurality of objects comprises a set of parameters and an object-specific interface protocol, wherein at least one object-specific interface protocol differs from at least one other object-specific interface protocol;
for at least one of the plurality of objects:
identifying a subset of the associated set of parameters; and
generating a data model representative of the subset identified;
creating a plurality of nonobject-specific data structures, wherein at least one of the plurality of nonobject-specific data structures can engage each parameter of each set of parameters; and
transforming, using the plurality of nonobject-specific data structures created, the object-specific interface protocols into a single nonobject-specific interface protocol for communicating between the platform and the plurality of objects.

### Claim 31 (depends on 30)

The article of manufacture of claim 30, wherein said generating further comprises a series of computer readable program steps to effect establishing a static data model comprising a data set and a finite state machine.

### Claim 32 (depends on 30)

The article of manufacture of claim 30, wherein said generating further comprises a series of computer readable program steps to effect establishing a remote translation model comprising a set of translation functions.

### Claim 33 (depends on 30)

The article of manufacture of claim 30, wherein said generating further comprises a series of computer readable program steps to effect establishing a local translation model comprising a set of translation functions.

### Claim 34 (depends on 30)

The article of manufacture of claim 30, wherein said generating further comprises a series of computer readable program steps to effect testing the data model.

### Claim 35

A computer program product encoded in a non-transitory computer readable medium and usable with a programmable computer processor for communicating between a platform and a plurality of objects, the computer program product comprising:
computer readable program code which causes said programmable processor to identify the plurality of objects, wherein each of the plurality of objects comprises a set of parameters and an object-specific interface protocol, wherein at least one object-specific interface protocol differs from at least one other object-specific interface protocol;
computer readable program code which, for at least one of the plurality of objects:
causes said programmable processor to identify a subset of the associated set of parameters; and
causes said programmable processor to generate a data model representative of the subset identified;
computer readable program code which causes said programmable processor to create a plurality of nonobject-specific data structures, wherein at least one of the plurality of nonobject-specific data structures can engage each parameter of each set of parameters; and
computer readable program code which causes said programmable processor to transform, using the plurality of nonobject-specific data structures created, the object-specific interface protocols into a single nonobject-specific interface protocol for communicating between the platform and the plurality of objects.

### Claim 36 (depends on 35)

The computer program product of claim 35, wherein said computer readable program code which causes said programmable processor to generate further comprises computer readable program code which causes said programmable processor to establish a static data model comprising a data set and a finite state machine.

### Claim 37 (depends on 35)

The computer program product of claim 35, wherein said computer readable program code which causes said programmable processor to generate further comprises computer readable program code which causes said programmable processor to establish a remote translation model comprising a set of translation functions.

### Claim 38 (depends on 35)

The computer program product of claim 35, wherein said computer readable program code which causes said programmable processor to generate further comprises computer readable program code which causes said programmable processor to establish a local translation model comprising a set of translation functions.

### Claim 39 (depends on 35)

The computer program product of claim 35, wherein said computer readable program code which causes said programmable processor to generate further comprises computer readable program code which causes said programmable processor to test the data model.
