throbber
United States Patent (19)
`Skeen et al.
`
`73 Assignee:
`
`(54) APPARATUS AND METHOD FOR
`PROVIDING DECOUPLING OF DATA
`EXCHANGE OETALS FOR PROVIDING
`HGH PERFORMANCE COMMUNICATION
`BETWEEN SOFTWARE PROCESSES
`75) Inventors: Marion D. Skeen, San Francisco;
`Mark Bowles, Woodside, both of
`Calif.
`Teknekron Software Systems, Inc.,
`Palo Alto, Calif.
`21 Appl. No.: 386,584
`(22
`Filed:
`Jul. 27, 1989
`51) int. Cl............................................... G06F 15/16
`52) U.S. C. ............................. 395/600; 364/DIG. 1;
`364/281.3; 364/240.8; 364/246.3
`(58) Field of Search .................. 364/DIG. 1, DIG. 2;
`395/600
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`4,363,093 12/1982 Davis et al. .................. 364/DIG. 1
`4,688,170 8/1987 Waite et al. .................. 364/DIG.
`4,718,005 1/1988 Feigenbaum et al......... 364/DIG.
`4,815,030 3/1989 Cross et al. ......................... 364/900
`4,851,988 7/1989 Trottier et al. .....
`........ 364/200
`4,914,583 4/1990 Weisshaar et al. ..
`364/DIG.
`4,937,784 6/1990 Masai et al. .........
`364ADIG. 2
`4,975,830 12/1990 Gerpheide et al. ................. 364/200
`4,992,972 2/1991 Brooks et al. .......
`... 364/900
`4,999,771 3/1991 Ralph et al.......................... 364/200
`5,062,037 10/1991 Shorter et al. ......
`... 364ADIG. 1
`5,073,852 12/1991 Siegel et al......
`... 395/700
`5,101,406 3/1992 Messenger ......................... 370/94.1
`OTHER PUBLICATIONS
`TIB Reference Manual, "The Teknekron Information
`Bus TM : Programmer's Reference Manual," Version
`1.1, Sep. 7, 1989, pp. 1-46.
`"BASIS Application Programming Interface (AIP),"
`pp. 1-82.
`"BASIS Objectives, Environments, Concepts Func
`tions, Value for Business Partners and Customers,"
`IBM Confidential.
`
`|H|||||IIII
`US005187787A
`5,187,787
`11) Patent Number: .
`Feb. 16, 1993
`(45)
`Date of Patent:
`
`DataTrade R1, "Lans Lans/Wans," Aug. 23, 1990, pp.
`1-4.
`DataTrade R1, "Llans DT Rl Software Components,'
`Aug. 23, 1990, pp. 1-7.
`DataTrade R1, "Lans DT R1 Networkf Architecture,"
`Aug. 23, 1990, pp. 1-14.
`DataTrade R1, "Lans Broadcast Concepts," Aug. 23,
`1990, pp. 1-9.
`DataTrade R1, "Lans Broadcast Performance," Aug.
`23, 1990, pp. 1-3.
`DataTrade R1, "Lans Point-Point Concepts,” Aug. 23,
`1990, pp. 1-4.
`DataTrade R1, "Lans Security," Aug. 23, 1990, pp. 1-4.
`DataTrade R1, "API. Overview," Jun. 6, 1990, pp. 1-11.
`DataTrade R1, "API Datatrade API Verbs," Jun. 6,
`1990, pp. 1-14.
`(List continued on next page.)
`
`Primary Examiner-Thomas M. Heckler
`Attorney, Agent, or Firm-Ronald Craig Fish
`(57)
`ABSTRACT
`A communication interface for decoupling one soft
`ware application from another software application
`such communications between applications are facili
`tated and applications may be developed in modularized
`fashion. The communication interface is comprised of
`two libraries of programs. One libray manages self.
`describing forms which contain actual data to be ex
`changed as well as type information regarding data
`format and class definition that contain semantic infor
`mation. Another library manages communications and
`includes a subject mapper to receive subscription re
`quests regarding a particular subject and map them to
`particular communication disciplines and to particular
`services supplying this information. A number of com
`munication disciplines also cooperate with the subject
`mapper or directly with client applications to manage
`communications with various other applications using
`the communication protocols used by those other appli
`cations.
`
`68 Clains, 9 Drawing Sheets
`
`HOST2
`
`
`
`Network or sAPsd exor Y or sAMEd disTriouTed stoPE
`
`Zynga Ex. 1005, p. 1
`Zynga v. IGT
`IPR2022-00368
`
`

`

