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 .
Information Disclosure Statement
The information disclosure statements (IDS) submitted on December 12, 2024 were filed on the filing date of the application on December 12, 2024. The submissions are in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statements are being considered by the examiner.
Drawings
The drawings were received on December 12, 2024. These drawings are accepted.
Claim Objections
Claim 1 is objected to because of the following informalities:
Claim 1 recites, “…anda distributed three-dimensional (3D) engine…” but should recite, “…anda distributed three-dimensional (3D) engine…”
Appropriate correction is required.
Double Patenting
The non-statutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A non-statutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on non-statutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The filing of a terminal disclaimer by itself is not a complete reply to a non-statutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer.
Claims 1-20 are rejected on the ground of non-statutory double patenting as being unpatentable over claims 1, 2, 4, 6-11, and 14-17 of U.S. Patent No. 12,205,194 in view of Basavaiah et al. (US 2014/0282526). Please see the tables below.
Present Application #18/978,949
1
2
3
4
5
6
7
8
9
10
U.S. Patent #12,205,194
1
1
2
4
1
6
7
1
1
8
Present Application #18/978,949
11
12
13
14
15
16
17
18
19
20
U.S. Patent #12,205,194
9
10
10
11
10
14
10
15
16
17
Present Application #18/978,949 Claim 1
U.S. Patent #12,205,194 Claim 1
A system comprising:
A system comprising:
one or more server computers comprising memory and at least one processor, the memory storing:
one or more server computers comprising memory and at least one processor, the memory storing:
a data structure virtualizing at least one portion of a virtual or real world into a plurality of cells storing virtual objects forming a virtual world system; and
a data structure virtualizing at least one portion of a virtual or real world into a plurality of cells storing virtual objects forming a persistent virtual world system; and
a distributed three-dimensional (3D) engine, the distributed 3D engine comprising a plurality of distributed software engines,
a distributed three-dimensional (3D) engine, the distributed 3D engine comprising a plurality of distributed software engines,
wherein the distributed software engines are used sequentially or in parallel, through the distributed deployment, to complement engine services of each other for realization of at least one task.
wherein resources are dynamically allocated via a distributed deployment to the plurality of cells based on a current load of the plurality of cells;
wherein an original number of the plurality of cells representing one or more areas of the at least one portion of the virtual or real world are partitioned into a greater number of cells,
wherein the resources are restored based on one or more requests, and
wherein each cell of the plurality of cells comprises one or more streams, each stream comprising a plurality of stream-specific virtual objects being programmed to be enabled or disabled for viewing on and interacting with client devices, and
wherein each stream is associated with one or more applications.
Claim 1 of the present application differs from claim 1 of the patent application in that claim 1 of the present application is broader in scope than claim 1 of the patent application, thus encompasses most of the patent application. Additionally, claim 1 of the present application recites, “…wherein the distributed software engines are used sequentially or in parallel, through the distributed deployment, to complement engine services of each other for realization of at least one task…” which is not recited by the claim 1 of the patent application.
However, Basavaiah et al. disclose a distributed engine, the distributed engine comprising a plurality of distributed software engines (one or more service engines 214, where [0034] notes a service engine may be implemented as software executing in a virtual machine, where software is typically stored in memory, where [0038] further notes the service engines cooperate to function as a single entity, forming a distributed network service layer 256 to provide services to the target applications, thus may be considered a distributed engine), wherein the distributed software engines are used sequentially or in parallel, through the distributed deployment, to complement engine services of each other for realization of at least one task ([0034] notes the one or more service engines are executed to provide distributed network services for applications executing on the same physical server as the service engine, and/or for applications executing on different physical servers, the service engine may be configured to enable appropriate service components that implement service logic, e.g. a load balancer component, [0047] further notes load balancing logic implemented as load balancing components 252, 254 provided by the service engines is replicated across the servers, [0057] notes multiple service components, e.g. load balancing components 252, 254, may be configured to perform processing sequentially or in parallel, where tasks performed may include that as described by processes 300, 500, 600, 700, 900, 950, 1100, 1200, 1300, and 1350 of Figures 3, 5, 6, 7, 9A, 9B, 11, 12, 13A, and 13B, respectively).
It would have been obvious to one of ordinary skill in the art at the time of the invention to modify the patent application’s distributed three-dimensional (3D) engine comprising a plurality of distributed software engines to operate sequentially or in parallel, through the distributed deployment, to complement engine services of each other for realization of at least one task as described in Basavaiah et al. to further improve load balancing amongst a plurality of servers (e.g. see at least [0038]-[0041] of Basavaiah et al.).
Present Application #18/978,949 Claim 2
U.S. Patent #12,205,194 Claim 1
The system of claim 1, wherein
A system comprising…
an original number of the plurality of cells representing one or more areas of the at least one portion of the virtual or real world are partitioned into a greater number of cells.
…wherein an original number of the plurality of cells representing one or more areas of the at least one portion of the virtual or real world are partitioned into a greater number of cells…
Present Application #18/978,949 Claim 3
U.S. Patent #12,205,194 Claim 2
The system of claim 2, wherein
The system of claim 1, wherein
the at least one portion of the virtual or real world is consolidated back into the original number of cells.
the at least one portion of the virtual or real world is consolidated back into the original number of cells.
Present Application #18/978,949 Claim 4
U.S. Patent #12,205,194 Claim 4
The system of claim 1, wherein
The system of claim 1, wherein
at least one of the virtual objects are virtual replicas of corresponding real world elements.
at least one of the virtual objects of the persistent virtual world system comprise self-computing capabilities and autonomous behavior.
Present Application #18/978,949 Claim 5
U.S. Patent #12,205,194 Claim 1
The system of claim 1, wherein
A system comprising: one or more server computers comprising memory and at least one processor,
the memory stores a distributed three-dimensional (3D) engine, the distributed 3D engine comprising a plurality of distributed software engines.
the memory storing… a distributed three-dimensional (3D) engine, the distributed 3D engine comprising a plurality of distributed software engines…
Present Application #18/978,949 Claim 6
U.S. Patent #12,205,194 Claim 6
The system of claim 1, wherein
The system of claim 1, wherein
the data structure is an octree data structure,
the data structure is an octree data structure,
wherein at least one of the plurality cells is represented as a voxel within the octree data structure, and
wherein at least one of the plurality cells is represented as a voxel within the octree data structure, and
wherein the voxel representing the at least one of the plurality of cells is selected from among a sparse voxel and a dense voxel based on a size of the at least one of the plurality of cells.
wherein the voxel representing the at least one of the plurality of cells is selected from among a sparse voxel and a dense voxel based on a size of the at least one of the plurality of cells.
Present Application #18/978,949 Claim 7
U.S. Patent #12,205,194 Claim 7
The system of claim 1, wherein
The system of claim 1, wherein
the data structure comprises at least one of BSP trees, sparse voxel octrees, 3D arrays, kD trees, point clouds, wire-frames, boundary representations (B- Rep), constructive solid geometry trees (CSG Trees), bintrees, or hexagonal structures, or combinations thereof.
the data structure comprises at least one of BSP trees, sparse voxel octrees, 3D arrays, kD trees, point clouds, wire-frames, boundary representations (B-Rep), constructive solid geometry trees (CSG Trees), bintrees, or hexagonal structures, or combinations thereof.
Present Application #18/978,949 Claim 8
U.S. Patent #12,205,194 Claim 1
The system of claim 1, wherein
A system comprising…
resources are dynamically allocated via a distributed deployment to the plurality of cells based on a current load of the plurality of cells.
… wherein resources are dynamically allocated via a distributed deployment to the plurality of cells based on a current load of the plurality of cells…
Present Application #18/978,949 Claim 9
U.S. Patent #12,205,194 Claim 1
The system of claim 8, wherein
A system comprising…
the resources are restored based on one or more requests.
…wherein the resources are restored based on one or more requests, and
Present Application #18/978,949 Claim 10
U.S. Patent #12,205,194 Claim 8
The system of claim 1, wherein
The system of claim 1, wherein
a resource manager of a distributed 3D engine performs the allocation of the resources through a distributed message exchange platform,
a resource manager of a distributed 3D engine performs the allocation of the resources through a distributed message exchange platform,
wherein the distributed message exchange platform utilizes a publish-subscribe model, and
wherein the distributed message exchange platform utilizes a publish-subscribe model, and
wherein at least one of the virtual objects subscribe to at least one of the plurality of cells where the resources are published.
wherein at least one of the virtual objects subscribe to at least one of the plurality of cells where the resources are published.
Present Application #18/978,949 Claim 11
U.S. Patent #12,205,194 Claim 9
The system of claim 10, wherein
The system of claim 8, wherein
the distributed message exchange platform shares a dynamically updated state of the at least one portion of the virtual or real world stored in the memory with one or more client devices or servers,
the distributed message exchange platform shares a dynamically updated state of the at least one portion of the virtual or real world stored in the memory with one or more client devices or servers,
wherein the dynamically updated state is modified through data obtained by one or more of a plurality of connected devices including sensors providing sensor data to the persistent virtual world system, by user input, by server computations, or combinations thereof.
wherein the dynamically updated state is modified through data obtained by one or more of a plurality of connected devices including sensors providing sensor data to the persistent virtual world system, by user input, by server computations, or combinations thereof.
Present Application #18/978,949 Claim 12
U.S. Patent #12,205,194 Claim 10
A method comprising:
A method comprising:
providing, in memory of at least one server computer, a data structure virtualizing at least one portion of a virtual or real world into a plurality of cells storing virtual objects forming a virtual world system; and
providing, in memory of at least one server computer, a data structure virtualizing at least one portion of a virtual or real world into a plurality of cells storing virtual objects forming a persistent virtual world system,
wherein at least one of the virtual objects are virtual replicas of corresponding real world elements;
providing, in the memory of the at least one server computer, a distributed three- dimensional (3D) engine, the distributed 3D engine comprising a plurality of distributed software engines;
providing, in the memory of the at least one server computer, a distributed three-dimensional (3D) engine, the distributed 3D engine comprising a plurality of distributed software engines; and
wherein the distributed software engines are used sequentially or in parallel, through the distributed deployment, to complement engine services of each other for realization of at least one task.
dynamically allocating resources to the individual cells based on a current load of the plurality of cells,
wherein an original number of the plurality of cells representing one or more areas of the at least one portion of the virtual or real world are partitioned into a greater number of cells,
herein the resources are restored based on one or more requests, and
wherein each of the plurality of cells comprises at least one stream, the at least one stream comprising a plurality of stream-specific virtual objects and being configured to be enabled or disabled for viewing on and interacting with client devices, and
wherein the at least one stream is associated with one or more user applications.
Claim 12 of the present application is similar in scope to claim 1 of the present application. Claim 12 of the present application differs from claim 10 of the patent application for similar reasons as noted for claim 1 of the present application. Please see the details for claim 1 outlined above.
Present Application #18/978,949 Claim 13
U.S. Patent #12,205,194 Claim 10
The method of claim 12, wherein
A method comprising…
an original number of the plurality of cells representing one or more areas of the at least one portion of the virtual or real world are partitioned into a greater number of cells.
…wherein an original number of the plurality of cells representing one or more areas of the at least one portion of the virtual or real world are partitioned into a greater number of cells…
Present Application #18/978,949 Claim 14
U.S. Patent #12,205,194 Claim 11
The method of claim 13, wherein
The method of claim 10, wherein
the at least one portion of the virtual or real world is consolidated back into the original number of cells.
the at least one portion of the virtual or real world is consolidated back into the original number of cells.
Present Application #18/978,949 Claim 15
U.S. Patent #12,205,194 Claim 10
The method of claim 12, wherein
A method comprising…
at least one of the virtual objects are virtual replicas of corresponding real world elements.
…wherein at least one of the virtual objects are virtual replicas of corresponding real world elements…
Present Application #18/978,949 Claim 16
U.S. Patent #12,205,194 Claim 14
The method of claim 12, further comprising
The method of claim 10, further comprising
providing an octree data structure as the data structure representing the virtual or real world, and
providing an octree data structure as the data structure representing the virtual or real world, and
wherein at least one of the plurality of cells is represented as a voxel, and wherein the voxel representing the at least one of the plurality of cells is selected from among a sparse voxel and a dense voxel based on size of the at least one of the plurality of cells.
wherein at least one of the plurality of cells is represented as a voxel, and wherein the voxel representing the at least one of the plurality of cells is selected from among a sparse voxel and a dense voxel based on size of the at least one of the plurality of cells.
Present Application #18/978,949 Claim 17
U.S. Patent #12,205,194 Claim 10
The method of claim 12, further comprising
A method comprising…
dynamically allocating resources to the individual cells based on a current load of the plurality of cells.
…dynamically allocating resources to the individual cells based on a current load of the plurality of cells…
Present Application #18/978,949 Claim 18
U.S. Patent #12,205,194 Claim 15
The method of claim 12, further comprising:
The method of claim 10, further comprising:
partitioning, based on a demand of the plurality of cells, the one or more areas of the at least one portion of the virtual or real world into additional cells; and
partitioning, based on a demand of the plurality of cells, the one or more areas of the at least one portion of the virtual or real world into additional cells; and
allocating corresponding resources to the additional cells.
allocating corresponding resources to the additional cells.
Present Application #18/978,949 Claim 19
U.S. Patent #12,205,194 Claim 16
The method of claim 18, wherein the allocation of the resources is performed by:
The method of claim 10, wherein the allocation of the resources is performed by:
publishing the resources to corresponding cells through a distributed message exchange platform of a resource manager using a publish-subscribe model; and
publishing the resources to corresponding cells through a distributed message exchange platform of a resource manager using a publish-subscribe model; and
subscribing, by the one or more virtual objects, to at least one of the plurality of cells order to obtain required resources.
subscribing, by the one or more virtual objects, to at least one of the plurality of cells order to obtain required resources.
Present Application #18/978,949 Claim 20
U.S. Patent #12,205,194 Claim 17
One or more non-transitory computer-readable media having stored thereon instructions configured to, when executed by one or more computers, cause the one or more computers to perform steps comprising:
One or more non-transitory computer-readable media having stored thereon instructions configured to, when executed by one or more computers, cause the one or more computers to perform steps comprising:
providing, in memory of at least one server computer, a data structure virtualizing at least one portion of a virtual or real world into a plurality of cells storing virtual objects forming a virtual world system; and
providing, in memory of at least one server computer, a data structure virtualizing at least one portion of a virtual or real world into a plurality of cells storing virtual objects forming a persistent virtual world system,
wherein at least one of the virtual objects are virtual replicas of corresponding real world elements;
providing, in the memory of the at least one server computer, a distributed three- dimensional (3D) engine, the distributed 3D engine comprising a plurality of distributed software engines;
providing, in the memory of the at least one server computer, a distributed three-dimensional (3D) engine, the distributed 3D engine comprising a plurality of distributed software engines; and
wherein the distributed software engines are used sequentially or in parallel, through the distributed deployment, to complement engine services of each other for realization of at least one task.
dynamically allocating resources to the individual cells based on a current load of the plurality of cells,
wherein an original number of the plurality of cells representing one or more areas of the at least one portion of the virtual or real world are partitioned into a greater number of cells, and
wherein the resources are restored based on one or more requests, and
wherein each of the plurality of cells comprises at least one stream, the at least one stream comprising a plurality of stream-specific virtual objects and being configured to be enabled or disabled for viewing on and interacting with client devices, and
wherein the at least one stream is associated with one or more user applications.
Claim 20 of the present application is similar in scope to claim 1 of the present application. Claim 20 of the present application differs from claim 17 of the patent application for similar reasons as noted for claim 1 of the present application. Please see the details for claim 1 outlined above.
Claims 1-20 are rejected on the ground of non-statutory double patenting as being unpatentable over claims 1, 4, 6-9, 11, 15-17, and 19 of U.S. Patent No. 11,798,119 in view of Basavaiah et al. (US 2014/0282526). Please see the tables below.
Present Application #18/978,949
1
2
3
4
5
6
7
8
9
10
U.S. Patent #11,798,119
1
1
1
4
1
6
7
1
1
8
Present Application #18/978,949
11
12
13
14
15
16
17
18
19
20
U.S. Patent #11,798,119
9
11
11
11
11
15
11
16
17
19
Present Application #18/978,949 Claim 1
U.S. Patent #11,798,119 Claim 1
A system comprising:
A system comprising:
one or more server computers comprising memory and at least one processor, the memory storing:
one or more server computers comprising memory and at least one processor, the memory storing:
a data structure virtualizing at least one portion of a virtual or real world into a plurality of cells storing virtual objects forming a virtual world system; and
a data structure virtualizing at least one portion of a virtual or real world into a plurality of cells storing virtual objects forming a persistent virtual world system; and
a distributed three- dimensional (3D) engine, the distributed 3D engine comprising a plurality of distributed software engines,
a distributed 3D engine implemented in a distributed deployment, the distributed 3D engine comprising a resource manager and a plurality of individual distributed software engines;
wherein the distributed software engines are used sequentially or in parallel, through the distributed deployment, to complement engine services of each other for realization of at least one task.
wherein resources are dynamically allocated via the distributed deployment to the plurality of cells based on a current load and a corresponding computed and ranked demand of individual ones of the plurality of cells,
wherein said ranked demand is based on a number of virtual objects within a field of view of a user avatar within an individual cell, and
wherein an original number of the plurality of cells representing areas of interest from the at least one portion of the virtual or real world are further partitioned into a greater number of cells,
wherein the resources are restored after ending an event associated with one or more requests, and
wherein the at least one portion of the virtual or real world is consolidated back into the original number of cells.
Claim 1 of the present application differs from claim 1 of the patent application in that claim 1 of the present application is broader in scope than claim 1 of the patent application, thus encompasses most of the patent application. Additionally, claim 1 of the present application recites, “…wherein the distributed software engines are used sequentially or in parallel, through the distributed deployment, to complement engine services of each other for realization of at least one task…” which is not recited by the claim 1 of the patent application.
However, Basavaiah et al. disclose a distributed engine, the distributed engine comprising a plurality of distributed software engines (one or more service engines 214, where [0034] notes a service engine may be implemented as software executing in a virtual machine, where software is typically stored in memory, where [0038] further notes the service engines cooperate to function as a single entity, forming a distributed network service layer 256 to provide services to the target applications, thus may be considered a distributed engine), wherein the distributed software engines are used sequentially or in parallel, through the distributed deployment, to complement engine services of each other for realization of at least one task ([0034] notes the one or more service engines are executed to provide distributed network services for applications executing on the same physical server as the service engine, and/or for applications executing on different physical servers, the service engine may be configured to enable appropriate service components that implement service logic, e.g. a load balancer component, [0047] further notes load balancing logic implemented as load balancing components 252, 254 provided by the service engines is replicated across the servers, [0057] notes multiple service components, e.g. load balancing components 252, 254, may be configured to perform processing sequentially or in parallel, where tasks performed may include that as described by processes 300, 500, 600, 700, 900, 950, 1100, 1200, 1300, and 1350 of Figures 3, 5, 6, 7, 9A, 9B, 11, 12, 13A, and 13B, respectively).
It would have been obvious to one of ordinary skill in the art at the time of the invention to modify the patent application’s distributed three-dimensional (3D) engine comprising a plurality of distributed software engines to operate sequentially or in parallel, through the distributed deployment, to complement engine services of each other for realization of at least one task as described in Basavaiah et al. to further improve load balancing amongst a plurality of servers (e.g. see at least [0038]-[0041] of Basavaiah et al.).
Present Application #18/978,949 Claim 2
U.S. Patent #11,798,119 Claim 1
The system of claim 1, wherein
A system comprising…
an original number of the plurality of cells representing one or more areas of the at least one portion of the virtual or real world are partitioned into a greater number of cells.
…wherein an original number of the plurality of cells representing areas of interest from the at least one portion of the virtual or real world are further partitioned into a greater number of cells…
Present Application #18/978,949 Claim 3
U.S. Patent #11,798,119 Claim 1
The system of claim 2, wherein
A system comprising…
the at least one portion of the virtual or real world is consolidated back into the original number of cells.
…wherein the at least one portion of the virtual or real world is consolidated back into the original number of cells.
Present Application #18/978,949 Claim 4
U.S. Patent #11,798,119 Claim 4
The system of claim 1, wherein
The system of claim 1, wherein
at least one of the virtual objects are virtual replicas of corresponding real world elements.
at least some of the virtual objects of the persistent virtual world system comprise self-computing capabilities and autonomous behavior.
Present Application #18/978,949 Claim 5
U.S. Patent #11,798,119 Claim 1
The system of claim 1, wherein
A system comprising: one or more server computers comprising memory and at least one processor,
the memory stores a distributed three-dimensional (3D) engine, the distributed 3D engine comprising a plurality of distributed software engines.
the memory storing… a distributed 3D engine implemented in a distributed deployment, the distributed 3D engine comprising a resource manager and a plurality of individual distributed software engines…
Present Application #18/978,949 Claim 6
U.S. Patent #11,798,119 Claim 6
The system of claim 1, wherein
The system of claim 1, wherein
the data structure is an octree data structure,
the data structure is an octree data structure, and
wherein at least one of the plurality cells is represented as a voxel within the octree data structure, and
wherein each cell is represented as a voxel within the octree data structure,
wherein the voxel representing the at least one of the plurality of cells is selected from among a sparse voxel and a dense voxel based on a size of the at least one of the plurality of cells.
wherein the voxel representing the individual cell is selected from among a sparse voxel and a dense voxel based on size of the individual cell.
Present Application #18/978,949 Claim 7
U.S. Patent #11,798,119 Claim 7
The system of claim 1, wherein
The system of claim 1, wherein
the data structure comprises at least one of BSP trees, sparse voxel octrees, 3D arrays, kD trees, point clouds, wire-frames, boundary representations (B- Rep), constructive solid geometry trees (CSG Trees), bintrees, or hexagonal structures, or combinations thereof.
the data structure comprises one or more of BSP trees, sparse voxel octrees, 3D arrays, kD trees, point clouds, wire-frames, boundary representations (B-Rep), constructive solid geometry trees (CSG Trees), bintrees, and hexagonal structures.
Present Application #18/978,949 Claim 8
U.S. Patent #11,798,119 Claim 1
The system of claim 1, wherein
A system comprising…
resources are dynamically allocated via a distributed deployment to the plurality of cells based on a current load of the plurality of cells.
…wherein resources are dynamically allocated via the distributed deployment to the plurality of cells based on a current load and a corresponding computed and ranked demand of individual ones of the plurality of cells…
Present Application #18/978,949 Claim 9
U.S. Patent #11,798,119 Claim 1
The system of claim 8, wherein
A system comprising…
the resources are restored based on one or more requests.
…wherein the resources are restored after ending an event associated with one or more requests…
Present Application #18/978,949 Claim 10
U.S. Patent #11,798,119 Claim 8
The system of claim 1, wherein
The system of claim 1, wherein
a resource manager of a distributed 3D engine performs the allocation of the resources through a distributed message exchange platform,
the resource manager performs the allocation through a distributed message exchange platform,
wherein the distributed message exchange platform utilizes a publish-subscribe model, and
wherein the distributed message exchange platform utilizes a publish-subscribe model, and
wherein at least one of the virtual objects subscribe to at least one of the plurality of cells where the resources are published.
wherein one or more virtual objects subscribe to one or more cells where resources are published.
Present Application #18/978,949 Claim 11
U.S. Patent #11,798,119 Claim 9
The system of claim 10, wherein
The system of claim 8, wherein
the distributed message exchange platform shares a dynamically updated state of the at least one portion of the virtual or real world stored in the memory with one or more client devices or servers,
the distributed message exchange platform shares a dynamically updated state of the at least one portion of the virtual or real world stored in the memory with one or more client devices or servers, and
wherein the dynamically updated state is modified through data obtained by one or more of a plurality of connected devices including sensors providing sensor data to the persistent virtual world system, by user input, by server computations, or combinations thereof.
wherein the dynamically updated state is modified through data obtained by one or more of a plurality of connected devices including sensors providing sensor data to the persistent virtual world system, by user input, by server computations, or combinations thereof.
Present Application #18/978,949 Claim 12
U.S. Patent #11,798,119 Claim 11
A method comprising:
A method comprising:
providing, in memory of at least one server computer, a data structure virtualizing at least one portion of a virtual or real world into a plurality of cells storing virtual objects forming a virtual world system; and
providing, in the memory of at least one server computer, a data structure virtualizing at least one portion of a virtual or real world into a plurality of cells storing virtual objects forming a persistent virtual world system,
wherein at least some of the virtual objects are virtual replicas of corresponding real world elements;
providing, in the memory of the at least one server computer, a distributed three- dimensional (3D) engine, the distributed 3D engine comprising a plurality of distributed software engines;
providing, in the memory of the at least one server computer, a distributed 3D engine implemented in a distributed deployment, the distributed 3D engine comprising a resource manager and a plurality of individual distributed software engines;
wherein the distributed software engines are used sequentially or in parallel, through the distributed deployment, to complement engine services of each other for realization of at least one task.
computing, by the resource manager based on a current load, demand of individual ones of the plurality of cells,
wherein said demand is based on a number of virtual objects within a field of view of a user avatar within an individual cell;
ranking the individual cells by demand; and
based on the ranked demand, dynamically allocating resources to the individual cells,
wherein an original number of the plurality of cells representing areas of interest from the at least one portion of the virtual or real world are further partitioned into a greater number of cells,
wherein the resources are restored after ending an event associated with one or more requests, and
wherein the at least one portion of the virtual or real world is consolidated back into the original number of cells.
Claim 12 of the present application is similar in scope to claim 1 of the present application. Claim 12 of the present application differs from claim 11 of the patent application for similar reasons as noted for claim 1 of the present application. Please see the details for claim 1 outlined above.
Present Application #18/978,949 Claim 13
U.S. Patent #11,798,119 Claim 11
The method of claim 12, wherein
A method comprising…
an original number of the plurality of cells representing one or more areas of the at least one portion of the virtual or real world are partitioned into a greater number of cells.
…wherein an original number of the plurality of cells representing areas of interest from the at least one portion of the virtual or real world are further partitioned into a greater number of cells…
Present Application #18/978,949 Claim 14
U.S. Patent #11,798,119 Claim 11
The method of claim 13, wherein
A method comprising…
the at least one portion of the virtual or real world is consolidated back into the original number of cells.
…wherein the at least one portion of the virtual or real world is consolidated back into the original number of cells…
Present Application #18/978,949 Claim 15
U.S. Patent #11,798,119 Claim 11
The method of claim 12, wherein
A method comprising…
at least one of the virtual objects are virtual replicas of corresponding real world elements.
wherein at least some of the virtual objects are virtual replicas of corresponding real world elements;
Present Application #18/978,949 Claim 16
U.S. Patent #11,798,119 Claim 15
The method of claim 12, further comprising
The method of claim 11, further comprising
providing an octree data structure as the data structure representing the virtual or real world, and
providing an octree data structure as the data structure representing the virtual or real world,
wherein at least one of the plurality of cells is represented as a voxel, and wherein the voxel representing the at least one of the plurality of cells is selected from among a sparse voxel and a dense voxel based on size of the at least one of the plurality of cells.
wherein each cell is represented as a voxel, and wherein the voxel representing the individual cell is selected from among a sparse voxel and a dense voxel based on size of the individual cell.
Present Application #18/978,949 Claim 17
U.S. Patent #11,798,119 Claim 11
The method of claim 12, further comprising
A method comprising…
dynamically allocating resources to the individual cells based on a current load of the plurality of cells.
…ranking the individual cells by demand; and based on the ranked demand, dynamically allocating resources to the individual cells…
Present Application #18/978,949 Claim 18
U.S. Patent #11,798,119 Claim 16
The method of claim 12, further comprising:
The method of claim 11, further comprising:
partitioning, based on a demand of the plurality of cells, the one or more areas of the at least one portion of the virtual or real world into additional cells; and
partitioning, based on the computed demand, at least one area of interest of the at least one portion of the virtual or real world into additional cells;
allocating corresponding resources to the additional cells.
allocating corresponding resources to the additional cells.
Present Application #18/978,949 Claim 19
U.S. Patent #11,798,119 Claim 17
The method of claim 18, wherein the allocation of the resources is performed by:
The method of claim 11, wherein said allocation is performed by:
publishing the resources to corresponding cells through a distributed message exchange platform of a resource manager using a publish-subscribe model; and
publishing resources to the corresponding cells through a distributed message exchange platform of the resource manager using a publish-subscribe model; and
subscribing, by the one or more virtual objects, to at least one of the plurality of cells order to obtain required resources.
subscribing, by the one or more virtual objects, to the cells of interest in order to obtain required resources.
Present Application #18/978,949 Claim 20
U.S. Patent #11,798,119 Claim 19
One or more non-transitory computer-readable media having stored thereon instructions configured to, when executed by one or more computers, cause the one or more computers to perform steps comprising:
One or more non-transitory computer-readable media having stored thereon instructions configured to, when executed by one or more computers, cause the one or more computers to perform steps comprising:
providing, in memory of at least one server computer, a data structure virtualizing at least one portion of a virtual or real world into a plurality of cells storing virtual objects forming a virtual world system; and
providing a data structure virtualizing at least one portion of a virtual or real world into a plurality of cells storing virtual objects forming a persistent virtual world system,
wherein at least some of the virtual objects are virtual replicas of corresponding real world elements;
providing, in the memory of the at least one server computer, a distributed three- dimensional (3D) engine, the distributed 3D engine comprising a plurality of distributed software engines;
providing a distributed 3D engine implemented in a distributed deployment, the distributed 3D engine comprising a resource manager and a plurality of individual distributed software engines;
wherein the distributed software engines are used sequentially or in parallel, through the distributed deployment, to complement engine services of each other for realization of at least one task.
computing, by the resource manager based on a current load, demand of individual ones of the plurality of cells,
wherein said demand is based on a number of virtual objects a field of view of a user avatar within an individual cell;
ranking the individual cells by demand; and
based on the ranked demand, dynamically allocating resources to the individual cells,
wherein an original number of the plurality of cells representing areas of interest from the at least one portion of the virtual or real world are further partitioned into a greater number of cells,
wherein the resources are restored after ending an event associated with one or more requests, and
wherein the at least one portion of the virtual or real world is consolidated back into the original number of cells.
Claim 20 of the present application is similar in scope to claim 1 of the present application. Claim 20 of the present application differs from claim 19 of the patent application for similar reasons as noted for claim 1 of the present application. Please see the details for claim 1 outlined above.
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.
Claim(s) 1, 2, 4, 5, 7, 8, 10, 12, 13, 15, 17-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Chapman et al. (US 2010/0113159) in view of Basavaiah et al. (US 2014/0282526).
As to claim 1, Chapman et al. disclose a system (Figure 1, system 10) comprising: one or more server computers (e.g. client proxy servers 14 and/or game engine servers 16) comprising memory and at least one processor (e.g. known components of servers), the memory storing: a data structure virtualizing at least one portion of a virtual or real world (e.g. virtual world map 20 with a number of interlinked rooms 21) into a plurality of cells (e.g. cells 23 of grid 22) storing virtual objects (e.g. objects and avatars) forming a virtual world system (e.g. world simulation)(e.g. Figure 3 illustrates and associated text, e.g. [0034], notes virtual world map 20 shown on a two-dimensional coordinate system centered on (0,0), Figure 4 illustrates and associated text, e.g. [0036], notes a logical grid 22 superimposed on the virtual world map 20, where grid 22 includes twenty cells 23 (as an example) and each cell capable of containing 100 avatars, see also [0037]-[0039]); and a distributed three-dimensional (3D) engine, the distributed 3D engine comprising a plurality of distributed software engines (e.g. plurality of game engine servers 16 managed by corresponding engine agents 19, where Figure 5, different servers responsible for different cells of the grid, where [0042] notes load balancing where the load may be dynamically adjusted from a server to a different server, thus may be considered that although there are a plurality of game servers, they may be considered a distributed three-dimensional engine as they work together).
As noted above, Chapman et al. disclose a distributed three-dimensional (3D) engine, the distributed 3D engine comprising a plurality of distributed software engines, where Chapman et al. further disclose load balancing amongst the plurality of distributed software engines ([0040]-[0042]). However, Chapman et al. differ from the invention as defined in claim 1 in that Chapman et al. do not disclose “…wherein the distributed software engines are used sequentially or in parallel, through the distributed deployment, to complement engine services of each other for realization of at least one task.”
Basavaiah et al. also disclose a system (Figure 2, distributed network service platform, further illustrated in Figures 4, 8, and 10) comprising: one or more server computers (servers 202, 204, 206) comprising memory (e.g. memory) and at least one processor (e.g. hardware 208, [0031] notes hardware supports operating system software in which a number of virtual machines (VMs) 218, 219 are configured to execute), the memory storing: a distributed engine, the distributed engine comprising a plurality of distributed software engines (one or more service engines 214, where [0034] notes a service engine may be implemented as software executing in a virtual machine, where software is typically stored in memory, where [0038] further notes the service engines cooperate to function as a single entity, forming a distributed network service layer 256 to provide services to the target applications, thus may be considered a distributed engine), wherein the distributed software engines are used sequentially or in parallel, through the distributed deployment, to complement engine services of each other for realization of at least one task ([0034] notes the one or more service engines are executed to provide distributed network services for applications executing on the same physical server as the service engine, and/or for applications executing on different physical servers, the service engine may be configured to enable appropriate service components that implement service logic, e.g. a load balancer component, [0047] further notes load balancing logic implemented as load balancing components 252, 254 provided by the service engines is replicated across the servers, [0057] notes multiple service components, e.g. load balancing components 252, 254, may be configured to perform processing sequentially or in parallel, where tasks performed may include that as described by processes 300, 500, 600, 700, 900, 950, 1100, 1200, 1300, and 1350 of Figures 3, 5, 6, 7, 9A, 9B, 11, 12, 13A, and 13B, respectively).
It would have been obvious to one of ordinary skill in the art at the time of the invention to modify the Chapman et al.’s distributed three-dimensional (3D) engine comprising a plurality of distributed software engines to operate sequentially or in parallel, through the distributed deployment, to complement engine services of each other for realization of at least one task as described in Basavaiah et al. to further improve load balancing amongst a plurality of servers (e.g. see at least [0038]-[0041] of Basavaiah et al.).
As to claim 2, Chapman et al. modified with Basavaiah et al. disclose an original number of the plurality of cells (Chapman, e.g. cells 23 of grid 22) representing one or more areas of the at least one portion of the virtual or real world are partitioned into a greater number of cells (Chapman, Figure 4 and associated text, e.g. [0036] notes size of grid cells is such that all servers within the cluster are capable of supporting at least one grid cell when the activity within the cell is at a maximum, [0037] notes the number and sizes of the grid cells may vary, Figure 5 illustrates cells 23 of different sizes, computed by different algorithms including based on the computational capacity of the game engine servers and also the geospatial relationships of the grid cells, where the associated text, e.g. [0040] thru [0042], notes distribution 30 for cells 23 between a number of game engine servers 16 utilizing grid 22, where the selection of which management cells 23 are associated with which servers 16 can be computed by different algorithms including based on the computational capacity of the game engine servers and also the geospatial relationships of the grid cells, where during execution of the world simulation, the load on individual game engine servers may change, thus the partitioning of the system may be changed dynamically by publishing requests with the framework 18 to the different game engine servers may move responsibility for one or more cells between them).
As to claim 4, Chapman et al. modified with Basavaiah et al. disclose at least one of the virtual objects are virtual replicas of corresponding real world elements (Chapman, e.g. objects and avatars, e.g. [0016] notes game simulation includes virtual world with objects and avatars, where [0018] notes avatar represents a client, e.g. as a player of the game, thus represents a real person).
As to claim 5, Chapman et al. modified with Basavaiah et al. disclose the memory stores a distributed three-dimensional (3D) engine, the distributed 3D engine comprising a plurality of distributed software engines (Chapman, e.g. as noted in claim 1, game servers as the distributed three-dimensional engine, comprising a plurality of distributed software engines, where servers are known in the art as mass storage devices, e.g. memory; modified with Basavaiah, e.g. as noted in claim 1, one or more service engines may be implemented in software, thus stored in memory).
As to claim 7, Chapman et al. modified with Basavaiah et al. disclose the data structure comprises at least one of BSP trees, sparse voxel octrees, 3D arrays, kD trees, point clouds, wire-frames, boundary representations (B-Rep), constructive solid geometry trees (CSG Trees), bintrees, or hexagonal structures, or combinations thereof (Chapman, [0034] notes virtual world map 20 may be defined to the game/virtual world engine and client as a Binary Space Partitioning (BSP) tree (or other data formats), a common form of expressing a virtual world or game map, well known in the art).
As to claim 8, Chapman et al. modified with Basavaiah et al. disclose resources (Chapman, e.g. computational resources of game engine servers 16) are dynamically allocated via a distributed deployment (Chapman, e.g. world manager 17 of system 10) to the plurality of cells (e.g. cells 23 of grid 22) based on a current load (Chapman, e.g. load) of the plurality of cells (Chapman, e.g. geospatial relationship of cells 23)(Chapman, Figure 5 illustrates and associated text, e.g. [0040] thru [0042], notes distribution 30 for cells 23 between a number of game engine servers 16 utilizing grid 22, where the selection of which management cells 23 are associated with which servers 16 can be computed by different algorithms including based on the computational capacity of the game engine servers and also the geospatial relationships of the grid cells, where during execution of the world simulation, the load on individual game engine servers may change, thus the partitioning of the system may be changed dynamically by publishing requests with the framework 18 to the different game engine servers may move responsibility for one or more cells between them).
As to claim 10, Chapman et al. modified with Basavaiah et al. disclose a resource manager (Chapman, e.g. world manager 17) of a distributed 3D engine performs the allocation of the resources through a distributed message exchange platform, wherein the distributed message exchange platform utilizes a publish-subscribe model (Chapman, e.g. publication and subscription (pub/sub) framework 18), and wherein at least one of the virtual objects (Chapman, e.g. objects and avatars) subscribe to at least one of the plurality of cells (Chapman, e.g. cells 23 of grid 22) where resources are published (Chapman, Figure 1 illustrates and associated text, e.g. [0025], notes each game engine server 16 interfaced to a pub/sub framework 18 which communicated with game clients 12 and proxy servers 14 using the pub/sub framework 18, [0026] notes pub/sub framework 18 services game clients 12 and connects them to a grid of game engine servers 16, [0030] notes the game engine servers 16 publish state change data for objects within any particular cell to the topic assigned that cell utilizing the pub/sub framework 18, [0035] notes world manager 17 includes a partitioner module 17a for partitioning the map, and a load balancer 17b for balancing the load between servers, [0042] notes the partitioning of the system may be changed dynamically by publishing requests with the pub/sub framework 18 to the different game engine servers 16 to move responsibility for one or more cells between them).
As to claim 12, Chapman et al. modified with Basavaiah et al. a method comprising the steps as performed by the system of claim 1. Please see the rejection and rationale of claim 1.
Claims 13, 15, and 17 are similar in scope to claims 2, 4, and 8, respectively, and are therefore rejected under similar rationale.
As to claim 18, Chapman et al. modified with Basavaiah et al. disclose partitioning, based on a demand of the plurality of cells (Chapman, e.g. via world manager 17), the one or more areas of the at least one portion of the virtual or real world into additional cells (Chapman, e.g. cells 23 of grid 22; modified with Li, column 4, lines 45-60 notes dividing scene into a plurality of lattice cells, where each cell is referred to as an area of interest (AOI), see Figures 4-6); and allocating corresponding resources (Chapman, e.g. computational resources of game engine servers 16) to the additional cells (Chapman, e.g. cells 23 of grid 22)(Chapman, Figure 5 illustrates and associated text, e.g. [0040] thru [0042], notes distribution 30 for cells 23 between a number of game engine servers 16 utilizing grid 22, where the selection of which management cells 23 are associated with which servers 16 can be computed by different algorithms including based on the computational capacity of the game engine servers and also the geospatial relationships of the grid cells, where during execution of the world simulation, the load on individual game engine servers may change, thus the partitioning of the system may be changed dynamically by publishing requests with the framework 18 to the different game engine servers may move responsibility for one or more cells between them, e.g. a number of players, e.g. avatars, move into a single small area, e.g. a room in the right-hand lower corner of the map corresponding to cells 4-1 and 5-1, the load on a single game engine server 16, e.g. server engine 5, may increase, thus server engine 4 may be instructed to take responsibility for cells 4-1 and 4-2 to support the increased activity in this room).
Claim 19 is similar in scope to claim 10, and is therefore rejected under similar rationale.
As to claim 20, Chapman et al. modified with Basavaiah et al. one or more non-transitory computer-readable media having stored thereon instructions configured to, when executed by one or more computers, cause the one or more computers to perform steps (Chapman, [0053] notes present invention, can be implemented in many ways, such as program instructions for execution by a processor, as software modules, as computer program product on computer readable media; modified with Basavaiah) as performed by the system of claim 1. Please see the rejection and rationale of claim 1.
Claim(s) 3, 9, 11, and 14 is/are rejected under 35 U.S.C. 103 as being unpatentable over Chapman et al. (US 2010/0113159) in view of Basavaiah et al. (US 2014/0282526) as applied to claims 2, 8, 10, and 13 above, and further in view of Whitehead et al. (US 2018/0060138).
As to claim 3, Chapman et al. modified with Basavaiah et al. do not disclose, but Whitehead et al. disclose the at least one portion of the virtual or real world is consolidated back into the original number of cells (Whitehead, Figure 8A and associated text, e.g. [0149], notes chunk server allocation of chunk actors (chunks or regions comprising a number of entities) may be based on a number of factors including chunk processing workload and available server processing resources, where the chunk actors may be allocated to a chunk server until a predetermined indication of server load is achieved, thus understood resources are restored to previous allocation, and further back to the original number of cells).
It would have been obvious to one of ordinary skill in the art at the time of the invention to further modify Chapman et al. modified with Basavaiah et al.’s method of dynamically allocating resources with Whitehead et al.’s method of allocating resources for a predetermined time until an ideal load is achieved such that resources may be restored back to its original “owner” for subsequent uses in the system.
As to claim 9, Chapman et al. modified with Basavaiah et al. do not disclose, but Whitehead et al. disclose the resources (e.g. chunk servers and their respective processing resources) are restored based on one or more requests (Figure 8A and associated text, e.g. [0149], notes chunk server allocation of chunk actors (chunks or regions comprising a number of entities) may be based on a number of factors including chunk processing workload and available server processing resources, where the chunk actors may be allocated to a chunk server until a predetermined indication of server load is achieved, thus understood resources are restored to previous allocation, where [0156] further notes the migration from a current chunk to another chunk may be based on requests).
It would have been obvious to one of ordinary skill in the art at the time of the invention to further modify Chapman et al. modified with Basavaiah et al.’s method of dynamically allocating resources with Whitehead et al.’s method of allocating resources for a predetermined time until an ideal load is achieved such that resources may be restored back to its original “owner” for subsequent uses in the system.
As to claim 11, Chapman et al. modified with Basavaiah et al. disclose the distributed message exchange platform (Chapman, e.g. pub/sub framework 18) shares a dynamically updated state of the at least one portion of the virtual or real world stored in the memory with one or more client devices (Chapman, e.g. game clients 12) or servers (Chapman, e.g. game engine servers 16)(Chapman, [0030] notes the game engine servers 16 publish state change data for objects within any particular cell to the topic assigned that cell utilizing the pub/sub framework 18, [0031] notes state changes from game clients 12 are received from client proxy servers 14 and then published via pub/sub framework 18 to the cell topic that represents the cell that the player’s avatar is currently in, each game engine server 16 then subscribes to the cell topic and received the state change data, see [0045] thru [0052] which discuss state changes and the role of the pub/sub framework 18), but do not disclose, but Whitehead et al. disclose wherein the dynamically updated state is modified through data obtained by one or more of a plurality of connected devices including sensors providing sensor data to the persistent virtual world system, by user input, by server computations, or combinations thereof ([0095] notes updating values of properties, e.g. position, velocity, and direction, from one or more sensors mounted on a vehicle, where Figure 1 illustrates various devices that the system may be connected, which are known devices to comprise sensors, e.g. cameras).
It would have been obvious to one of ordinary skill in the art at the time of the invention to further modify Chapman et al. modified with Basavaiah et al.’s method of dynamically allocating resources with Whitehead et al.’s method of allocating resources for a predetermined time until an ideal load is achieved such that resources may be restored back to its original “owner” for subsequent uses in the system.
Claim 14 is similar in scope to claim 3, and is therefore rejected under similar rationale.
Claim(s) 6 and 16 is/are rejected under 35 U.S.C. 103 as being unpatentable over Chapman et al. (US 2010/0113159) in view of Basavaiah et al. (US 2014/0282526) as applied to claims 1 and 12 above, and further in view of Rosedale et al. (US 2015/0321101) and Chou et al. (US 2017/0347120).
As to claim 6, Chapman et al. modified with Basavaiah et al. disclose the data structure is an binary space partitioning tree data structure (Chapman, [0034] notes virtual world map 20 may be defined to the game/virtual world engine and client as a Binary Space Partitioning (BSP) tree or other data format), but do not disclose, but Rosedale et al. disclose the data structure is an octree data structure, wherein at least one of the plurality of cells is represented as a voxel within the octree data structure (Figure 3 and associated text, e.g. [0070] notes each virtual world may be represented as a single large 3D cube that may subdivided to form eight cubes, more specifically, a sparse voxel octree may be used to achieve the visual representation of the virtual world, with each 3D cube corresponding to a voxel).
It would have been obvious to one of ordinary skill in the art at the time of the invention to further modify Chapman et al. modified with Basavaiah et al.’s data structure as into cells as an octree data structure as an alternate data format for defining the map disclosed in Chapman et al., thus providing enhanced capabilities of additional options for the system.
Chapman et al. modified with Basavaiah et al. and Rosedale et al. do not disclose, but Chou et al. disclose wherein the voxel representing the at least one of the plurality of cells is selected from among a sparse voxel and a dense voxel based on size of the at least one of the plurality of cells ([0092] and [0093] note there are many choices for representing 3D data, and the most appropriate choice depends on the situation, e.g. dense voxel arrays may be good for representing dense volumetric medical data, while polygonal meshes may be good for representing surfaces of 3D object typically found in computer graphics; point clouds are well-suited to sample real world objects for which the data are volumetrically sparse, especially if the topology is not necessarily a 2D manifold; an alternative to point clouds are sparse voxel arrays, or voxel clouds, which are arbitrary collections of voxels, unlike points, voxels have a volumetric aspect, which can be highly useful in certain scenarios, point clouds and sparse voxel arrays obviate some of the common problems that 2D manifolds have, such as dealing with boundary conditions on cut edges, and topological changes over time…thus it may be considered this choice or “selection” between a sparse voxel and a dense voxel may be based on, but not limited to, the various factors noted above, and including the size of the individual cell).
It would have been further obvious to one of ordinary skill in the art at the time of the invention to further modify Chapman et al. modified with Basavaiah et al. and Rosedale et al.’s sparse voxel octree with the ability to select between sparse voxel and dense voxel as taught by Chou et al. to appropriately represent 3D data according to factors, e.g. needs and/or goals, of the system.
Claim 16 is similar in scope to claim 6, and is therefore rejected under similar rationale.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JACINTA M CRAWFORD whose telephone number is (571)270-1539. The examiner can normally be reached 8:30a.m. to 4:30p.m.
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, King Y. Poon can be reached at (571)272-7440. 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.
/JACINTA M CRAWFORD/Primary Examiner, Art Unit 2617