Detailed Action
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections – 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness
rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not
identically disclosed as set forth in section 102, if the differences between the claimed invention and the
prior art are such that the claimed invention as a whole would have been obvious before the effective filing
date of the claimed invention to a person having ordinary skill in the art to which the claimed invention
pertains. Patentability shall not be negated by the manner in which the invention was made.
1. Claims 21-22, 24-33, & 35-40 are rejected under 35 U.S.C. 103 as being
unpatentable over Bosse et al (US 12117529 B1), hereinafter Bosse, in view of Adams et al (US 20220198935 A1), hereinafter Adams.
2. Regarding Claims 21, 32, & 40:
Bosse teaches a system and a computer-implemented method ([Col. 3, Lines 2-
5]: Accordingly, techniques (including, but not limited to, a method, a system,
and one or more non-transitory computer-readable media) may be provided as
discussed herein). Bosse teaches obtaining a first local environment map descriptive of an environment of a vehicle, the first local environment map oriented relative to a first keyframe, the first keyframe having an origin associated with a previous pose of the vehicle, ([Col 6, Lines 17-38]: Navigation system 101 may further comprise a processor element 115. Processor element 115 may be configured to receive data from global navigation system 102 and local navigation system 103. This data may include maps, co-ordinate frames, localization data, pose data, calculated trajectories, or other relevant data. Processor element may be configured to perform computations on this data, including but not limited to comparisons of the first series of poses determined based on the global map to the second series of poses determined based on the local map, comparisons of co-ordinate frames corresponding to global and local maps, and calculations of drift between such global and local maps. The results of these computations may be transmitted to other elements of navigation system 101—for example, a calculated measure of drift between a global map and a local map generated by local navigation system 103 may be passed to global navigation system 102 for use in generating a subsequent updated global map, or stored in memory 111 for the same purpose. In other examples, the results of computations performed by processor element 115 may be transmitted across network 106 to computing device 107 for use in future navigation calculations of additional vehicles). Bosse teaches obtaining a LIDAR observation, the LIDAR observation associated with a current pose of the vehicle, ([Col. 6, Lines 39-61]: In a first example of the present invention, global navigation system 102 may generate a map of an environment. This may comprise receiving a first set of LIDAR data points from sensor system 104, comparing these data points to data received from network 106 or stored in memory 111, determining a point cloud registration between the first LIDAR data points and the data from network 105 or memory 111, and generating a map based on the registration. Alternatively, a complete map may be stored in memory 111 or received over network 106. Global localization component 108 may then localize vehicle 100 within the map thus generated, providing a preliminary position of vehicle 100 in the environment. Global perception component 109 may identify objects within the environment. Based at least on the map generated, the preliminary position of vehicle 100 provided by global localization component 108 and objects identified by global perception component 109, global planning component 110 may then compute a planned first trajectory for vehicle 100 through the environment. Global planning component may determine a pose for vehicle 100 in the environment, and continue determining this pose at various points in time, forming a first series of poses. This first series of poses may be stored in memory element 111). Bosse teaches transforming the first local environment map to the second keyframe to generate a second local environment map, ([Col. 2, Lines 24-38]: The pose of the vehicle at various points in time, as it moves along this planned trajectory, may be determined relative to the global map, and may be stored as a first series of poses. As the vehicle moves through the environment, the second (local) map is initiated, and the pose of the vehicle at various points in time may be determined, relative to the local map. These poses relative to the local map may then be stored as a second series of poses. The first and second series of poses may be compared to each other, and the difference between the two series of poses may be calculated. This difference may be used as a measure of the drift between the local and global maps, and may then be used to update the poses determined according to the global map, and the vehicle may be controlled through the environment based on the updated poses). Bosse teaches updating the second local environment map based on the LIDAR observation, ([Col. 2, Lines 40-47]: The difference between the two maps may be used to identify the local map as a ‘trusted’ map. If the difference between the two maps exceeds a predetermined threshold, or if a particular structure is apparent in the difference—such as the difference consistently trending in a particular direction—this may indicate a need to update the global map, which may be updated based at least in part on the difference calculated between the maps).
Bosse does not teach determining that the current pose of the vehicle differs from the previous pose of the vehicle by greater than a threshold distance and
in response to determining that the current pose of the vehicle differs from the previous pose of the vehicle by greater than the threshold distance, generating a second keyframe oriented relative to the current pose of the vehicle.
However, Adams teaches a vehicle based system and method, using Lidar data to generate environmental maps, ([0020]: In one specific example, the organized and indexed sparse graph or factor graph may comprise a plurality of nodes associated with or representative of an environment. In some cases, the nodes may comprise or store pose data as well as a number of factors created from information, such as, direction of travel, orientation or IMU data, velocity, image data, radar data, lidar data, thermal data, unary global factors, such as received form a global position system (GPS), map localization data, and the like, that may be used to organize the nodes into the factor graph representation of the pose data). Adams further teaches, ([0061]: At 706, the mapping system may determine a set of candidate nodes (or moments) based at least in part on the region of interest and the pose data and the environmental data. For example, nodes may be generated based on the pose data and a time interval, such that, as the vehicle travels, each node corresponds to a pose of the vehicle at the time interval. In other examples, the nodes may be generated based on the pose data and a physical distance interval, such that each node corresponds to a pose of the vehicle after the vehicle has traversed a threshold distance).
It would have been obvious for one of ordinary skill in the art at the time of filing to modify Bosse with Adams to include determining that the current pose of the vehicle differs from the previous pose of the vehicle by greater than a threshold distance and
in response to determining that the current pose of the vehicle differs from the previous pose of the vehicle by greater than the threshold distance, generating a second keyframe oriented relative to the current pose of the vehicle, since it is the same field of endeavor and results would have been predictable. One of ordinary skill in the art at the time of filing would have been motivated to modify Bosse with Adams since, such a configuration could save storage and memory by only keeping important frames instead of recording every single point, lower the processing power needed to match scans and build the map in real time, and keep a steady distance between frames so the system can match shapes well and reduce errors over long distances.
3. Regarding Claims 32, & 40:
Bose teaches an autonomous vehicle, ([Col. 1, Lines 41-47]: This application relates to the use of alternative mapping (which may be based on depth data) of an environment to improve the localization of an autonomous vehicle within the environment, or to update a global map used by the autonomous vehicle to navigate through the same environment). Bosse teaches one or more processors; and one or more non-transitory, computer-readable media storing instructions that cause the one or more processors to perform operations, ([Col. 3, Lines 6-15]: A vehicle 100 is illustrated schematically in the block diagram of FIG. 1. Vehicle 100 may include a navigation system 101. Navigation system 101 may further comprise a global navigation system 102, a local navigation system 103, memory 111 and processor 115. Vehicle 100 may further comprise sensor system 104, and a drive system 105. Vehicle 100 may be connected over network 106 to a computing device 107). Bosse further teaches, ([Col. 4, Lines 62-67]: Global planning component 110 may be configured to determine, based on information provided by global localization component 108 and global perception component 109, as well as on date received from sensor system 104, instructions for navigating vehicle 100 along the determined trajectory).
4. Regarding Claims 22 & 33:
Bosse teaches the first local environment map comprises a surfel map, the surfel map comprising a plurality of surfels, ([Col. 17, Lines 44-53]: a map can include, but is not limited to: texture information (e.g., color information (e.g., RGB color information, Lab color information, HSV/HSL color information), and the like), intensity information (e.g., lidar information, radar information, and the like); spatial information (e.g., image data projected onto a mesh, individual “surfels” (e.g., polygons associated with individual color and/or intensity)), reflectivity information (e.g., specularity information, retroreflectivity information, BRDF information, BSSRDF information, and the like)).
5. Regarding Claims 24 & 35:
Bosse teaches the LIDAR observation comprises a LIDAR point cloud, the LIDAR point cloud having one or more LIDAR points, ([Col. 6, Lines 39-46]: In a
first example of the present invention, global navigation system 102 may generate
a map of an environment. This may comprise receiving a first set of LIDAR data points from sensor system 104, comparing these data points to data received
from network 106 or stored in memory 111, determining a point cloud registration
between the first LIDAR data points and the data from network 105 or memory
111, and generating a map based on the registration).
6. Regarding Claims 25 & 36:
Bosse teaches masking one or more actor regions in the LIDAR observation, wherein the one or more actor regions comprise data associated with a moving object, ([Col. 4, Lines 42-57]: In some examples, global localization component 108 and
global perception component 109 may, in creating a global map, be configured to
disregard objects having characteristics indicative of a dynamic object. For
instance, objects having a velocity or an acceleration above a threshold value
may be disregarded. In some examples, the ability to disregard objects having a
velocity or acceleration above a threshold value may be based on methods for
performing segmentation on three-dimensional data represented in a voxel space
to determine a ground plane, static objects, and dynamic objects in an
environment as described in U.S. Pat. No. 10,444,759 B2, titled “VOXEL BASED
GROUND PLANE ESTIMATION AND OBJECT SEGMENTATION,” filed on Jun. 14,
2017 which is hereby incorporated by reference in its entirety and for all
purposes).
The immediate specification discloses that masking comprises omitting which is
analogous to disregarding, (Spec: [0110]: In some implementations, during
alignment of the LIDAR observation 506 and local environment map 515, the
system 500 may mask or otherwise omit regions of the LIDAR observation 506
corresponding to moving objects, or “actors”).
7. Regarding Claims 26 & 37:
Bosse does not teach determining that the vehicle has traveled a distance greater than the threshold distance from the previous pose of the vehicle.
However, Adams teaches a vehicle based system and method, using Lidar data to generate environmental maps, ([0020]: In one specific example, the organized and indexed sparse graph or factor graph may comprise a plurality of nodes associated with or representative of an environment. In some cases, the nodes may comprise or store pose data as well as a number of factors created from information, such as, direction of travel, orientation or IMU data, velocity, image data, radar data, lidar data, thermal data, unary global factors, such as received form a global position system (GPS), map localization data, and the like, that may be used to organize the nodes into the factor graph representation of the pose data). Adams further teaches, ([0061]: At 706, the mapping system may determine a set of candidate nodes (or moments) based at least in part on the region of interest and the pose data and the environmental data. For example, nodes may be generated based on the pose data and a time interval, such that, as the vehicle travels, each node corresponds to a pose of the vehicle at the time interval. In other examples, the nodes may be generated based on the pose data and a physical distance interval, such that each node corresponds to a pose of the vehicle after the vehicle has traversed a threshold distance. In some cases, the time interval may be based on a time interval associated with one or more sensor systems in the vehicle and/or the distance thresholds may be based on a range of one or more sensor systems of the vehicle. In various examples, such nodes may be within a threshold distance of each other using some other metric (e.g., a Euclidian distance between features associated with the data associated with the nodes)).
It would have been obvious for one of ordinary skill in the art at the time of filing to modify Bosse with Adams to include determining that the current pose of the vehicle differs from the previous pose of the vehicle by greater than a threshold distance and
in response to determining that the current pose of the vehicle differs from the previous pose of the vehicle by greater than the threshold distance, generating a second keyframe oriented relative to the current pose of the vehicle, since it is the same field of endeavor and results would have been predictable. One of ordinary skill in the art at the time of filing would have been motivated to modify Bosse with Adams since, such a configuration could save storage and memory by only keeping important frames instead of recording every single point, lower the processing power needed to match scans and build the map in real time, and keep a steady distance between frames so the system can match shapes well and reduce errors over long distances.
8. Regarding Claim 27:
Bosse teaches the first keyframe and the second keyframe do not have a common heading, ([Col. 9, Lines 10-24]: A comparison of planned first and second trajectories according to the first example is illustrated schematically in FIG. 2. A first co-ordinate frame 200, corresponding to the first global map generated by global navigation system 102, comprises a first origin point 201. The x-axis of frame 300 corresponds to time, while the y-axis represents one component of the positional information of the vehicle. The skilled person will appreciate that in practice the positional information will include further components. A first set of positional information 202, corresponding to a series of poses of the vehicle within the first global map at different times t1, t2 and t3, is referenced relative to first origin point 201. Line 203 represents the trajectory of vehicle 100 through the environment computed by global planning component 110). Bosse further teaches, ([Col. 9, Lines 25-46]: A second co-ordinate frame 204, corresponding to the second local map generated by local navigation system 103, comprises a second origin point 205. The axes of frame 204 correspond to those of frame 200. A second set of positional information 206, corresponding to poses of vehicle 100 within the local map at times t1, t2 and t3, is referenced relative to second origin point 205. Positional information 206 may, in some examples, have been filtered prior to being used as localization information. In some examples, this may be achieved through the use of a recursive filter, such as a Bayesian estimator. Line 207 represents a second trajectory of vehicle 100 through the environment, based on the localization data provided by localization component 112 and objects identified by perception component 113. This trajectory is equivalent to the change between poses within the second series of poses—as described above, the change between poses within the second series of poses may be calculated by integrating LIDAR odometry measurements. The two trajectories may not share a common origin, as the origin of trajectory 206 will depend on the point at which the local mapping is initiated, rather than on the global origin). Bosse goes on to teach, ([Fig. 2]: Shows the set of positional information at each corresponding time, t1, t2 and t3, marked with an x. The trajectory of each pose differs at each point indicated with the x).
9. Regarding Claims 28 & 38:
Bosse teaches transforming data in the first local environment map to the second keyframe to generate the second local environment map, ([Col. 2, Lines 48-67, & Col. 3, Lines 1-2]: In another example of the present invention, co-ordinate frames corresponding to the global map and local map may be determined. A third co-ordinate frame representing the position of the vehicle itself may also be determined. A transform, or offset, between the co-ordinate frames representing the global and local maps may be calculated, representing the drift between the two maps. Similarly, a transform or offset may be calculated between the co-ordinate frames representing the local map and the vehicle position. Using these calculated transforms, a calculation may then be made of the transform between the co-ordinate frame representing the global map and that representing the vehicle position. By using the local map co-ordinate frame—which, as described above, is accurate in relation to the environment due to it being created at the point of use—the transform calculated between the global map frame and the vehicle frame will provide a more accurate measure of the vehicle position relative to the global map. In this way, the drift between the local and global maps (as calculated as a transform between the two co-ordinate frames) may be used to update the global map or otherwise used to ensure the vehicle is able to safely navigate the environment). Bosse further teaches, ([ Col. 7, Lines 25-37]: The historical trajectory may be calculated as the change between poses within the second series of poses, which may be determined by integrating LIDAR odometry measurements with the positional data. Local navigation system 100 may, to determine the change in pose, associate at a first point in time a set of LIDAR data points with a first voxel space associated with a first pose within the second series of poses, then associate at a second point in time the set of LIDAR data points with a second voxel space associated with a second pose within the second series of poses, and calculate the odometry match between the first and second voxel spaces). Bosse goes on to teach, ([Col. 7, Lines 15-21]: Local localization component 114 may then determine a pose of the vehicle in the environment, based on the map generated by local determination component 112 and local perception component 113. As described previously in connection with the components of local navigation system 103, this process may occur at a higher frequency than the refresh rate of the global map). Bosse continues to teach,
([Col. 11, Lines 31-45]: Transform 304, representing the offset between the global map corresponding to co-ordinate frame 300 and the local map corresponding to co-ordinate frame 302 may be calculated using a previously-calculated, accurate, offset between first co-ordinate frame 300 and third co-ordinate frame 305—i.e. a previously-determined value of transform 308. This offset may be accurate in areas of good localization—i.e. at a previous point in time. This previously-obtained value, along with the current value of transform 307, may be used to calculate the current value of transform 304. Transform 304 must be calculated for each iteration of the process, as second co-ordinate frame 302 may drift in relation to first co-ordinate frame 300, thus the offset between second origin point 303 and first origin point 301 may vary over time).
10. Regarding Claim 29:
Bosse teaches determining a transformation between the first keyframe and a first map frame associated with the first keyframe; determining a transformation between the first map frame associated with the first keyframe and the first local environment map and a second map frame associated with the second keyframe; and
determining a transformation between the second map frame and the second keyframe.
See Claims 28 & 38.
11. Regarding Claims 30 & 39:
Bosse does not teach pruning data greater than a cutoff distance from the current pose of the vehicle from the second local environment map.
However, Adams teaches, ([0028]: In some cases, an environment may change, such as when a road is built, removed, or rerouted (e.g., during constructions the lanes are often at least temporarily rerouted). In these cases, the system may be configured to check the newly received pose data (and data associated therewith) with the resulting factor graph. In some examples, if greater than or equal to a predetermined number of poses are greater than or equal to a predetermined distance (e.g., physical or Euclidean distance and/or graph distance) from a nearest node of the resulting factor graph, the system may trigger a graph update. In some instances, updating the graph may comprise removing one or more of the plurality of nodes, adding the newly received pose data, and re-optimizing the graph using a pose graph optimization technique. In this manner, the map updating may be automated based on data received while the autonomous vehicles are in operation. In some cases, the graph update may be isolated or limited to a select portion of the graph, such as a graph distance threshold or physical distance threshold from the new pose or new poses. In some examples, the data associated with each node may be maintained, such that the node or moment may be recreated rather than removing the data or node itself. For example, the system may store relative transforms between constituent nodes or moments that are selected to be removed). Adams further teaches, ([0029]: Similarly, the system may be configured to decay or remove aging data from the graph. For example, the system may update a node following the receipt or capture of a predetermined number of additional nodes within a graph distance threshold (e.g., (edge distance, Mahalanobis distance, various graph clustering metrics, etc.) and a physical distance threshold (e.g., a Euclidian distance, geographic distance, etc.) of a current node, a quality threshold associated with the sensor data being meet or exceeded (e.g., a point cloud nosiness threshold is met or exceeded), a factor graph quality metric within a region comprising the node being met or exceeded (e.g., a map quality metric, convergence metric, and the like), a semantic feature, a node reaching a predetermined age, an amount of time that has passed (e.g., a predetermine interval has elapsed), or the like).
It would have been obvious for one of ordinary skill in the art at the time of filing to modify Bosse with Adams to include pruning data greater than a cutoff distance from the current pose of the vehicle from the second local environment map, since it is the same field of endeavor and results would have been predictable. One of ordinary skill in the art at the time of filing would have been motivated to modify Bosse with Adams since, such a configuration provides lower processing loads and data storage requirements since the local map is kept from growing indefinitely. In addition, such a configuration can eliminate uncertain data points acquired beyond a threshold distance, reducing random measurement errors and distortion.
12. Regarding Claim 31:
Bosse teaches producing the first local environment map using one or more prior LIDAR observations, ([Col. 16, Lines 6-13]: In at least one example, the localization component 720 can include functionality to receive data from the sensor system(s) 706 to determine a position and/or orientation of the vehicle 702 (e.g., one or more of an x-, y-, z- position, roll, pitch, or yaw). For example, the localization component 720 can include and/or request/receive a map of an environment and can continuously determine a location and/or orientation of the autonomous vehicle within the map). Bosse further teaches, ([Col. 11, Lines 31-45]: Transform 304, representing the offset between the global map corresponding to co-ordinate frame 300 and the local map corresponding to co-ordinate frame 302 may be calculated using a previously-calculated, accurate, offset between first co-ordinate frame 300 and third co-ordinate frame 305—i.e. a previously-determined value of transform 308. This offset may be accurate in areas of good localization—i.e. at a previous point in time. This previously-obtained value, along with the current value of transform 307, may be used to calculate the current value of transform 304. Transform 304 must be calculated for each iteration of the process, as second co-ordinate frame 302 may drift in relation to first co-ordinate frame 300, thus the offset between second origin point 303 and first origin point 301 may vary over time). Bosse goes on to teach, ([Col. 17, Lines 35-53]: The memory 718 can further include the map(s) component 728 to maintain and/or update one or more maps (not shown) that can be used by the vehicle 702 to navigate within the environment. For the purpose of this discussion, a map can be any number of data structures modeled in two dimensions, three dimensions, or N-dimensions that are capable of providing information about an environment, such as, but not limited to, topologies (such as intersections), streets, mountain ranges, roads, terrain, and the environment in general. In some instances, a map can include, but is not limited to: texture information (e.g., color information (e.g., RGB color information, Lab color information, HSV/HSL color information), and the like), intensity information (e.g., lidar information, radar information, and the like); spatial information (e.g., image data projected onto a mesh, individual “surfels” (e.g., polygons associated with individual color and/or intensity)), reflectivity information (e.g., specularity information, retroreflectivity information, BRDF information, BSSRDF information, and the like)). Bosse continues to teach, ([Col. 2, Lines 48-65]: In another example of the present invention, co-ordinate frames corresponding to the global map and local map may be determined. A third co-ordinate frame representing the position of the vehicle itself may also be
determined. A transform, or offset, between the co-ordinate frames representing
the global and local maps may be calculated, representing the drift between the
two maps. Similarly, a transform or offset may be calculated between the co-
ordinate frames representing the local map and the vehicle position. Using these
calculated transforms, a calculation may then be made of the transform between
the co-ordinate frame representing the global map and that representing the
vehicle position. By using the local map co-ordinate frame—which, as described
above, is accurate in relation to the environment due to it being created at the
point of use—the transform calculated between the global map frame and the
vehicle frame will provide a more accurate measure of the vehicle position
relative to the global map).
13. Claims 23 & 34 are rejected under 35 U.S.C. 103 as being unpatentable over Bosse et al (US 12117529 B1), hereinafter Bosse, in view of Adams et al, (US 20220198935 A1), hereinafter Adams, as applied to Claims 21, 22, 32, & 33, and further in view of Montemerlo et al (US 20220075382 A1), hereinafter Montemerlo.
14. Regarding Claims 23 & 34:
Bosse as modified by Adams does not teach, a surfel of the plurality of surfels comprises a disc, the disc defined by a position vector, a normal vector, and a radius.
However, Montemerlo teaches methods and systems using Lidar data to update
vehicle maps for autonomous vehicles, ([0007]: The mapping system can receive
new sensor measurements, e.g., camera imagery data and LIDAR detections,
corresponding to features of an environment. The new sensor measurements can
be generated, for example, by sensors of vehicles in the environment).
Montemerlo further teaches, ([0060]: Each surfel in the example surfel map 250 is
represented by a disk, and defined by three coordinates (latitude, longitude,
altitude), that identify a position of the surfel in a common coordinate system of
the environment 200. Each surfel also has a respective orientation, which can be
represented as a normal vector emanating from the center of the surfel. For
example, each surfel can be defined to be a disk that extends some radius, e.g. 1,
10, 25, or 100 centimeters, around coordinates (latitude, longitude, altitude) for a
particular voxel in a voxel volume for the environment 200. In some other
implementations, the surfels can be represented as other two-dimensional
shapes, e.g. ellipsoids or squares, to name just a few examples).
It would have been obvious for one of ordinary skill in the art at the time of filing
to modify Bosse as modified by Adams with Montemerlo to include a surfel of the plurality of surfels comprises a disc, the disc defined by a position vector, a normal vector, and a radius, since it is the same field of endeavor and results would have been predictable. One of ordinary skill in the art at the time of filing would have been motivated to modify Bosse as modified by Adams with Montemerlo since, such configurations reduce uncertainty, improve noise filtering, and do not require a specific topology. In addition, having explicitly defined discs with positions and normal vectors allow robotics and SLAM systems to use fast analytic derivatives for map updates, tracking, and differentiable optimization.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's
disclosure.
US 12127085 B2: Discloses submap geographical projections.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JAMES W NAPIER whose telephone number is (571)272-7451. The examiner can normally be reached Monday - Friday 8:00 am - 4:00 pm.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Helal Algahaim can be reached at (571) 270-5227. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/J.W.N./Examiner, Art Unit 3645
/HELAL A ALGAHAIM/SPE , Art Unit 3645