`5,187,787
`Page 2
`
`OTHER PUBLICATIONS
`DataTrade R1, "DataTrade Using DataTrade: APs,"
`Aug. 23, 1990, pp. 1-14.
`"Delivering Integrated Solutions," 6 pages.
`Digital, "PAMS Message Bus for VAX/VMS," May
`11, 1990, pp. 1-3.
`Howard Kilman and Glen Macko, "An Architectural
`Perspective of a Common Distributed Heterogeneous
`Message Bus," 1987, pp. 171-184.
`Glen Macko, "Developing a Message Bus for Integrat
`ing VMS High Speed Task to Task Communications,"
`Fall 1986, pp. 339-347.
`Steven G. Judd, "A Practical Approach to Developing
`Client-Server Applications Among VAX/VMS,
`CICS/VS, and IMS/VS LU6.2 Applications Made
`Easy," Spring 1990, pp. 95-112.
`Product Insight, "Don't Miss the Lates Message Bus,
`VAXPAMSV2.5," Jun. 1989, pp. 18-21.
`Digital Equipment Corporation, "Digital Packaged
`Application Software Description PASD PASD Name:
`VAX-PAMS PASD; US.002.002,' Version 2.5, Dec. 5,
`1989, pp. 1-8.
`Digital Equipment Corporation, "PAMS Basic Call Set
`
`PAMS Message BUS Efficient Task-to-Task Commu
`nication," Jul. 1989, pp. 1-25.
`Digital Equipment Corporation, "Package Application
`Software Description for ULTRIX-PAMS," Version
`1.2, Dec. 5, 1989, pp. 1-7.
`Digital Equipment Corporation, "Package Application
`Software Description for PC-PAMS," Version 1.2,
`Dec. 5, 1989, pp. 1-7.
`Digital Equipment Corporation, "PAMS Self-Mainte
`nance Service Description," Apr. 3, 1990, pp. 1-3.
`Digital Equipment Corporation, "LU6.2 PAMS Sel
`f-Maintenance Service Description," Apr. 3, 1990, pp.
`1-3.
`Digital Equipment Corporation, "PAMS Installation
`and Orientation Service Description," Jan. 31, 1989, pp.
`1-3.
`Digital Equipment Corporation, "PAMS LU6.2 Instal
`lation and Orientation Service Description," Apr. 19,
`1990, pp. 1-3.
`Digital Equipment Corporation, "Package Application
`Software Description for PAMS LU6.2," Version 2.1,
`Apr. 19, 1990, pp. 1-18.
`The Metamorphosis of Information Management;
`David Gelernter; Scientific American, Aug. 1989; pp.
`66-73.
`
`Zynga Ex. 1005, p. 2
`Zynga v. IGT
`IPR2022-00368
`
`

`

`U.S. Patent
`U.S. Patent
`
`Feb. 16, 1993
`
`Sheet 1 of 9
`
`5,187,787
`
`Ndd
`
`¢LSOH
`2 LSOH
`
`NOILLVONddV
`
`
`
`ot
`
`tLSOH
`
`vivd
`
`Ol
`
`LINANOdWOD
`
`SONVHOXS
`
`3OVSYSLNI
`
`YaDVNVNN
`
`SNOLLVOINNWINOODSSV10SNYO4
`
`
`
`
`
`
`
`
`
`
`
`
`
`AOIAUSSXHOMLIN vtAHOLOSHIOHO(IWNOILdO)WALSAS3114
`
`
`
`3HOLSGALNGINLSIGGAYVHSHOAHOWAWGSYVHSYOWHOMLAN
`
`Lunds
`
`8292
`
`ve
`
`
`
`SOIAWSSLoarans
`
`
`
`a1evia1avi
`
`Zynga Ex. 1005, p. 3
`Zyngav. IGT
`IPR2022-00368
`
`Zynga Ex. 1005, p. 3
`Zynga v. IGT
`IPR2022-00368
`
`
`

`

