Efficient communication in a client-server scene graph system
First Claim
1. A method, comprising:
- a client applying a plurality of changes to a client branch graph, wherein the client branch graph is maintained in a memory space which has been allocated to the client, wherein the client branch graph includes one or more nodes organized in a hierarchical structure, wherein at least one of the one or more nodes include graphics data;
the client recording the plurality of changes to the client branch graph in a change store also maintained in the memory space;
the client transferring a first set of one or more protocol requests including one or more batch protocol requests to a display server, wherein the first set of protocol requests contain data from the change store specifying the plurality of changes, wherein the display server is configured to apply the plurality of changes to a remote branch graph;
wherein each one of said one or more batch protocol requests includes two or more changes of said plurality of changes, wherein the two or more changes of said plurality of changes indicate changes to one or more graphical objects for a scene graph, wherein the one or more graphical objects are described by the client branch graph, and wherein multiple changes to the scene graph are included in each one of the one or more batch protocol requests.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for communicating 3D branch graph data and updates to branch graph data between clients and a display server in a 3D window system. A client locally creates a branch graph. When the client ready to make the branch graph live remote, it sends the branch graph to the display server using at least one batch protocol request. The display server builds a copy of the branch graph and attaches it to a centralized scene graph that it manages. The client may subsequently induce detachment of the branch graph from the scene graph. The client may buffer up changes to the local branch graph when its remote counterpart (in the display server) is not attached to the scene graph. The buffered changes may be sent to the display server using at least one batch protocol request when the client is again ready to make the branch graph live remote.
41 Citations
32 Claims
-
1. A method, comprising:
-
a client applying a plurality of changes to a client branch graph, wherein the client branch graph is maintained in a memory space which has been allocated to the client, wherein the client branch graph includes one or more nodes organized in a hierarchical structure, wherein at least one of the one or more nodes include graphics data; the client recording the plurality of changes to the client branch graph in a change store also maintained in the memory space; the client transferring a first set of one or more protocol requests including one or more batch protocol requests to a display server, wherein the first set of protocol requests contain data from the change store specifying the plurality of changes, wherein the display server is configured to apply the plurality of changes to a remote branch graph; wherein each one of said one or more batch protocol requests includes two or more changes of said plurality of changes, wherein the two or more changes of said plurality of changes indicate changes to one or more graphical objects for a scene graph, wherein the one or more graphical objects are described by the client branch graph, and wherein multiple changes to the scene graph are included in each one of the one or more batch protocol requests. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
9. The method of 1, wherein the one or more protocol requests have a packet structure defined by the X11 client-server protocol.
-
27. A method, comprising:
-
a display server receiving a first set of one or more protocol requests including one or more batch protocol requests from a client, wherein the first set of one or more protocol requests includes data specifying a plurality of changes which have been applied to a client branch graph at the client, wherein each one of said one or more batch protocol requests includes two or more of the plurality of changes, wherein the two or more of the plurality of changes indicate changes to one or more graphical objects for a scene graph, wherein the one or more graphical objects are described by the client branch graph, and wherein multiple changes to the scene graph are included in each one of the one or more batch protocol requests; the display server applying the plurality of changes to a remote branch graph, wherein the remote branch graph includes one or more nodes organized in a hierarchical structure, wherein at least one of the one or more nodes include graphics data; the display server attaching the remote branch graph to the scene graph and rendering the scene graph. - View Dependent Claims (28, 29, 30, 31, 32)
-
Specification