DETAILED ACTION
This action is responsive to claims filed on 12 September 2024. Claims 1-20 are pending examination.
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
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1-4, 7-9, 11-14, 17-19 are rejected under 35 U.S.C. 103 as being unpatentable over Perrone et al. (US 20250147508 A1) (hereinafter Per) in view of Vasudevan (US 20190238460 A1) (hereinafter Vas) and further in view of Kikuchi et al (US 20170264704 A1) (hereinafter Ki).
In regards to claim 1 and 11, Per-Vas-Ki teaches a location packet providing apparatus / method, comprising:
a positioning unit (Per, fig. 31-35, fig. 51-52, fig. 57, fig. 61-62, fig. 68, [0098]-[0114], [0115]-[0146], [0147]-[0191], [0192]-[0246], [0247]-[0267], [0268]-[0332]: GPS source can be seen as positioning unit. See paragraph [0171] Thus position from one GPS source via a ReferenceSensor object and position from another redundant GPS source via another ReferenceSensor object, may be combined in the PositionEstimator service to fuse and arbitrate, yielding a more robust and accurate position solution.); and
a processor electrically connected to the positioning unit, the processor configured to execute the following operations (Per, fig. 31-35, fig. 51-52, fig. 57, fig. 61-62, fig. 68, [0098]-[0114], [0115]-[0146], [0147]-[0191], [0192]-[0246], [0247]-[0267], [0268]-[0332]: [0318] may include one or more processors (also called central processing units, or CPUs), such as a processor 6904. [0319] Computer system 6900 may also include user input/output device(s) 6903, such as monitors, keyboards, pointing devices, etc., which may communicate with communication infrastructure 6906 through user input/output interface(s) 6902.):
receiving a plurality of first positioning data from the positioning unit continuously (Per, fig. 6, fig. 31-35, fig. 51-52, fig. 57, fig. 61-62, fig. 68, [0098]-[0114], [0115]-[0146], [0147]-[0191], [0192]-[0246], [0247]-[0267], [0268]-[0332]: [0171] The PositionEstimator service extends the SensorEstimator service and consolidates information from multiple sources of position and provides a configurable fashion for fusing data from these sources to provide a more reliable position estimate for the robot. Thus position from one GPS source via a ReferenceSensor object and position from another redundant GPS source via another ReferenceSensor object, may be combined in the PositionEstimator service to fuse and arbitrate, yielding a more robust and accurate position solution. [0188] The check may access information from sensors, actuators, plan objects, or any other component in the GPROS system. In this way, the concrete watchdog checking implementation checks for certain correctness of the information. For example, a concrete watchdog checking implementation may check that a GPS sensor has a quality level above a certain threshold. );
in response to the first positioning data received over a first time period reaching a first packet length, transmitting a first positioning packet with the first packet length to a first application…, wherein the first positioning packet comprises the first positioning data received over the first time period (Per, fig. 31-35, fig. 51-52, fig. 57, fig. 61-62, fig. 68, [0098]-[0114], [0115]-[0146], [0147]-[0191], [0192]-[0246], [0247]-[0267], [0268]-[0332]: [0138] A Signals Packet service provides a means for generically lumping signals together into discrete packets. A generic SignalPacket interface and implementation provides a means for collecting Signals into a discrete packet. The packet may have a packet header and may be terminated according to a delimiter or according to a fixed or dynamically defined length. A SignalPackets interface and implementation provides a means for parsing a stream of data into discrete SignalPacket instances. A Signals Mapping service provides a generic means for mapping signals from one form into another. [0144] A Time service provides a generic Time abstraction for recording, reading, and operating on a time value. An EventTime abstraction encapsulates information about a time for which an event may occur which includes a delay time before which it first occurs, an indication if it is periodic or not, an indication if it is indefinite or not, a period if it is periodic, and a duration if it is finite. [0193] A Waypoint 790 abstraction encapsulates a position and set of attributes about a discrete location to which a robot travels. A RouteSegment 793 encapsulates a linear route from one waypoint to another waypoint, and attributes about that route such as a collection of features, direction, route segment speed, and length.); and
generating … corresponding to a second packet length based on the first positioning data received over a second time period, wherein the second packet length corresponds to the first application connected by the first virtual port, and the second time period is different from the first time period (Per, fig. 31-35, fig. 51-52, fig. 57, fig. 61-62, fig. 68, [0098]-[0114], [0115]-[0146], [0147]-[0191], [0192]-[0246], [0247]-[0267], [0268]-[0332]: [0138] A Signals Packet service provides a means for generically lumping signals together into discrete packets. A generic SignalPacket interface and implementation provides a means for collecting Signals into a discrete packet. The packet may have a packet header and may be terminated according to a delimiter or according to a fixed or dynamically defined length. A SignalPackets interface and implementation provides a means for parsing a stream of data into discrete SignalPacket instances. A Signals Mapping service provides a generic means for mapping signals from one form into another. [0144] A Time service provides a generic Time abstraction for recording, reading, and operating on a time value. An EventTime abstraction encapsulates information about a time for which an event may occur which includes a delay time before which it first occurs, an indication if it is periodic or not, an indication if it is indefinite or not, a period if it is periodic, and a duration if it is finite. [0193] A Waypoint 790 abstraction encapsulates a position and set of attributes about a discrete location to which a robot travels. A RouteSegment 793 encapsulates a linear route from one waypoint to another waypoint, and attributes about that route such as a collection of features, direction, route segment speed, and length.).
Thus, the systems of Per, does not explicitly teach via a first virtual port among at least one virtual port and second positioning packet.
Similar to the systems of Per, Vas teaches a port can represent a physical port or virtual port, which can be seen as, via a first virtual port among at least one virtual port (Vas, fig. 8, [0013]-[0065], [0066]-[0067]: [0028] Network interface 100 includes one or more ports 102-0 to 102-A. A port can represent a physical port or virtual port.).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to improve system performance (Vas, [0018]) of Vas in the system of Per.
Thus, the systems of Per and Vas, does not explicitly teach second positioning packet.
Similar to the system of Per, Ki teaches a sending path between nodes is manages based on a circumferential logical space, which can be seen as, second positioning packet (Ki, fig. 8, fig. 10, fig. 17, [0038]-[0093], [0094]-[0138], [0139]-[0202], [0203]-[0226], [0227]-[0241]: [0134] In Chord, a sending path between nodes is managed based on a circumferential logical space. The circumferential logical space illustrated in FIG. 11 is a circumference which connects the start node “0” and the end node “15”. The nodes 10 are associated with positions (0 to 15 in FIG. 11) aligned in the clockwise direction D1 of the circumference. The positional relationships on the circumference are not physical positional relationships among the nodes 10, but logical positional relationships among the nodes 10.).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to reduce the network load (Ki, [0076]) and improve system performance (Vas, [0018]) of Vas and Ki in the system of Per.
In regards to claim 2 and 12, Per-Vas teaches the location packet providing apparatus / method, comprising:
wherein the operation of transmitting the first positioning packet to the first application further comprises: in response to the first positioning data received over the first time period reaching the first packet length and receiving a packet request from the first application, transmitting the first positioning packet to the first application via the first virtual port (Per, fig. 31-35, fig. 51-52, fig. 57, fig. 61-62, fig. 68, [0098]-[0114], [0115]-[0146], [0147]-[0191], [0192]-[0246], [0247]-[0267], [0268]-[0332]: [0138] A Signals Packet service provides a means for generically lumping signals together into discrete packets. A generic SignalPacket interface and implementation provides a means for collecting Signals into a discrete packet. The packet may have a packet header and may be terminated according to a delimiter or according to a fixed or dynamically defined length. A SignalPackets interface and implementation provides a means for parsing a stream of data into discrete SignalPacket instances. A Signals Mapping service provides a generic means for mapping signals from one form into another. [0144] A Time service provides a generic Time abstraction for recording, reading, and operating on a time value. An EventTime abstraction encapsulates information about a time for which an event may occur which includes a delay time before which it first occurs, an indication if it is periodic or not, an indication if it is indefinite or not, a period if it is periodic, and a duration if it is finite. [0193] A Waypoint 790 abstraction encapsulates a position and set of attributes about a discrete location to which a robot travels. A RouteSegment 793 encapsulates a linear route from one waypoint to another waypoint, and attributes about that route such as a collection of features, direction, route segment speed, and length.)
Thus, the systems of Per, does not explicitly teach via a first virtual port among at least one virtual port.
Similar to the systems of Per, Vas teaches a port can represent a physical port or virtual port, which can be seen as, via a first virtual port among at least one virtual port (Vas, fig. 8, [0013]-[0065], [0066]-[0067]: [0028] Network interface 100 includes one or more ports 102-0 to 102-A. A port can represent a physical port or virtual port.).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to improve system performance (Vas, [0018]) of Vas in the system of Per.
In regards to claim 3 and 13, Per teaches the location packet providing apparatus / method, comprising:
wherein the operation of transmitting the first positioning packet to the first application further comprises: filtering out redundant data from the first positioning data based on a data setting to obtain filtered first positioning data (Per, fig. 31-35, fig. 51-52, fig. 57, fig. 61-62, fig. 68, [0098]-[0114], [0115]-[0146], [0147]-[0191], [0192]-[0246], [0247]-[0267], [0268]-[0332]: [0171] The PositionEstimator service extends the SensorEstimator service and consolidates information from multiple sources of position and provides a configurable fashion for fusing data from these sources to provide a more reliable position estimate for the robot. Thus position from one GPS source via a ReferenceSensor object and position from another redundant GPS source via another ReferenceSensor object, may be combined in the PositionEstimator service to fuse and arbitrate, yielding a more robust and accurate position solution.); and
generating the first positioning packet based on the filtered first positioning data (Per, fig. 31-35, fig. 51-52, fig. 57, fig. 61-62, fig. 68, [0098]-[0114], [0115]-[0146], [0147]-[0191], [0192]-[0246], [0247]-[0267], [0268]-[0332]: [0177] A Filter service provides abstractions for filtering data coming from sensors or events. A DataFilter abstraction provides a generic and configurable means for averaging data and filtering out noise across multiple samples of data from a sensor or external event source.).
In regards to claim 4 and 14, Per-Vas-Ki teaches the location packet providing apparatus / method, comprising:
wherein the processor is further configured to receive a plurality of second positioning data from a positioning signal source continuously, and the operation of transmitting the first positioning packet to the first application further comprises (Per, fig. 31-35, fig. 51-52, fig. 57, fig. 61-62, fig. 68, [0098]-[0114], [0115]-[0146], [0147]-[0191], [0192]-[0246], [0247]-[0267], [0268]-[0332]: [0138] Generic implementation include means for copying signal data from one Signals object into another, for copying references from one object to another, and for translating binary signals according to Boolean operations. Additional concrete signal mapping implementations are provided elsewhere in the framework or by applications.):
in response to the first positioning data and the second positioning data received over the first time period reaching the first packet length, transmitting the first positioning packet with the first packet length to the first application via the first virtual port, wherein the first positioning packet comprises the first positioning data and the second positioning data received over the first time period (Per, fig. 31-35, fig. 51-52, fig. 57, fig. 61-62, fig. 68, [0098]-[0114], [0115]-[0146], [0147]-[0191], [0192]-[0246], [0247]-[0267], [0268]-[0332]: [0138] A Signals Packet service provides a means for generically lumping signals together into discrete packets. A generic SignalPacket interface and implementation provides a means for collecting Signals into a discrete packet. The packet may have a packet header and may be terminated according to a delimiter or according to a fixed or dynamically defined length. A SignalPackets interface and implementation provides a means for parsing a stream of data into discrete SignalPacket instances. A Signals Mapping service provides a generic means for mapping signals from one form into another. [0144] A Time service provides a generic Time abstraction for recording, reading, and operating on a time value. An EventTime abstraction encapsulates information about a time for which an event may occur which includes a delay time before which it first occurs, an indication if it is periodic or not, an indication if it is indefinite or not, a period if it is periodic, and a duration if it is finite. [0193] A Waypoint 790 abstraction encapsulates a position and set of attributes about a discrete location to which a robot travels. A RouteSegment 793 encapsulates a linear route from one waypoint to another waypoint, and attributes about that route such as a collection of features, direction, route segment speed, and length.).
Thus, the systems of Per, does not explicitly teach via a first virtual port among at least one virtual port and second positioning packet.
Similar to the systems of Per, Vas teaches a port can represent a physical port or virtual port, which can be seen as, via a first virtual port among at least one virtual port (Vas, fig. 8, [0013]-[0065], [0066]-[0067]: [0028] Network interface 100 includes one or more ports 102-0 to 102-A. A port can represent a physical port or virtual port.).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to improve system performance (Vas, [0018]) of Vas in the system of Per.
Thus, the systems of Per and Vas, does not explicitly teach second positioning packet.
Similar to the system of Per, Ki teaches a sending path between nodes is manages based on a circumferential logical space, which can be seen as, second positioning packet (Ki, fig. 8, fig. 10, fig. 17, [0038]-[0093], [0094]-[0138], [0139]-[0202], [0203]-[0226], [0227]-[0241]: [0134] In Chord, a sending path between nodes is managed based on a circumferential logical space. The circumferential logical space illustrated in FIG. 11 is a circumference which connects the start node “0” and the end node “15”. The nodes 10 are associated with positions (0 to 15 in FIG. 11) aligned in the clockwise direction D1 of the circumference. The positional relationships on the circumference are not physical positional relationships among the nodes 10, but logical positional relationships among the nodes 10.).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to reduce the network load (Ki, [0076]) and improve system performance (Vas, [0018]) of Vas and Ki in the system of Per.
In regards to claim 7 and 17, Per-Ki teaches the location packet providing apparatus / method, comprising:
wherein the processor is further configured to execute the following operations: obtaining an amended packet length, wherein the amended packet length is determined based on the first application, and the amended packet length is different from the first packet length (Per, fig. 31-35, fig. 51-52, fig. 57, fig. 61-62, fig. 68, [0098]-[0114], [0115]-[0146], [0147]-[0191], [0192]-[0246], [0247]-[0267], [0268]-[0332]: [0110] FIG. 9 illustrates the Config service, which provides a generic means for configuring applications. The Config service 540 leverages the Any service 510 for providing generic access to data storable across different underlying mediums transparent to the application interface.); and
determining the second packet length of the second positioning packet based on the amended packet length (Per, fig. 31-35, fig. 51-52, fig. 57, fig. 61-62, fig. 68, [0098]-[0114], [0115]-[0146], [0147]-[0191], [0192]-[0246], [0247]-[0267], [0268]-[0332]: [0138] The packet may have a packet header and may be terminated according to a delimiter or according to a fixed or dynamically defined length.).
Thus, the systems of Per, do not explicitly teach second positioning packet.
Similar to the system of Per, Ki teaches a sending path between nodes is manages based on a circumferential logical space, which can be seen as, second positioning packet (Ki, fig. 8, fig. 10, fig. 17, [0038]-[0093], [0094]-[0138], [0139]-[0202], [0203]-[0226], [0227]-[0241]: [0134] In Chord, a sending path between nodes is managed based on a circumferential logical space. The circumferential logical space illustrated in FIG. 11 is a circumference which connects the start node “0” and the end node “15”. The nodes 10 are associated with positions (0 to 15 in FIG. 11) aligned in the clockwise direction D1 of the circumference. The positional relationships on the circumference are not physical positional relationships among the nodes 10, but logical positional relationships among the nodes 10.).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to reduce the network load (Ki, [0076]) of Ki in the system of Per.
In regards to claim 8 and 18, Per-Vas teaches the location packet providing apparatus / method, comprising:
wherein the amended packet length is obtained in response to the first application determining the first packet length is a wrong length and the first application transmitting the amended packet length via the first virtual port (Per, fig. 31-35, fig. 51-52, fig. 57, fig. 61-62, fig. 68, [0098]-[0114], [0115]-[0146], [0147]-[0191], [0192]-[0246], [0247]-[0267], [0268]-[0332]: [0193] The Navigation service provides a generic set of abstractions for robotic navigation. FIG. 29 illustrates the Navigation Course service, which provides abstractions for encapsulating a route 792 and course 791 over which a robot travels. A Waypoint 790 abstraction encapsulates a position and set of attributes about a discrete location to which a robot travels. A RouteSegment 793 encapsulates a linear route from one waypoint to another waypoint, and attributes about that route such as a collection of features, direction, route segment speed, and length. A Route 792 encapsulates a collection of RouteSegments 793 over which a robot travels. Attributes about the Route 792 include laps, first waypoint, and last waypoint. Operations may be performed on the route to dynamically add, remove, or modify route segments within the route. The route may also be used to track the location of a robot on the route. A TrackSegement 794 is a type of RouteSegment 793 that specifically outlines a desired track over which a robot may or should travel. A TrackSegment 794 defines boundaries within which a robot may travel over a route segement. A Course 791 is a type of Route 792 which defines the TrackSegments 794 over which a robot may or should travel. The actual route taken by a robot may differ from the desired route and the Course 791 defines the boundaries for the robot's travel.).
Thus, the systems of Per, does not explicitly teach first virtual port.
Similar to the systems of Per, Vas teaches a port can represent a physical port or virtual port, which can be seen as, first virtual port (Vas, fig. 8, [0013]-[0065], [0066]-[0067]: [0028] Network interface 100 includes one or more ports 102-0 to 102-A. A port can represent a physical port or virtual port.).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to improve system performance (Vas, [0018]) of Vas in the system of Per.
In regards to claim 9 and 19, Per teaches the location packet providing apparatus / method, comprising:
wherein the operation of obtaining the amended packet length further comprises: generating a user interface, wherein the user interface comprises a plurality of packet length options (Per, fig. 31-35, fig. 51-52, fig. 57, fig. 61-62, fig. 68, [0098]-[0114], [0115]-[0146], [0147]-[0191], [0192]-[0246], [0247]-[0267], [0268]-[0332]: [0195] A RouteNetworkReader interface is implemented to parse different map formats. One concrete format is a route data definition file (RDDF) format as used in the DARPA Grand Challenge. Another concrete format is a route network definition file (RNDF) format as used in the DARPA Urban Challenge.); and
obtaining the amended packet length based on one of the packet length options selected in the user interface (Per, fig. 31-35, fig. 51-52, fig. 57, fig. 61-62, fig. 68, [0098]-[0114], [0115]-[0146], [0147]-[0191], [0192]-[0246], [0247]-[0267], [0268]-[0332]: [0200] [0200] A Thought service provides a Thought interface 7940 and ThoughtGeneric 7930 implementation which models a thought process. The generic means for modeling artificial intelligence is achieved in this fashion. Concrete subtypes from this service's abstractions are used to embody different types of thought processes such as analysis, inference, deduction, and planning. A Rules service provides a Rule, RuleGeneric, Rules, and RulesGe-neric implementation for encapsulating rules of behavior. Poprietary, custom, and third-party rule engines seamlessly plug into the framework using these abstractions.).
Allowable Subject Matter
Claims 5-6, 10 and 15-16, 20 objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Francesca Lima Santos whose telephone number is (571)272-6521. The examiner can normally be reached Monday thru Friday 7:30am-5pm, ET.
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, Marcus R Smith can be reached at (571) 270-1096. 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.
/FRANCESCA LIMA SANTOS/Examiner, Art Unit 2468
/MARCUS SMITH/Supervisory Patent Examiner, Art Unit 2468