`U.S. Patent
`
`Feb. 16, 1993
`
`Sheet 2 of 9
`
`5,187,787
`
`EXAMPLE FORM CLASS DEFINITIONS
`
`PLAYERNAME: CLASS 1000
`RATING: FLOATING POINT CLASS Il
`AGE: INTEGER CLASS 12
`LASTNAME: STRING 20 ASCII CLASS 10
`FIRSTNAME: STRING 20 ASCII CLASS 10
`
`FIGURE 2
`
`PLAYERADDRESS: CLASS 1001
`STREET: STRING 20 ASCII CLASS 10
`CITY:
`STRING 20 ASCII CLASS 10
`STATE: STRING 20 ASCII CLASS 10
`
`FIGURE 3
`
`TOURNAMENT ENTRY: CLASS 1002
`TOURNAMENTNAME: STRING 20 ASCII CLASS 10
`PLAYER: PLAYERNAME CLASS 1000
`ADDRESS: PLAYERADDRESS CLASS 1001
`
`FIGURE 4
`
`STRING 20 ASCII: CLASS 10
`STRING 20 ASCII
`NTEGER: CLASS 12
`INTEGER. 3
`FLOATING - POINT : CLASS 11
`FLOATING POINT 111
`
`FIGURE 5
`
`Zynga Ex. 1005, p. 4
`Zynga v. IGT
`IPR2022-00368
`
`

`

