Abstract: Technologies are described herein for rendering documents containing three-dimensional objects. A client computer receives a request to display a document. If a program utilized to create the document is not available to display the document, the client computer transmits a request to a server computer to render the document, including the rendering of any three-dimensional objects contained therein. In response to receiving the request, the server computer determines whether the document contains any three-dimensional objects. If the document contains three-dimensional objects, the server computer renders the three-dimensional objects. Once the three-dimensional objects have been rendered, the remaining portion of the document is also rendered. The rendered version of the document is then returned to the client computer in response to the original request to render the document. The rendered document is then displayed on the client computer by a standard viewer application.
BACKGROUND
[0001] Desktop productivity software applications allow users to create word
processing documents, spreadsheet documents, presentation documents, and other kinds of documents. These documents often include text, formatting, images, and other types of objects, including three-dimensional ("3-D") objects. For instance, such documents may include three-dimensional objects like three-dimensional text, three-dimensional tables, three-dimensional shapes, three-dimensional graphics, and three-dimensional charts. It is common for users to add such three-dimensional objects to a word processing or spreadsheet document to add visual flair to the document.
[0002] In addition to the creation of documents, typical desktop productivity
applications also allow users to view and edit documents created by other users using the same application or a compatible appUcation. However, in order to view a document created by another user, the appropriate software application utilized to create the document, or a compatible application program, must typically be installed on the computer on which the document is to be viewed. For instance, if a user receives a word processing document from another user and desires to view the document, including all of the images, three-dimensional objects, and other content contained therein, it is typically necessary for a copy of the word processing application program utilized to create the document to be installed on the user's computer.
[0003] In many cases, a user may simply be unable to view a document if they do not
have a copy of the application program utilized to create the document installed on their
computer. In other cases, it may be necessary for a user to locate, download, and install a
compatible viewer appUcation program for displaying the document on their computer in
order to view the document. It may, however, be difficult for a user to locate, install, and
execute such a viewer application. In yet other cases, a compatible version of the application
program or viewer application may not be available for the type of device on which the user
wishes to view the document. For instance, a user may wish to view a document on a
personal digital assistant ("PDA") or a wireless mobile telephone for which a version of the
application program utilized to create the document or a viewer application does not exist.
This can be extremely frustrating for a user that has a need to view a document, and all of the
images, three-dimensional objects, and other content contained therein, but who does not
possess the necessary application program utilized to create the document.
[0004] It is with respect to these considerations and others that the disclosure made
herein is presented.
SUMMARY
[0005] Technologies are described herein for rendering documents containing three-
dimensional objects on a server computer. In particular, through the utilization of the technologies and concepts presented herein, a document containing one or more three-dimensional objects can be rendered on a server computer for display using a standard viewer application program executing on a client computer, such as a world wide web ("web") browser application. Because the document, including any three-dimensional objects contained therein, is rendered on the server computer, there is no need for the application program utilized to create the document or a specific viewer application for the document type to be installed on the client computer.
[0006] According to one aspect presented herein, a client computer receives a request
to display a document, such as a word processing document, a presentation document, or a spreadsheet document. The request may come, for instance, in response to a user request to view the document. In response to such a request, the client computer determines whether an application program utilized to create the docimient is available to the client computer for displaying the document. If the application program utilized to create the document is not available to display the document, the client computer transmits a request to a server computer to render the document, including the rendering of any three-dimensional objects contained in the document.
[0007] In response to receiving a request to render a document, the server computer
parses the document to determine if the document contains any three-dimensional objects. For instance, the server computer may parse the document to determine if any three-dimensional tables, charts, graphics, shapes, or text are contained in the document. If the document does contain three-dimensional objects, the server computer renders the three-dimensional objects. Through the rendering process, the three-dimensional objects are transformed into two-dimensional images. In one embodiment, the images are rendered in a web-standard image format, such as the portable network graphics ("PNG") format. According to embodiments, the same or a different server computer may perform the rendering of the three-dimensional objects. In this manner, the rendering process can be scaled to multiple server computers.
[0008] Once the three-dimensional objects have been rendered, the remaining portion
of the document is also rendered to a web-standard image format, including compositing into the document any rendered three-dimensional objects. The rendered version of the document is then returned to the client computer in response to the original request to render the
document. Because the rendered document is in a web-standard image format, the rendered
document can be displayed on the client computer by a standard viewer application
commonly available on many types of devices, such as a web browser application program.
The rendered version of the document, and any rendered three-dimensional objects contained
therein, appears substantially similar when displayed by the standard viewer application as it
would if displayed by the application program that created the document. According to
embodiments, single pages of the document, including any three-dimensional objects
contained therein, may be rendered at a time rather than an entire document.
[0009] It should be appreciated that the above-described subject matter may also be
implemented as a computer-controlled apparatus, a computer process, a computing system, or
as an article of manufacture such as a computer-readable medium. These and various other
features will be apparent from a reading of the following Detailed Description and a review
of the associated drawings.
[0010] This Summary is provided to introduce a selection of concepts in a simplified
form that are further described below in the Detailed Description. This Summary is not
intended to identify key features or essential features of the claimed subject matter, nor is it
intended that this Summary be used to limit the scope of the claimed subject matter.
Furthermore, the claimed subject matter is not limited to implementations that solve any or
all disadvantages noted in any part of this disclosure.
BRIEF DESCRIPTION OF THE DRAWINGS
[0011] FIGURE 1 is a network diagram showing aspects of an illustrative operating
environment and several software components provided by the embodiments presented
herein;
[0012] FIGURES 2-4 are flow diagrams illustrating aspects of the operation of a
client computer, a front-end server computer, and a back-end server computer, respectively,
provided in one embodiment presented herein; and
[0013] FIGURE S is a computer architecture diagram showing an illustrative
computer hardware and software architecture for a computing system capable of
implementing aspects of the embodiments presented herein.
DETAILED DESCRIPTION
[0014] The following detailed description is directed to technologies for rendering
three-dimensional objects on a server computer. Through the use of the technologies and
concepts presented herein, a document containing one or more three-dimensional objects can
be rendered on a server computer for display using a standard viewer application program
executing on a client computer. This process eliminates the need for the application program utilized to create the document, or a specific viewer application for the document type, to be installed on the client computer in order to view the document.
[0015] While the subject matter described herein is presented in the general context of
program modules that execute in conjunction with the execution of an operating system and application programs on a computer system, those skilled in the art will recognize that other implementations may be performed in combination with other types of program modules. Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the subject matter described herein may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consiuner electronics, minicomputers, mainframe computers, and the like.
[0016] In the following detailed description, references are made to the
accompanying drawings that form a part hereof, and which are shown by way of illustration
specific embodiments or examples. Referring now to the drawings, in which like numerals
represent like elements through the several figures, aspects of a computing system and
methodology for rendering three-dimensional objects on a server computer will be described.
[0017] Turning now to FIGURE 1, details will be provided regarding an illustrative
operating environment and several software components provided by the embodiments
presented herein. In particular, FIGURE 1 shows aspects of a system 100 for rendering
three-dimensional objects on a server computer. The system 100 includes a client computer
104, one or more front-end server computers 106A-106N, and one or more back-end server
computers 108A-108N. As illustrated in FIGURE 1, the client computer 104, the front-end
server computer 106A, and the back-end server computer 108A are interconnected through
one or more local and wide area networks, such as the network 117. It should be appreciated
that many more network connections may be utilized than illustrated in FIGURE 1.
[0018] The client computer 104 illustrated in FIGURE 1 comprises a standard
desktop or laptop computer system capable of executing an operating system and one or more application programs. In particular, according to embodiments, the client computer 104 is operative to execute a docimient creation application 112. The document creation appUcation 112 comprises an application program for creating a document 114, that may or may not include one or more three-dimensional objects such as the 3-D object 116.
[0019] According to implementations, the document creation application 112
comprises an application program for creating a word processing document, a presentation document, or a spreadsheet document. It should be appreciated, however, that the implementations described herein may be utilized with document creation applications for creating any type of document with 3-D objects contained therein. According to other aspects, the 3-D object 116 comprises a three-dimensional table, a three-dimensional chart, a three-dimensional graphic, a three-dimensional shape, or a three-dimensional text object. It should be appreciated, however, that the 3-D object 116 may comprise any type of object having three-dimensional properties.
[0020] As illustrated in FIGURE 1, the client computer 104 is also operative to
execute a client viewer application 112. According to one implementation, the client viewer appUcation 110 comprises an application configured to display images formatted according to a standard image format. For instance, in one implementation, the client viewer application 110 comprises an application program capable of displaying a PNG image file. The client viewer application 112 may also be configured to display otha: types of web-standard image formats. In one particular implementation, the client viewer application 110 comprises a web browser application program capable of displaying images formatted in web-standard image formats. It should be appreciated, however, that the fimctionality described herein as being performed by the client viewer application 110 may be integrated into other types of programs capable of displaying web-standard image formats.
[0021] As will be discussed in greater detail below, the client computer 104 is
operative to receive a request to display a document, such as the document 114. In response
to receiving such a request, the client computer 104 determines whether the document
creation application 112 is available to render and display the document 114. If the document
creation application 112 is unavailable to display the documoit 114, the client computo-104
utilizes functionality provided by the fi-ont-end server computer 106A and the back-end
server computer 108A to render the document 114. The document creation application 112
may be unavailable, for instance, if the document creation application 112 has not been
installed on the client computer 104 or has been installed but is non-functional.
[0022] When the client computer 104 receives a request to display a document 114
for which a document creation application 112 is unavailable, the client computer 104 transmits a request 118A to the fix>nt-end server computer 106A. In the embodiment shown in FIGURE 1, the request 118A includes a render request 120 and the document 114. In other embodiments, however, the request 118A includes the render request 120 and a
reference to the document 114. In this embodiment, the document U4 is not transmitted with the request 118A. Rather, the client computer 103 stores the document 114 on a networked storage location that is accessible by the front-end server computer 106A and the back-end server computer 108A. In this maimer, the document 114 need not be transmitted with the request 118A.
[0023] If the document 114 contains any 3-D objects, such as the 3-D object 116,
these objects are also transmitted with the request 1 ISA. The request 1 ISA may also include
information regarding the capabilities of the client computer 104 and the client viewer
application 110 for use by the front-end server computer 106A and the back-end server
computer 108A in rendering the document 114. For instance, the client computer 104 may
transmit information regarding the resolution of a display device coimected thereto. This
information is utilized by the front-end server computer 106A and the back-end server
computer 108A to determine the resolution at which the document 114 should be rendered.
[0024] When the front-end server computer 106A receives the request USA, the
front-end server computer 106A determines whether the document 114 contains any three-dimensional objects. If three-dimensional objects are contained in the document 114, the front-end server computer 106A transmits a request 11 SB to the back-end server computer 108A to render the three-dimensional object. The request 118B includes the three-dimensional object 116 to be rendered. The back-end server computer 108A receives the request USB and initiates the 3-D rendering process 121.
[0025] The 3-D rendering process 121 takes the 3-D object 116 and renders the 3-D
object 116 into an image. According to embodiments, a standard image format such as PNG may be utilized to render the 3-D object 116. Other types of image formats may also be utilized. When the 3-D rendering process 121 has completed rendering the 3-D object 116, a response 122 is returned to the front-end server computer 106A. The response 122 includes the rendered 3-D object 124.
[0026] When the front-end server computer 106A receives the response 122, a front-
end rendering process 119 is utilized to render the other portions of the document 114. This may include, for instance, rendering other content in the document 114 and compositing the rendered 3-D object 124 into the rendered document 128. Like the 3-D rendering process 121, the front-end rendering process 119 renders the document 114 into a web-standard image format, such as PNG. In this manner, the output from the frx)nt-end rendering process 119 can be displayed by any standard viewer appUcation capable of rendering web-standard image formats.
[0027] Once the front-end rendering process 119 has completed, the front-end server
computer 106 A transmits a response 126 to the client viewer application 110, The response 126 includes the rendered document 128 and any rendered 3-D objects 124. Once the response 126 has been received by the client viewer application 110, the client viewer application 110 displays the rendered document 128 on a display device of the client computer 104.
[0028] It should be appreciated that while the process described above with reference
to FIGURE 1 causes an entire document 114 to be rendered by the server computers 106A and 108 A, other implementations may cause sub-portions of the document 114 to be rendered at a time. For instance, according to one implementation, individual pages of the document 114, including any 3-D objects contained therein, may be rendered by the server computers 106A and 108A and returned to the client viewer application 110. Rendering pages of the document 114 one at a time reduces the computational requirements of the front-end server computer 106A and the back-end server computer 108A.
[0029] It should also be appreciated that while the process described with respect to
FIGURE 1 is described in conjunction with a single front-oid server computer 106A and a
single back-end server computer 108A, multiple computing systems may be utilized. For
instance, multiple front-end server computers 106A-106N may be utilized to field requests
118A from the client computer 104. Similarly, multiple back-end server computers 108A-
108N may be utilized to render 3-D objects in parallel. According to other implementations,
scalability may be obtained by utilizing multiple processing units on each of the back-end
server computers 108A-108N, such as multiple central processing units or multiple core
central processing units. In this manner, the rendering of many 3-D objects can be performed
in parallel. In other implementations, the processing presented herein as occurring on
multiple computing systems may be performed on a single computing system.
[0030] It should also be appreciated that the rendered document 118, including any
rendered 3-D objects 124 contained therein, are rendered by the front-end server computer 106A and the back-end server computer 108A with ftill visual fidelity. Full visual fidelity refers to the ability of the fix)nt-end server computer 106A and the back-end server computer 108A to render the document 114, and any three-dimrasional objects 116 contained therein, with no loss of visual quality. In this manner, the rendered document 128, and any rendered 3-D objects 124 contained therein, will appear to a user of the client computer 104 in a substantially similar manner as if the document 114 was displayed by the document creation
application 112. Additional details regarding the various computing systems and software
components illustrated in FIGURE 1 will be provided below with respect to FIGURE 2-5.
[0031] Referring now to FIGURES 2-4, additional details will be provided regarding
the embodiments presented herein for rendering three-dimensional objects on a server computer. In particular, FIGURES 2-4 are flow diagrams illustrating aspects of the operation of the client computer 104, the front-end server computer 106A, and the back-end server computer 108A, respectively, in one embodiment presented herein. The FIGURES 2-4 are described together to illustrate the interaction between the client computer 104, the front-end server computer 106A, and the back-end server computer 108A.
[0032] It should be appreciated that the logical operations described herein are
implemented (1) as a sequence of computer implemented acts or program modules running on a computing system and/or (2) as interconnected machine logic circuits or circuit modules within the computing system. The implementation is a matto* of choice dependent on the performance and other requirements of the computing system. Accordingly, the logical operations described herein are referred to variously as states operations, structural devices, acts, or modules. These operations, structural devices, acts and modules may be implemented in software, in firmware, in special purpose digital logic, and any combination thereof It should also be appreciated that more or fewer operations may be performed than shown in the figures and described herein. These operations may also be performed in a differrait order than those described herein.
[0033] The routine 200 begins at operation 202, where the client computer 104
receives a request to display a document 114. Such a request may come, for instance, in response to a user request to view the contents of the document 114. From operation 202, the routine 200 continues to operation 204, where the client computer 104 determines whether the document creation application 112 is available to display the document 114. If the document creation application 112 is available, the routine 200 continues to operation 206, where the client computer 104 causes the document creation application 112 to open the docimient 114 and display the document. From operation 206, the routine 200 continues to operation 214, where it ends.
[0034] If the document creation application 112 is \mavailable, the routine 200
branches from operation 204 to operation 208. At operation 208, the client computer 104 transmits the request 118 to the front-end server computer 106A. As described above, the request 118 comprises a request to the fn>nt-end server computer 106 to render the document 114 and includes the document 114 and any three-dimensional objects 116 contained therein.
[0035] The front-end server computer 106A receives the request 118A at operation
302 of the routine 300. In response to receiving such a request, the front-end server computer 106A parses the document 114 at operation 304. Once the parsing has been completed, the routine 300 continues to operation 306, where the front-end server computer 106A determines whether any three-dimensional content is contained in the document 114. If no three-dimensional content is contained in the document 114, the routine 300 branches from operation 306 to operation 312, described below. If, however, the document 114 contains one or more 3-D objects 116, the routine 300 continues from operation 306 to operation 308. At operation 308, the front-end server computer 106A transmits the request 118B to the back-end server computer 108A. As discussed above, the request 118B comprises a request to the back-end server computer 108A to render the 3-D object 116.
[0036] The back-end server 108 A receives the request 118B at operation 402 of the
routine 400. The routine 400 then continues to operation 404, where the 3-D rendering
process 121 is executed to render the 3-D object 116 into the rendered 3-D object 124. Once
the 3-D rendering process 121 has completed, a response 121, including the rendered 3-D
object 124, is returned to the front-end server computer 106A at operation 406. From
operation 406, the routine 400 continues to operation 408, where it ends.
[0037] The fi«nt-end server computer 106A receives the rendered 3-D object 124 at
operation 310 of the routine 300. From operation 310, the routine 300 continues to operation 312, where the document 114 is rendered by the front-end rendering process 119, including compositing of the rendered 3-D object 124 into the rendered document 128. Once the front-end rendering process has completely rendered the document 128, the routine 300 continues to operation 314, where the response 126 is returned to the client computer 104, including the rendered document 128 and the rendered 3-D object 124.
[0038] The cUent computer 104 receives the response 126 at operation 210 of the
routine 200. In response to receiving response 126 including the rendered document 128, the
routine 200 continues to operation 212, where the client viewer application 110 displays the
rendered document 128 including any rendered 3-D objects 124 contained therein. From
operation 212, the routine 200 continues to operation 214, where it ends.
[0039] It should be appreciated that although the routines 200, 300, and 400, illusfrate
the process of rendering an entire document 114, a similar process may be utilized to render single pages of a docimient 114 at a time. It should also be appreciated that although the rendering of the document 114 is described as being performed by both a front-end server computer 106A and a back-end server computer 108A, these processes may be performed by
a single server computer. In particular, the front-end rendering process 119 and the 3-D rendering process 121 may be executed on a single server computer. Other types of implementations may also be utilized to maximize the network performance and processor utilization of the various computers described herein.
[0040] FIGURE 5 shows an illustrative computer architecture for a computer 500
capable of executing the software components described herein for rendering a three-dimensional object on a server computer in the manner presented above. The computer architecture shown in FIGURES illustrates a conventional desktop, laptop, or server computer and may be utilized to execute any aspects of the software components presented herein described as executing on the client computer 104, the front-end server computers 106A-106N, or the back-end server computers 108A-108N.
[0041] The computer architecture shown in FIGURE 5 includes a central processing
unit 502 ("CPU"), a system memory 508, including a random access memory 514 ("RAM") and a read-only memory ("ROM") 516, and a system bus 504 that couples the memory to the CPU 502. A basic input/output system containing the basic routines that help to transfer information between elements within the computer 500, such as during startup, is stored in the ROM 516. The computer 500 further includes a mass storage device 510 for storing an operating system 518, appUcation programs, and other program modules, which are described in greater detail herein.
[0042] The mass storage device 510 is connected to the CPU 502 through a mass
storage controller (not shown) connected to the bus 504. The mass storage device 510 and its associated computer-readable media provide non-volatile storage for the computer 500. Although the description of computer-readable media contained herein refers to a mass storage device, such as a hard disk or CD-ROM drive, it should be appreciated by those skilled in the art that computer-readable media can be any available computer storage media that can be accessed by the computer 500.
[0043] By way of example, and not limitation, computer-readable media may include
volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. For example, computer-readable media includes, but is not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other solid state memory technology, CD-ROM, digital versatile disks ("DVD"), HD-DVD, BLU-RAY, or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or oiber
magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computer 500.
[0044] According to various embodiments, the computer 500 may operate in a
networked environment using logical connections to remote computers through a network such as the network 520. The computer 500 may connect to the network 520 through a network interface unit 506 connected to the bus 504. It should be appreciated that the network interface unit 506 may also be utilized to connect to other types of networks and remote computer systems. The computer 500 may also include an input/output controller 512 for receiving and processing input from a number of other devices, including a keyboard, mouse, or electronic stylus (not shown in FIGURE 5). Similarly, an input/output controller may provide output to a display screen, a printer, or other type of output device (also not shown in FIGURE 5).
[0045] As mentioned briefly above, a number of program modules and data files may
be stored in the mass storage device 510 and RAM 514 of the computer 500, including an
operating system 518 suitable for controlling the operation of a networked desktop, laptop, or
server computer. The mass storage device 510 and RAM 514 may also store one or more
program modules. In particular, the mass storage device 510 and the RAM 514 may store the
client viewer application 110, the front-end rendering process 119, and the 3-D rendering
process 121, each of which was described in detail above with respect to FIGURES 1-4. The
mass storage device 510 and the RAM 514 may also store other types of program modules.
[0046] Based on the foregoing, it should be appreciated that technologies for
rendering three-dimensional objects on a server computer are provided herein. Althouglh the subject matter presented herein has been described in language specific to computer structural features, methodological acts, and computer readable media, it is to be understood that the invention defined in the appended claims is not necessarily limited to the specific features, acts, or media described herein. Rather, the specific features, acts and mediums are disclosed as example forms of implementing the claims.
[0047] The subject matter described above is provided by way of illustration only and
should not be construed as limiting. Various modifications and dianges may be made to the subject matter described herein without following the example embodiments and applications illustrated and described, and without departing from the true spirit and scope of the present invention, which is set forth in the following claims.
l/We Claim;
1. A method for rendering a three-dimensional object (116) on a server computer
(108 A), the method comprising:
receiving a request to display a document (114);
in response to the request, determining whether an application program (112) utilized to create the document (114) is available to display the document (114); and
in response to determining that the application program (112) utilized to create the document (114) is not available to display the document (114), transmitting a request to the server computer (106A) to render the document including the rendering of any three-dimensional objects (116) contained in the document (114).
2. The method of claim 1, further comprising:
receiving a rendered version of the document from the server computer in response to the request to the server computer to render the document; and
executing a viewer application to display the rendered version of the document.
3. The method of claim 1, wherein the request to the server computer to render the document comprises a request to render a single page of the document, wherein receiving a rendered version of the document from the server computer comprises receiving a rendered version of the single page of the document, and wherein executing a viewer application to display the rendered version of the document comprises executing a viewer application to display the rendered version of the single page of the document.
4. The method of claim 2, wherein the rendered version of the document received from the server computer is substantially similar to a render of the document generated by the application program utilized to create the document.
5. The method of claim 4, wherein the rendered version of the document comprises an image and wherein the viewer application comprises an application program operative to display the image.
6. The method of claim 5, wherein the image is formatted according to a web-standard image format.
7. A computer-readable medium having computer-executable instructions stored thereon which, when executed by a computer, cause the computer to perform the method of claim 1.
8. A method for rendering a three-dimensional object (116) on a server computer (108A), the method comprising:
receiving a request to render a document (114);
in response to receiving the request, parsing the document (114) to determine whether the document (114) contains a three-dimensional object (116); and
in response to determining that the document contains a three-dimensional object (116), rendering the three-dimensional object (116) on the server computer (108A), rendering the document (114) including the rendered three-dimensional object (124) to create a rendered document (114), and providing the rendered document (128) in response to the request to render the document (114).
9. The method of claim 8, further comprising in response to determining that the
document does not contain a three-dimensional object:
rendering the document; and
providing the rendered document in response to the request to render the document.
10. The method of claim 8, wherein the request to render a document comprises a request to render a single page of a document, wherein parsing the document to determine whether the document contains a three-dimensional object comprises parsing the single page of the document to determine whether the page contains a three-dimensional object, wherein rendering the document including the rendered the three-dimoisional object to create a rendered document comprises rendering the single page of the document including the rendered three-dimensional object to create a rendered page of the document, and wherein providing the rendered document in response to the request to render the document comprises providing the rendered page of the document in response to the request to render a single page of the document.
11. The method of claim 8, wherein the rendered document is substantially similar to a render of the document generated by an application program utilized to create the document.
12. The method of claim 8, wherein the rendered document comprises an image and wherein the image is formatted according to a world wide web (web) standard image Format.
13. A computer-readable medium having computer-executable instructions stored thereon which, when executed by a computer, cause the computer to perform the method of claim 8.
14. A system for rendering a three-dimensional object (116) on a server computer (108A), the system comprising:
a first server component (119) operative to receive a request to render a document (114), to parse the document (114) to determine whether the document contains a three-dimensional object (116), and in response to determining that the document (114) contains a three-dimensional object (116), to transmit a request to a second server component (121) to render the three-dimensional object (116); and
a second server component (121) operative to receive the request to render the three-dimensional object (116) from the first server component (119), to raider the three-dimensional object (116), and to return the rendered three-dimensional object (124) to the first server component (119) in response to the request.
15. The system of claim 14, wherein the first server component is further
operative to:
receive the rendered three-dimensional object from the second server component;
render the document including the rendered three-dimensional object to create a rendered document; and to
provide the rendered document in response to the request to render the document.
16. The system of claim 15, wherein in response to determining that the document
does not contain a three-dimensional object the first server component is further operative to:
render the document to create a rendered document; and to
provide the rendered document in response to the request to render the document.
17. The system of claim 16, wherein the first server component is executed on a
first server computer and wherein the second server component is executed on a second
server computer.
18. The system of claim 16, wherein the first server component and the second
server component are executed on a single server computer.
19. The system of claim 16, wherein the rendered document is substantially
similar to a render of the document generated by an appUcation program utilized to create the
document.
20. The system of claim 19, wherein the rendered document comprises an image
and wherein the image is fonnatted according to a world wide web (web) standard image
format.
| # | Name | Date |
|---|---|---|
| 1 | abs 1393-chenp-2010 abstract 11-03-2010.jpg | 2010-03-11 |
| 2 | 1393-chenp-2010 pct search report 11-03-2010.pdf | 2010-03-11 |
| 3 | 1393-chenp-2010 pct 11-03-2010.pdf | 2010-03-11 |
| 4 | 1393-chenp-2010 form-5 11-03-2010.pdf | 2010-03-11 |
| 5 | 1393-chenp-2010 form-3 11-03-2010.pdf | 2010-03-11 |
| 6 | 1393-chenp-2010 form-2 11-03-2010.pdf | 2010-03-11 |
| 7 | 1393-chenp-2010 form-1 11-03-2010.pdf | 2010-03-11 |
| 8 | 1393-chenp-2010 drawings 11-03-2010.pdf | 2010-03-11 |
| 9 | 1393-chenp-2010 description(complete)11-03-2010.pdf | 2010-03-11 |
| 10 | 1393-chenp-2010 claims 11-03-2010.pdf | 2010-03-11 |
| 11 | 1393-chenp-2010 abstract 11-03-2010.pdf | 2010-03-11 |
| 12 | 1393-chenp-2010 power of attorney 11-03-2010.pdf | 2010-03-11 |
| 13 | 1393-chenp-2010 correspondence others 11-03-2010.pdf | 2010-03-11 |
| 14 | 1393-chenp-2010 form-3 04-08-2010.pdf | 2010-08-04 |
| 15 | 1393-CHENP-2010 FORM-18 22-09-2011.pdf | 2011-09-22 |
| 16 | 1393-CHENP-2010 CORRESPONDENCE OTHERS 22-09-2011.pdf | 2011-09-22 |
| 17 | 1393-CHENP-2010 FORM-6 25-02-2015.pdf | 2015-02-25 |
| 18 | MTL-GPOA - KONPAL.pdf ONLINE | 2015-03-05 |
| 19 | MS to MTL Assignment.pdf ONLINE | 2015-03-05 |
| 20 | FORM-6-1301-1400(KONPAL).64.pdf ONLINE | 2015-03-05 |
| 21 | MTL-GPOA - KONPAL.pdf | 2015-03-13 |
| 22 | MS to MTL Assignment.pdf | 2015-03-13 |
| 23 | FORM-6-1301-1400(KONPAL).64.pdf | 2015-03-13 |
| 24 | 1393-CHENP-2010-FER.pdf | 2017-12-21 |
| 25 | 1393-CHENP-2010-Information under section 8(2) (MANDATORY) [14-06-2018(online)].pdf | 2018-06-14 |
| 26 | 1393-CHENP-2010-FORM 3 [14-06-2018(online)].pdf | 2018-06-14 |
| 27 | 1393-CHENP-2010-OTHERS [15-06-2018(online)].pdf | 2018-06-15 |
| 28 | 1393-CHENP-2010-FER_SER_REPLY [15-06-2018(online)].pdf | 2018-06-15 |
| 29 | 1393-CHENP-2010-CORRESPONDENCE [15-06-2018(online)].pdf | 2018-06-15 |
| 30 | 1393-CHENP-2010-COMPLETE SPECIFICATION [15-06-2018(online)].pdf | 2018-06-15 |
| 31 | 1393-CHENP-2010-CLAIMS [15-06-2018(online)].pdf | 2018-06-15 |
| 32 | 1393-CHENP-2010-ABSTRACT [15-06-2018(online)].pdf | 2018-06-15 |
| 33 | 1393-CHENP-2010-HearingNoticeLetter.pdf | 2018-11-19 |
| 34 | 1393-CHENP-2010-Correspondence to notify the Controller (Mandatory) [27-11-2018(online)].pdf | 2018-11-27 |
| 34 | MTL-GPOA - KONPAL.pdf ONLINE | 2015-03-05 |
| 35 | 1393-CHENP-2010 FORM-6 25-02-2015.pdf | 2015-02-25 |
| 35 | 1393-CHENP-2010-FORM-26 [10-12-2018(online)].pdf | 2018-12-10 |
| 36 | 1393-CHENP-2010 CORRESPONDENCE OTHERS 22-09-2011.pdf | 2011-09-22 |
| 36 | Correspondence by Agent_Form26_21-12-2018.pdf | 2018-12-21 |
| 37 | 1393-CHENP-2010-FORM 3 [24-12-2018(online)].pdf | 2018-12-24 |
| 38 | 1393-chenp-2010 form-3 04-08-2010.pdf | 2010-08-04 |
| 38 | 1393-CHENP-2010-Written submissions and relevant documents (MANDATORY) [26-12-2018(online)].pdf | 2018-12-26 |
| 39 | 1393-CHENP-2010-Response to office action (Mandatory) [27-12-2018(online)].pdf | 2018-12-27 |
| 40 | 1393-chenp-2010 power of attorney 11-03-2010.pdf | 2010-03-11 |
| 40 | Marked Up Claims_Granted 305091_28-12-2018.pdf | 2018-12-28 |
| 41 | Drawings_Granted 305091_28-12-2018.pdf | 2018-12-28 |
| 42 | 1393-chenp-2010 claims 11-03-2010.pdf | 2010-03-11 |
| 42 | Description_Granted 305091_28-12-2018.pdf | 2018-12-28 |
| 43 | 1393-chenp-2010 description(complete)11-03-2010.pdf | 2010-03-11 |
| 43 | Claims_Granted 305091_28-12-2018.pdf | 2018-12-28 |
| 44 | Abstract_Granted 305091_28-12-2018.pdf | 2018-12-28 |
| 44 | 1393-chenp-2010 drawings 11-03-2010.pdf | 2010-03-11 |
| 45 | 1393-CHENP-2010-PatentCertificate28-12-2018.pdf | 2018-12-28 |
| 45 | 1393-chenp-2010 form-1 11-03-2010.pdf | 2010-03-11 |
| 46 | 1393-CHENP-2010-IntimationOfGrant28-12-2018.pdf | 2018-12-28 |
| 46 | 1393-chenp-2010 form-2 11-03-2010.pdf | 2010-03-11 |
| 47 | 1393-chenp-2010 form-3 11-03-2010.pdf | 2010-03-11 |
| 47 | 1393-CHENP-2010-RELEVANT DOCUMENTS [21-03-2019(online)].pdf | 2019-03-21 |
| 48 | 1393-chenp-2010 form-5 11-03-2010.pdf | 2010-03-11 |
| 48 | 1393-CHENP-2010-RELEVANT DOCUMENTS [28-03-2019(online)].pdf | 2019-03-28 |
| 49 | 1393-chenp-2010 pct 11-03-2010.pdf | 2010-03-11 |
| 49 | 1393-CHENP-2010-RELEVANT DOCUMENTS [29-05-2019(online)].pdf | 2019-05-29 |
| 50 | 1393-chenp-2010 pct search report 11-03-2010.pdf | 2010-03-11 |
| 50 | 1393-CHENP-2010-RELEVANT DOCUMENTS [27-03-2020(online)].pdf | 2020-03-27 |
| 51 | 1393-CHENP-2010-RELEVANT DOCUMENTS [22-09-2021(online)].pdf | 2021-09-22 |
| 51 | abs 1393-chenp-2010 abstract 11-03-2010.jpg | 2010-03-11 |
| 1 | 1393_CHENP_2010_SS_22-11-2017.pdf |