Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1, 3, 6-8, 10-11, 19, and 22 is/are rejected under 35 U.S.C. 103 as being unpatentable over Kawahara et al. (U.S. Patent No. 7,290,216) in view of Iskandar et al. (U.S. Patent No. 11,157,739), Moncayo et al. (U.S. PGPUB 20130063482), and further in view of Green et al. (U.S. PGPUB 20100013842),
With respect to claim 1, Kawahara et al. disclose a method for interface generation, applied to a first electronic device, wherein the first electronic device determines that content displayed in a first display area comprises an interface of a first process and an interface of a second process (column 4, lines 38-40, FIG. 2 illustrates how user interface manager 112 interacts with scene graphs for various applications in accordance with an embodiment of the present invention), and the method comprises:
generating, by the first process, a first render tree, wherein the first render tree is used to draw the interface of the first process (column 4, lines 56-59, client applications 206-207 generate corresponding branch graphs 216-217, which for example can represent user interfaces for client applications 206-207, branch graph 216);
generating, by the second process, a second render tree, wherein the second render tree is used to draw the interface of the second process (column 4, lines 56-59, client applications 206-207 generate corresponding branch graphs 216-217, which for example can represent user interfaces for client applications 206-207, branch graph 217); and
generating, by a third process, a first target render tree based on the first render tree and the second render tree (column 5, lines 58-62, user interface manager 112 or window system 118 can maintain a single master scene graph 220 that represents the entire scene to be displayed and can incorporate client scene graphs into the master scene graph as branch graphs).
However, Kawahara et al. do not expressly disclose generating, by the third process through one-time rendering, a first target interface based on the first target render tree, wherein the first target interface is generated through one rendering process from the first target render tree to a bitmap, the first target interface comprises the interface of the first process and the interface of the second process, and the first target interface is displayed in the first display area; wherein before generating, by the third process, the first target render tree, the method further comprises: determining, by the third process, off-screen rendering logic of the interface of the first process, wherein the off-screen rendering logic comprises at least one of window rounding, color transform, rotation, or scaling; and adding, by the third process, an off-screen rendering property to a rendering property of the first render tree based on the off-screen rendering logic of the interface of the first process, wherein the off-screen rendering property comprises at least one of a rounding property, a color property, a rotation property, or a scaling property.
Iskandar et al., who also deal with tree data structures, disclose a method for generating, by the third process through one-time rendering, a first target interface based on the first target render tree (column 17, lines 60-65, a device process (e.g., a centralized process) can obtain one or more scene graphs (or portions thereof), and then render the CGR environment for display based on the received scene graphs, column 31, lines 38-48, the first electronic device combines, in a third scene graph (e.g., 306), the first scene graph and the second scene graph, wherein the third scene graph includes information for rendering the computer generated reality environment (e.g., environment 200). In some embodiments, updating the displayed computer generated reality environment based on the first scene graph and the second scene graph comprises updating the displayed computer generated reality environment based on the third scene graph (e.g., traversing the third scene graph and rendering the resulting scene)), the first target interface comprises the interface of the first process and the interface of the second process, and the first target interface is displayed in the first display area (paragraph 31, lines 52-62, combining the first scene graph and the second scene graph comprises combining, by a process (e.g., 302A) of an operating system of the first electronic device, the first scene graph and the second scene graph (e.g., an application provides the scene graph, and OS-level process combines it with the remotely-created scene graph). In some embodiments, updating the displayed computer generated reality environment based on the third scene graph comprises updating, by the process of the operating system of the first electronic device, the displayed computer generated reality environment based on the third scene graph).
Kawahara et al. and Iskandar et al. are in the same field of endeavor, namely computer graphics.
Before the effective filing date of the claimed invention, it would have been obvious to apply the method of generating, by the third process through one-time rendering, a first target interface based on the first target render tree, the first target interface comprises the interface of the first process and the interface of the second process, and the first target interface is displayed in the first display area, as taught by Iskandar et al., to the Kawahara et al. system, because the centralized simulation and rendering of a CGR environment at runtime (e.g., by an OS-level process) in accordance with the techniques described herein can provide several benefits. For example, displaying content from various applications that can interact in the CGR environment is much more easily accomplished, as compared to conventional techniques (e.g., where an OS process receives image data that has already been rendered by an application) (column 9, lines 35-42 of Iskandar et al.).
Moncayo et al., who also deal with tree data structures, disclose a method wherein the first target interface is generated through one rendering process from the first target render tree to a bitmap (paragraph 26, The interfaces enable developers to create visuals, bind them to a bitmap and manipulate different visual properties to achieve the desired user interface composition and animation scenario, paragraph 27, The bitmap 218 is the data to be drawn and many types of representations can be supported).
Kawahara et al., Iskandar et al., and Moncayo et al. are in the same field of endeavor, namely computer graphics.
Before the effective filing date of the claimed invention, it would have been obvious to apply the method wherein the first target interface is generated through one rendering process from the first target render tree to a bitmap, as taught by Moncayo et al., to the Kawahara et al. as modified by Iskandar et al. system, because given this data structure, each tree of display objects can be rendered using conventional application composition techniques. However, by having the composition performed by an operating system level process, providing a user-level service, performance standards can be maintained (paragraph 32 of Moncayo et al.).
Green et al., who also deal with tree data structures, disclose a method wherein before generating, by the third process, the first target render tree, the method further comprises: determining, by the third process, off-screen rendering logic of the interface of the first process (paragraph 67, scene graph 206 contains a set of parameters (e.g., parameter 1 222, parameter z 224) that may be associated with transform nodes and/or shape nodes through subscriptions to the parameters by the transform and/or shape nodes. The parameters may be used to modify the rendering of the graphics model by providing attributes in the form of Boolean values, floating point values, integer values, arrays, matrices, strings, and/or textures to nodes in scene graph 206, paragraph 68, Editing thread 202 is responsible for creating a render graph 208 for the graphics model from scene graph 206), wherein the off-screen rendering logic comprises at least one of window rounding, color transform, rotation, or scaling (paragraph 67, the parameters may rotate, scale, and/or translate one or more shape nodes in scene graph 206; specify the color and/or texture of shape nodes in scene graph 206; and/or provide light source and camera locations within scene graph 206); and adding, by the third process, an off-screen rendering property to a rendering property of the first render tree based on the off-screen rendering logic of the interface of the first process (paragraph 79, the scene graph may be created from a graphics model using an editing thread in a plugin. The scene graph may also be managed (e.g., edited, deleted, etc.) by the editing thread), wherein the off-screen rendering property comprises at least one of a rounding property, a color property, a rotation property, or a scaling property (paragraph 67, the parameters may rotate, scale, and/or translate one or more shape nodes in scene graph 206; specify the color and/or texture of shape nodes in scene graph 206; and/or provide light source and camera locations within scene graph 206). Green et al. disclose rendering logic in the form of parameters used to modify the rendering of the graphics model. The off-screen rendering logic is determined before generating the target render tree in that the scene graph 206 is used to generate the render graph 208.
Kawahara et al., Iskandar et al., Moncayo et al., and Green et al. are in the same field of endeavor, namely computer graphics.
Before the effective filing date of the claimed invention, it would have been obvious to apply the method wherein before generating, by the third process, the first target render tree, the method further comprises: determining, by the third process, off-screen rendering logic of the interface of the first process, wherein the off-screen rendering logic comprises at least one of window rounding, color transform, rotation, or scaling; and adding, by the third process, an off-screen rendering property to a rendering property of the first render tree based on the off-screen rendering logic of the interface of the first process, wherein the off-screen rendering property comprises at least one of a rounding property, a color property, a rotation property, or a scaling property, as taught by Green et al., to the Kawahara et al. as modified by Iskandar et al. and Moncayo et al. system, because this would provide a method and system for implementing a variety of applications using web applications. Such applications may include, for example, video editors, CAD editors, 3D computer games, photo editors, and/or catalogs of 3D models. In particular, web applications may implement these applications by interfacing with a platform independent plugin that executes separately from the web applications and exposes GPU resources to the web applications (paragraph 131 of Green et al.).
With respect to claim 3, Kawahara et al. as modified by Iskandar et al., Moncayo et al., and Green et al. disclose the method according to claim 1, wherein the generating, by the third process, a first target render tree based on the first render tree and the second render tree specifically comprises: creating, by the third process, a root render node as a root node of the first target render tree; and using, by the third process, the first render tree and the second render tree as child nodes of the root render node (Kawahara et al.: Fig. 2). Master scene graph 220 comprises a root node and first render tree from branch scene graph 216 and second render tree from branch scene graph 217.
With respect to claim 6, Kawahara et al. as modified by Iskandar et al., Moncayo et al., and Green et al. disclose the method according to claim 1, wherein the method further comprises: in a process in which the third process generates the first target interface based on the first render tree and the second render tree, performing, by the third process, merging or batching on a first draw operation and a second draw operation, wherein the first draw operation belongs to the first render tree, and the second draw operation belongs to the second render tree (Kawahara et al.: column 4, lines 54-56, User interface manager 112 maintains all of the client scene graphs and uses them in rendering client visuals (step 408), Kawahara et al.: column 5, lines 58-62, user interface manager 112 or window system 118 can maintain a single master scene graph 220 that represents the entire scene to be displayed and can incorporate client scene graphs into the master scene graph as branch graphs). Scene graphs also include draw operations (Kawahara et al.: column 5, lines 31-33, Also note that a scene graph can also include transformation nodes (not shown) which can define transformations for associated subgraphs). By incorporating client scene graphs into the master scene graph, this includes incorporating, or merging draw operations from respective scene graphs.
With respect to claim 7, Kawahara et al. as modified by Iskandar et al., Moncayo et al., and Green et al. disclose the method according to claim 1, wherein the off-screen rendering property one-to-one corresponds to the off-screen rendering logic, and the off-screen rendering property is used to modify a draw operation in a process in which the third process generates the first target interface based on the first render tree and the second render tree, to implement the off-screen rendering logic (Green et al.: paragraph 67, scene graph 206 contains a set of parameters (e.g., parameter 1 222, parameter z 224) that may be associated with transform nodes and/or shape nodes through subscriptions to the parameters by the transform and/or shape nodes. The parameters may be used to modify the rendering of the graphics model by providing attributes in the form of Boolean values, floating point values, integer values, arrays, matrices, strings, and/or textures to nodes in scene graph 206, Green et al.: paragraph 79, As a result, the scene graph may correspond to a structure that stores objects, transforms, and/or other data used to render the graphics model. The graphics model may then be rendered by creating and traversing a render graph from the scene graph, as discussed below with respect to FIGS. 5, 6A, and 6B); see rationale for rejection of claim 1 for combining Green et al.
With respect to claim 8, Kawahara et al. as modified by Iskandar et al., Moncayo et al., and Green et al. disclose the method according to claim 1, wherein when a reference coordinate system of the first render tree is a first coordinate system, a reference coordinate system corresponding to the first display area is a second coordinate system, and the first coordinate system is different from the second coordinate system (Kawahara et al.: column 3, lines 63-67, 3D objects 110-111 can be associated with a number of object attributes. For example, 3D objects 110-111 can include x, y, and z position attributes that specify the 3D position of the centers of 3D objects 110-111 within 3D display model 102), the method further comprises: determining, by the third process, a first parameter based on the first coordinate system and the second coordinate system; adding, by the third process, the first parameter to a rendering property of the first render tree; and in a process in which the third process generates the first target interface based on the first render tree and the second render tree, modifying, by the third process, a reference coordinate system of a first draw operation based on the first parameter, wherein the first draw operation belongs to the first render tree (Kawahara et al.: column 4, lines 28-35, Otherwise, if there is overlap, the system uses the 3D position (x2,y2,z2) within display model 102 where ray 107 intersects object 110, as well as attributes of object 110, such as position and rotation attributes, to determine the position (x3, y3, z3) of this intersection with respect to a 3D coordinate system of object 110 (step 128). The system then communicates this 3D position (x3, y3, z3) to application 116, which is associated with object 110 (step 130), column 6, lines 25-30, Note that while intercepting the event, user interface manager 112 can obtain information that specifies which node in a scene graph defined by an application is related to the event. This enables user interface manager 112 to perform some action against a node defined by the application, column 6, lines 31-34, Next, based on the events and the system state, user interface manager 112 takes some action (step 414). This can involve modifying a property of a client's scene graph to achieve visual effect for the user).
With respect to claim 10, Kawahara et al. as modified by Iskandar et al., Moncayo et al., and Green et al. disclose an electronic device, wherein content displayed in a first display area of the electronic device comprises an interface of a first process and an interface of a second process, wherein the electronic device comprises one or more processors and one or more memories (Kawahara et al.: column 3, lines 48-51, The data structures and code described in this detailed description are typically stored on a computer-readable storage medium, which may be any device or medium that can store code and/or data for use by a computer system), wherein the one or more memories are coupled to the one or more processors and store programming instructions for execution by the one or more processors to cause the electronic device to execute the method of claim 1; see rationale for rejection of claim 1.
With respect to claim 11, Kawahara et al. as modified by Iskandar et al., Moncayo et al., and Green et al. disclose a non-transitory computer-readable storage medium of an electronic device (Kawahara et al.: column 3, lines 48-51, The data structures and code described in this detailed description are typically stored on a computer-readable storage medium, which may be any device or medium that can store code and/or data for use by a computer system), wherein content displayed in a first display area of the electronic device comprises an interface of a first process and an interface of a second process (column 4, lines 38-40, FIG. 2 illustrates how user interface manager 112 interacts with scene graphs for various applications in accordance with an embodiment of the present invention), and wherein the non-transitory computer-readable storage medium stores programming instructions for execution by one or more processors of the electronic device to cause the electronic device to execute the method of claim 1; see rationale for rejection of claim 1.
With respect to claim 19, Kawahara et al. as modified by Iskandar et al., Moncayo et al., and Green et al. disclose the electronic device according to claim 10 for executing the method of claim 3; see rationale for rejection of claim 3.
With respect to claim 22, Kawahara et al. as modified by Iskandar et al., Moncayo et al., and Green et al. disclose the electronic device according to claim 10 for executing the method of claim 6; see rationale for rejection of claim 6.
Claim(s) 4-5 and 20-21 is/are rejected under 35 U.S.C. 103 as being unpatentable over Kawahara et al. (U.S. Patent No. 7,290,216) in view of Iskandar et al. (U.S. Patent No. 11,157,739), Moncayo et al. (U.S. PGPUB 20130063482), Green et al. (U.S. PGPUB 20100013842) and further in view of Politis (U.S. Patent No. 6,191,797).
With respect to claim 4, Kawahara et al. as modified by Iskandar et al., Moncayo et al., and Green et al. disclose the method according to claim 3. However, Kawahara et al. as modified by Iskandar et al., Moncayo et al., and Green et al. do not expressly disclose the method further comprises: deleting, by the third process, a render node in the first target render tree based on a Z-order of the first render tree and a Z-order of the second render tree, wherein the deleted render node corresponds to a fully shielded view.
Politis, who also deals tree data structures, discloses a method wherein the method further comprises: deleting, by the third process, a render node in the first target render tree based on a Z-order of the first render tree and a Z-order of the second render tree, wherein the deleted render node corresponds to a fully shielded view (column 7, lines 37-43, if the region represented by a node is totally obscured by one or more regions represented by other nodes of the expression tree, the node is removed from the expression tree in such a way that a graphical operation or a graphical element at the node need not be executed or rendered, whichever the case may be).
Kawahara et al., Iskandar et al., Moncayo et al., Green et al., and Politis are in the same field of endeavor, namely computer graphics.
Before the effective filing date of the claimed invention, it would have been obvious to apply the method wherein the method further comprises: deleting, by the third process, a render node in the first target render tree based on a Z-order of the first render tree and a Z-order of the second render tree, wherein the deleted render node corresponds to a fully shielded view, as taught by Politis, to the Kawahara et al. as modified by Green et al. system, because if an element, or parts of elements, that have no effect on true final image can be identified, those elements (or parts) need not be rendered, thereby saving considerable time and possibly memory (column 1, lines 61-64 of Politis), thus improving performance by deleting unneeded nodes.
With respect to claim 5, Kawahara et al. as modified by Iskandar et al., Moncayo et al., Green et al. and Politis disclose the method according to claim 3, wherein the method further comprises: deleting, by the third process, a draw operation in the first target render tree based on a Z-order of the first render tree and a Z-order of the second render tree, wherein the deleted draw operation corresponds to a fully shielded graphic (Kawahara et al.: column 7, lines 37-43, if the region represented by a node is totally obscured by one or more regions represented by other nodes of the expression tree, the node is removed from the expression tree in such a way that a graphical operation or a graphical element at the node need not be executed or rendered, whichever the case may be). The graphical operation corresponds to a deleted draw operation.
With respect to claim 20, Kawahara et al. as modified by Iskandar et al., Moncayo et al., Green et al. and Politis disclose the electronic device according to claim 19 for executing the method of claim 4; see rationale for rejection of claim 4.
With respect to claim 21, Kawahara et al. as modified by Iskandar et al., Moncayo et al., Green et al. and Politis disclose the electronic device according to claim 19 for executing the method of claim 5; see rationale for rejection of claim 5.
Claim(s) 9 is/are rejected under 35 U.S.C. 103 as being unpatentable over Kawahara et al. (U.S. Patent No. 7,290,216) in view of Iskandar et al. (U.S. Patent No. 11,157,739), Moncayo et al. (U.S. PGPUB 20130063482), Green et al. (U.S. PGPUB 20100013842) and further in view of Babu J D et al. (U.S. PGPUB 20200036816).
With respect to claim 9, Kawahara et al. disclose a method for interface generation, applied to a second electronic device, wherein the second electronic device determines that content displayed in a first display area comprises an interface of a first process and an interface of a second process (column 4, lines 45-47, Window system 118 also coordinates interactions between client applications 206-207, user input device 210 and 2D display 104), and the method comprises:
receiving, by a third process running on the second electronic device, a first render tree and a second render tree (column 4, lines 56-61, client applications 206-207 generate corresponding branch graphs 216-217, which for example can represent user interfaces for client applications 206-207. User interface manager 112 then incorporates these branch graphs 216-217 into a master scene graph 220, thus, receiving branch graph 216 and branch graph 217), the first render tree is used to draw the interface of the first process (column 5, lines 38-40, First, the client (application) generates a scene graph that represents its user interface (UI) (step 402)), the second render tree is generated by the second process running on the second electronic device (column 4, lines 56-59, client applications 206-207 generate corresponding branch graphs 216-217, which for example can represent user interfaces for client applications 206-207), and the second render tree is used to draw the interface of the second process (column 5, lines 38-40, First, the client (application) generates a scene graph that represents its user interface (UI) (step 402)), as applied to the second process); and
generating, by the third process, a first target render tree based on the first render tree and the second render tree (column 5, lines 58-62, user interface manager 112 or window system 118 can maintain a single master scene graph 220 that represents the entire scene to be displayed and can incorporate client scene graphs into the master scene graph as branch graphs).
However, Kawahara et al. do not expressly disclose generating, by the third process through one-time rendering, a first target interface based on the first target render tree, wherein the first target interface is generated through one rendering process from the first target render tree to a bitmap, the first target interface comprises the interface of the first process and the interface of the second process, and the first target interface is displayed in the first display area before generating, by the third process, the first target render tree, the method further comprises: determining, by the third process, off-screen rendering logic of the interface of the first process, wherein the off-screen rendering logic comprises at least one of window rounding, color transform, rotation, or scaling; and adding, by the third process, an off-screen rendering property to a rendering property of the first render tree based on the off-screen rendering logic of the interface of the first process, wherein the off-screen rendering property comprises at least one of a rounding property, a color property, a rotation property, or a scaling property.
Iskandar et al., who also deal with tree data structures, disclose a method for generating, by the third process through one-time rendering, a first target interface based on the first target render tree (column 17, lines 60-65, a device process (e.g., a centralized process) can obtain one or more scene graphs (or portions thereof), and then render the CGR environment for display based on the received scene graphs, column 31, lines 38-48, the first electronic device combines, in a third scene graph (e.g., 306), the first scene graph and the second scene graph, wherein the third scene graph includes information for rendering the computer generated reality environment (e.g., environment 200). In some embodiments, updating the displayed computer generated reality environment based on the first scene graph and the second scene graph comprises updating the displayed computer generated reality environment based on the third scene graph (e.g., traversing the third scene graph and rendering the resulting scene)), the first target interface comprises the interface of the first process and the interface of the second process, and the first target interface is displayed in the first display area (paragraph 31, lines 52-62, combining the first scene graph and the second scene graph comprises combining, by a process (e.g., 302A) of an operating system of the first electronic device, the first scene graph and the second scene graph (e.g., an application provides the scene graph, and OS-level process combines it with the remotely-created scene graph). In some embodiments, updating the displayed computer generated reality environment based on the third scene graph comprises updating, by the process of the operating system of the first electronic device, the displayed computer generated reality environment based on the third scene graph).
Kawahara et al. and Iskandar et al. are in the same field of endeavor, namely computer graphics.
Before the effective filing date of the claimed invention, it would have been obvious to apply the method of generating, by the third process through one-time rendering, a first target interface based on the first target render tree, the first target interface comprises the interface of the first process and the interface of the second process, and the first target interface is displayed in the first display area, as taught by Iskandar et al., to the Kawahara et al. system, because the centralized simulation and rendering of a CGR environment at runtime (e.g., by an OS-level process) in accordance with the techniques described herein can provide several benefits. For example, displaying content from various applications that can interact in the CGR environment is much more easily accomplished, as compared to conventional techniques (e.g., where an OS process receives image data that has already been rendered by an application) (column 9, lines 35-42 of Iskandar et al.).
Moncayo et al., who also deal with tree data structures, disclose a method wherein the first target interface is generated through one rendering process from the first target render tree to a bitmap (paragraph 26, The interfaces enable developers to create visuals, bind them to a bitmap and manipulate different visual properties to achieve the desired user interface composition and animation scenario, paragraph 27, The bitmap 218 is the data to be drawn and many types of representations can be supported).
Kawahara et al., Iskandar et al., and Moncayo et al. are in the same field of endeavor, namely computer graphics.
Before the effective filing date of the claimed invention, it would have been obvious to apply the method wherein the first target interface is generated through one rendering process from the first target render tree to a bitmap, as taught by Moncayo et al., to the Kawahara et al. as modified by Iskandar et al. system, because given this data structure, each tree of display objects can be rendered using conventional application composition techniques. However, by having the composition performed by an operating system level process, providing a user-level service, performance standards can be maintained (paragraph 32 of Moncayo et al.).
Green et al., who also deal with tree data structures, discloses a method wherein before generating, by the third process, the first target render tree, the method further comprises: determining, by the third process, off-screen rendering logic of the interface of the first process (paragraph 67, scene graph 206 contains a set of parameters (e.g., parameter 1 222, parameter z 224) that may be associated with transform nodes and/or shape nodes through subscriptions to the parameters by the transform and/or shape nodes. The parameters may be used to modify the rendering of the graphics model by providing attributes in the form of Boolean values, floating point values, integer values, arrays, matrices, strings, and/or textures to nodes in scene graph 206, paragraph 68, Editing thread 202 is responsible for creating a render graph 208 for the graphics model from scene graph 206), wherein the off-screen rendering logic comprises at least one of window rounding, color transform, rotation, or scaling (paragraph 67, the parameters may rotate, scale, and/or translate one or more shape nodes in scene graph 206; specify the color and/or texture of shape nodes in scene graph 206; and/or provide light source and camera locations within scene graph 206); and adding, by the third process, an off-screen rendering property to a rendering property of the first render tree based on the off-screen rendering logic of the interface of the first process (paragraph 79, the scene graph may be created from a graphics model using an editing thread in a plugin. The scene graph may also be managed (e.g., edited, deleted, etc.) by the editing thread), wherein the off-screen rendering property comprises at least one of a rounding property, a color property, a rotation property, or a scaling property (paragraph 67, the parameters may rotate, scale, and/or translate one or more shape nodes in scene graph 206; specify the color and/or texture of shape nodes in scene graph 206; and/or provide light source and camera locations within scene graph 206). Green et al. disclose rendering logic in the form of parameters used to modify the rendering of the graphics model. The off-screen rendering logic is determined before generating the target render tree in that the scene graph 206 is used to generate the render graph 208.
Kawahara et al., Iskandar et al., Moncayo et al., and Green et al. are in the same field of endeavor, namely computer graphics.
Before the effective filing date of the claimed invention, it would have been obvious to apply the method wherein before generating, by the third process, the first target render tree, the method further comprises: determining, by the third process, off-screen rendering logic of the interface of the first process, wherein the off-screen rendering logic comprises at least one of window rounding, color transform, rotation, or scaling; and adding, by the third process, an off-screen rendering property to a rendering property of the first render tree based on the off-screen rendering logic of the interface of the first process, wherein the off-screen rendering property comprises at least one of a rounding property, a color property, a rotation property, or a scaling property, as taught by Green et al., to the Kawahara et al. as modified by Iskandar et al. and Moncayo et al. system, because this would provide a method and system for implementing a variety of applications using web applications. Such applications may include, for example, video editors, CAD editors, 3D computer games, photo editors, and/or catalogs of 3D models. In particular, web applications may implement these applications by interfacing with a platform independent plugin that executes separately from the web applications and exposes GPU resources to the web applications (paragraph 131 of Green et al.).
However, Kawahara et al. as modified by Iskandar et al., Moncayo et al., and Green et al. do not expressly disclose a first electronic device, i.e. wherein the first render tree is generated by the first process running on a first electronic device.
Badu, J D et al., who also deal with tree data structures, disclose a method wherein the first render tree is generated by the first process running on a first electronic device (paragraph 6, a host device having a first processor executes an application via the first processor. The host device determines a state of the application. A scenegraph is generated corresponding to the state of the application, and the scenegraph is presented to a remote device having a display and a second processor, paragraph 29, 3D data 312 is represented as a local scenegraph 316, which may be local to each client application 310).
Kawahara et al., Iskandar et al., Moncayo et al., Green et al., and Badu, J D et al. are in the same field of endeavor, namely computer graphics.
Before the effective filing date of the claimed invention, it would have been obvious to apply the method wherein the first render tree is generated by the first process running on a first electronic device, as taught by Badu, J D et al., to the Kawahara et al. as modified by Green et al. system, because local and remote users sharing an application can independently render graphical data that accurately presents a convincing view of the shared application. By independently rendering graphical data—rather than receiving pre-rendered graphical data from a host device, for example—the bandwidth requirements of the application sharing systems and methods described herein can be reduced (paragraph 19 of Badu, J D et al.).
Claim(s) 13 and 16-18 is/are rejected under 35 U.S.C. 103 as being unpatentable over Kawahara et al. (U.S. Patent No. 7,290,216) in view of Iskandar et al. (U.S. Patent No. 11,157,739), Moncayo et al. (U.S. PGPUB 20130063482), Green et al. (U.S. PGPUB 20100013842) and further in view of Babu J D et al. (U.S. PGPUB 20200036816).
With respect to claim 13, Kawahara et al. as modified by Iskandar et al., Moncayo et al., Green et al. and Badu JD et al. disclose the method according to claim 9 as in claim 3; see rationale for rejection of claim 3.
With respect to claim 16, Kawahara et al. as modified by Iskandar et al., Moncayo et al., Green et al. and Badu JD et al. disclose the method according to claim 9 as in claim 6; see rationale for rejection of claim 6.
With respect to claim 17, Kawahara et al. as modified by Iskandar et al., Moncayo et al., Green et al. and Badu JD et al. disclose the method according to claim 9 as in claim 7; see rationale for rejection of claim 7.
With respect to claim 18, Kawahara et al. as modified by Iskandar et al., Moncayo et al., Green et al. and Badu JD et al. disclose the method according to claim 9 as in claim 8; see rationale for rejection of claim 8.
Claim(s) 14-15 is/are rejected under 35 U.S.C. 103 as being unpatentable over Kawahara et al. (U.S. Patent No. 7,290,216) in view of Iskandar et al. (U.S. Patent No. 11,157,739), Moncayo et al. (U.S. PGPUB 20130063482), Green et al. (U.S. PGPUB 20100013842), Babu J D et al. (U.S. PGPUB 20200036816), and further in view of Politis (U.S. Patent No. 6,191,797).
With respect to claim 14, Kawahara et al. as modified by Iskandar et al., Moncayo et al., Green et al., Badu J D et al., and Politis disclose the method according to claim 13 as in claim 4; see rationale for rejection of claim 4.
With respect to claim 15, Kawahara et al. as modified by Iskandar et al., Moncayo et al., Green et al., Badu J D et al., and Politis disclose the method according to claim 13 as in claim 5; see rationale for rejection of claim 5.
Response to Arguments
Applicant’s arguments with respect to claim(s) 1 and 9-11 have been considered but are moot in view of the new ground(s) of rejection.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
U.S. PGPUB 20210103449 to Terpstra et al. for a method of combining graphical data from multiple applications into a scene graph for rendering a scene to a display.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ANDREW GUS YANG whose telephone number is (571)272-5514. The examiner can normally be reached M-F 9 AM - 5:30 PM.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Kent Chang can be reached at (571)272-7667. 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.
/ANDREW G YANG/Primary Examiner, Art Unit 2614
9/1/26