`U.S. Patent
`
`Feb. 16, 1993
`
`Sheet 3 of 9
`
`5,187,787
`
`INSTANCE OF FORM OF CLASS TOURNAMENT ENTRY
`CLASS 1 OO2 AS STORED IN MEMORY
`
`38
`
`a -40
`
`-1000 4h
`
`su1240
`
`J10) BUZZ
`
`-10 (PALOALTo h"
`74-10
`80
`FIGURE 6
`
`
`
`ACTUALDATA
`(VALUE)
`
`ACTUALDATA 2
`
`DATA STORED
`NINSTANCE
`OF THIS FORM
`
`SEMANTIC
`INFORMATION
`STORED IN
`CLASS DEFINITION
`
`FIGURE 7
`
`Zynga Ex. 1005, p. 5
`Zynga v. IGT
`IPR2022-00368
`
`

`

`U.S. Patent
`
`Feb. 16, 1993
`
`Sheet 4 of 9
`
`5,187,787
`
`90
`
`108
`
`DONE PROCESSING
`ALL FIELD'S CON
`TANING PRMITIVE
`CLASSES OF FORMS
`NO 110
`
`YES
`
`FND NEXT FIELD
`CONTAINING A
`PRMTVE CLASS
`OF FORM
`
`112
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`RECEIVE FORMAT
`CONVERSON CALL
`FROM APPLICATION
`OR ANOTHER MODULE
`IN COMMUNICATION
`INTERFACE
`
`ACCESS APPROPRIATE
`FORMAT SPECIFIC TABLE
`FOR SPECIFIED CONVERSION
`100
`
`FIND FIRST FIELD
`CONTAINING A PRMITIVE
`CLASS OF FORM
`
`LOOK UP FROM" FORMAT
`OF PRIMITIVE CLASS IN
`FORMAT SPECIFIC TABLE
`AND DETERMNE RECURED
`"TO FORMAT
`
`ACCESS GENERAL
`CONVERSION PROCEDURE
`TABLE AND FIND "FROM-TO"
`PAR ENTRY
`
`PERFORM CONVERSION
`PROGRAM IDENTIFIED IN
`"FROM-TO PAR ENTRY
`TO CONVERT SELECTED
`FIELD'S CONTENTS TO
`"TO FORMAT
`
`
`
`FORMAT OPERATION
`FIGURE 8
`
`Zynga Ex. 1005, p. 6
`Zynga v. IGT
`IPR2022-00368
`
`

`

`U.S. Patent
`
`Feb. 16, 1993
`
`Sheet 5 of 9
`
`5,187,787
`
`DECTO
`ETHERNETTM
`
`TO
`
`11
`
`TM
`ETHERNET
`TO. IBM
`
`
`
`FIGURE 9
`
`FIGURE 10
`
`GENERAL CONVERSION
`PRODECURES TABLE
`
`
`
`FROM TO CONVERSION PROGRAM
`
`FLOAT | ETHER
`
`INTEGER IETHER
`ASCIETHER
`ETHER FLOAT2
`ETHER INTEGER
`ETHER LEBCDIC
`
`FIGURE 11
`
`Zynga Ex. 1005, p. 7
`Zynga v. IGT
`IPR2022-00368
`
`

`

`U.S. Patent
`
`Feb. 16, 1993
`
`Sheet 6 of 9
`
`5,187,787
`
`SEMANTIC-DEPENDENT PROCESSING
`
`
`
`RECEIVE A
`GET FIELD
`RECUEST FOR
`SEMANTIC
`DEPENDENT
`OPERATION
`
`CLASS MANAGER
`ACCESSES CLASS
`DEFINITION FOR
`THE FORM CLASS
`IDENTIFIED IN
`ORIGINAL CALL
`
`CLASS MANAGER
`SEARCHES CLASS
`DEFINITION FOR
`FIELD OF INTEREST
`
`CLASS MANAGER
`RETURNS A
`RELATIVE ADDRESS
`FOR THE FIELD
`OF INTEREST IN
`INSTANCES OF
`FORMS OF THIS
`CLASS
`
`120
`
`122
`
`124
`
`126
`
`128
`
`RECEIVE
`GET DATA CALL
`FROM CLIENT
`APPPLICATION AND
`RELATIVE ADDRESS
`OF FIELD AND
`DELIVER APPROPRIATE
`DATA
`
`FIGURE 12
`
`Zynga Ex. 1005, p. 8
`Zynga v. IGT
`IPR2022-00368
`
`

`

`U.S. Patent
`
`Feb. 16, 1993
`
`Sheet 7 of 9
`
`5,187,787
`
`PERSON CLASS: CLASS 1021
`LAST: STRING20 ASCII
`FIRST: STRING20 ASCII
`
`CLASS DEFINITION
`
`FIGURE 13A
`
`140
`
`1
`42
`
`146
`s
`PERSON CLASS
`
`144
`
`152-1122 -154
`156-1502 -158
`160- 15
`162
`164-15 striNG 20 Asci -166
`168- 1502 - 170
`
`174-15 STRING20 ASCII
`178
`
`CLASS DESCRIPTOR STORED
`NRAMAS A FORM
`
`FIGURE 3B
`
`Zynga Ex. 1005, p. 9
`Zynga v. IGT
`IPR2022-00368
`
`

`

`U.S. Patent
`
`Feb. 16, 1993
`
`Sheet 8 of 9
`
`5,187,787
`
`
`
`964301AN3S
`
`(M3NSSNOfMOQ)
`
`GauIsadYO4
`
`YH3ANAaS
`
`Ol
`
`MOVETWO
`
`ANILNOW
`
`QAaWVN
`
`TIVO3gIHOSENS
`
`NOLLVOINddV
`
`NOILVOINNWAWOD
`
`LNANOdWOO
`
`8st
`
`LOarEns
`
`18
`
`
`v4>vlaHNDISuiN>NT
`
`00z202~—sat”v6t061a
`
`sacea]194%
`
`08}
`
`reiee
`
`261Sa0IAuas
`AHOLOAUIG
`
`oObha9wo>8Te
`
`IPR2022-00368
`
`Zynga Ex. 1005, p. 10
`Zynga v. IGT
`IPR2022-00368
`
`
`
`
`
`
`
`

`

`U.S.
`
`Patent
`
`Feb. 16, 1993
`
`Sheet 9 of 9
`
`5,187,787
`
`Process Architecture
`
`230
`
`HOST CPU
`
`16
`
`18
`
`
`
`APPLICATION
`
`
`
`
`
`
`
`APPLICATION
`233
`235
`RMDP TIBINFO
`Communication Library
`
`231
`TIBFORMS
`Form Library
`
`30A
`
`3OB
`
`32
`
`O O. O. O. O. o O O. O. O. o O O to o O O O e o O O. O. O. e. d e o O O. O. O. O. O. O. O. O. O. O. O. O. O. O. O. O. O. O. 8 O 8 O
`
`FIGURE 15
`
`Software Architecture
`
`34
`Service
`Discipline
`MDSS
`
`236
`Service
`Discipline
`MSA
`
`238
`Service
`Discipline
`SASS
`
`Distributed Communication Comp.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`237
`
`TIBFORMS
`
`
`
`
`
`Forms &
`Classes
`
`239
`
`232
`24
`
`Network interface(s)
`FIGURE 16
`
`Zynga Ex. 1005, p. 11
`Zynga v. IGT
`IPR2022-00368
`
`

