home *** CD-ROM | disk | FTP | other *** search
/ ftp.ee.pdx.edu / 2014.02.ftp.ee.pdx.edu.tar / ftp.ee.pdx.edu / pub / lpf / patent-list- < prev    next >
Text File  |  1992-11-03  |  71KB  |  1,678 lines

  1. Partial List Of Software Patents
  2. maintained by Michael Ernst <mernst@theory.lcs.mit.edu>
  3.  
  4. You can ftp this file from mintaka.lcs.mit.edu:/mitlpf/ai/patent-list.
  5. That site is mirrored by jupiter.ee.pitt.edu:pub/patent/patent-list and
  6. possibly prep.ai.mit.edu:/pub/lpf/patent-list.
  7. The original is rice-chex.ai.mit.edu:/home/fsf/rms/lpf/patent-list.
  8. It was last updated on Nov 21, 1991.  (I often forget to update this line.)
  9.  
  10. This is a list of software patents for which the disclosure statements are
  11. in this file folder (i.e., in NE43-427), plus information about all other
  12. software patents that I know of.  It is a partial list.  If you know of
  13. patents that I haven't included, or if you have more information about any
  14. of these, I would appreciate hearing about it.  Except where otherwise
  15. noted, the patents are US patents.
  16.  
  17. Its format is
  18.  number
  19.  title
  20.  filing date
  21.  granting date
  22.  assignee or owner
  23.  inventor
  24.  notes
  25.  
  26. 3,879,722
  27. Interactive input-output computer terminal with automatic relabeling of
  28. keyboard
  29. On-screen image is projected onto keyboard, which can provide useful
  30. information about what keys do what.
  31.  
  32. 4,135,240
  33. Protection of data file contents
  34. filed 7/9/73
  35. granted 7/16/79
  36. inventor Dennis Ritchie
  37. The set uid bit patent.
  38. Doug McIlroy <doug@research.att.com> says:  "AT&T distributed Unix with the
  39. understanding that a license fee would be collected if and when the setuid
  40. patent issued.  When the event finally occurred, the logistical problems of
  41. retroactively collecting small fees from hundreds of licensees did not seem
  42. worth the effort, so the patent was placed in the public domain."
  43.  
  44. 4,158,837
  45. Information display apparatus
  46. filed 5/17/77
  47. granted 6/19/79
  48. inventor James T. Zahorsky
  49. assignee IBM
  50. abstract:  "A display system is shown which has a source of coded
  51. information in display mapped format and includes plural devices for
  52. decoding and utilizing the information in accordance with its position in
  53. that mapped format.  In the illustrated embodiment, the source includes a
  54. refresh buffer and the utilization devices include an attribute decoder and
  55. a character generator.  A character row counter controls gating which
  56. causes the apparatus to treat bytes of data, having attribute format, truly
  57. as attributes or as addresses of members of an extra, graphical character
  58. set of the character generator."
  59.  
  60. 4,197,590
  61. Method for dynamically viewing image elements stored in a random access
  62. memory array
  63. filed 1/19/78
  64. granted 4/8/80
  65. inventors Josef S. Sukonick; Gred J. Tilden
  66. assignee NuGraphics, Inc.
  67. Includes claims of "XOR feature permits part of the drawing to be moved or
  68. 'dragged' into place without erasing other parts of the drawing."
  69. Twice upheld in court.  [Cadtrak now owns this?]
  70.  
  71. 4,398,249
  72. Process and apparatus for converting a source program into an object program
  73. filed Aug 12, 1970
  74. granted Aug 9, 1983
  75. inventors Rene' K. Pardo and Remy Landau
  76. This is the natural order spreadsheet recalculation patent recently
  77. acquired by Refac, a litigation company.  Draws on ideas like forward
  78. reasoning.
  79.  
  80. 4,410,958
  81. Displaying a proportionally outlined miniature page
  82. filed 12/24/80
  83. granted 10/18/83
  84. inventors Kent R. Demke, Joanne L. Mumola
  85. assignee IBM
  86. Abstract:  "There is disclosed a technique for displaying on a relatively
  87. small CRT display, using less than the entire screen, a representation of a
  88. full page of text.  The full page is represented using character indicators
  89. rather than recognizable characters.  The full page representation is
  90. surrounded by an outline generated using the same character indicators as
  91. the formatted text representation rather than known graphic symbols.  The
  92. outline is proportional to the ultimate hardcopy indicated by the user, and
  93. character indicators can be displayed right up to the page outlines."
  94. See also 4,455,554.
  95. [Have only first page of this patent.]
  96.  
  97. 4,449,182
  98. Interface between a pair of processors, such as host and
  99. peripheral-controlling processors in data processing systems
  100. filed 10/5/81
  101. granted 5,15,84
  102. inventors Barry L. Rubinson, Edward A. Gardner, William A. Grace, Richard
  103. F. Lary, and Dale R. Keck
  104. assignee Digital Equipment Corporation
  105. This patent apparently covers ring buffers.
  106.  
  107. 4,455,554
  108. Proportionality in miniature displays
  109. filed 12/30/81
  110. granted 6/19/84
  111. inventor Kent R. Demke
  112. assignee IBM
  113. Display a full page of text on a CRT by representing every 8x16 character
  114. by a character indicator (a 2x4 screen pixel blob); proportionality is
  115. maintained (that is, the screen looks like a miniature of the actual
  116. printed page) by inserting dummy characters in words with especially wide
  117. letters (so "fox", which has no narrow letters might be represented by four
  118. character indicators, but "quick" would be represented by five character
  119. indicators).  See also 4,410,958.
  120.  
  121. 4,458,311
  122. Text processor having an interactive display terminal which alternately
  123. functions as a data processing terminal
  124. filed 10/9/81
  125. granted 7/3/83
  126. inventors Silous F. Clements, Patrick D. Motola, Dennis M. Ross, Richard O.
  127. Simpson, Shirley F. Swift, Michael N. Day
  128. assignee IBM
  129. The user is permitted to modify the way that a database front end displays
  130. information; a single terminal can be used both to enter or change data and
  131. to change the way the data is displayed.
  132.  
  133. 4,464,650
  134. Apparatus and method for compressing data signals and restoring the
  135. compressed data signals
  136. inventors Lempel, Ziv, Cohn, Eastman
  137. assignees Sperry Corporation and At&T Bell Laboratories
  138. filed 8/10/81
  139. granted 8/7/84
  140. owner Sperry Corporation (now Unisys)
  141. Invented 1976, published IEEE Trans Info Theory 1978.
  142.  
  143. 4,514,818
  144. Video image creation system which simulates a drafting tool
  145. filed 12/1/81
  146. granted 4/30/85
  147.  
  148. 4,555,775
  149. Dynamic generation and overlaying of graphic windows for multiple active
  150. program storage areas
  151. filed 10/7/82
  152. granted 11/26/85
  153. inventor Robert C. Pike
  154. owner AT&T
  155. Lawsuits of X window vendors threatened, since this covers backing store.
  156. jupiter.ee.pitt.edu:/pub/patent/backing-store-letter is text of AT&T's letter.
  157. AT&T says, "The `backing store' functionality available in the
  158. X Windows System is an implementation of this patented
  159. invention, therefore, your company/institution needs a license
  160. from AT&T for the use of this patent."
  161. The MIT AI Lab implemented this three years before the patent application
  162. was filed, but the implementor (Richard Stallman) didn't think it was
  163. worthwhile enough to publish a paper on.
  164. janson@Athena.MIT.EDU says of Pike's _Transactions on Graphics_ articles on
  165. backing store and on the Blit:
  166. "a few things jumped out:
  167. 1) pike referenced prior art for naive backing store in the form of 
  168. symbolics' window system
  169. 2) he distinguished his methods by virtue of special mechanisms to
  170. store the minimal amount of data rather than the entire window contents,
  171. and by specifying algorithms to perform graphics operations directly on
  172. this specially structured (composite backing store / frame-buffer) `window'."
  173.  
  174. 4,558,302
  175. High speed data compression and decompression apparatus and method
  176. filed 6/20/83
  177. granted 12/10/85
  178. assignee Sperry Corporation (now Unisys)
  179. inventor Welch
  180. Covers the common "compress" algorithm published in IEEE Computer, June 1984.
  181. Also see Welch's article in CACM.
  182. The text for patent "4,558,302 Dec. 10, 1985 Welch" can be ftped from
  183. uunet.uu.net as pub/lzw-patent.Z
  184. Independently discovered by Victor Miller and Mark Wegman (see 4,814,746,
  185. which is identical and takes precedence because it was filed 19 days
  186. earlier).
  187. Adds one table initialization and two lines of change to 4,464,650.
  188.  
  189. 4,586,158
  190. Screen management system
  191. filed 2/22/83
  192. granted 4/29/86
  193. inventor Richard T. Brandle
  194. assignee IBM
  195. Maybe covers termcap-style declarations of terminal characteristics.
  196. abstract:  "A method of providing efficient on-line and interactive
  197. application program utilization of an assortment of devices calling for
  198. different screen characteristics.  An application programmer writes screen
  199. definitions for a particular device to be used.  These definitions are
  200. stored exterior of the application program and are used to define the
  201. quantity, order, and placement of the application program's information on
  202. the screen.  The application program provides services to generate and
  203. process each data element which can be presented.  These services are used
  204. by a mapping system in conjunction with the screen definitions to generate
  205. and process a device dependent data stream."
  206.  
  207. 4,602,286
  208. Video processing for composite images
  209. filed 1/10/83
  210. granted 7/22/86
  211.  
  212. 4,622,641
  213. Geometric display generator
  214. filed 9/13/83
  215. granted 11/11/86
  216. inventor Lawrence  K. Stephens
  217. assignee IBM
  218. Apparently covers all draw and paint programs
  219. Abstract:  "A user-friendly procedure for the generation and display of
  220. geometric figures on a graphics screen uses a cursor placement device such
  221. as a joy stick to both define the initial position and size of the
  222. geometrical figure.  Two specific examples are described:  the generation
  223. of a circle and the generations of a square or rectangle.  In the first
  224. example, the cursor is first positioned to point to the center of the
  225. circle at which point a small circle is drawn.  The circle is expanded in
  226. response to the pressing of a designated key by the user until the desired
  227. size is attained.  In the second example, the pointing by the cursor is to
  228. the upper left corner of the square or rectangle, and the square or
  229. rectangle is then expanded in response to the user deflecting the joy stick
  230. down and to the right."
  231.  
  232. 4,627,015
  233. Text placement on graphics screen
  234. filed 5/31/83
  235. granted 12/2/86
  236. inventor Lawrence K. Stephens
  237. assignee IBM
  238. abstract:  "A personal computer having an interactive all points
  239. addressable display terminal and a cursor positioning device is provided
  240. with a keyboard for inputting alphanumeric character strings not exceeding
  241. a predetermined maximum length.  Once the desired alphanumeric character
  242. string has been input, it can be selected as the current cursor character.
  243. As the selected current cursor character, the alphanumeric character string
  244. is displayed on the all points addressable display and movable by said
  245. cursor positioning device.  When the alphanumeric character string is
  246. positioned at a desired location on the all points addressable display, it
  247. can be fixed in that location by reading the alphanumeric character string
  248. into the display buffer."
  249.  
  250. 4,633,416
  251. Video image creation system which simulates a drafting tool
  252. filed 7/29/85
  253. granted 12/30/86
  254.  
  255. 4,642,764
  256. Method of developing formal identities and program bases in an optimizing
  257. compiler
  258. filed 8/13/84
  259. granted 2/10/87
  260. IBM
  261. Optimizing compiler patent
  262.  
  263. 4,642,765
  264. Optimization of range checking
  265. filed 4/15/85
  266. granted 2/10/87
  267.  
  268. 4,646,250
  269. Data Entry Screen
  270. filed 10/18/84
  271. granted 2/24/87
  272. assignee IBM
  273. inventor John F. Childress
  274. Required fields are highlighted until they are filled in; fields
  275. incorrectly completed are also highlighted.
  276.  
  277. 4,648,062
  278. Method for providing an on line help facility for interactive information
  279. handling systems
  280. filed 2/1/85
  281. granted 3/3/87
  282. inventors Steven E. Johnson; John Karat; Thomas M. Ruiz
  283. assignee IBM
  284. A pop-up window describes valid choices for user input.
  285.  
  286. 4,653,020
  287. Display of multiple data windows in a multi-tasking system
  288. filed 10/17/83
  289. granted 3/24/87
  290. inventors Harry Cheselka, Jeffrey S. Lucash, William R. Vincent
  291. assignee IBM
  292. Apparently covers windowing.
  293.  
  294. 4,656,582
  295. Generating storage reference instructions in an optimizing compiler
  296. filed 2/4/85
  297. granted 4/7/87
  298.  
  299. 4,656,583
  300. Method for improving global common subexpression elimination and code
  301. motion in an optimizing compiler
  302. filed 8/13/84
  303. granted 4/7/87
  304. owned by IBM
  305.  
  306. 4,667,290
  307. Compilers using a universal intermediate language
  308. filed 9/10/84
  309. granted 5/19/87
  310.  
  311. 4,672,575
  312. Schematic building cursor character
  313. filed 5/31/83
  314. granted 6/9/87
  315. inventor Lawrence K. Stephens
  316. assignee IBM
  317. Abstract:  "A personal computer having an interactive all points
  318. addressable display thermal and a cursor positioning device is provided
  319. with apparatus for facilitating the generation of a graphics display.  At
  320. least one table of selectable cursor characters is stored in memory, and
  321. from this table, any character can be selected to be the cursor character.
  322. The selected character is displayed as the cursor and movable to any point
  323. on the all points addressable display by the cursor positioning device.
  324. Once the current cursor character is at a desired point on the display, it
  325. is fixed in that position by reading the position and cursor data into the
  326. display buffer of the display terminal."
  327.  
  328. 4,674,040
  329. Merging of Documents
  330. granted 6/16/87
  331. assignee IBM
  332. This is the so-called "include file patent".  It is cited in Brian Kahin's
  333. article, "The Impact of Software Patents," in the Winter 1989 issue of the
  334. EDUCOM Review (Vol. 24 No. 4).
  335. Abstract:  "A method of, an system for, merging a portion of one document
  336. into another and providing for current viewing and on line editing.  During
  337. preparation of a document, a paragraph from another document can be
  338. included in the document being prepared by referencing the other document
  339. and paragraph.  The result of referencing is inclusion of the paragraph, a
  340. view of the document being prepared, and a document including the included
  341. paragraph which is dynamically editable.  If the paragraph is edited, an
  342. operator decision is to be made as to whether the other document is to be
  343. updated according to the editing."
  344. Claim 1 is:
  345. "A method for merging a portion of one document into another document, said
  346. method comprising:
  347. (a) including a reference to said another document to said portion; and
  348. (b) causing said portion to be merged with said another document and
  349. displayed in merged form."
  350. It covers displaying part of one document within the display of another, in
  351. response to a kind of cross-reference.  This is, of course, a basic idea of
  352. hypertext.  So many hypertext systems would infringe this patent.
  353.  
  354. 4,687,353
  355. Automatic format, mode control and code conversion for data processing and
  356. printing apparatus
  357. filed 4/28/86
  358. granted 8/18/87
  359. inventor Peter J. DeGeorge, Roger F. Ross, Donald E. Sims
  360. assignee IBM
  361. from the abstract:  "The invention concerns itself primarily with the
  362. handling of left margins and indentation levels for different paragraphs in
  363. a document especially when a document under preparation has line lengths of
  364. an original document that was prepared concurrently with the storage of the
  365. coded signals on the record media."
  366. The patent appears to be on printing a document with different indentation
  367. than it is stored with; a suggested implementation is tabbing from the left
  368. margin before beginning to print each line.
  369.  
  370. 4,714,918
  371. Window view control
  372. filed 4/30/84
  373. granted 12/22/87
  374. inventors Barbara A. Karker, Irene H. Herna'ndez
  375. assignee IBM
  376. abstract:  "A method of, and system for, controlling a view f window
  377. information upon editing the information.  The view is controlled  based on
  378. mode selection.  For normal information input operations, information
  379. scrolling is selected.  Related existing information adjacent the newly
  380. input information will be viewable, but remote information will eventually
  381. be scrolled out of the window.  For those instances where all existing
  382. information is to remain viewable upon input of additional information,
  383. border scrolling will result in a varying of the size of the window."
  384.  
  385. 4,736,308
  386. Search/retrieval system
  387. filed 7/10/85
  388. granted 4/5/88
  389. inventor Paul Heckel
  390. Hyperracks Inc.
  391. A system allowing parts of multiple cards to be displayed on the screen at
  392. the same time.  Apple was being sued over hypercard on the basis of this
  393. patent, but settled.
  394.  
  395. 4,736,866
  396. Transgenic non-human mammals
  397. filed 6/22/84
  398. granted 4/12/88
  399. Harvard's mouse patent
  400.  
  401. 4,742,450
  402. Method to share copy on write segment for mapped files
  403. filed 2/16/86
  404. granted 5/3/88
  405.  
  406. 4,777,593
  407. Vector processing apparatus including means for identifying the occurrence
  408. of exceptions in the processing of vector elements
  409. filed 12/21/84
  410. granted 10/11/88
  411. inventor Yaoko Yoshida
  412. assignee Hitachi, Ltd.
  413. Abstract:  "A vector processing apparatus has a number of pipeline
  414. arithmetic units operating concurrently to execute a set of vector
  415. instructions dealing with vector elements.  Stack registers are provided
  416. for each arithmetic unit to hold the vector instruction address, leading
  417. vector element position and vector register internal address, so that one
  418. of the exceptions that can be detected successively by several arithmetic
  419. units during the process of the vector instructions is selected on a
  420. priority basis through the comparison of information in the stack of the
  421. currently detected exceptions with information of exception detected
  422. previously."
  423.  
  424. 4,814,746
  425. Data compression method
  426. filed 8/11/86
  427. granted 3/21/89
  428. inventors Victor S. Miller, Mark N. Wegman
  429. assignee IBM
  430. This was applied for after 4,558,302, but their methods are identical.
  431. abstract:  "Communications between a Host Computing System and a number of
  432. remote terminals is enhanced by a data compression method which modifies
  433. the data compression method of Lempel and Ziv by addition of new character
  434. and new string extensions to improve the compression ratio, and deletion of
  435. a least recently used routine to limit the encoding tables to a fixed size
  436. to significantly improve data transmission accuracy."
  437.  
  438. 4,815,029
  439. In-line dynamic editor for mixed object documents
  440. filed 9/23/85
  441. granted 3/21/89
  442. inventors Barbara A. Barker, Irene H. Hernandez, Beverly H. Machart
  443. assignee IBM
  444. abstract:  "A method for the intelligent, in-line, dynamic editing of
  445. documents containing mixed object types on a computer work station is
  446. disclosed.  The mixed object types may be text objects, draw graphics
  447. objects, business graphics objects, and tables objects.  The editor
  448. executes actions on use selected objects and attributes based on internal
  449. knowledge of the object type selected rather than by explicit user
  450. commands.  This procedure provides a simple user interface that makes
  451. manipulation of objects and attributes and command execution transparent to
  452. the user.
  453.  
  454. 4,864,501
  455. Word annotation system
  456. Filed 10/7/87
  457. Granted 9/5/89
  458. Assignee Houghton Mifflin Company
  459. Inventors Henry Kucera, Alwin B. Carus
  460. Storing words in a dictionary.
  461.  
  462. 4,864,502
  463. Sentence analyzer
  464. Filed 10/7/87
  465. Granted 9/5/89
  466. Assignee Houghton Mifflin Company
  467. Inventors Henry Kucera, Alwin B. Carus
  468. Parses sentences into parts of speech.
  469.  
  470. 4,864,503
  471. Method of using a created international language as an intermediate pathway
  472. in translation between two national languages
  473. Filed 2/5/87
  474. Granted 9/5/89
  475. Assignee Toltram, Ltd.
  476. Inventor Bruce G. Tolin
  477. Use of interpretive steps instead of strict word-for-word translation.
  478.  
  479. 4,876,541
  480. Stem [sic] for dynamically compressing and decompressing electronic data
  481. filed 10/15/87
  482. granted 10/24/89
  483. inventor James A. Storer
  484. assignee Data Compression Corporation
  485. LZW-based, with "all-prefixes" addition.
  486. Encoder and decoder include dictionaries which may be modified (new strings
  487. added and infrequently used ones removed).  The abstract never uses the word
  488. "algorithm" without prepending a modifying "novel".
  489. James Woods <jaw@ames.arc.nasa.gov> says that this was independently
  490. discovered by Dan Bernsein of NYU a year later, and by Nigel Horspool of
  491. the Univertity of Vicotria; Horspool published in DCC '91.
  492.  
  493. 4,956,809
  494. Method for canonical ordering of binary data for portable operating systems
  495. filed 12/29/88
  496. granted 9/11/90
  497. assignee Mark Williams Co, Chicago, Ill.
  498. inventors Johann George, Trevor J. Thompson, David G. Conroy, Frederick H. Tudor
  499. Covers using a single standard byte ordering (say, big-endian or little-endian)
  500. for transfer of data between machines whose normal byte ordering is different.
  501.  
  502. 5,031,134
  503. System for evaluating multiple integrals
  504. filed 3/27/90
  505. granted 7/9/91
  506. inventors Wilfred Kaplan, Frederick B. Sleator
  507. assignee The University of Michigan
  508. Abstract:  "A system for computing multiple integrals employs an algorithm
  509. which selects a plurality of predetermined parameters, corresponding to
  510. selectable levels of accuracy of an approximation at the solution.  The
  511. parameter values are selected and stored, along with a smoothing index,
  512. which may be zero.  An arithmetic logic unit, which can perform a variety
  513. of functions under control of an instruction decoder, forms a plurality of
  514. functions in the form of unique polynomials, under predetermined
  515. conditions, such that a value can be determined for the multiple integral.
  516. The parameters are selected in response to a judgment on the part of the
  517. user of a required minimum level of accuracy in the context of the
  518. increases in computing time which would be required to achieve higher
  519. levels of accuracy."
  520.  
  521.  
  522. ===========================================================================
  523.  
  524. We don't have copies of the following patent disclosures.
  525. Patent disclosures can be acquired by sending $1.50 per patent to 
  526. Patent and Trademark Office
  527. Washington, D.C. 20231
  528.  
  529. We don't have a copy of:
  530.  
  531. 3,380,029
  532. Sorting System
  533. granted 4/23/68
  534. assignee Applied Data Research, Inc.
  535. inventor Martin Goetz
  536. Earliest US software patent?
  537.  
  538. 3,405,457
  539. owned by the University of Illinois
  540. The PLATO patent, now expired.  
  541. One of its claims covered the use of a single computer to serve the
  542. independent needs of multiple interactive users.  That is, it covered all
  543. timesharing systems.
  544.  
  545. 4,200,770
  546. Cryptographic Apparatus and Method
  547. filed 9/6/77
  548. granted 4/29/80
  549. inventors Hellman, Diffie, Merkle
  550. assignee Stanford University
  551. Exponential, and all other forms of, secret key exchange.
  552. This is the "Diffie-Hellman" patent.
  553. Public Key partners has exclusive sublicensing rights.
  554.  
  555. 4,218,582
  556. Public Key Cryptographic Apparatus and Method
  557. filed 10/6/77
  558. granted 8/19/80
  559. inventors Hellman, Merkle
  560. assignee The Board of Trustees of the Leland Stanford Junior University
  561. Knapsack, and all other forms of, public key cryptography.
  562. This is the "Hellman-Merkle" patent.
  563. Public Key partners has exclusive sublicensing rights.
  564.  
  565. 4,398,246
  566. Word Processing System Employing a Plurality of General Purpose Processor
  567. Circuits
  568. filed 1980-08-12
  569. granted 1983-08-09
  570. assignee Pitney Bowes Inc.
  571. Irlam says:
  572. A collection of possibly diskless computers connected in a network so as
  573. to share resources.  (I am having some difficulty understanding exactly
  574. what is claimed - I think the system is limited to performing word processing
  575. and one of the computers must have a single line display, but I am not
  576. certain).
  577.  
  578. 4,405,829
  579. Cryptographic Communications System and Method
  580. filed 12/14/77
  581. granted 9/20/83
  582. inventors Ronald Rivest, Shamir, Adleman
  583. assignee Massachusetts Institute of Technology
  584. The RSA public key cryptosystem, and any communication system that evaluates
  585. a polynomial modulo a prime number.
  586. This is the "RSA" patent.
  587. Public Key partners has exclusive sublicensing rights.
  588.  
  589. 4,424,414
  590. Exponential Cryptographic Apparatus and Method
  591. filed 5/1/78
  592. granted 1/3/84
  593. inventors Hellman, Pohlig
  594. assignee Board of Trustees of the Leland Stanford Junior University
  595. A conventional cryptosystem that performs modular exponentiation.  Not as
  596. important as the other 3 cryptography patents (Diffie-Hellman,
  597. Hellman-Merkle, and RSA).
  598. This is the "Hellman-Pohlig" patent.
  599. Public Key partners has exclusive sublicensing rights.
  600.  
  601. 4,434,753
  602. Register Allocation System Using Recursive Queueing During Source Code
  603. Compilation
  604. granted Mar 6, 1984
  605. inventor J. Rizzi
  606. assignee International Business Machines Corporation
  607.  
  608. 4,458,311
  609. "text and numeric processing on same screen"
  610.  
  611. 4,486,857
  612. granted 12/84
  613. inventor Paul Heckel
  614. Hyperracks Inc.
  615. A file system of more than one card, each with multiple fields, where all
  616. the fields can be scrolled independently.  Apple was sued over this and
  617. settled, licensing it.
  618.  
  619. 4,555,771
  620. Data Processing System for Data Base Management of Matrix Type Data
  621. filed 1982-03-26 (originally filed 1979-08-27)
  622. granted 1985-11-26
  623. assignee Fujitsu
  624. Irlam says:  A technique for managing a database with more than one index.  ???
  625.  
  626. 4,555,772
  627. filed 5/31/83
  628. assignee IBM
  629. Supposedly "multiple cursors for multiple windows, using an XOR-writing technique"
  630.  
  631. 4,567,574
  632. Optimizing COBOL Object Code Instruction Path Length with respect to
  633. PERFORM Statements
  634. granted Jan 28, 1986
  635. inventor H. Saade, W. Tindall
  636. assignee International Business Machines Corporation
  637.  
  638. 4,571,678
  639. Register allocation and spilling via graph coloring
  640. filed 11/5/82
  641. granted 2/18/86.
  642. Owned by IBM.  Inventor is Gregory Chaitin from Yorktown Heights, NY.
  643. It's one of a group of 16 or so patents filed by IBM as result of their
  644. 801/PL.8 development.  They also mention things like global common
  645. subexpression elimination and optimization of array bounds checking.
  646. John R. Levine <johnl@iecc.cambridge.ma.us> says:
  647. Covers the compiler technique of allocating registers by graph coloring,
  648. with a spill algorithm to handle cases where the original graph is not
  649. colorable.  Chaitin had already published a coloring algorithm, but the
  650. patented spill modification is needed to make it practical.
  651.  
  652. 4,611,277
  653. filed 15 Sep 83
  654. granted 9 Sep 86
  655. inventors Kemppainen et al.
  656. assignee BankAmerica
  657. John R. Levine <johnl@iecc.cambridge.ma.us> says:
  658. This is the one with the 200 page Basic program.  It covers a system that
  659. automatically downloads bank account data.  The claims are extremely
  660. broadly drawn, and look to me like they'd cover any downloading from a
  661. mainframe to a micro:
  662. 1.  A communications system comprising:
  663. a user terminal including
  664. a microcomputer,
  665. a mainframe computer connected to said microcomputer, said user terminal
  666. further including communication software control means for controlling the
  667. transfer of data directly between said microcomputer and said mainframe
  668. computer, said sofware control means including means for controlling the
  669. transfer of said data in an unattended mode.
  670. 2.  A system as in claim 1 wherein said software control means include
  671. means for controlling the transfer of said data in an automatic mode.
  672. 3.  A system as in claim 1 wherein said software control means include
  673. means for controlling the transfer of said data in a manual mode.
  674. 4.  A system as in claim 1 wherein said software control means include
  675. means for controlling the transfer of said data in a terminal emulation
  676. mode.
  677. (Claims 5-9 relating to cash management applications of the same things)
  678.  
  679. 4,646,256
  680. Computer and Method for Solving the Discrete Bracewell Transformation
  681. granted 1987
  682. Stanford University
  683. inventor Ronald N. Bracewell
  684. Can be used in many fields to more quickly analyze data by computers.
  685.  
  686. 4,648,044
  687. Technowledge Inc.
  688. Supposedly on "basic AI techniques"
  689.  
  690. 4,648,067
  691. Footnote management for display and printing
  692. granted 3/3/87
  693.  
  694. 4,648,071
  695. Designation of footnotes and footnote reference
  696. granted 3/3/87
  697.  
  698. 4,656,582
  699. Generating Storage Reference Instructions in an Optimizing Compiler
  700. granted Apr 7, 1987
  701. inventor G. Chaitin, M. Hopkins, P. Markstein, H. Warren, Jr.
  702. assignee International Business Machines Corporation
  703.  
  704. 4,656,583
  705. Method for Improving Global Common Subexpression Elimination and Code
  706. Motion in an Optimizing Compiler
  707. granted April 7, 1987
  708. inventor M. Auslander, J. Cocke, P. Markstein
  709. assignee International Business Machines Corporation
  710.  
  711. 4,656,602
  712. Method of control placement of image of document to be printed on paper in
  713. an interactive text processing system
  714. granted 4/7/87
  715.  
  716. 4,674,042
  717. Editing business charts
  718. granted 6/16/87
  719.  
  720. 4,701,848
  721. System for effectively paralleling computer terminal devices
  722. granted 10/20/87
  723. assignee Clyde, Inc.
  724. inventor Robert A. Clyde
  725. Bruce Orchard <orchard@engr.wisc.edu> says:
  726. This describes how in VMS to make the output destined for one terminal to
  727. appear on two terminals and to make the input from two terminals appear to
  728. have come from one terminal.
  729. The existence of this patent came to light when Clyde asked DECUS to remove
  730. the WATCH program from the DECUS program library.  Clyde ultimately backed
  731. down.
  732.  
  733. 4,710,872
  734. Method for Vectorizing and Executing on an SIMD Machine Outer Loops in the
  735. Presence of Recurrent Inner Loops
  736. granted Dec 1, 1987
  737. inventor R.G. Scarborough
  738. assignee International Business Machines Corporation
  739.  
  740. 4,718,008
  741. filed 16 Jan 88
  742. granted 5 Jan 88
  743. inventors Chang et al.
  744. assignee IBM
  745. John R. Levine <johnl@iecc.cambridge.ma.us> says:
  746. The method used to handle page faults in critical sections by backing out
  747. the critical section code.  References patent 4,730,249.
  748.  
  749. 4,730,249
  750. filed 16 Jan 86
  751. granted 8 Mar 88
  752. inventors O'Quin II et al.
  753. assignee IBM
  754. John R. Levine <johnl@iecc.cambridge.ma.us> says:
  755. The method used for handling virtual memory segments in AIX on the IBM RT
  756. PC, involving a software implementation of two-level pagable page tables.
  757. Hard to say how obvious it is, though the implementation is somewhat
  758. specific to the reverse map MMU used in the RT PC and RS/6000.
  759.  
  760. 4,740,904
  761. Line Following System and Process
  762. filed 11/1/85
  763. granted 4/26/88
  764. inventor John Nagle
  765. Covers "auto-tracing" of raster images into vector images.  Licensed
  766. to Autodesk, Inc.
  767.  
  768. 4,742,447
  769. filed 16 Jan 86
  770. issued 3 May 88
  771. inventors Duvall et al.
  772. assignee IBM
  773. John R. Levine <johnl@iecc.cambridge.ma.us> says:
  774. The method for handling mapped files in the two level Unix/VRM operating
  775. system on the RT.  (Uses the name Unix in the claims.)  Written broadly
  776. enough that the SVR4 disk I/O system might infringe, though since AT&T and
  777. IBM have cross-licenses it hardly matters.
  778.  
  779. 4,744,028
  780. Method and Apparatus for Efficient Resource Allocation
  781. granted 1988
  782. Bell Laboratories
  783. inventor Narendra K. Karmarkar
  784. Can help airlines schedule planes and crews more efficiently.
  785. Is this the linear programming patent?
  786.  
  787. 4,752,877 4,722,055 4,642,768
  788. Patents on a computer system that calculates the amount required for one
  789. year at a particular college, informing parents how much to deposit to
  790. guarantee that a year's tuition, some years down the road, will be covered.
  791. Upheld in court.
  792.  
  793. 4,768,159
  794. Squared Radix Discrete Fourier Transform
  795. granted 1988
  796. owner TRW
  797. Computer system similar to the Discrete Cosine Transform (see 4,797,847).
  798.  
  799. 4,773,007
  800. Compiler Code Optimization Method for a Source Program Having a First and
  801. Second Array Definition and Use Statements in a Loop
  802. granted Sep 20, 1988
  803. inventor Y. Kanada, K. Isida
  804. assignee Hitachi, Ltd.
  805.  
  806. 4,782,444
  807. Compilation Using Two-Colored Pebbling Register Allocation Method Such
  808. That Spill Code Amount is Invariant With Basic Block's Textual Ordering
  809. granted Nov 1, 1988
  810. inventor A. Munshi, K. Schimpf
  811. assignee International Business Machines Corporation
  812.  
  813. 4,797,729
  814. System Incorporating an Error-tolerant Picture Compression Algorithm
  815. owner Eastman Kodak
  816. Can minimize distortions when pictures are stored in computers.
  817.  
  818. 4,797,847
  819. Discrete Cosine Transform
  820. granted 1989
  821. inventor Pierre Duhamel of France
  822. Can help send electronic signals more rapidly and store video data more
  823. compactly.
  824.  
  825. 4,807,182
  826. Apparatus and Method for Comparing Data Groups
  827. dated Feb 21, 1989
  828. inventor Cary L. Queen
  829. owned by Advanced Software, Inc. of Sunnyvale, California.
  830. Patent on comparing text blocks by comparing hash codes and for displaying
  831. the differing sections in two windows on one CRT ("or other suitable
  832. device").  This covers the diff program.
  833.  
  834. 4,821,181
  835. Method for Converting a Source Program of High Level Language Statement into
  836. Object Program for a Vector Processor
  837. granted    Apr 11, 1989
  838. inventor K. Iwasawa, Y. Tanaka
  839. assignee Hitachi, Ltd.
  840.  
  841. 4,823,108
  842. An Improved Display System and Memory Architecture and Method
  843. granted 4/18/89
  844. Quarterdeck Office Systems, Inc.
  845. Someone (Kahin?) says:
  846. An improved system for displaying images in "windows" on a computer screen.
  847. Dandekar (who claims the patent was grated June 1989) says:
  848. Quarterdeck patents the multitasking DESQview environment specific process
  849. -- a method of dealing with ill-behaved software that circumvents the
  850. operating system for its displays, allowing it to work properly in a
  851. multitasking environment.
  852.  
  853. 4,833,606
  854. Compiling Method for Vectorizing Multiple DO-Loops in Source Program
  855. granted May 23, 1989
  856. inventor K. Iwasawa, Y. Tanaka
  857. assignee Hitachi, Ltd.
  858.  
  859. 4,885,684
  860. Method for Compiling a Master Task Definition Data Set for Defining the
  861. Logical Data Flow of a Distributed Processing Network
  862. granted Dec 5, 1989
  863. inventor E. Austin, J. Robertson
  864. assignee International Business Machines Corporation
  865.  
  866. 4,891,503
  867. filed 29 Mar 88
  868. issued 2 Jan 90
  869. inventor Tmomas Jewell
  870. assignee Gascard, Inc.
  871. John R. Levine <johnl@iecc.cambridge.ma.us> says:
  872. A distributed credit card authorization scheme that caches part of the
  873. "deny" file in the terminals to speed up transactions.  Looks pretty obvious
  874. to me to anyone who knows anything about caches.
  875.  
  876. 4,943,869
  877. Compression Method for Dot Image Data
  878. filed 1988-05-04
  879. granted 1990-07-24
  880. assignee Fuji Photo Film Co.
  881. Lossy and lossless image compression schemes.
  882.  
  883. 4,943,909
  884. inventor Alan Huang
  885. assignee AT&T
  886. A method, based on origami, of allocating processors to parts of a problem
  887. (say, an aerodynamic analysis).
  888.  
  889. 4,955,066
  890. Filed: 1989-10-13
  891. Granted: 1990-09-04
  892. Inventor: Notenboom, L.A.
  893. Owner: Microsoft
  894. Title: Compressing and Decompressing Text Files
  895. [Noted in signon screen of Word 5.5 and on the outside of the MS-DOS 5.0
  896. Upgrade.]
  897. Jean-loup Gailly <jloup@chorus.fr> says: a method of data compression using
  898. run-length encoding, 'key phrase' and huffmann coding.
  899. Abstract:
  900. A method of compressing a text file in digital form is diclosed.
  901. A full text file having characters formed into phrases is provided by an
  902. author.  The characters are digitially represented by bytes.  A first pass
  903. compression is sequentially followed by a second pass compression of the
  904. text which has previously been compressed.  A third or fourth level of
  905. compression is serially performed on the compressed text.  For example, in
  906. a first pass, the text is run-length compressed.  In a second pass, the
  907. compressed text is further compressed with key phrase compression.  In a
  908. third pass, the compressed text is further compressed with Huffman
  909. compression.  The compressed text is stored in a text file having a Huffman
  910. decode tree, a key phrase table, and a topic index.  The data is
  911. decompressed in a single pass and provided one line at a time as an output.
  912. Sequential compressing of the text minimizes the storage space required for
  913. the file.  Decompressing of the text is performed in a single pass.  As a
  914. complete line is decompressed, it is output rapidly, providing full text to
  915. the user.
  916.  
  917. 4,956,791
  918. Merging Pattern-Matching Networks Including Retes
  919. filed 1988-11-14
  920. granted 1990-09-11
  921. assignee IBM
  922. Technique for merging pattern recognition networks without the need to
  923. recompile the entire resulting network.
  924.  
  925. 4,956,806
  926. Method and Apparatus for Editing Source Files of Differing Data Formats
  927. Using an Edit Tracking File
  928. filed 1988-07-12
  929. granted 1990-09-11
  930. assignee IBM
  931. Storing the edits applied to one sound or image file and subsequently
  932. applying them to a second file.
  933.  
  934. 4,965,724
  935. Compiler System Using Reordering of Microoperations to Eliminate
  936. Interlocked Instructions for Pipelined Processing of Assembler Source Program
  937. granted Oct 23, 1990
  938. inventor I. Utsumi, Y. Mori
  939. assignee Oki Electric Industry, Ltd.
  940.  
  941. 5,031,134
  942. inventors Wilfred Kaplan and Frederick B. Sleator
  943. Modified Monte Carlo technique for calculating volume.
  944. Reported by Edmund L. Andrews in "Patents" column of New York Times, July
  945. 26, 1991.
  946.  
  947. 5,036,535
  948. Carl M. Kadie <kadie@cs.uiuc.edu> says:
  949. Note <NB910812.6@clarinet.com> in clari.nb.telecom says that Unifi
  950. Communications has gotten patent number 5,036,535 for its "PhoneServer
  951. software technology".
  952. "The patent covers both a concept and its implementation in software.
  953. PhoneServer lets telecommunications managers use Unix or Windows 3.0
  954. based computers on their own premises to program and control call
  955. routing in the public network."
  956. "'The patent covers both the concept of what we have done as well as
  957. the implementation, and the concept is a big part of the patent,' Bob
  958. Pokress of the company told Newsbytes."
  959. Here is the end of the note:
  960. "(Dana Blankenhorn/19910812/Press Contact: Unifi, Bob Pokress,
  961. 508/663-7570)"
  962.  
  963. 5,046,020
  964. Distributed parallel processing network wherein the connection weights are
  965. generated using stiff differential equations
  966. granted Sep. 3, 1991
  967. inventor:  David L. Filkin
  968. Assignee:  E. I. du Pont de Nemours and Company
  969. Abstract:  A parallel distributed processing network of the back
  970. propagation type is disclosed in which the weights of connection between
  971. processing elements in the various layers of the network are determined in
  972. accordance with the set of steady solutions of the stiff differential
  973. equations governing the relationship between the layers of the network.
  974.  
  975. 5,049,881
  976. Apparatus and method for very high data rate-compression incorporating
  977. lossless data compression and expansion utilizing a hashing technique
  978. inventors Dean K. Gibson, Mark D. Graybill
  979. assignee Intersecting Concepts, Inc.
  980. filed 6/18/90
  981. granted 9/17/91
  982. A related patent is Phil Katz, 5,051,745.
  983. Terry Ritter <ritter@cactus.org> says:
  984. This covers LZRW compression algorithms.
  985. Ross Williams also invented this series of algorithms in 1989, and has logs
  986. and listings of this work; he openly published in April 1991.  Gibson and
  987. Graybill's date of invention is not known
  988. Abstract:
  989. A method and apparatus for compressing digital data that is represented as
  990. a sequence of characters drawn from an alphabet. An input data block is
  991. processed into an output data block composed of sections of variable
  992. length. Unlike most prior art methods which emphasize the creation of a
  993. dictionary comprised of a tree with nodes or a set of strings, the present
  994. invention creates its own pointers from the sequence characters previously
  995. processed and emphasizes the highest priority on maximizing the data
  996. rate-compression factor product. The use of previously input data acting as
  997. the dictionary combined with the use of a hashing algorithm to find
  998. candidates for string matches and the absence of a traditional string
  999. matching table and associated search time allows the compressor to very
  1000. quickly process the input data block. Therefore, the result is a high data
  1001. rate-compression factor product achieved due to the absence of any string
  1002. storage table and matches being tested only against one string.
  1003. Exemplary Claim:
  1004. 1. A compression method for compressing a stream of input data into a
  1005. compressed stream of output data based on a minimum number of characters
  1006. in each input data subblock to be compressed, said compression method
  1007. comprising the steps of: a. initializing a hash table and initializing
  1008. an SRC pointer; b. processing input data in the order in which the
  1009. characters in the data appear and hashing input data subblocks of the
  1010. minimum compression size selected; c. maintaining a hash table which
  1011. contains at each entry, an SRC pointer which points to a previous
  1012. subblock which hashed to this hash table entry, such that the
  1013. possibility of any string of data previously occurring in the input
  1014. block may be tested by hashing the current subblock to a hash table
  1015. entry, obtaining the previous SRC pointer contained in that entry, and
  1016. comparing the two strings of data; d. if the two strings of data match
  1017. on at least the size of the subblock, then generating a backwards
  1018. pointer to the previous occurrence of the same string of data and
  1019. thereby compressing the second occurrence of the string of data; e. if
  1020. the two strings of data do not match, then storing the string of data as
  1021. incompressible data; and f. continuing steps b. through e. until the
  1022. entire input data has been processed.
  1023.  
  1024. 5,051,745
  1025. String searcher, and compressor using same
  1026. filed  8/21/90
  1027. granted 9/24/91
  1028. inventor  Phillip W. Katz (author of pkzip)
  1029. Jean-loup Gailly <jloup@chorus.fr> says:  covers the idea of using a sorted
  1030. hash table to search strings, and data compressors of the LZ77 family using
  1031. such a hash table.
  1032. ABSTRACT:
  1033. Methods and apparatus for string searching and data compression.
  1034. In the string search method and apparatus pointers to the string to be
  1035. searched are indexed via a hashing function and organized according to the
  1036. hashing values of the string elements pointed to. The hashing function is
  1037. also run on the string desired to be found, and the resulting hashing value
  1038. is used to access the index. If the resulting hashing value is not in the
  1039. index, it is known that the target string does not appear in the string
  1040. being searched. Otherwise the index is used to determine the pointers which
  1041. correspond to the target hashing value, these pointers pointing to likely
  1042. candidates for matching the target string. The pointers are then used to
  1043. sequentially compare each of the locations in the string being searched to
  1044. the target string, to determine whether each location contains a match to
  1045. the target string.
  1046. In the method and apparatus for compressing a stream of data symbols, a
  1047. fixed length search window, comprising a predetermined contiguous portion
  1048. of the symbol stream, is selected as the string to be searched by the
  1049. string searcher. If a string to be compressed is found in the symbol
  1050. stream, a code is output designating the location within the search window
  1051. of the matching string and the length of the matching string.
  1052.  
  1053. Creating a split screen with a hotkey.
  1054.  
  1055. Fritz Henglein (henglein@diku.dk) reports perhaps the earliest software
  1056. patent, a German patent on stack implementations of programming languages:
  1057. Bauer, F. and Samelson, K., "Verfahren zur automatischen Verarbeitung von
  1058. kodierten Daten und Rechenmaschine zur Ausuebung des Verfahrens".
  1059. Deutsche Patentauslegeschrift 1 094 019.  Anm. (*) March 30, 1957.
  1060. Bek. (**) Dec. 1, 1960 
  1061. (*) filed
  1062. (**) granted ("announced")
  1063.  
  1064. Gilbert Hyatt's microprocessor patent
  1065. filed 12/28/70
  1066. granted 8/30/90
  1067.  
  1068. Hayes Microcomputer Products Inc.'s patent on a program to switch its
  1069. modems from transmit mode to receive mode.  It won $10 million damages from
  1070. three infringing manufacturers who'd reverse-engineered via clean-room
  1071. techniques.  The patent is on the use of "+++", sent with a particular
  1072. timing that was supposed to be unlikely when those characters were just
  1073. part of the text being transmitted by modem.  (That is, sometimes "+++" is
  1074. just text passed through, and sometimes it's a command sequence.)  Any
  1075. modem that recognizes this command sequence, or uses a similar strategy, is
  1076. in violation.
  1077.  
  1078. James A. Woods (jaw@riacs.edu (or ames!jaw)) says:
  1079. I am investigating, possibly for a case history to be
  1080. recycled to USENET, the particulars of data compression patents.
  1081. I am aware of the following patents: IBM's Miller-Wegman LZ variant,
  1082. those of Telcor and ACT [losing candidates for the British Telecom modem
  1083. standard], James A. Storer's work on limited lookahead as explicated in his
  1084. text "Data Compression (methods and theory)", Computer Science Press, 1988,
  1085. and the various patents pending associated with the Fiala and Greene
  1086. CACM article of April, 1989 on textual substitution methods.
  1087. If you have any lore, send it this way.
  1088.  
  1089. Matt Vea's patent on setting and unsetting a bit in an idle loop to see
  1090. whether the CPU is working or idle.  (Applied for 2/86, received before
  1091. 10/90.)
  1092.  
  1093. Nix Thompson <nix@sgi.com> says:
  1094. I believe there is a also a patent owned by GE on the "marching cubes"
  1095. method of implicit surface rendering.  I think Stellar got sued for
  1096. using it in their AVS scientific visualization system, but I don't
  1097. know how the suit came out.  The method was also invented at Brown
  1098. University before the patent was filed, but not published.
  1099.  
  1100. Patent on expanding abbreviations with space character, filed 1984, granted
  1101. 1988.  XyQuest, Inc. was forced to remove this feature from XyWrite; it had
  1102. been added in June 1987.  Emacs has had this feature since the 1970s.
  1103.  
  1104. Paul Krause <krausep@sra.com> says that Systems Research and Applications
  1105. Program has been threatened over a patent on NLP (Natural Language
  1106. Parsing); SRA's company attorney says that NLP patents are being granted at
  1107. the rate of about 200 per year.
  1108.  
  1109. Dave Goldblatt <daveg@clearpoint.com> is looking for prior art (pre-
  1110. 10/5/81) to defeat a patent on the ring buffer.  Specifically, the patent
  1111. is on the idea of using two circular buffers in commonly addressable memory
  1112. to queue pointers to messages (also in shared memory) between two
  1113. processors.  One buffer contains messages going in one direction, and the
  1114. other buffer contains messages going in the other.  The allegedly inventive
  1115. feature is having one of the processors tell the other processor the size
  1116. of the ring buffers.
  1117.  
  1118. Terence Kelleher <terryk@encore.com> says:  Another modem company, Bizcomp,
  1119. held a patent on a mechanism that allowed use of the same serial data wire
  1120. for both control characters and data (not transmit vs. receive).  The
  1121. patent was not specific to software.  In fact, the Bizcomp mechanism as
  1122. described in the patent was TTL hardware.  The patent was on the use of the
  1123. line for both data and control codes, and not on the actual mechanism that
  1124. switched them.  While researching, we found a prior patent that described a
  1125. similar mechanism, issued sometime in the early 60's to Western Union,
  1126. where they used a control code to switch teletype's interpretation from
  1127. data to control.  In addition, we felt that the use of ESC to prefix
  1128. control commands for terminals amounted to the same use.
  1129.  
  1130. Philip Resnik <resnik@unagi.cis.upenn.edu> says:  [There may be a patent
  1131. on] a learning-related algorithm known as classifier systems, invented by
  1132. John Holland of the University of Michigan and described in the books
  1133. _Induction_ and (I believe) in _Adaptation in Natural and Artificial
  1134. Systems_.  One component of classifier systems is a class of optimization
  1135. techniques known as genetic algorithms; stories that Holland was/might be
  1136. patenting classifier systems stirred up a lot of discussion among some
  1137. people working on genetic algorithms, in mid-1987 or so.
  1138.  
  1139. Philip Resnik <resnik@unagi.cis.upenn.edu> says:  Unless I'm mistaken, J.
  1140. K. Baker of DRAGON Systems (Cambridge, MA) has patented a speech
  1141. recognition algorithm or algorithms.
  1142.  
  1143. Adam J Richter <adam@soda.berkeley.edu> says:  I read about Farallon's
  1144. behavior in a old issue of Bay Area _Computer Currents_ about two years
  1145. ago.  The article was a profile of a bunch of different companies. The
  1146. article talked about Farallon having patents that made it impossible for
  1147. anyone to build devices that could talk on PhoneNet, and described the
  1148. patents as being quite dubious.  The article also said that nobody was
  1149. challenging the patents because Farallon was willing to "license the
  1150. technology" cheaply.
  1151.  
  1152. 4,908,861
  1153. Data Authentication Using Modification Detection Codes Based on a Public
  1154. One Way Encryption Function
  1155. inventors D. Coppersmith, S. Pilpel, C. H. Meyer, S. M. Matyas, M. M.
  1156. Hyden, J. Oseas, B. Brachti, and M. Schilling
  1157. assignee IBM
  1158. granted March 13, 1990
  1159.  
  1160. 4,918,722
  1161. Control of Electronic Information Delivery
  1162. filed May 11, 1988
  1163. granted Apr 17, 1990
  1164. assignee Brooktrout Technology, Inc
  1165. Stuart Lynne <sl%wimsey.bc.ca@metro.ucc.su.OZ.AU> says:
  1166. Abstract:
  1167. Delivery of binary encoded character data and facsimile encoded data to a
  1168. specified recipient is controlled rapidy, simply and with versatility, by
  1169. e.g., DTMF commands sent by a user.
  1170. This patent purports cover use of DTMF (touch tones) to control a remote
  1171. system to send facsimilies. E.g. phone into a voice retrieval system, select
  1172. a document and enter a fax phone number to have it faxed to you. Or upload a
  1173. fax and have it forwarded to a specified phone number.
  1174. [Steve Elias <eli@spdcc.com>, former Brooktrout employee, says:  the latter
  1175. "upload fax thang" is NOT covered by this patent.]
  1176. The patent was filed in May 1988. I have in my possesion a brochure
  1177. from Telecom Canada dated Jan. 1988, describing their fax forwarding
  1178. service. Specifically you dial into one of their fax numbers, identify
  1179. yourself with a code and PIN, select a command, optional arguements (such as
  1180. phone numbers to forward to) and then upload a fax. It then redirects your
  1181. fax to the numbers specified. [Their target market at the time was to save
  1182. you money when sending faxes to oversea's numbers.]
  1183. The Telecom service was fielded and running in January of 1988. Given the
  1184. length of time for a common carrier to develop and institute a service of
  1185. this type (and get government approval etc) it would seem that we have amply
  1186. evidence of prior art to invalidate this patent that was in place well in
  1187. advance of filing.
  1188. [Steve Elias says:  the Telecom Canada thang you mention here covers
  1189. uploading faxes and redirecting them.  the Brooktrout patent does NOT cover
  1190. such functionality.  i believe that a Japanese company owns a patent which
  1191. covers the upload/redirect fax thang.]
  1192.  
  1193. 4,914,590
  1194. granted April 3, 1990
  1195. assignee Planning Research Corporation (PRC)
  1196. This is a patent on a NLP (natural language processing) technique.  It is
  1197. written so generally as to apply to any parsing technique that uses a
  1198. lexicon, a grammar, and a canonical semantic representation that encodes
  1199. case (modal) information.  (Since natural languages use case, and the case
  1200. is semantically significant (cf. modal logic), this isn't a significant
  1201. restriction.)  The claim in question is so general that, were it not
  1202. explicitly limited to "natural language text," it would appear to apply to
  1203. all compilers of any sort.  So in effect, the entire act of parsing a
  1204. natural language, at least as it is practiced today, does appear to be
  1205. barred by this patent.
  1206.  
  1207. 4,979,832
  1208. Dynamic Substitution Combiner and Extractor
  1209. granted Dec. 25, 1990
  1210. inventor Terry Ritter
  1211.  
  1212. Bellcore has applied for a patent on its active message system.
  1213. Nathaniel Borenstein <nsb@thumper.bellcore.com> says:
  1214. The patent isn't actually on active messaging per se.  The patent is on
  1215. security aspects of active messaging, as embodied in the ATOMICMAIL
  1216. language.  With AMS/Ness, for example, you can send around a program that
  1217. deletes all the recipients files, and the only safeguard is that the user
  1218. is first asked "do you trust the user you got this from?" -- as if the mail
  1219. couldn't just be a forgery anyway!  Unlike previous active messaging
  1220. systems, ATOMICMAIL makes active messaging safe enough to consider using it
  1221. for real.
  1222.  
  1223. Xerox's Ethernet patent.
  1224.  
  1225. 4,975,950
  1226. System and Method of Protecting Integrity of Computer Data and Software
  1227. inventor Stephen A. Lentz
  1228. filed November 3, 1988
  1229. David.M.Chess <CHESS@YKTVMV.BITNET> says:
  1230. It basically patents the idea of having a virus-checker get control before
  1231. the operating system, and not allowing boot if it finds a virus.  One
  1232. sample PC implementation is code in an additional ROM module (on a "virus
  1233. protector board") that would get control during boot (like the hard disk
  1234. BIOS, the EGA BIOS, and so on), and load and test "the system files" (not
  1235. clear if he means the boot records, or things like IBMBIO, IBMDOS,
  1236. COMMAND.COM), and not allow boot if a virus was found (how it tells isn't
  1237. spelled out).  This is just one sample implementation; the actual claims
  1238. are quite broad, and seem to cover anything that gets control between the
  1239. "program for controlling said central processing unit" and the "program for
  1240. interfacing said storage memory with said system", by which he presumably
  1241. means ROM-like things and operating-system-like things.
  1242.  
  1243. 4,611,277
  1244. filed Sep 15, 1983
  1245. granted 1986
  1246. owner Bank of America
  1247. John R. Levine <johnl@iecc.cambridge.ma.us> says:
  1248. It is 200 pages long, consisting mostly of a long Basic program.  The
  1249. patent is for the rather obvious idea of having a microcomputer call up a
  1250. mainframe and download cash management data, something a friend of mine did
  1251. at about the same time for someone else as a quick hack.  The patent claims
  1252. are so broadly worded that they look to me like they cover any use of a
  1253. microcomputer to download data from a mainframe.  Luckily, BofA seems not
  1254. inclined to enforce this one.
  1255.  
  1256. ===========================================================================
  1257.  
  1258.          ARTIFICIAL INTELLIGENCE PATENTS FROM 1989
  1259.         Titles as they appear in the Patent Office Gazette
  1260.          Gregory Aharonian <srctran@world.std.com>
  1261.              Source Translation & Optimization
  1262.  
  1263. ASSOCIATIVE PROCESSING
  1264. .   Set associative memory
  1265. .   Adaptive associative-processing optical computing architectures
  1266. .   Associative memory system with spatial light modulator and feedback for
  1267.         adjustable thresholding and enhancement
  1268.  
  1269. BRAIN
  1270. .   Non-invasive method and apparatus for modulating brain signals through
  1271.         an external magnetic or electric field to reduce pain
  1272. .   Method and apparatus for translating the EEG into music to induce and
  1273.         control various psychological and physiological states and to
  1274.         control a musical instrument
  1275. .   Electrical connection device
  1276. .   Topographical mapping of brain functionality from neuropsychological
  1277.         test results
  1278. .   Hearing device
  1279.  
  1280. DECISION SYSTEMS
  1281.  
  1282. .   Method of detecting boundary structures in a video signal
  1283. .   Voice synthesis utilizing multi-level filter excitation
  1284. .   Real-time scheduling system
  1285. .   Fluid distribution to multiple users through distributed
  1286.         intelligence sub-centers
  1287. .   Automated production release system
  1288. .   Expert system for processing errors in a multiplex communications system
  1289. .   Speech recognition system
  1290. .   Automatic classification of images
  1291. .   Document processing system deciding apparatus provided with
  1292.         selection functions
  1293. .   Failing resource manager in a multiplex communication system
  1294. .   Interactive statistical system and method for predicting expert decisions
  1295. .   Decision and implementation system for medical imaging
  1296. .   Automated production dispatch system with feedback control
  1297. .   Image discrimination with continuous tone area thinning
  1298.  
  1299. EXPERT SYSTEMS
  1300. .   Coalescing changes in pattern-directed, rule-based artificial intelligence
  1301.         production systems
  1302. .   Interactive transector device commercial and military grade
  1303. .   Editor for expert system
  1304. .   Parser for natural language text
  1305. .   Expert system shell for building photofinishing diagnostic systems
  1306. .   Expert system with three classes of rules
  1307. .   Knowledge system with improved request processing
  1308. .   Expert system for processing errors in a multiplex communications system
  1309. .   Failing resource manager in a multiplex communication system
  1310. .   Interactive statistical system and method for predicting expert decisions
  1311. .   Expert vehicle control system
  1312. .   Data-driven, functional expert system shell
  1313. .   Domain independent shell for building a diagnostic expert system
  1314. .   System and method for network configuration
  1315.  
  1316. FUZZY LOGIC
  1317. .   Powder weighing mixer and method thereof
  1318. .   Fuzzy logic computers and circuits
  1319. .   Method of and apparatus for measuring liquid
  1320. .   Auto-tuning controller using fuzzy reasoning to obtain optimum
  1321.         control parameters
  1322. .   Fuzzy logic semifinished integrated circuit
  1323.  
  1324. IMAGE ANALYSIS
  1325. .   Digital image analysis system
  1326. .   Full page graphics image display data reduction
  1327. .   Self referencing ambiguity free holography
  1328. .   Method and method and apparatus for control of light intensity for
  1329.         image analysis
  1330. .   Apparatus and method for electronic analysis of test objects
  1331. .   System and method for determining orientation of planes of imaging
  1332. .   Method and apparatus for contextual data enhancement
  1333. .   Vision system for distinguishing touching parts
  1334. .   DC artifact removal in magnetic resonance imaging
  1335. .   Motion analysis tool and method therefor
  1336. .   Method for enhancement of ultrasonic image data
  1337.  
  1338. INFERENCE
  1339. .   Accompaniment line principal tone determination system
  1340. .   Expert system with three classes of rules
  1341. .   Powder weighing mixer and method thereof
  1342. .   Using infrared imaging to monitor and control welding
  1343. .   Fuzzy logic computers and circuits
  1344. .   Method of and apparatus for measuring liquid
  1345. .   Data-driven, functional expert system shell
  1346. .   Reasoning system for reasoning with uncertainty
  1347. .   Inference system
  1348. .   Method for controlling operation of a blast furnace
  1349.  
  1350. KNOWLEDGE REPRESENTATION
  1351. .   Automated defect recognition system
  1352. .   Autonomous resource management system with recorded evaluations of
  1353.     system performance with scheduler control including knowledge
  1354.     learning function
  1355. .   Expert system shell for building photofinishing diagnostic systems
  1356. .   Knowledge system with improved request processing
  1357. .   Document filing system with knowledge-base network of concept
  1358.     interconnected by generic, subsumption, and superclass relations
  1359. .   Knowledge-based system having plural processors
  1360. .   Method for controlling operation of a blast furnace
  1361.  
  1362. LANGUAGE
  1363. .   Data base management system extending structure
  1364. .   Stroke typing system
  1365. .   Electronic dictionary
  1366. .   Parser for natural language text
  1367. .   Symbolic language data processing system
  1368. .   Speech synchronized animation
  1369. .   Remote language translating device
  1370. .   Method of operating a computer system to provide customed I/O
  1371.         information including language translation
  1372. .   Collocational grammar system
  1373. .   System of encoding chinese characters according to their patterns
  1374.     and accompanying keyboard for electronic computer
  1375. .   Multiple language telephone answering machine
  1376. .   Interactive speech recognition apparatus
  1377. .   Method of using a created international language as an intermediate
  1378.         pathway in translation between two national languages
  1379. .   Translation system allowing user designation of postpositional words
  1380. .   Shorthand notation and transcribing method
  1381.  
  1382. LEARNING
  1383. .   N-dimensional coulomb neural network which provides for cumulative
  1384.         learning of internal representations
  1385. .   Optimum fast textural feature extractor
  1386. .   Air/fuel mixture ratio control system for internal combustion engine
  1387.         with feature of learning correction coefficient including altitude
  1388.         dependent factor
  1389. .   Autonomous resource management system with recorded evaluations of
  1390.         system performance with scheduler control including knowledge
  1391.         learning function
  1392. .   Character reading method
  1393. .   Neural network system for adaptive sensory-motor coordination of
  1394.         multijoint robots for single postures
  1395. .   Electronic learning control apparatus for internal combustion engine
  1396. .   Electronically-controlled, adaptive automatic transmission system
  1397. .   Neuromorphic learning networks
  1398. .   Electronic air-fuel ratio control apparatus in internal combustion engine
  1399. .   Air-fuel ratio control system for an automotive engine
  1400. .   Fuel injection system of an internal combustion engine
  1401. .   Method of controlling fuel in an engine
  1402. .   Engine idling speed controlling system
  1403.  
  1404. NEURAL NETWORKS
  1405. .   N-dimensional coulomb neural network which provides for cumulative
  1406.         learning of internal representations
  1407. .   Solitary wave circuit for neural network emulation
  1408. .   Spike transmission for neural networks
  1409. .   Parallel neural network for a full binary adder
  1410. .   Digital adaptive receiver employing maximum-likelihood sequence
  1411.         estimation with neural networks
  1412. .   Neural network system for adaptive sensory-motor coordination of
  1413.         multijoint robots for single postures
  1414. .   Devices for neural signal transmission
  1415. .   Neural network model in pattern recognition using probabilistic
  1416.         contextual information
  1417. .   Neural networks
  1418. .   Programmable ferroelectric polymer neural network
  1419. .   Switched neural networks
  1420. .   Neural network with dynamic refresh capability
  1421.  
  1422. PATTERN RECOGNITION
  1423. .   Radar detection of hazardous small scale weather disturbances
  1424. .   Method and apparatus for tracking, mapping and recognition of
  1425.         spatial patterns
  1426. .   Pattern recognition apparatus using oscillating memory circuits
  1427. .   Character reading method
  1428. .   System for continuous speech recognition through transition networks
  1429. .   Communications network routing and management system
  1430. .   Speech recognition system which avoids ambiguity when matching
  1431.         frequency spectra by employing an additional verbal feature
  1432. .   Speech recognition system
  1433. .   Pattern recognizing device
  1434. .   Optical character reader with skew recognition
  1435. .   Neural network model in pattern recognition using probabilistic
  1436.         contextual information
  1437. .   Error detection circuit
  1438. .   Apparatus and method for recognizing speech
  1439. .   Pattern recognition method
  1440. .   Voice recognizing telephone
  1441. .   Speech recognition arrangement with preselection
  1442. .   Image recognition audience measurement system and method
  1443.  
  1444. ROBOTICS
  1445. .   Rotary to linear motion robot arm
  1446. .   Automated phasing device for phasing wheel attachment bolts and methods
  1447.         utilizing same
  1448. .   Electric control apparatus for industrial robot
  1449. .   Nuclear fuel pellet collating system and method
  1450. .   Method for positioning a robotic work system
  1451. .   Robot vision cooling/protection system
  1452. .   Industrial playback robot having a teaching mode
  1453. .   Robot for tire building machine and method of operation
  1454. .   Industrial robot
  1455. .   Velocity control apparatus
  1456. .   Deburring robot
  1457. .   Digital robot control having an improved pulse width modulator
  1458. .   Deadbeat control of disk drive actuator
  1459. .   Method for positioning a tool of a multi-joint robot
  1460. .   Parallel gripper
  1461. .   Apparatus for mastering a robot
  1462. .   Industrial laser robot system
  1463. .   Welding system for hollow thin walled members
  1464. .   Distributed proximity sensor system having embedded light emitters
  1465.         and detectors
  1466. .   Movable accomodation or container in which is arranged apparatus
  1467.         for automatic milking of an animal
  1468. .   Robotic product server and system
  1469. .   Robotic system
  1470. .   Fluid distribution to multiple users through distributed
  1471.         intelligence sub-centers
  1472. .   Object collision detection method and apparatus
  1473. .   Control system for an industrial robot
  1474. .   Apparatus and method for mounting window glasses on automobile
  1475. .   Polishing robot and polishing method using the same
  1476. .   Failsafe brake for a multi-wheel vehicle with motor controlled steering
  1477. .   Industrial robot control device
  1478. .   Portable robot with automatic set-up
  1479. .   Method for controlling operation of industrial robot
  1480. .   Visual navigation system for a mobile robot having capabilities
  1481.         of regenerating of hidden images
  1482. .   Variable compliance device
  1483. .   Robot positioner and seal arrangement for a closed chamber
  1484. .   Melt indexer system with robot operation
  1485. .   Automatic tool changer for workpiece processing machines
  1486. .   Locus interpolation device
  1487. .   Neural network system for adaptive sensory-motor coordination of
  1488.         multijoint robots for single postures
  1489. .   Paint-coating brush
  1490. .   Vehicle automatic fueling assembly
  1491. .   Apparatus for inspecting wafers
  1492. .   Robot system for forming a structural component of a preimpreganted
  1493.         fiber reinforced tape
  1494. .   Three-dimensional measuring robot
  1495. .   Robot arm with an assembly flange for tools
  1496. .   Wafer centration device
  1497. .   Stepping motor control
  1498. .   Ultrasonic scanning system
  1499. .   Dextrous spherical robot wrist
  1500. .   Robot gripper passively locked
  1501. .   Method for determining points in space guiding the movement of a robot arm
  1502. .   Three-dimensional position sensor and three-dimensional position
  1503.         setting system
  1504. .   Method and apparatus for assembling an instrument panel in an automobile
  1505. .   Apparatus for dealing with cables in industrial robots
  1506. .   Method for assembling associated components
  1507. .   Novel automatic tool changer
  1508. .   Robot apparatus
  1509. .   Position and velocity feedback system for a digital robot control
  1510. .   Circuit location sensor for component placement apparatus
  1511. .   Vision system for distinguishing touching parts
  1512. .   Manipulator with rod mechanism
  1513. .   Digital robot control providing pulse width modulation for a
  1514.         brushless DC drive
  1515. .   Magnetically levitated fine motion robot wrist with programmable
  1516.         compliance
  1517. .   Locomotion-command method for mobile robots
  1518. .   Apparatus for installing bearings on engine components
  1519. .   Support for a gripper for an industrial robot
  1520. .   Robot control apparatus for controlling a manipulator through a
  1521.         robot arm having a plurality of axes
  1522. .   Device for forecasting breakage cables in an industrial robot
  1523. .   Method and apparatus for reconstructing three-dimensional surfaces
  1524.         from two-dimensional images
  1525. .   Drill inspection and sorting method and apparatus
  1526. .   Method and apparatus for applying sealing material to automotive
  1527.         vehicle bodies
  1528. .   Laser beam robot for cutting and welding
  1529. .   Method and apparatus for controlling a welding robot forming a
  1530.         nonuniform weld satisfying predetermined criteria related to
  1531.         an interspace between elements being welded
  1532. .   Water jet trim head simulator
  1533. .   Coupling method and apparatus for use with robotic devices and the like
  1534. .   Communication interface for multi-microprocessor servo control in
  1535.         a multi-axis robot control system
  1536. .   Industrial robot device including a robot and a processing machine
  1537. .   Multiprocessor position/velocity servo control for multiaxis
  1538.         digital robot control system
  1539. .   Apparatus for cleaning a textile machine comprising a plurality
  1540.         of operating positions
  1541. .   Robot articulation joint
  1542. .   Gripper head
  1543. .   Industrial robot adjustment device
  1544. .   Gas laser device
  1545. .   Equipment for automatic personalizing of credit cards
  1546. .   Drilling derrick device
  1547. .   Support for a gripper
  1548. .   Multiprocessor torque servo control for multiaxis digital robot
  1549.         control system
  1550. .   Method for coordinated control of motion devices
  1551. .   Multiaxis robot control having improved energy monitoring system
  1552.         for protecting robots against joint motor overload
  1553. .   Display unit for controlling pattern printing
  1554. .   Automated cartridge system
  1555. .   Lifting hand for a punch press tool changer
  1556. .   Passive actuator to maintain a constant normal cutting force during
  1557.         robotic deburring
  1558. .   Clutch for robot or like
  1559. .   Offset mechanical gripper
  1560. .   Method and apparatus for the injection molding of circuit boards
  1561. .   Resistance spot welding gun and transformer assembly
  1562. .   Sonic positioning device
  1563. .   Arm structure for an industrial robot
  1564. .   Overload protector for a robot arm
  1565. .   Method and apparatus for adaptive force and position control of
  1566.         manipulators
  1567. .   Robotic hand with shape determination capabilities
  1568. .   Robotic workcell control system having improved input/output
  1569.     interfacing for better workcell operation
  1570. .   Robotic vision system
  1571. .   Robotic ultrasonic cleaning and spraying device for ships' hulls
  1572. .   Riveting process and apparatus
  1573. .   Method and system for loading wafers
  1574. .   Robotic accessible wafer shipper assembly
  1575. .   Gripper device
  1576. .   Dual port alignment assembly station for attaching components to
  1577.         circuit boards
  1578. .   Robotic airbrush apparatus
  1579. .   Robotic crawling device
  1580. .   Mechanical fingers for dexterity and grasping
  1581. .   Wrist mechanism for robotic manipulations
  1582. .   Robotic pipe crawling device
  1583. .   Double-ended termination and routing arrangement for an automated
  1584.         wiring system
  1585. .   Water cooled semi-automatic welding gun
  1586. .   Article vending machine employing unique robotic arm and the
  1587.         robotic arms employed therein
  1588. .   Robotic gripper head
  1589. .   Gripping device
  1590. .   Sealant flow control for robotic applications
  1591.  
  1592. RULE BASED SYSTEMS
  1593. .   Speech synthesis system by rule using phonemes as systhesis units
  1594. .   System and method for preprocessing and transmitting echo waveform
  1595.         information
  1596. .   Coalescing changes in pattern-directed, rule-based artificial
  1597.         intelligence production systems
  1598. .   Diagnostic configuration management for a data processing system
  1599. .   Computer speech system
  1600. .   Using infrared imaging to monitor and control welding
  1601. .   Fiber optic solder joint inspection system
  1602. .   Document processing system deciding apparatus provided with
  1603.         selection functions
  1604. .   Method of starting thermal power plant
  1605. .   Automated production dispatch system with feedback control
  1606. .   Domain independent shell for building a diagnostic expert system
  1607. .   Processing method and processor for machine translation
  1608. .   Auto-tuning controller using fuzzy reasoning to obtain optimum
  1609.         control parameters
  1610. .   Speech synthesis system of rule-synthesis type
  1611. .   Reasoning system for reasoning with uncertainty
  1612.  
  1613. SPEECH RECOGNITION AND GENERATION
  1614. .   Digital speech interpolation system and speech detector
  1615. .   Noise compensation in speech recognition apparatus
  1616. .   Industrial playback robot having a teaching mode in which teaching
  1617.         data are given by speech
  1618. .   Method and apparatus of rejecting false hypotheses in automatic
  1619.         speech recognizer systems
  1620. .   Speech synthesis system by rule using phonemes as systhesis units
  1621. .   Digital speech coder having improved vector excitation source
  1622. .   Automatic validation of telephone account numbers
  1623. .   Speech coding transmission equipment
  1624. .   Voice synthesis utilizing multi-level filter excitation
  1625. .   Computer speech system
  1626. .   System for continuous speech recognition through transition networks
  1627. .   Speech synchronized animation
  1628. .   Processing of acoustic waveforms
  1629. .   Apparatus for speech recognition
  1630. .   Synthesized speech-facilitated product
  1631. .   Speech recognition system which avoids ambiguity when matching
  1632.         frequency spectra by employing an additional verbal feature
  1633. .   Speech recognition system
  1634. .   Method for extracting formant frequencies
  1635. .   Synthesizing word baseforms used in speech recognition
  1636. .   Speech recognition system
  1637. .   Parallel processing pitch detector
  1638. .   Speech recognition system
  1639. .   Speech recognition system with an accurate recognition function
  1640. .   ASCII LPC-10 conversion
  1641. .   Method for entering digit sequences by voice command
  1642. .   Vector excitation speech or audio coder for transmission or storage
  1643. .   Sub-band speech analyzing and synthesizing device
  1644. .   Apparatus and method for recognizing speech
  1645. .   Apparatus for extracting features from a speech signal
  1646. .   Interactive speech recognition apparatus
  1647. .   Method for performing time-scale modification of speech information
  1648.         or speech signals
  1649. .   Method of recognizing a control command in a system, and interactive
  1650.         system for carrying out the method
  1651. .   Speech synthesis system of rule-synthesis type
  1652. .   Binary autocorrelation processor
  1653. .   Speech recognition arrangement with preselection
  1654. .   Method of evaluating speech
  1655.  
  1656. THEOREM PROVING
  1657. .   Digital circuit design verification
  1658.  
  1659. VISION
  1660. .   Robot vision cooling/protection system
  1661. .   Robotic vision system
  1662. .   Computer vision system with improved object orientation technique
  1663. .   Machine vision system for position sensing
  1664. .   Method and apparatus for automatically inspecting and classifying
  1665.         different objects
  1666. .   Method and apparatus for the perception of computer-generated imagery
  1667. .   Method and apparatus for differentiating a planar textured surface
  1668.         from a surrounding background
  1669. .   Vision system for distinguishing touching parts
  1670. .   Workstation for a vision-impaired user with interface for selectively
  1671.         feeding display data from a bus or a connected computer
  1672. .   Dual port alignment assembly station for attaching components to
  1673.         circuit boards
  1674. .   Machine vision process and apparatus for reading a plurality of
  1675.         separated figures
  1676.  
  1677. ===========================================================================
  1678.