throbber
United States Patent [19]
`Chang et al.
`
`[11]
`[45]
`
`Patent Number:
`Date of Patent:
`
`4,768,150
`Aug. 30, 1988
`
`[54] APPLICATION PROGRAM INTERFACE TO
`NETWORKING FUNCTIONS
`
`[75] Inventors: Chij-Mehn Chang, Austin, Tex.;
`Thomas J. Freund, Winchester,
`England; Larry K. Loucks, Austin;
`Robert L. Wierwille, Leander, both
`of Tex.
`
`[73] Assignee: International Business Machines
`Corporation, Armonk, N.Y.
`
`[21] Appl. No.: 908,533
`[22] Filed:
`Sep. 17, 1986
`
`[51] Int. Cl.‘ .............................................. .. G06F 1/00
`[52] U.S. CI. ................................ .. 364/300
`[58] Field of Search ...................... .. 364/200, 300, 900
`
`[56]
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`4,672,570 6/1987 Benken .............................. .. 364/900
`
`OTHER PUBLICATIONS
`An Introduction to Advanced Program-To-Program
`Communication, Jul. 1983, GG24-1584-0, IBM.
`IBM RTPC SNA Access Method, Aug. 1986.
`“Using System/36 Communications”, IBM Corpora
`
`tion, Order No. SC21-9082; pp. 9-1 to 9-22, pp. 10-1 to
`10*41 PP- Fl'lO.
`“Interactive Communications Feature: Base Subsys
`tems Reference”, IBM Corporation, Order No.
`SC21-9530; pp. l-28 to 1-38, pp. 4-17 to 4-40, PP- B-l
`to B-8.
`VTAM Programming, IBM Corporation, Order No.
`SC23-0115; pp. 3-32, 39-76, 77-152.
`DECnet/SNA VMS APPC/LU6.2 Programming In
`terface Guide, Digital Equipment Corporaion, Jun.
`1985, Order No. AA-ET91A-TE.
`IBM RT PC SNA Access Method Guide and Refer
`ence, IBM Corporation.
`Primary Examiner—Raulfe.B. Zache
`Attorney, Agent, or Firm-Marilyn D. Smith
`[57]
`ABSTRACT
`A system for, and method of, providing an interface to
`an application program for accessing networking func
`tions. The application program interface translates rou
`tines requesting networking functions to the operating
`system commands which contain facilities for accessing
`networking functions. In addition, the application pro
`gram interface externalizes the operating system com
`mands for use by the application program in accessing
`networking functions.
`
`34 Claims, 20 Drawing Sheets
`
`APPLICATION TRANSACTION PROORAII
`
`)
`
`SIAOPEII
`SIIACLSE
`SIAREAO
`SIIAIRIT
`SIIAOTL
`SIIADEAL
`SIIAL LOO
`
`APPLICATION PROORAI IIII'ER -
`HOE SERVICES
`
`28
`
`OFEII
`CLOSE
`REAO
`WRITE
`IOCTL
`REAOX
`IRITEX
`
`OPERATING svsm BALLS
`
`FILE svsm
`
`1_|
`
`|_z
`
`OPERATING SISTEII
`
`IO
`
`SIIA DEVICE DRIVER
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`

`

`US. Patent A‘ug.30, 1988
`
`Sheet 1 0f 20
`
`4,768,150
`
`APPL I CATION PROGRAM
`
`A PI
`
`NETWORK ARCH I TECTU RE
`
`I40
`
`I 04
`
`2
`
`L08 ICAL UN I T
`SERVICES
`
`6 —|T PHYSICAL UN I T
`-
`‘ SERVICES
`
`7
`-
`
`OPERATING SYSTEM
`
`VRM
`
`| on
`
`DEVICE DRIVERS
`
`I/ 0 DEV ICES
`
`I 4
`
`IN
`
`FIG..4
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`

`

`US. Patent A‘ug.30, 1988
`
`Sheet 2 of 20
`
`4,768,150
`
`APPL I CAT LON TRANSACTION PROGRAM
`
`SNAOPEN
`SNACLSE
`SNAREAD
`SNAWR IT
`SNACTL
`SNADEAL
`SNAL L00
`
`B
`
`APPLICATION PROGRAM INTER -
`FACE SERVICES
`28
`
`'
`
`OPEN
`CLOSE
`READ
`WRITE
`IOCTL
`READX
`WR l TEX
`
`OPERATING SYSTEM CALLS
`
`El LE SYSTEM
`
`OPERATING SYSTEM
`
`SNA DEVICE DRIVER
`
`42
`
`40
`
`45
`
`FIG. 2
`
`a‘
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`

`

`US. Patent
`
`Aug. 30, 1988
`
`Sheet 3 0f20
`
`4,768,150
`
`A
`
`B
`
`APPLICATION
`PROGRAM
`
`16
`
`b
`o— CONVERSATION ——»
`
`APPLICATION
`PROGRAM
`
`LOGICAL
`UNIT (LU)
`
`o—SESSION —#
`
`LOGICAL
`UNIT (LU)
`
`(7
`
`NETWORK
`ADAPTER
`CARD
`
`et
`
`BD rete
`
`fe
`vs
`
`NETWORK
`
`ATTACHMENT
`
`18
`
`CONNECTION
`
`FIG.
`
`3
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`

`

`US. Patent Aug. 30, 1988
`
`Sheet 4 of 20
`
`4,768,150
`
`EOE:
`
`
`
`
`
`min :35: _ 522
`
`
`
`“.Jf 2 2 :
`
`
`
`A 2:0 _ E: V E; 35 5;: Q2 _ EEO
`
`
`
`
`
`Q |
`
`is; 02 _ 2573
`2 2 5;
`
`2 £522
`
`
`
` .5223: .2535 f f z a
`
`‘v
`
`w;
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`

`

`U.S. Patent
`
`Aug. 30, 1988
`
`Sheet 5 of 20
`
`4,768,150
`
`AUOWIN
`
`Idd¥
`
`“JUNLINYLS
`
`SSaudgyAYONIN
`J1VI011VI0él
`JLVOOTIVi
`§SALYLSQN3S
`youdsON3S
`£|Svs”139J|aLnaldliy”139JHSTY|NINOJ|WUNOD|
`
`WVYOOUdNOLLVOI
`
`WILSASONILVY3d0
`
`6£
`
`(av
`
`Pan
`11901
`
`HW4ONIS
`
`£4
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`
`

`

`US. Patent Aug. 30, 1988
`
`Sheet 6 0f 20
`
`4,768,150
`
`:25;
`
`2m 23 GE?
`
`i J\ m l .
`
`L
`
`
`
`2556.8 9562b“ ml“ 32:: 22;: w .250: 2222::
`
`
`
`
`
`
`
`2V8. wwv?mav? E: - u .22. £118 a _s :35
`:\.\ . V M I A N L
`
`fa r; f 2 F2 f ‘
`
`
`
`
`
`2% £53 .Q: :2: 220 5;; 25; :0
`
`l s 2 a B 2
`
`z
`
`.3 w;
`
`col
`
`5;
`
`s;
`
`
`
` a 55; 05:5“; i 2 2
`
`w . 0 _ n.
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`

`

`US. Patent Aug. 30, 1988
`
`Sheet 7 0f 20
`
`4,768,150
`
`2551.
`
`
`
`mm 3:22 22;: .
`
`
`
`2 3 2 3 z
`
`
`
`z: - 0 Q: .5523 is 5:;
`
`“ A A J . I E 2 N w E 2
`
`
`
`
`
`
`
`1562; 23:6 _ In;
`
`2 w;
`
`¢ v w m a ‘
`
`a: .5558 .Q: :8 _ 3:; is; 3:53
`
`
`
`
`
`. am >
`
`M 2:22
`
`o * Q 2. is
`
`is; :55:
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`

`

`US. Patent
`
`Aug.30, 1988
`
`Sheet 8 of 20
`
`4,768,150
`
`
`
` ‘>UlDyopuepaublsung"plsBuoyoe}AySYsnjy
`yonays
`
`
`
`“Ch:pasapoubisun
`ayl‘{neepodasues
`jul
`bl.
`
`[ado
`
`LS
`
`QLFSTYSN}YFUNLONYLS
`
`6¢SSiuddyANOWIN
`
`
`
`WVUDOUdNOLLVOITdd¥
`
`96£9&Ge
`
`(QUsm|‘oa11901
`
`S11¥0WILSASONILVYSdO
`
`
`
`WALSASONIL¥USd0
`
`&I
`
`SHAAN
`
`J01A30
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`
`

`

`aenea
`dS”J}}DpoNsys jG6lL——~ASTAD=FYNITONYLS
`
`6¢SSANddYAYONIW
`
`Tdd¥
`ONILVHdd0 WVYIOUd
`
`
`
` y©FG]4040]91109UO1}DSIBAUODIDY9
`
`
`
`
`‘[gy)ewpunypaljijonbAjjnysauydspyo
`
`
`
`"7gy)auipunypalzijonbA\jny-umo,syd
`
`‘pidHuo]
`
`AYOWIN
`
`NOILVOI
`
`U.S. Patent
`
`Aug.30, 1988
`
`Sheet 9 of 20
`
`4,768,150
`
`tt
`
`
`snyojsuuodpaubisun‘[6]ewouspow
`
`sDyd
`
`
`
`
`
`:2
`
`‘|
`
`
`
`t:passpaubisun
`
`
`
`
`
`j9Aa|Adanogaspaubisun
`
`
`
`jaaa,ouspaubisun
`
`(Ouv
`
`
`
`
`
`
`
`
`
`‘Jingiliy1399oa)|11901S11¥9WILSAS
`
`
`
`WALSASINILV¥Ydd0
`
`aSUFAlu
`
`JOIAAG
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`
`

`

`US. Patent
`
`Aug. 30, 1988
`
`Sheet 10 of 20
`
`4,768,150
`
`
`
` t.”"}°abpw!ujspaublsun7‘snyo4sjul
`
`‘pisGuo]
`
`
`
` idjspojsBhyondys
`
`ms8‘ebowi,1oyo
`
`
`AYOWIN
`0844S4DISh-JYNLONYLS|BESSayddYAYONINWYY90UdNOILVOITdd¥
`
`
`
`
`
`
`
`
`
`(ouV]‘SMLVLS13904)11901ST1VOWILSASONILYYRd0
`
`
`
`‘G):pastpoubisun
`
`
`
`‘ua;abou!;soysn
`
`
`
`WILSASONILVUId0
`
`£Y SuaAtNd
`
`JO1AI0
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`

`

`US. Patent Aug. 30, 1988
`
`Sheet 11 0f 20
`
`4,768,150
`
`» .
`
`“in E2 “6:32;
`mggl?im t:
`
`:55:
`
`
`
`SA m M, M; w;
`
`I 2 S \\ . W, m w ¢ ¢ m
`
`
`
`
`
`
`
`. N \3: mummomb? A ti; E: 2.3 .55; 553335? _
`
`
`om twig; 222:? Z 3 3 3 Z
`
`
`
`
`
`£\~\:m|3a $5525 a 3:2: :55: w 5:52: 22:; 3%:
`
`
`
`mm 3 2 2 :
`
`.@ w. W ‘ ‘
`
`2:: .1: a .E V :2: 3:; 5;; 2:252
`
`
`
`
`
`5;
`
`w]
`
`mI ‘
`
`a l
`
`‘ES; 02:55.3
`
`2 2 is
`
`a
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`

`

`Aug. 30, 1988
`
`NOLLVOT1dd¥
`
`WVUSONd
`
`
`
`STIVOWILSASINILV49d0
`
`cradNS
`
`WAISASINIL¥YId0
`
`US. Patent
`
`Sheet 12 of 20
`
`4,768,150
`
`
`
`
`
`SHFATYC
`
`491A50
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`

`

`U.S. Patent
`
`Aug.30, 1988
`
`Sheet 13 of 20
`
`4,768,150
`
`98
`
`
`
`LQ-%—JjS0119-FYNLINYLS|GESS3NGdYAYONIH
`
`NOILVIETdd¥
`
`
`
`‘gp:/passpaubisun
`‘,<SadAypauBblsunPoaeuas
`
`b]‘plsBuoy
`jul
`ie>44SOdsa
`Jondys
`(94¥|“YOUNGNaS
`
`aa)|1190
`WVY90Ud
`
`AYOWIN
`
`
`
`WIISASINITLVYIdO
`
`
`
`etSUdALYC
`
`JdIAIG
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`
`

`

`US. Patent
`
`Aug. 30, 1988
`
`Sheet 14 of 20
`
`4,768,150
`
`
`
`‘ph>passapaubisun
`
`
`
`‘2:adh}paubisun
`
`GL}djs"yw}yonays
`
`!apooasuasur06ppp-ywyyJpya
`
`Tdd¥
`ageAJSYW)FFYUNLONYIS|GESSINGdVAYONINWVUIOUdNOLLVOI
`
`
`
`
`
`
`
`
`(QUV]“HW4QNJS|ayn|s901ST1V¥9WALSASONILVY3d0
`
`
`
`WAHLSASINILVYId0
`
`tb
`
`SUAAING
`
`JOIAAO
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`
`

`

`US. Patent
`
`Aug. 30, 1988
`
`Sheet 15 of 20
`
`4,768,150
`
`AYOWIN
`
`
`
`16—2%—JISDIS“4FYNLINYIS|GESSIXCQYAYOWIN
`
`‘bp:adh}paubisun
`
`£g:pipoubisun
`-plaGuo]9046)5bJISJD4S
`
`fapooasuesjul
`fonsys
`(94|“SNLVLSGN3S
`
`Tdd¥
`
`
`
`WVUI0UdNOLLVOI
`
`
`
`
`
`ST1VOWALSASONILVYId0
`
`
`
`WILSASQNILVY3d0
`
`SUAAIYO
`
`JI1AI0
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`
`

`

`Sheet 16 of 20
`
`4,768,150
`
`US. Patent
`
`Aug. 30, 1988
`
`AYOWIN
`
`Tdd¥
`
`26-2ssjoap“JUYNLINYLS|GESsayadvAYOWIN
`
`ty“ByejDeppaubisunIAegi_paubisun
`
`
`v6!piaDuo}eg}14S"|pap
`blaparajul
`
`‘2p“passpaublsun
`jonays
`(9uv|‘31V9071VI0os)|11001
`
`
`‘usd|‘aian|avaowns:
`
`ST1VIWIISASONTLVYad0
`
`WVU90UdNOILVOI
`
`WALSASONILVUdd0
`
`£&9¢
`
`fFougnia
`
`JIIAA0
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`
`

`

`US. Patent
`
`Aug. 30, 1988
`
`Sheet 17 of 20
`
`4,768,150
`
`
`
`
`
`
`
`
`
`66>“(g9}Ud}
`}16JsO|}oyonsys
`
`‘[6]ewouapows
`
`AYOWIN
`-13AU09SNOlAaIdD40}Plt,/oy‘9podasuas2Pasi
`
`96—r—JISO1]0“FYNLONYLS|GESSIddYAYONIWWVY9I0NdNOLLVOITdd¥
`
`
`
`
`
`
`
`
`
`(ouv]“31¥9071¥0a)|11901STIVOWILSASONELVHSd0
`
`/,WOlsDs
`
`~wNNNAN A we we
`
`
`‘wnu-gns
`
`
`
` fulgS}attLO0bJys~didjonjjs
`
`“JUNLONYLS
`SS3ydqV
`
`AYOWIW
`
`00-2Ajiioud
`
`poubisun
`
`Lore}PASJ
`
`jana}~ouds
`paubisun
`peubisun
`
`9g2adh}
`paubisun
`
`:0hang}7nogad
`257)€0b-2tdid
`
`
`peubisun
`
`poubisun
`
`pObadjssas
`paubBisun
`
`
`
`ays-did,44sdid
`
`S0h4
`
`poubisun
`
`Buoy
`
`jul
`
`jonas
`
`“4
`
`:HojyudyoAs
`
`
`paubisun
`
`-4IDYD
`
`86
`
`[94]D}Op-qns4pY97Borat{‘{$9]
`
`
`
`WALSASINILVYId0
`
`yéSUFATHA
`
`JO1AIG
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`
`

`

`US. Patent
`
`Aug. 30, 1988
`
`Sheet 18 of 20
`
`4,768,150
`
`
`
`_gpanleoedpuas0}jSanbe.jul
`
`‘ouul
`
`
`
`
`
`2hh~———~_$NOTdad=FFJYNLONYIS
`
`
`
`jno~podsyondys
`
`AYOWIA
`
`ehh
`
`
`ty:iesw4}juoopaublsun
`
`ty:6a}D90||Deppoubisun
`
`‘2:Shvou}doUdipaubisun
`tho:021adKj-ojDappaubisun
`
`
`
`
`
`
`JONIYS pndulyona4s;A}S-O174XO
`
`
`
`ssas‘9Ho;-ysniy‘}*¢zp-r-adkypaubisunpaubisun
`
`(yo:sph-owpaubisun
`
`t:é=
`
`
`
`
`
`“}ndu!
`
`
`gy:pisp6paubisun
`
`ty:gunuj-4asnpaubisun
`
`(po:92hpasspaubisun
`
`pl—~‘apooasuasjul
`
`
`
`
`
`oo“Ayi014dpaubisun}(1X3]HLONIT‘vivaas)|KovaST1V9WIISASONILVYIdO
`
`=¢pagsO}Dpjoumpaubisuneh
`‘G+pAds™josjuoo”yoym=pauhisun
`
`
`
`eebh)PAQa”|0u4U09JOURjul
`tho:8h14paubisun|pplroiibepPebisunWIISASONIL¥UId0
`
`
`
`
`SebpaynaeJ91A30
`
`(PAOpus-0j-bupoublsun)SHIAIHG
`
`
`
`
`
`t2—IPAQDIOP1NdLN0aia‘wow“v1¥G]°G19)|}DYMqu!(3dAL-9|“WldGVINWNS
`
`Gyr‘9poodjulasuas
`
`
`SSANGdYAYONINSid
`
`WhG2OORTGORo£fe
`
`
`
`
`SSINddYAYOWIN
`
`geg1WVYDONdNOLLVOITda¥
`
`8b“Old
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`
`
`
`
`
`
`

`

`US. Patent
`
`Aug. 30, 1988
`
`Sheet 19 of 20
`
`4,768,150
`
`:cPAOXpus”Oo}bapoublsun}2}jndjno
`
`
`*pagsD}DP-jouUMpaubisun
`
`:“boy7ysnyypoubssun
`:spb
`
`pAdI™[O1JUOS~JoUMpaub/sun
`act“ynduy
`
`
`O2h~_adAj~ojjoappauBbisun69}D90||Dappaubisun
`yonsys
`
`
`6hhwiljuodpaubisun
`
`SZ}AGA}Ssaspaubisun
`omvojjdoudpaublsun
`enSjndutone
`
`y2h-2ajpo0|jdpaubisun
`
`ADIYOj|dappaubisun
`621'}dJS-OE4XO
`
`S-"Kysolidpaubisun
`
`dwpaubisunI!)paubisun
`Jonsys
`
`a
`or or!
`OS ON awe ret ee ee ee ee oe ON
`
`
`
`
`
`‘apoo”asuas
`
`
`
`‘paataoadpuasOyjsanbasjul
`
`
`
`(ddAL-9]“UldLIMaia‘iowa“W1VQ}'Q19)]LINMYNS
`
`
`Lhh——™448014X8)S3YNLONYIS
`
`SSIUGdYAYONIA1a
`
`
`
` }|NO-ayMJondjs
`
`Reh
`
`GLOK”6OF6G
`
`ve
`
`AYONIN
`
`62y~——~..NOaplam.=FUNLONYLS
`
`
`
`SSaudgyAYOWIN
`
`
`
`
`
`6sgtWVN90UdNOILVOITdd¥
`
` WILSAS
`
`INTLVHId0
`
`Om
`AD9
`=
`
`
`
`
`:.guniy-asnpoubisun
`
`ech—FonsPaubisun
` “pliBuo$lT+hajno{‘9pooaguasiu1SauBisun
`
`
`“ualpuisaut
`
`th
`
`SUSALYG
`
`JIIAIG
`
`6r‘91i4
`
`Soc,
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`
`
`
`
`
`
`
`
`
`
`
`

`

`NOILVORTdd¥
`
`
`(d4)}998019
`
`
`
`STIVOWALSASINIL¥4Sd0
`
`WVED0Ud
`
`
`
`(013)ISTOVNS
`
`WIISASINILVYdd0
`
`U.S. Patent
`
`Aug. 30, 1988
`
`Sheet 20 of 20
`
`4,768,150
`
`
`
`
`
`SYJAIYO
`
`JOA
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`

`

`1
`
`4,768,150
`
`APPLICATION PROGRAM INTERFACE TO
`NETWORKING FUNCTIONS
`
`CROSS-REFERENCES TO RELATED
`APPLICATIONS
`
`filed Sept. 17, 1986 for a A
`Ser. No. 908,534,
`METHOD AND SYSTEM FOR AN APPLICA-
`TION
`PROGRAM TO
`COMMUNICATE
`THROUGH A NETWORK PROTOCOL,currently
`copending, and assigned to the same assignee as the
`present invention.
`FIELD OF THE INVENTION
`
`This invention relates to processing systems con-
`nected through networking, and moreparticularly to a
`processing system running an application program hav-
`ing access to networking functions.
`BACKGROUND ART
`
`FIG. 1 showsthe layers of a typical processing sys-
`tem 1. The application program 9 runs on the operating
`system 10. All of the commandsofthe operating system
`10 that go to the devices 4 must go through the virtual
`resource manager 8 which includes the device drivers
`13. In order for a processing system 1 to communicate
`to other remote processing systems or other devices 2,
`the processing system must have an architecture 5 that
`defines the information flow through the network sys-
`tem. A typical network architecture 5 comprises a total
`description of the logical structure, formats, protocols,
`and operational sequences for transmitting information
`through the communication system.
`A typical network architecture 5 is called Systems
`Network Architecture (SNA). Systems Network Ar-
`chitecture (SNA)is a specification that formally defines
`the functional responsibilities for components of a data
`communications system, and specifies how those com-
`ponents must interact. In an SNAstructure,all nodes,
`or linked elements follow these definitions.
`Systems Network Architecture has two components
`that control the operation of the local nodein the net-
`work. Oneis the physical unit 7, the other is the logical
`unit 6. Each one of these components has a special
`assigned function in the network. Also, each of these
`components can be separately addressed by other mem-
`bers of the network.
`The physical unit 7 controls the physical resources of
`the node. Physical resources include the data links 14
`that connect the node to the network, storage, and
`input/output devices 4. All nodes in the network must
`have a physical unit.
`The logical unit 6 provides the interface to the net-
`work for the end user. It provides protocols that allow
`end users to communicate with each other and with
`other components in the network. A logical unit (LU) is
`classified according to the protocol that it implements.
`For example, the SNA protocolconsists of unique envi-
`ronments for LU types 1,2,3, and 6.2.
`Logical Units 1, 2, and 3 (LU1, LU2, LU3) communi-
`cate with a host in a primary-to-secondaryrelationship.
`The host computer, as the primary node, controls the
`data interchange between the two nodes. Specifically,
`the LU 1 protocol manages the input/output devices
`associated with the logical unit such as printers, card
`readers, storage devices, and operator consoles. The
`LU 2 protocol describes the protocol of an IBM 3270
`data terminal connected to the host. It provides key-
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`45
`
`50
`
`55
`
`65
`
`2
`board input and display output. The LU 3 protocol
`describes the protocol of a printer connected to the
`host. It provides printed output. The LU 6.2 protocol
`provides advanced program to program communica-
`tions (APPC) for communications between two pro-
`grams on a peer-to-peer basis instead of in a primary-to-
`secondary relationship. More information about
`this
`protocol is found in IBM International Systems Centers
`An Introduction To Advanced Program-To-Program Com-
`munication (APPC) #GG24-1584-0, July 1983 which is
`herein incorporated by reference.
`A link session describes the physical hardware and
`supporting programsthat allow a system to attach to a
`particular communications link 14. The link session
`includes the remote node2, but only describes the phys-
`ical environmentof the nodes. For example, a link ses-
`sion may be an adapter for hardware 4, cabling, and
`Synchronous Data Link Control (SDLC) software that
`enables a system to attach to a SDLC network.
`An SNAsession defines the network path that links
`twological units 6 in different nodes together to enable
`them to establish communications. An SNA session
`includes network addressing, the name of the remote
`program, and other descriptive information.
`A conversation is a pathway between two application
`programs that allows them to transfer information to
`each other. Two types of SNA conversationsare a basic
`conversation and a mapped conversation.
`A basic conversation is a connection between two
`transaction programs that allows them to exchange
`logical records. This conversation type is used by ser-
`vice transaction programs and LU1,2, and 3 application
`transaction programs.
`A mapped conversation is a connection between two
`transaction programsthat allows them to exchangedata
`records of any length and in any formatspecified by the
`transaction programs. This conversation typeis used for
`LU 6.2 conversations only and is used primarily for
`application transaction programs.
`An application program interface (API) 3 is a mecha-
`nism by which a communications application program 9
`acquires use of the network protocol 5. The application
`program interface 3 is typically quite complex and con-
`tains details of the network protocol. In order to write
`extremely efficient application programs that provide
`high level networking services to a generalclass ofuser,
`the programmerrequires direct interaction with, and
`intimate knowledge of the network protocols. Further-
`more, if the network protocols change, the application
`program must be rewritten to adjust to the changes.
`Deficient in the aboveis an interface to an application
`program for accessing networking functions. With the
`invention of this application is provided an application
`program interface which translates routines requesting
`networking functions to the operating system com-
`mands which in turn contain facilities for accessing
`networking functions. The interface further externalizes
`the operating system commandsforuse by the applica-
`tion program in accessing networking functions.
`SUMMARYOF THE INVENTION
`
`It is therefor an object of this invention to give an
`application program direct interaction with a network
`environment without requiring intimate knowledge of
`the network protocols.
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`

`

`3
`is a further object of this invention to isolate
`It
`changesin a network configuration from an application
`program.
`In furtherance of the objects of this invention an
`application program interface mapsa set of subroutines
`to a corresponding set of operating system call func-
`tions. The application program interface comprises
`services that map specific requests for communication
`functions onto facilities provided by the operating sys-
`tem’s commands. The system of this invention further-
`more externalizes the operating system calls as an appli--
`cation program interface.
`The application program interface of this invention
`allows transaction programs to establish a connection
`with one or more remote transaction programs, ex-
`change data with that program, and to disconnect from
`the remote transaction program.
`The interface comprises routines that are translated
`by an application program interface service to corre-
`sponding operating system calls. A first routine initial-
`izes a connection to a remote node. A second routine
`creates a conversation between the local transaction
`program anda transaction program at a remote node.
`To begin a data exchange with a remote program, a
`third routine is used to get data from a remote program,
`and a fourth routine is used to send data to the remote
`program. A fifth routine is used to monitor and control
`the conversation. A sixth routine dissolves the conver-
`sation between two transaction programs. A seventh
`routine ends the connection.
`The system and method ofthis invention also allows
`an application transaction program access to the Sys-
`tems Network Architecture through the application’s
`use of the operating system calls. The AIX! operating
`system calls
`comprise OPEN, CLOSE, READ,
`WRITE, IOCTL, READX, WRITEX. The OPEN
`command opens a resource. The READ and READX
`commands receive data from a remote transaction pro-
`gram. The WRITE and WRITEX commands sends
`data to a remote transaction program. The IOCTL
`command controls the data transfer between local and
`remote transaction programs. The CLOSE command
`closes a connection.
`*lAIXis a trademark of International Business Machines Corporation.
`Both the routines and system commands comprise
`specific parameters that enable the routines and com-
`mands to perform the corresponding networkfunction.
`The commands and routines typically comprise a pa-
`rameter that identifies the connection through a con-
`nection ID, a parameterthat identifies a network func-
`tion request, and a parameter that points to a specific
`structure in memory.
`
`BRIEF DESCRIPTION OF THE DRAWING
`
`FIG. 1 showsa processing system connected to a
`network as knownin theart.
`FIG. 2 shows an operating system for use with the
`interface of this invention.
`FIG.3 illustrates a network environment.
`FIG. 4 showsthe routine and command for opening
`a connection.
`FIG. 5 shows the routine and command for control-
`ling the data transfer between a local and remote trans-
`action program.
`FIG. 6 shows the request function for asking the
`remote transaction if the last transmission was success-
`fully received.
`
`5
`
`20
`
`25
`
`35
`
`45
`
`50
`
`55
`
`65
`
`4,768,150
`
`4
`FIG.7 showsthe request function indicating that the
`remotesite received the last transmission withouterror.
`FIG.8 showsa request function that sends the data in
`the local LU buffer to the remote LU.
`FIG.9 showsa request function that gets information
`about a specified conversation.
`FIG.10 showsa request function for getting informa-
`tion about a current link and session.
`FIG. 11 shows a request function for notifying the
`remote LU that the local LU needs to change the con-
`versation direction so the local LU can receive from the
`remote LU.
`FIG. 12 showsa request function for notifying the
`remote LU that the local LU needs to change the con-
`versation direction so the local LU can send to the
`remote LU.
`FIG. 13 shows a request function for informing the
`remote transaction program that the local transaction
`program has detected an errorin the information that it
`received from the remote program.
`FIG. 14 shows a request function that sends an FM
`header to the remote LU.
`FIG. 15 shows a request function that sends status
`information about devices on the local session to the
`host program.
`FIG. 16 showsa subroutine and a commandforre-
`moving the allocation of the specified conversation
`from the local transaction program.
`FIG.17 showsa subroutine and a commandforcreat-
`ing a session and conversation between twotransaction
`programs.
`FIG.18 shows a subroutine and commandforreceiv-
`ing information from a conversation.
`FIG. 19 shows a subroutine and command for send-
`ing data to a remote program,
`FIG. 20 showsa subroutine and a commandforclos-
`ing a connection.
`DESCRIPTION OF THE PREFERRED
`EMBODIMENT
`
`FIG,2 illustrates the use of the application program
`interface 20 of this invention in a processing system 1
`having an operating system 10. The operating system 10
`has a device driver interface 15 to Systems Network
`Architecture. The device driver 15 is accessed through
`the file system 12 of the operating system through the
`operating system calls 11. Accessing SNA through a
`device driver 15 within an operating system 10 is fur-
`ther disclosed in the commonly assigned, co-pending
`U.S. application Ser. No. 908,534, “A Method and Sys-
`tem for an Application Program to Communicate
`Through a Network Protocol”, filed Sept. 17, 1986,
`which is hereby incorporated by reference. However,
`the application program interface 20 of this inventionis
`applicable to other systems accessing a SNA protocol,
`also.
`The interface 20 of this invention allows an applica-
`tion program 9 to either issue subroutines 21-27 or to
`issue system call commands 31-37 when accessing a
`network protocol. If subroutines 21-27 are issued, the
`application program interface service 28 translates the
`subroutines 21-27into one of the corresponding system
`calls 31-37.
`FIG.4 through FIG.20illustrates the commands and
`routines in an application program interface for access-
`ing networking functions. A general description of the
`commands, routines, and the corresponding parameters
`is as follows. A more detailed description of the com-
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`

`

`4,768,150
`
`5
`mands, routines, and the corresponding parametersis
`found in IBM RT PC SNA Access Method Guide and
`Reference which is herein incorporated by reference.
`The IBM RT PC SNA Access Method Guide and Refer-
`ence has been published, and is currently available, as
`SNA Services Guide and Reference, IBM Corporation,
`order number SC23-0814. This manual provides addi-
`tional information for using the commands, routines,
`and parametersin the different LU environments, such
`as LU1, LU2, LU3, and LU6.2.
`Referring to FIG.3 and FIG.4, to open a connection
`18 (FIG. 3) between a local transaction program 9A
`(FIG.3) and a remote transaction program 9B (FIG.3)
`the application 9 issues either a subroutine referred to as
`“snaopen” 21, or the system call command OPEN31.If
`the subroutine 21 is issued, runtime services (RTS) 28
`translates the subroutine 21 to the OPEN command 31.
`The “snaopen” subroutine 21 includes a resource pa-
`rameter 41 that specifies a connection profile name of
`the resource to be opened. The OPEN command 31
`includes a “path” parameter 42 and an “oflag” parame-
`ter 43. The “path” parameter 42 also specifies the re-
`source to be opened by specifying the SNA device
`driver name to be used to open the resource, and by
`specifying the connection profile name of the resource
`to be opened. If the “snaopen” subroutine completes
`successfully, it returns an integer that specifies the con-
`nection ID (cid) for the connection 18 (FIG. 3). Like-
`wise, if the OPEN command 31 completes successfully,
`it returns an integer that specifies the file descriptor(fd)
`for the connection 18 (FIG.3).
`With reference to FIG. 5, the “snactl” subroutine 25
`and the “ioctl” command35 provides control functions
`for transfer operations between a local 9A (FIG.3) and
`a remote transaction program (9B). The control func-
`tion is specified by the request (req) parameter 51, 52
`and maybe oneof the following: CONFIRM 61, CON-
`FIRMED 62, FLUSH 63, GET_ATTRIBUTE 64,
`GET_STATUS65, PREPARE_TO_RECEIVE66,
`REQUEST_TO_SEND 67, SEND_ERROR 68,
`SEND3FMH 69, and SEND_STATUS 70. The
`“ioctl” command 35 has the additional two requests
`ALLOCATE 71 and DEALLOCATE72.
`The parameters of the “ioctl” command 35 include
`“fd” 54, “req” 52, and “arg” 56. The parameter “fd” 54
`specifies the variable that contains the file descriptor
`returned by the OPEN system call 31 as described in
`co-pending U.S. application Ser. No. 908,534, “A
`Method and System for an Application Program to
`Communicate Through a Network Protocol”,
`filed
`Sept. 17, 1986. The parameter “req” 52 specifies the
`function to be performed. The “arg” parameter56 is an
`integer that can be used to specify either the variable
`that contains the resource i.d. (rid) returned by the
`“ioctl” ALLOCATE system call, or a pointer to a
`structure that contains additional input parameters for
`the requested function 52.
`The parameters of the “snactl” command 25 include
`“cid” 53, “req” 51, “arg” 55, “c_type” 57. The “cid”
`parameter 53 specifies the variable that contains the
`connection ID returned by the “snaopen” subroutine
`21. The parameter “req” 51 specifies the function to be
`performed. The parameter “arg” 55 specifies the vari-
`able that contains one of the following (which depends
`on the function performed as specified in the request
`field): the resource ID returned by the snalloc com-
`mand,or a pointer to a structure that contains additional
`input parametersfor the requested function. The param-
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`45
`
`350
`
`55
`
`65
`
`6.
`eter “c_type” 57 specifies a character constant that
`indicates the conversation type.
`Referring to FIG. 6, the CONFIRM request parame-
`ter 61 on the “snacti” subroutine 25 and the “‘ioctl”
`command 35 asks the remote transaction program 9B
`(FIG.3) to tell whether the last transmission was suc-
`cessfully received. The remote transaction program 9B
`(FIG. 3) must respond with one of two requests, CON-
`FIRMED 62 or SEND_ERROR68.
`The CONFIRM request 61 on “snactl” 25 and “ioctl”
`35 has the structure of type “conf_str” 73 as shownin
`memory 38. The “sense_code” parameter 74specifies a
`variable that contains the sense code to be reported to
`the remote session. The “rid” parameter 75 specifies the
`resource ID.
`Referring to FIG. 7, the CONFIRMEDrequest 62is
`a response to the CONFIRMrequest 61 (FIG.6) indi-
`cating that the remotesite (B FIG.3) received the trans-
`mission without detecting any errors. The parameter
`“arg” 55, 56 for this request specifies the resource ID
`for the conversation that was returned by the ALLO-
`CATErequest for the conversation.
`Referring to FIG.8, the FLUSH request 63 sends any
`information in the local LU (6A FIG.3) send buffer to
`the remote LU (6B FIG. 3). The LU normally buffers
`the data from “WRITE”calls or “snawrit” commands
`until it has enough data to transmit. Using this request,
`the local program 9A (FIG.3) forces the local LU 6A
`(FIG. 3) to transmit the data in the buffer. The local
`program 9A (FIG. 3) can use this request to decrease
`the delay required to get the data to the remote system
`(B FIG.3).
`The “arg” parameter 55, 56 points to the structure of
`type “flush_str” 76 in the memory 38. The “flush_str”
`structure 76 contains the input parameters for the
`FLUSH request 63. The “endchain” parameter 77
`specifies whether or not to send the buffer with the end
`chain indication. The program specifies this parameter
`as a 1 to complete a chain. To flush the send buffer
`without completing the chain, the program specifies
`this parameter as a 0. The “‘sense_code” parameter 74
`specifies a field that receives indications of errors that
`occurred on previously sent data.
`Referring to FIG. 9 the GET_ATTRIBUTErequest
`64 gets information about a specified LU6.2 conversa-
`tion. The parameter “arg” 55, 56 for this request is a
`pointer to a structure of type “attr_str” 79 which con-
`tains the input parameter “rid” 75, and receives the
`output information from the request. The “attr_str”
`structure 79 as shown in the memory38receives output
`from the GET_ATTRIBUTE request 64 for
`the
`“snactl” subroutine 25 and the “ioctl” commands35.
`Referring to FIG. 10, the GET_STATUSrequest 65
`gets information about the current link (14 FIG.3) and
`session (17 FIG. 3), as well as the unprocessed image
`from the BIND for the LU-LU session. The parameter
`“arg” 55, 56 for this request is a pointer to a structure of
`type “gstat_str” 80 which contains the input parameter
`“rid” 75, and receives the output status information
`from the request. The “gstat_str”structure 80 as shown
`in the memory 38 provides currentlink information and
`session information in response to a GET_STATUS
`request 65. The parameter “status” 81 specifies the cur-
`rent status of the physical and logical link. The parame-
`ter “rin_image” 82 whenset indicates that the BIND
`image associated with the session should be returned in
`the buffer pointed to by “image—ptr’. The “ima-
`ge—len” parameter 83 either contains the maximum
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`Ruiz Food Products, Inc.
`Exhibit 1017
`
`

`

`20
`
`7
`amount of BIND image data in bytes that can be re-
`turned by the request when the GET_STATUS65is
`issued, or, contains the actual amount of BIND image
`data in bytes that was returned when the request is
`complete. The “image” parameter 84 specifies a pointer
`to the buffer area in which the Bind image datais to be
`stored.
`the PREPARE_TO_RE-
`Referring to FIG. 11,
`CEIVErequest 66 notifies the remote LU (6B FIG.3)
`that the local LU (6A FIG.3) has changed the conver- 10
`sation (16 FIG. 3) direction so that the local LU (6A
`FIG. 3) can begin receiving from the remote LU (6B
`FIG. 3). The structure “prep_str” 85 provides addi-
`tional parameters for the PREPARE..TO_RECEIVE
`request 66. The structure 85 is as shown in memory 38. 15
`The parameter“type” 86 specifies the type of request to
`be performed for this conversation. The “sense_code”
`parameter 74 specifies a field that receives indications of
`errors that occurred on previously sent data.
`Referring to FIG. 12, the REQUEST_TO_SEND
`request notifies the remote LU that the local LU needs
`to change the conversation direction so that the local
`LU canbegin sending to the remote LU. The parameter
`“arg” specifies the resource ID “rid” 75 for the conver-
`sation.
`Referring to FIG. 13, the SEND_-ERRORrequest
`68 informs the remote transaction program (9B FIG.3)
`that the local transaction program (9A FIG. 3) has
`detected an error in the information that it received
`from, or sent to, the remote program. The parameter
`“arg” 55, 56 for this request is a pointer to a structure of
`type “erro__str” 87 which contains the input parameters
`for the request. The structure for “erro_str” 87 is as
`shown in the memory 38. The “rid” parameter 75 is the

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