throbber

`
`UNITED STATES PATENT AND TRADEMARK OFFICE
`
`UNITED STATES DEPARTMEVT OF COMMERCE
`United States Patent and Trademark Office
`AddIESS. COMMISSIONER FOR PATENTS
`PO Box 1450
`Alexandria, ViJgLnia 22313-1450
`wwwusptogov
`
`60/067,466
`
`92001 | 0041 | 020 | 10
`
`Hull111IIIIIIIIIIIIIIIIIIIIIIIIIIII1111111
`
`Correspondence Address/Fee Address Change
`
`The following fields have been set to Customer Number 83765 on 12/24/2008
`- Correspondence Address
`. Power of Attorney Address
`
`The address of record for Customer Number 83765 is:
`
`83765
`
`SCHACHT LAW OFFICE , INC.
`ROY-G-BIV CORPORATION
`
`SUITE 202, 2801 MERIDIAN ST.
`BELLINGHAM, WA 98225
`
`PART 1
`
`- ATTORNEY/APPLICANT COPY
`page 1 of 1
`
`ABB Inc.
`
`EXHIBIT 1022
`
`Page 1 of 13
`
`Page 1 of 13
`
`

`

`UNITED STATES PATENT AND TRADEMARK OFFICE
`
`
`
`UNITED STATES DEPARTMENT OF COMMERCE
`United States Patent and Trademark Office
`AddIESSI COMLHSSIOIVER FUR PATENTS
`PO Box I450
`Alexandria, Vilgim'z 22313-1450
`www.uspto.gov
`
`APPLICATION NUMBER
`
`PATENT NUMBER
`
`GROUP ART UNIT
`
`FILE WRAPPER LOCATION
`
`60/067,466
`
`9200|
`
`|0041 |020 |10
`
`Correspondence Address / Fee Address Change
`
`The following fields have been set to Customer Number 30662 on 08/10/2005
`
`- Correspondence Address
`- Maintenance Fee Address
`
`The address of record for Customer Number 30662 is:
`SCHACHT LAW OFFICE, INC.
`SUITE 202
`2801 MERIDIAN STREET
`BELLINGHAM,WA 98225-2412
`
`Page 2 of 13
`
`Page 2 of 13
`
`

`

`l
`
`LAW OFFICES OF
`
`HUGHES, MULTER 8c SGHACHT, RS.
`A PROFESSIONAL SERVICE CORPORATION
`
`l7ZO IOWA STREET
`.
`BELL‘NGHAM' WA 98226 4702
`(360) 647—1296 (BHM )
`(360) 380-1754 (COUNTY)
`l-588-6474296 (TOLL FREE)
`FAX (350) 671—2459
`
`|47|l N E 29TH PLACE
`
`s iTE 45
`U
`2
`BELLEVUE, WA 98007-7666
`(425) 4535701
`FAX (425) 88|:5878
`
`PATENT, TRADEMARK,
`COPYRIGHT LAW
`& LITIGATION
`
`REPLY TO
`,
`BELLIIV GHAM
`OFFICE
`
`
`RQBERT B HUGHES
`=—R(EHARD D MULTER
`—
`= HAEL R SCHACHT
`
`=— WILLIAM TOONE
`—_MAF?K l CROHN
`——
`_— g
`="
`= 'U
`E 0-]
`= O
`
`LfiI‘IUIZl
`
`=——
`
`December 4, 1997
`
`Box Provisional Patent Application
`Assistant Commissioner for Patents
`Washington, DC. 20231
`
`- Sir:
`
`
`
`Transmitted herewith for filing is a Provisional Continuation-ln-Part Patent Application in re:
`
`Inventors:
`
`DAVID W. BROWN and JAY S. CLARK
`
`Title:
`
`MOTION CONTROL SYSTEMS AND METHODS
`
`Attorney's Docket No.: P210160
`
`Date of Deposit: DECEMBER 4, 1997
`
`"Express Mail" mailing label number: El169868076US
`
` l hereby certify that this Provisional Continuation-ln—Part Patent Application is being deposited
`
`with the United States Postal Service "Express Mail Post Office to Addressee" service under
`37 CFR 1.10 on the date indicated above and is addressed to the Box Provisional Patent
`Application, Assistant Commissioner for Patents, Washington, DC 20231.
`
` .
`
`
`. 2
`4‘
`A_
`Gloria J
`
`Secretary
`
`PLEASE GIVE THIS APPLICATION THE FILING DATE OF DECEMBER 4, 1997.
`
`Page 3 of 13
`
`Page 3 of 13
`
`

`

`Box Provisional Patent Application
`Assistant Commissioner for Patents
`Washington, DC. 20231
`
`Sir:
`
`Transmitted herewith for filing is a Provisional Continuation-In—Part Patent Application in re:
`
`DAVID W. BROWN and JAY S. CLARK
`Inventors:
`MOTION CONTROL SYSTEMS AND METHODS
`Title:
`Attorney's Docket No.: P210160
`Date of Deposit: DECEMBER 4, 1997
`"Express Mail" mailing label number: El169868076US
`
`1. Enclosed are:
`
`a) Provisional Patent Application consisting of EIGHT (8) pages including THREE (3)
`drawing Figures and ONE (1) Table;
`
`b) Provisional Application Cover Sheet;
`
`0) A check in the amount of $150 for Provisional Patent Application Filing Fee; and
`
`d) A stamped return receipt postcard.
`
`The Commissioner is hereby authorized to charge payment of any additional filing fees under 35
`CFR 1.16 for the presentation of extra claims or any patent application processing fees under 37
`CFR 1.17 associated with this communication to Account No. 08-3260 and to credit any
`overpayment to that account.
`
`
`
`Michael R. Schacht, Reg. No. 33,550
`HUGHES, MULTER & SCHACHT, PS.
`1720 Iowa Street
`Bellingham, WA 98226
`(360) 647—1296
`
`EXPRESS MAIL CERTIFICATE OF MAILING
`37 CFR, §1.10
`I hereby certify that this paper (along with any paper referred to as being attached or
`enclosed) is being deposited with the United States Postal Service, Express Mail Post
`Office to Addressee,
`in an envelope addressed to BOX PROVISIONAL PATENT
`APPLICATION, Assistant Commissioner for Patents, Washington, DC 20231, on the date
`shown below.
`
`Express Mail No:
`
`El169868076US
`
` Signature:
`
`Print Name:
`
`GLORIA SMITHEY
`
`DATE MAILED: DECEMBER 4, 1997
`
`Page 4 of 13
`
`Page 4 of 13
`
`

`

`EXPRESS MAIL LABEL NO. E1169868076US
`Appendix A'
`
`'>
`
`P’l‘O/SB/16(6-95)
`.
`Awmdemxummaoonmx0annom7
`Pm: and Trademark Office; us. DEPARTMENT or COMMERCE
`
`1%R(7P7SYCUE4LH4IVHLRZAYYZLN’C17VIH?JHYE23T
`
`This is a request for filing It PROVISIONAL APPLICATION under 37 CFR 1.53 (b)(2).
`
`
`Type a plus Sign (+ )
`P210160
`
`inside this box >
`
`
`
`
`
`INVENI‘omsyAPPLICANm)
`mm mm mmwmmmmommmm
`
`BROWN
`
`CLARK
`
`DAVI D
`
`JAY
`
`W .
`
`S .
`
`
`
` Bingen, Washington 98605
`
`Seattle, Washington 98109
`
`
`
`
`
`
`
`TITLE OF THE INVENTION (280 character: max)
`
`
`
`
`MOTION CONTROL SYSTEMS AND METHODS
`
`
`
`
`
`
`
`
` METHOD OF PAYMENT (check one)
`A check or money order is enclosed to cover the Provisional filing fees
`PROVISIONAL
`
`
`FILING FEE
`zxnac>t1brr (5)
`
`
`
`
`CORRESPONDENCE ADDRESS
`
`
`Michael R. Schacht
`& S h ht P.S.
`.
`H
`M l
`c ac
`'
`Attorney for Applicants
`lggfieigwausfiiget
`
`Bellingham, Washington
`98226
`
`
`ENCLOSED APPLICATION PARTS (check all that apply)
`
`Specification
`
`Number ofPage:
`
`
`
`The Commissioner ls hereby authorized to charge
`filing fees and credit Deposit Account Number:
`
`.
`
`0 8 — 3 2 6 O
`
`The Invention was made by an agency of the United States Government or under a contract with an agency of the United States Government.
`No.
`
`D Yeg the name of the US. Government agency and the Government contract number Ire:
`
`
`Respectquy submitted,
`
`SIGNATURE fi’m, /Z :M Date
`.
`'
`REGBTRATKNINO.
`TYPED orPRINTED NAME Michael R. Schacht
`fifappmprim)
`E]
`Attorney for Applicants
`PRO VISIONAL APPLICA TI0N FILING ONL Y
`
`12 4 97
`
`33,550
`
`Additional inventors are being named on separately numbered sheets attached hereto
`
`Burden Hour Statement: This form is estimated to take .2 hours to complete. Time will vary depending upon the needs of the indmdual case. Any comments on the mount or time
`you an: required to complete this form should be sent to the Office of Assistance Quality and Enhancement Division Patent and Trademark Office. Washington DC 20231- md to
`the Office or information and Regulatory Afl’airs. 01m: of Management md Budget (Project 06510037), Washington DC 20501 DO NOT SEND FEES OR COWLEW’D
`FORMS TO THIS ADDRESS. SEND TO: Asistam Commissioner for menu. Washington, DC 2023L
`Page 5 of 13
`
`Page 5 of 13
`
`

`

`XMC Stream
`
`
`
`Hardware Independent Communication
`Protocol
`
`
`
`___________________________——————————————————
`
`ROY-G-BIV Corporation Confidential
`Author:
`Dave Brown
`Save Date: December 4, 1997 Print Date:
`December 4, 1997
`Create Date:
`Project:
`[PRJCMPNT_RGBSOUTH]$/prjcmpnt/xmc/v.100/int/doc/_devstrmlbase/des/regmap
`Document: regmapfldesooc
`DescriptionzThis document describes the design of the hardware independent communication protocol used by each stream to
`communicate with the motion control hardware.
`
`December 4, 1997
`
`Revisions:
`
`
`
`A ROY- e - B Iv:
`Safiwnre for a sperm/m ofia’ea: '”
`©1997 ROY-G—BlV Corporation. All rights reserved. ROY-G-BlV is a registered trademark and Software for a spectrum
`of ideas is a trademark of ROY-G—BlV Corporation. All other brands or product names are trademarks or registered
`trademarks of their respective holders.
`
`Page 6 of 13
`
`Page 6 of 13
`
`

`

`
`
`XMC Stream: Hardware Independent Communication Protocol Table of Contents
`
`Table of Contents
`
`1 - Overview ....................................................................................................................... 1
`
`2 - Communication Map Design .......................................................................................2
`
`Mapping Logic ....................................................................................... 4
`
`3 - Example Communication Maps .................................................................................. 5
`
`Services Mapped ................................................................................... 5
`AT6400 Register Map ............................................................................ 6
`DMClOOO Register Map ......................................................................... 6
`
`
`
`____—__________—_._—__——-———-————-_—-——-————-—
`
`ROY-G-BIV Corporation Confidential
`
`December 4, 1997
`
`ii
`
`Page 7 of 13
`
`Page 7 of 13
`
`

`

`
`
`XMC Stream: Hardware Independent Communication Protocol 1 - Overview
`
`1 - Overview
`
`XMC (a WOSA extension for Motion Control), uses a special protocol to facilitate
`communication with the underlying motion control hardware in a hardware
`independent manner.
`In specific, the key communication mechanism used is
`called the communication map for it maps a generic grid of information cells to
`the actual information cells implemented by the particular hardware.
`Since
`each cell may be located in different areas and may transfer different values on
`each hardware platform, a mapping is necessary in order to communicate
`common functions across a manifold of hardware implementations.
`
`This document, describes the hardware independent communication protocol in
`the following two chapters:
`
`Chapter 2 - Communication Map Design; describes how the communication
`map works and how it provides a hardware independent manner of
`communicating with a set of hardware devices falling into a similar class of
`functionality.
`
`Chapter 3 - Example Communication Maps; provides several communication
`map examples that show how the mapping actually takes place in a real
`application.
`
`
`
`
`
`ROY-G—BIV Corporation Confidential
`
`December 4, 1997
`
`1
`
`Page 8 of 13
`
`Page 8 of 13
`
`

`

`
`
`XMC Stream: Hardware Independent Communication Protocol 2 - Communication Map Design
`
`2 - Communication Map Design
`
`The communication map is a software layer that maps both the location of and
`the data transferred between a software application and a hardware device
`during basic,
`low—level, hardware communication, sometimes defined as the
`hand-shaking process. In order to generify the process, thus making it hardware
`independent, several fundamental items must be mapped, for they are different
`on most hardware platforms that use basic hardware communication, even
`though the class of services performed by each hardware implementation, from
`within the same function class, are very similar.
`
`implemented by the
`invoked by the software application, yet
`Each service,
`hardware, is mapped by a set of entries in the communication map. Each entry
`in the communication map is made of the following items.
`
`
`
`Item Mapped Description
`
`
`
`operation
`
`cell size
`
`cell offset
`
`data mask
`
`Specifies the operation defines whether or not to write
`data to the information cell,
`to read data from the
`information cell, or perform a nap directing to skip this
`sub-operation, thus ignoring it.
`
`Specifies the cell size defines the actual size of the data
`contained in each cell. For example, cells may be defined
`as 8, 16, 24, 32, or 48 bits long. Of course other sizes
`may be defined as long as they are supported by the
`underlying hardware.
`
`Specifies the cell offset defines the location of the cell in
`the information target grid. A base address defines the
`start location of the grid, whereas the cell offset is the
`number of bytes, offset from the base, where the target cell
`described lies.
`
`Specifies the mask applied to the data read from, or to be
`written to the hardware.
`1’s signify active bits, whereas
`0’s signify inactive bits that are ignored, or masked out of
`the data passing through the communication map.
`
`NOTE: when performing a write operation, specified by the operation
`field, the data mask is treated as the actual data and therefore sent to
`the hardware. With read operations, the data mask is used to mask out
`the active bits in the data item read from the hardware. The result of
`this masking is later applied to the data code in order to determine
`success or failure.
`
`data code
`
`Specifies the way to treat each data bit in the data mask.
`For example, the data code determines whether or not to
`invert the logic performed when logically ANDing the data
`mask to the data read.
`
`In order to link each set of entries with a single service, an index, pointing to the
`beginning communication map entry for the service,
`is associated with the
`service.
`
`
`
`ROY—G-BIV Corporation Confidential
`
`December 4, 1997
`
`2
`
`Page 9 of 13
`
`Page 9 of 13
`
`

`

`
`
`XMC Stream: Hardware Independent Communication Protocol 2 - Communication Map Design
`
`The following diagram shows the flow of data through the communication map
`for a certain requested hardware service (Service 2).
`
`Servie Index
`
`
`
`Information
`Communication NED
`Target
`Data
`Data
`W“ Mask
`Code
`$12!
`Cell
`Base Adam
`mbmm:
`
`READ i
`
`
`0xII01 0xooool
`i
`-
`|
`,3 ________
`, o
`n
`
`READ ilxcu IOXIIOZK
`.
`i
`
`WRITE K(1::0042 . 0xoooo.
`-
`.
`
`
`READ ‘OXOODO I OXOOOOI
`
`READ onoo 1i0x0000|
`:
`
`
`NOP
`.Oxoooo I exoooo‘
`0

`0
`
`mmluwwmmwm
`
`
`
`K
`i
`|
`i
`|
`|
`i
`i
`I
`i
`l
`i
`l
`|
`l
`|
`|
`3-
`0x001 I OXOOOO
`i
`:
`gar: :tfi afiéel: swam?
`- “ A5244
`.
`. idsfi
`“ ”
`
`999.00;
`
`eeoooem
`
`-
`
`
`
`READ
`’m/ms-
`
`
`
`
`
`
`Figure 1 Communication Map.
`
`During the mapping process, the following steps occur.
`
`Description
`V
`v
`
`The software application requests a certain hardware service, such as
`checking for the ready state of the hardware. Based on the mapping
`between the Service Index array and the Communication Map, there are
`three sub—operations making up this service.
`
`In this step, the first of the three sub—operations is performed -- a read of
`16—bits at offset 2 from the base address in the hardware input/ output
`space (which is considered the information target grid)1. When
`performing the mapping, l6—bits of hardware data are read from offset 2,
`logically AND’ed with the data mask, and then the result is logically
`XOR’ed with the data code. See mapping logic table for details. This
`logic produces a result that if successful, based on the mapping logic,
`causes the algorithm to continue processing the remaining sub—
`operations. On the other hand, if the mapping logic produces a failure,
`the processing is terminated and an error code is returned to the
`software requesting the service.
`
`The read actually takes place on the hardware 10 space itself, or on a
`low—level mapping provided by the operating system.
`
`the second sub—operation is
`from step 2 is success,
`If the result
`performed -- a write of 16-bits at offset 2 from the base address in the
`hardware IO space. For the write operation, the data mask is treated as
`the data, therefore in this step the number 0X0042 is written at offset 2.
`
`
`
`1 The input/ output (10) space may either be on the physical card itself, or provided as a
`block of data mapped by the operating system. Most operating systems map all
`hardware access into some operating system provided element, such as memory or an 10
`port.
`
`
`
`ROY-G-BIV Corporation Confidential
`
`December 4, 1997
`
`3
`
`Page 10 of 13
`
`Page 10 of 13
`
`

`

`XMC Stream: Hardware Independent Communication Protocol
`
`2 - Communication Map Design
`
`Finally, the last sub—operation is performed —— another read of 16—bits at
`offset 2 in the hardware IO space. The same mapping logic, described in
`step #2 above applies in this step.
`If the result from this operation is a
`success, the service as a whole is a success, since all previous sub-
`operations must have succeeded in order to get to this one.
`
`The write actually takes place on the hardware 10 space itself, or on a
`
`low level mapping provided by the operating system.
`
`
`
`
`
`
`
`
`Even though all three operations took place on the same offset, this is
`
`not required. Each hardware platform defines its own hand—shaking
`
`protocol used for performing each service
`implemented (by
`the
`
`hardware), thus defining the base code offset for each sub—operation.
`
`
`The final read takes place on the hardware [0 space or an operating
`system mapping of it.
`
`Mapping Logic
`
`During each communication map read sub-operation, making up a requested
`service, the following logic takes place:
`
`RESULT =
`
`((Data Read from Hardware) AND (Data Mask)) XOR (Data Code).
`
`With this logic, the following logic table describes the various outcomes from
`data read from the hardware, versus data expected from the hardware.
`
`
`
`
`
`
`true (success)
`
`EQUALS
`
`
` false (failure)
`
`
`
`(DR)
`
`Data Read
`
`
`
`A = DM 85
`
`Data
`
`' B = A A
`
`DR
`
`AND
`
`AND
`
`AND
`
`AND
`
`Mask
`(13M)
`
`true
`
`true
`
`true
`
`true
`
`DC
`
`XOR
`
`XOR
`
`XOR
`
`XOR
`
`EQUALS
`
`EQUALS
`
`RESULT
`
`(R)-
`
`false (failure)
`
` true (success)
`
`
`
`_____—_—_—_—___—_—————————-——
`
`ROY-G—BIV Corporation Confidential
`
`December 4, 1997
`
`4
`
`Page 11 of 13
`
`Page 11 of 13
`
`

`

`
`
`
`
`XMC Stream: Hardware Independent Communication Protocol 3 . Example Communication Maps
`
`3 - Example Communication Maps
`
`The following examples pertain to motion control hardware that uses hardware
`registers in order to facilitate the hand—shaking taking place during data
`communication.
`In these examples, the communication mapping allows the
`software requesting services to perform them in a hardware independent
`manner. The information target in the communication map for these examples
`are the set of hardware registers used by each hardware motion control card.
`
`Services Mapped
`
`With both the AT6400TM2 and DMClOOOTM3 communication maps, the following
`set of hardware communication services are mapped.
`
`
`Description
`
`Used to query the hardware for the state of its output
`buffer. When ready, there is data ready to be read sitting
`in the hardware output buffer.
`
`Used to query the hardware for the sate of its input
`buffer. When ready, the buffer has space to be written
`to. When not ready, the buffer is full.
`
`Used to query whether or not the hardware is ready to
`perform other service operations.
`
`Directs the hardware to ready its input buffer, which
`probably contains
`some
`sort of command for
`the
`hardware to begin processing.
`
`
`
`Read a block of data from the hardware (size is specified
`by the information cell size found in the information
`map).
`
`Write a block of data to the hardware (size is specified by
`the information cell size found in the information map).
`
`Directs the hardware to flush all of its buffers.
`
`Directs the hardware to set its buffers to a certain size.
`
`Directs the hardware to update any of its special status
`registers that may contain command data other than the
`communication hand-shaking data.
`
`
`
`2 AT64OO is either a registered trademark or a trademark of Compumotor Division,
`Parker Hannifin Corporation.
`
`3 DMClOOO is either a registered trademark or a trademark of Galil Motion Control, Inc.
`
`________________________._———————-——————
`ROY-G-BIV Corporation Confidential
`December 4, 1997
`5
`
`Page 12 of 13
`
`Page 12 of 13
`
`

`

`XMC Stream: Hardware Independent Communication Protocol
`
`3 - Example Communication Maps
`
`AT6400 Register Map
`
`With the given set of services defined in the previous section, the communication
`map for the AT6400 motion control hardware is as follows:
`Communication Map
`
`Information
`
`opemhn
`
`3::
`
`3::
`
`Can
`
`0:;
`
`
`
`BaseAddress
`Egg???
`
`
`
`
`
`
`1 0x0021 , axoooo 1
`
`
`WRITE lnxooz
`IcOxooo
`
`
`READ axoo42 axoooo
`
`1
`2
`
`4
`5
`
`6 7 8
`
`
`
`'"PUT-BUF—RW
`HW_READY
`
`DATA_READ
`DATA_WRITE
`CLEAR_BUFFERS
`SET_BU FFER_SIZES
`UPDATE~STATUS
`
`Figure 2 AT6400 Communication Map.
`
`DMC1000 Register Map
`
`OUTPUT_BUF_READY
`
`o
`
`With the given set of services defined in the previous section, the communication
`map for the DMC1000 motion control hardware is as follows:
`Information
`Communication Map
`BaseA4,}d'm
`EEEEE:
`Operation
`0%;
`31::
`3::
`g:
`Servue Index
`
`lel v
`1 0x01 I
`x
`‘
`s:
`
`
`1WEI“
`;
`“WWW-READY
`
`
`2
`1
`“VI—READY
`
`
`l
`3
`READ—"W —1
`4M'
`DATA—READ II§
`
`, 5
`DATA_WRITE —,
`. 6
`CLEARBUFFERS
`SET_BUFFER_SIZES =<
`. 7
`UPDATE_STATUS u a
`
`
`
`
`I
`‘
`i
`
`
`
`
`
`
`Figure 3 DMC1000 Communication Map.
`
`__________—_—____—_.—————————-—-—-——
`
`ROY-G-BIV Corporation Confidential
`
`December 4, 1997
`
`6
`
`Page 13 of 13
`
`
`
`
`Page 13 of 13
`
`

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