Method and apparatus for a corba typecode data manipulator

Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

Reexamination Certificate

active

06272554

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates to data processing systems, and more particularly, to expressing arbitrarily complex data in forms appropriate for interfacing with programming interfaces or Input/Output stream form.
BACKGROUND OF THE INVENTION
Object-oriented programming (OOP) has emerged as a powerful new programming paradigm that enables the rapid development and implementation of functionality while permitting the customization and reuse of objects. The Object Management Group (OMG, an international organization for promoting the theory and practice of object-oriented software technology) defines an industry standard architecture for a distributed object computing environment called the Object Management Architecture (OMA). The OMA provides a conceptual infrastructure upon which all of the OMG's specifications are based.
OMG defines a structure to allow integration of a wide variety of object systems called the Common Object Request Broker Architecture (CORBA). The CORBA model consists of the Object Request Broker (ORB), CORBAservices, CORBAfacilities and Application Objects. These components make up the primary pieces of CORBA.
CORBA defines an underlying object model which provides an organized presentation of object concepts and terminology. With the definition of the CORBA object model, along with aspects such as object creation, identity, requests, and operations, is the definition of CORBA Types. CORBA types are identifiable entities to which values can be members, if the type constraints are satisfied. CORBA types are either basic, or constructed. An example of a basic CORBA type is a Boolean, taking values of only TRUE or FALSE. An example of a CORBA constructed type is a sequence, consisting of a variable length array of a single type (basic or constructed), and a length. From the CORBA basic and constructed types, applications can construct arbitrarily complex data types via aggregation (user defined types).
CORBA defines an architected way of describing in complete detail everything that is known about a particular data type, regardless of whether it is a CORBA defined type or a user defined aggregated type, through TypeCodes. TypeCodes conceptually contain a kind field and one or more parameters that contain descriptive information particular to that TypeCode. Utilizing CORBA TypeCodes to express complex data information makes it possible to determine the complete structure of a type. CORBA TypeCodes can be nested and thus represent arbitrarily complex information that has to be manipulated by CORBA applications.
Within distributed object systems, the need arises to express arbitrarily complex data in forms appropriate for interfacing with programming interfaces, or expressing it in stream form. For example, arbitrarily complex data must be provided for transport protocol stacks for computer networking or I/O stream requirements. Since TypeCodes allow interrogation of all information expressed in data types, it is possible to provide procedures for manipulating the data expressed as CORBA TypeCodes both to and from stream forms.
The CORBA marshaling code represents a prior art approach for decomposing CORBA data types into a specific wire-format used to transport information across machines. However, typical marshaling subsystems do not provide mechanisms for releasing and copying allocated memory used to reconstruct the original data types, nor do they make the marshalled data available for public utilization for general purposes. In addition, CORBA marshaling code requires the wire-format marshaled information have indicators of expression for marshaled data elements in order to reconstruct data for the data types appropriate on different platforms.
Consequently, what is needed is a procedure for translating arbitrarily complex CORBA data types for use by CORBA application programs, to and from a general purpose stream format, that is made publicly available to any caller. In addition, the procedure must be capable of freeing memory within arbitrarily complex CORBA data types and making copies of the arbitrarily complex CORBA data types.
SUMMARY OF THE INVENTION
This invention relates to a method and apparatus for decomposing arbitrarily complex CORBA data types into a flat data buffer and recomposing the data type back from the buffer. A procedure is provided which converts CORBA TypeCode data to/from stream form and provides a memory management function to release the memory used for the reconstructed form of the TypeCode data. An encoder interface procedure is provided for receiving inputted CORBA data. A two pass procedure is executed which decomposes the TypeCode data, allocates buffers and passes ownership information for the inputted CORBA data which is converted into a contiguous, in memory, representation.


REFERENCES:
patent: 3772654 (1973-11-01), Evans et al.
patent: 5664103 (1997-09-01), Stein et al.
patent: 5784698 (1998-07-01), Brady et al.
patent: 5797007 (1998-08-01), Erickson et al.
patent: 5864866 (1999-01-01), Henckel et al.
McGraw-Hill Dictionary of Scientific and Technical Terms, fifth edition; pp. 278, 279, and 770, Dec. 1994.*
IBM Corporation & SunSoft, Inc.; Object Externalization Service; OMG TC Document 94-5-7; pp. 1-21, May 1994.*
Orfali et al., “The Essential Distributed Objects Survival Guide”, Wiley, pp. 93-107, 139-164, Sep. 1995.*
OMG Document No. 91.12.1, “The Common Object Request Broker: Architecture and Specification”, Digital Equipment Corporation et al., pp. 105-121, Dec. 1991.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and apparatus for a corba typecode data manipulator does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and apparatus for a corba typecode data manipulator, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for a corba typecode data manipulator will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2508996

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.