`

`O
`
`tion.
`
`y
`
`1
`
`APPARATUS AND METHOD FOR PROVIDING
`DECOUPLNG OF DATA EXCHANGE DETALS
`FOR PROVIDING HGH PERFORMANCE
`COMMUNICATION BETWEEN SOFTWARE
`PROCESSES
`
`5
`
`5, 187,787
`2
`formats and communication protocols which must be
`understood and followed to receive data from these
`SOCeS.
`In complex data situations such as financial data re
`garding equities, bonds, money markets, etc., it is often
`useful to have nesting of data. That is, data regarding a
`particular subject is often organized as a data record
`having multiple "fields," each field pertaining to a dif
`ferent aspect of the subject. It is often useful to allow a
`particular field to have subfields and a particular sub
`field to have its own subfields and so on for as many
`levels as necessary. For purposes of discussion herein,
`this type of data organization is called "nesting." The
`names of the fields and what they mean relative to the
`subject will be called the "semantic information" for
`purposes of discussion herein. The actual data represen
`tation for a particular field, i.e., floating point, integer,
`alphanumeric, etc., and the organization of the data
`record in terms of how many fields it has, which are
`primitive fields which contain only data, and which are
`nested fields which contain subfields, is called the "for
`mat" or "type" information for purposes of discussion
`herein. A field which contains only data (and has no
`nested subfields) will be called a "primitive field," and a
`field which contains other fields will be called a "con
`structed field' herein.
`There are two basic types of operations that can
`occur in exchanges of data between software modules.
`The first type of operation is called a "format opera
`tion' and involves conversion of the format of one data
`record (hereafter data records may sometimes be called
`"a forms") to another format. An example of such a
`format operation might be conversion of data records
`with floating point and EBCDIC fields to data records
`having the packed representation needed for transmis
`sion over an ETHERNET TM local area network. At
`the receiving process end another format operation for
`conversion from the ETHERNETTM packet format to
`integer and ASCII fields at the receiving process or
`software module might occur. Another type of opera
`tion will be called herein a "semantic-dependent opera
`tion" because it requires access to the semantic informa
`tion as well as to the type or format information about
`a form to do some work on the form such as to supply
`a particular field of that form, e.g., today's IBM stock
`price or yesterday's IBM low price, to some software
`nodule that is requesting same.
`Still further, in today's environment, there are often
`multiple sources of different types of data and/or multi
`ple sources of the same type of data where the sources
`overlap in coverage but use different formats and differ
`ent communication protocols (or even overlap with the
`same format and the same communication protocol). It
`is useful for a software module (software modules may
`hereafter be sometimes referred to as "applications') to
`be able to obtain information regarding a particular
`subject without knowing the network address of the
`service that provides information of that type and with
`out knowing the details of the particular communica
`tion protocol needed to communicate with that infor
`mation source.
`A need has arisen therefore for a communication
`system which can provide an interface between diverse
`software modules, processes and computers for reliable,
`meaningful exchanges of data while "decoupling" these
`software modules and computers. "Decoupling" means
`that the software module programmer can access infor
`
`BACKGROUND OF THE INVENTION
`The invention pertains to the field of decoupled infor.
`mation exchange between software processes running
`on different or even the same computer where the soft
`ware processes may use different formats for data repre
`sentation and organization or may use the same formats
`and organization but said formats and organization may
`later be changed without requiring any reprogramming,
`15
`Also, the software processes use "semantic' or field
`name information in such a way that each process can
`understand and use data it has received from any for
`eign software process, regardless of semantic or field
`20
`name differences. The semantic information is decou
`pled from data representation and organization informa
`With the proliferation of different types of computers
`and software programs and the ever-present need for
`different types of computers running different types of
`software programs to exchange data, there has arisen a
`need for a system by which such exchanges of data can
`occur. Typically, data that must be exchanged between
`software modules that are foreign to each other com
`prises text, data and graphics. However, there occasion
`ally arises the need to exchange digitized voice or digi
`tized image data or other more exotic forms of informa
`tion. These different types of data are called "primi
`tives." A software program can manipulate only the
`primitives that it is programmed to understand and
`35
`manipulate. Other types of primitives, when introduced
`as data into a software program, will cause errors.
`"Foreign." as the term is used herein, means that the
`software modules or host computers involved in the
`exchange "speak different languages." For example, the
`40
`Motorola and Intel microprocessor widely used in per
`sonal computers and work stations use different data
`representations in that in one family of microprocessors
`the most significant byte of multibyte words is placed
`first while in the other family of processors the most
`45
`significant byte is placed last. Further, in IBM comput
`ers text letters are coded in EBCDIC code while in
`almost all other computers text letters are coded in
`ASCII code. Also, there are several different ways of
`representing numbers including integer, floating point,
`50
`etc. Further, foreign software modules use different
`ways of organizing data and use different semantic in
`formation, i.e., what each field in a data record is named
`and what it means.
`The use of these various formats for data representa
`55
`tion and organization means that translations either to a
`common language or from the language of one con
`puter or process to the language of another computer or
`process must be made before meaningful communica
`tion can take place. Further, many software modules
`60
`between which communication is to take place reside
`on different computers that are physically distant from
`each other and connected only local area networks,
`wide area networks, gateways, satellites, etc. These
`various networks have their own widely diverse proto
`65
`cols for communication. Also, at least in the world of
`financial services, the various sources of raw data such
`as Dow Jones News or Telerate TM use different data
`
`Zynga Ex. 1005, p. 12
`Zynga v. IGT
`IPR2022-00368
`
`

`

`5,187,787
`4.
`3
`nent in the communications interface according to the
`mation from other computers or software processes
`invention.
`without knowing where the other software modules
`In the preferred embodiment, the functions of the
`and computers are in a network, the format that forms
`interface are carried out by the various subroutines in
`and data take on the foreign software, what communi
`the libraries of subroutines which together comprise the
`cation protocols are necessary to communicate with the
`interface. Of course, those skilled in the art will appreci
`foreign software modules or computers, or what com
`ate that separate programs or modules may be used
`munication protocols are used to transit any networks
`instead of subroutines and may actually be preferable in
`between the source process and the destination process;
`and without knowing which of a multiplicity of sources
`SO
`C3SeS.
`Data format decoupling is provided such that a first
`of raw data can supply the requested data. Further,
`process using data records or forms having a first for
`"decoupling,' as the term is used herein, means that
`mat can communicate with a second process which has
`data can be requested at one time and supplied at an
`data records having a second, different format without
`other and that one process may obtain desired data from
`the need for the first process to know or be able to deal
`the instances of forms created with foreign format and
`with the format used by the second process. This form
`15
`foreign semantic data through the exercise by a commu
`of decoupling is implemented via the data-exchange
`nication interface of appropriate semantic operations to
`component of the communication interface software
`extract the requested data from the foreign forms with
`system.
`the extraction process being transparent to the request
`The data-exchange component of the communication
`ing process.
`interface according to the teachings of the invention
`Various systems exist in the prior art to allow infor
`includes a forms-manager module and a forms-class
`mation exchange between foreign software modules
`manager module. The forms-manager module handles
`with various degrees of decoupling. One such type of
`the creation, storage, recall and destruction of instances
`system is any electronic mail software which imple
`of forms and calls to the various functions of the forms
`ments Electronic Document Exchange Standards in
`class manager. The latter handles the creation, storage,
`25
`cluding CCITT's X.409 standard. Electronic mail soft
`recall, interpretation, and destruction of forms-class
`ware decouples applications in the sense that format or
`descriptors which are data records which record the
`type data is included within each instance of a data
`format and semantic information that pertain to particu
`record or form. However, there are no provisions for
`lar classes of forms. The forms-class manager can also
`recording or processing of semantic information. Se
`receive requests from the application or another com
`30
`mantic operations such as extraction or translation of
`ponent of the communication interface to get a particu
`data based upon the name or meaning of the desired
`lar field of an instance of a form when identified by the
`field in the foreign data structure is therefore impossi
`name or meaning of the field, retrieve the appropriate
`ble. Semantic-Dependent Operations are very impor
`form instance, and extract and deliver the requested
`tant if successful communication is to occur. Further,
`data in the appropriate field. The forms-class manager
`35
`there is no provision in Electronic Mail Software by
`can also locate the class definition of an unknown class
`which subject-based addressing can be implemented
`of forms by looking in a known repository of such class
`wherein the requesting application simply asks for in
`definitions or by requesting the class definition from the
`formation by subject without knowing the address of
`forms-class manager linked to the foreign process
`the source of information of that type. Further, such
`which created the new class of form. Semantic data,
`40
`software cannot access a service or network for which
`such as field names, is decoupled from data representa
`a communication protocol has not already been estab
`tion and organization in the sense that semantic infor
`mation contains no information regarding data repre
`lished.
`Relational Database Software and Data Dictionaries
`sentation or organization. The communication interface
`are another example of software systems in the prior art
`of the invention implements data decoupling in the
`45
`for allowing foreign processes to share data. The short
`semantic sense and in the data format sense. In the se
`coming of this class of software is that such programs
`mantic sense, decoupling is implemented by virtue of
`the ability to carry out semantic-dependent operations.
`can handle only "flat" tables, records and fields within
`These operations allow any process coupled to the
`records but not nested records within records Further,
`the above-noted shortcoming in Electronic Mail Soft
`communications interface to exchange data with any
`other process which has data organized either the same
`ware also exists in Relational Database Software.
`or in a different manner by using the same field names
`SUMMARY OF THE INVENTION
`for data which means the same thing in the preferred
`According to the teachings of the invention, there is
`embodiment. In an alternative embodiment semantic
`dependent operations implement an aliasing or syn
`provided a method and apparatus for providing a struc
`ture to interface foreign processes and computers while
`onym conversion facility whereby incoming data fields
`providing a degree of decoupling heretofore unknown.
`having different names but which mean a certain thing
`The data communication interface software system
`are either relabeled with field names understood by the
`requesting process or are used as if they had been so
`according to the teachings of the invention consists
`essentially of several libraries of programs organized
`relabeled.
`Data distribution decoupling is provided such that a
`into two major components, a communication compo
`requesting process can request data regarding a particu
`nent and a data-exchange component. Interface, as the
`lar subject without knowing the network address of the
`term is used herein in the context of the invention,
`server or process where the data may be found. This
`means a collection of functions which may be invoked
`form of decoupling is provided by a subject-based ad
`by the application to do useful work in communicating
`dressing system within the communication interface.
`with a foreign process or a foreign computer or both.
`Subject-based addressing is implemented by the com
`Invoking functions of the interface may be by subrou
`munication component of the communication interface
`tine calls from the application or from another compo
`
`55
`
`10
`
`65
`
`Zynga Ex. 1005, p. 13
`Zynga v. IGT
`IPR2022-00368
`
`

`

`O
`
`35
`
`5, 187,787
`6
`5
`FIG. 14 is a block diagram illustrating the relation
`of the invention. The communication component re
`ships between the subject-mapper module and the ser
`ceives "subscribe" requests from an application which
`vice discipline modules of the communication compo
`specifies the subject upon which data is requested. A
`nent to the requesting application and the service for
`subject-mapper module in the communication compo
`subject-based addressing.
`nent receives the request from the application and then
`FIG. 15 illustrates the relationship of the various
`looks up the subject in a database, table or the like. The
`modules, libraries and interfaces of an alternative en
`database stores "service records" which indicate the
`bodiment of the invention to the client applications.
`various server processes that supply data on various
`FIG. 16 illustrates the relationships of various mod
`subjects. The appropriate service record identifying the
`ules inside the communication interface of an alterna
`particular server process that can supply data of the
`tive embodiment.
`requested type and the communication protocol (here
`after sometimes called the service discipline) to use in
`DETAILED DESCRIPTION OF THE
`communicating with the identified server process is
`PREFERRED AND ALTERNATIVE
`returned to the subject-mapper module.
`EMBOOMENTS
`15
`The subject mapper has access to a plurality of com
`Referring to FIG. 1 there is shown a block diagram of
`munications programs called "service disciplines."
`a typical system in which the communications interface
`Each service discipline implements a predefined com
`of the invention could be incorporated, although a wide
`munication protocol which is specific to a server pro
`variety of system architectures can benefit from the
`cess, network, etc. The subject mapper then invokes the
`teachings of the invention. The communication inter
`20
`appropriate service discipline identified in the service
`face of the invention may be sometimes hereafter re
`record.
`ferred to as the TIB or Teknekron Information Bus in
`The service discipline is given the subject by the
`the specification of an alternative embodiment given
`subject mapper and proceeds to establish communica
`below. The reader is urged at this point to study the
`tions with the appropriate server process. Thereafter,
`glossary of terms included in this specification to obtain
`25
`instances of forms containing data regarding the subject
`a basic understanding of some of the more important
`are sent by the server process to the requesting process
`terms used herein to describe the invention. The teach
`via the service discipline which established the commu
`ings of the invention are incorporated in several librar
`ies of computer programs which, taken together, pro
`nication.
`Service protocol decoupling is provided by the pro
`vide a communication interface having many functional
`30
`cess described in the preceding paragraph.
`capabilities which facilitate modularity in client applica
`Temporal decoupling is implemented in some service
`tion development and changes in network communica
`disciplines directed to page-oriented server processes
`tion or service communication protocols by coupling of
`such as Telerate TM by access to real-time data bases
`various client applications together in a "decoupled"
`which store updates to pages to which subscriptions are
`fashion. Hereafter, the teachings of the invention will be
`outstanding.
`referred to as the communication interface. "Decou
`pling," as the term is used herein, means that the pro
`BRIEF DESCRIPTION OF THE DRAWINGS
`grammer of client application is freed of the necessity to
`FIG. 1 is a block diagram illustrating the relationships
`know the details of the communication protocols, data
`representation format and data record organization of
`of the various software modules of the communication
`interface of one embodiment of the invention to client
`all the other applications or services with which data
`applications and the network.
`exchanges are desired. Further, the programmer of the
`FIG. 2 is an example of a form-class definition of the
`client application need not know the location of ser
`vices or servers providing data on particular subjects in
`contructed variety.
`FIG. 3 is an example of another constructed form
`order to be able to obtain data on these subjects. The
`45
`communication interface automatically takes care of all
`class definition.
`FIG. 4 is an example of a constructed form-class
`the details in data exchanges between client applications
`definition containing fields that are themselves con
`and between data-consumer applications and data-prov
`structed forms. Hence, this is an example of nesting.
`ider services.
`FIG. 5 is an example of three primitive form classes.
`The system shown in FIG. 1 is a typical network
`coupling multiple host computers via a network or by
`FIG. 6 is an example of a typical form instance as it is
`shared memory. Two host computers, 10 and 12, are
`stored in memory.
`shown in FIG. 1 running two client applications 16 and
`FIG. 7 illustrates the partitioning of semantic data,
`18, although in other embodiments these two client
`format data, and actual or value data between the form
`applications may be running on the same computer.
`class definition and the form instance.
`55
`These host computers are coupled by a network 14
`FIG. 8 is a flow chart of processing during a format
`which may be any of the known networks such as the
`operation.
`ETHERNETTM communication protocol, the token
`FIG. 9 is a target format-specific table for use in
`ring protocol, etc. A network for exchanging data is not
`format operations.
`required to practice the invention, as any method of
`FIG. 10 is another target format-specific table for use
`exchanging data known in the prior art will suffice for
`in format operations.
`purposes of practicing the invention. Accordingly,
`FIG. 11 is an example of a general conversion table
`shared memory files or shared distributed storage to
`for use in format operations.
`which the host computers 10 and 12 have equal access
`FIG. 12 is a flow chart for a typical semantic-depend
`will also suffice as the environment in which the teach
`ent operation.
`ings of the invention are applicable.
`FIGS. 13A and 13B are, respectively, a class defini
`Each of the host computers 10 and 12 has random
`tion and the class descriptor form which stores this class
`access memory and bulk memory such as disk or tape
`definition.
`
`50
`
`65
`
`Zynga Ex. 1005, p. 14
`Zynga v. IGT
`IPR2022-00368
`
`

`

`10
`
`25
`
`5,187,787
`8
`7
`A typical system model in which the communication
`drives associated therewith (not shown). Stored in these
`interface is used consists of users, users groups, net
`memories are the various operating system programs,
`works, services, service instances (or servers) and sub
`client application programs, and other programs such as
`jects. Users, representing human end users, are identi
`the programs in the libraries that together comprise the
`fied by a user-ID. The user ID used in the communica
`communication interface which cause the host comput
`tions interface is normally the same as the user ID or
`ers to perform useful work. The libraries of programs in
`log-on ID used by the underlying operating system (not
`the communication interface provide basic tools which
`shown). However, this need not be the case. Each user
`may be called upon by client applications to do such
`is a member of exactly one group.
`things as find the location of services that provide data
`Groups are comprised of users with similar service
`on a particular subject and

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket