Abstract: Method of executing online gaming application software is disclosed. In an embodiment, the method includes determining a client device platform associated with a client computing device. The method further includes executing, at a server computing device, an online gaming application software hosted in the server computing device, based at least in part on the determined client device platform. The execution is performed in such a manner that the results of the execution can be communicated to a user at the client computing device. The client computing device may be, for example, a mobile phone, a smart phone, a laptop, a palmtop, a personal digital assistant (PDA), or other similar mobile devices with limited processing and memory capabilities and resources.
To this end, fig. 1 illustrates an online mobile gaming system 100 according to an embodiment of the present invention. Accordingly, the online mobile gaming system 100 is implemented in a typical client-server environment that includes two broad components: a client computing device 102 and a server computing device 104. Throughout the text, the term "client computing device" can interchangeably refer to a mobile phone, a cellular phone, a smart phone, a cell phone, a wireless phone or other similar devices offering capabilities of calling, text messaging, etc. using wireless medium via a communication network 106. In addition, for purposes of the ongoing description, the client computing device 102 corresponds to a communication device with inbuilt capabilities for sending and receiving signals in addition to the device's talk/text frequency band.
Likewise, the server computing device 104 can interchangeably refer to a typical organization of backend server layer, which operates on client-server relationship in a secure environment. In various implementations, the server computing device 104 may include a main server and a fail-over server that hosts one or more application software (e.g. mobile gaming software) that the client computing device 102 would like to access or use. The server computing device 104 hosts one or more application software that may have been uploaded by the network operator or network service provider. Throughout the following description, references would be made to "application software" interchangeably with "mobile gaming software" or "mobile gaming content". It may be appreciated by those skilled in the art that any application software can be considered for the purposes of the ongoing description without departing from the scope of the disclosed invention. Although, "mobile gaming software" has been considered as an exemplary case of application software in the context of mobile devices, other examples of application software are applicable.
In addition, it may be appreciated that an application software (e.g. mobile gaming) is built on a platform that provides the fundamental tools and resources for coding and execution of the application software. Further, execution of the application software occurs in an environment provided by an operating system of a device. Therefore, to execute application software remotely, the remote host (e.g. server computing device
104) of the application software must run the platform engine corresponding to the application software.
The network 106 may include one or more of wireless network, wired network, Wide Area Network (WAN), Metropolitan Area Network (MAN), Local Area Network (LAN), and Personal Area Network (PAN). In an exemplary implementation, the network 106 corresponds to a mobile/cellular network. Such mobile networks may be, for example, networks employed for Global System for Mobile (GSM) communications or a Code Division Multiple Access (CDMA) based communications. According to an embodiment other mobile device networks, such as, personal communications service (PCS) may also be employed without departing from the scope of the ongoing disclosure. For example, networks confirming to Wi-Fi and Wi-Max standards may also be implemented in the network 106. The network 106 may also be a communication data network, which in case of mobile network can be GPRS network (2.5G, 2.75G -EDGE, 3G or any future networks).
The system 100 further includes a client software module 108 that runs on the client computing device 102 and enables the client computing device 102 to access and execute application software hosted in the server computing device 102. The server computing device 104 includes a platform module 110 configured to determine a client operating system supported by the client computing device 102.
In an implementation, an operator or a service provider uploads mobile game application software on the server computing device 104. The client computing device 102 (e.g. a mobile device) connects to the server computing device 102 and selects a game to be played. In a successive progression, the platform module 110 determines a client device platform associated with the client computing device 102. A device platform may correspond to a suitable combination of hardware and software required for the execution of application software. In the ongoing context, the client device platform corresponds to a client operating system and client device hardware specifications. In addition, there may be cases in which the server computing device 104 and the client computing device 102 run different operating systems. In such a case, the server computing device 104
converts server OS commands to client OS commands thereby eliminating compatibility issues.
In response to the selection, the server computing device 104 executes the mobile game application software at the server computing device 104 based on the determined client device platform. The results of the execution of the application software can be communicated to a user at the client computing device 102 via. the communication network 106. For example, in case of mobile gaming application software, the execution would result in data associated with graphics and audio features of the game. To render a visual(s) or graphics on a display screen of the client computing device 102, the server computing device 104 sends a command to the client computing device 102. The command is received by the client software module 108 which then enables or renders the visual(s) and /or graphics on the client computing device 102. The client software module 108 is further configured to capture a response from a user of the client computing device 102 (as the game progresses) and send it back to the server computing device 104 for execution.
Fig. 2 illustrates a block diagram of client computing device 102 (e.g. mobile device) according to an embodiment of the present invention. The client computing device 102 can correspond to any communication device, cellular phone, smart phone, personal digital assistant (PDA), mobile paging device, mobile gaming device, netbook, netpad, laptop, or computer that offers one or more capabilities to make/receive calls, send/receive text messages or electronic mails, play video games, etc. In a very basic configuration, mobile device 102 typically includes at least a processor 202 and a system memory 204. Depending on the exact configuration and type of client computing device 102, system memory 204 may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.), or some combination of the two. System memory 204 typically includes a client operating system or system image; one or more program modules 206, and includes program data 208. The processor 202 accesses the memory 204 to execute instructions or applications stored as program modules 206 to perform one or more predetermined functions. The memory 204 stores associated data in program data 208.
The program module(s) 206 includes the client software module 108, input/output (I/O) module 212, client application software 214, graphics module 216, and other modules 218. The program data 208 includes execution data 220, graphics data 222, I/O data 224, and other data (flag values, variables) 226. It may be appreciated that the client computing device (mobile device) 102 may have various features available in all modern day mobile phones or smart phones. Only selected few of the features, functionalities, and modules have been disclosed that find relevance with respect to the ongoing description. For example, mobile device 102 may also have input device(s) such as keypad, stylus, or a pen, voice input device, touch input device, etc. Output device(s) such as a display 228, speakers, etc. may also be included. The display 228 may be a liquid crystal display, or any other type of display commonly used in mobile devices. The display 228 may be touch-sensitive, and would then act as an input device. Such devices are well known in the art and need not be discussed at length here.
In addition, the mobile device 102 may have a communication module (not shown) that allows the mobile device 102 to communicate with other devices (server computing device 104) over a network (e.g. network 106). The communication module in essence is an example of a communication media. Communication media may typically be embodied by computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and include any information delivery media. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, Bluetooth, Zigbee, Wi-Fi, Skype, Satellite and other wireless media. The term computer readable media as used herein includes both storage media and communication media.
The communication module performs the function of transmitting and receiving radio frequency communications. The communication module facilitates wireless connectivity between the mobile device 102 and the outside world, via. a communications carrier or service provider. Transmissions to and from the communications module can be conducted under control of the client operating system (OS) in other module 216. In
other words, communications received by the communication module may be disseminated to client application software via. the operating system, and vice versa.
One or more client application software 214 may be loaded into memory 204 and run on the client operating system (OS) stored in other modules 216. Examples of client application software include phone dialer programs, email programs, scheduling programs, PIM (personal information management) programs, word processing programs, spreadsheet programs, Internet browser programs, and so form. The mobile
Field of the Invention:
The disclosed invention, in general, relates to mobile gaming applications. In particular, the present invention relates to online mobile gaming applications hosted in server computing device and being accessed by a client computing device.
Background of the Invention:
Communication devices like mobile phones, smart telephones, personal digital assistants (PDAs), laptop, personal computers, and other electronic communication devices are widely used for personal, professional, and business purposes. These electronic communication devices have gone beyond luxury to being necessity with the current globalization and due to need for better and remote availability of sharable information and resources. Further, these communication devices have undergone significant technical advancements with regard to processor, memory, and application software which have resulted in increased number of facilities provided by such communication devices.
A typical mobile device not only does provide communication capabilities but also opens up a world of numerous entertainment options for users. For example, mobile applications are available that enable a user to listen to music content, watch videos, play games etc. With the ever increasing usage of mobile devices, the demand for such mobile applications has increased many folds in the last two decades. Understandably, a
available in the market today correspond to J2ME games. It may therefore be appreciated that for J2ME devices and J2ME games, the client software module is implemented in J2ME. As discussed earlier, the server computing device 104 hosts online games as it is without any modification to the gaming content and the mobile device 102. For instance, in case of J2ME devices and J2ME games, the server computing device 104 runs a J2ME engine to execute Java games in native form.
In an exemplary implementation, the client software module 108 is configured to cause an execution of application software residing in the server computing device 104. The application software can be online mobile gaming application software. The server computing device 104 runs on a server operating system (OS) that provides an environment for the gaming application to execute. The results of the execution of the mobile gaming application software can be presented to a user of the client computing device 102. The client software module 108 saves such execution results in execution data 220 of the memory 204. It may be noted herein that the application software or the mobile gaming application software corresponds to a client device platform (e.g. J2ME) associated with the client computing device 102. The server computing device 104 emulates the client operating system to provide an execution platform environment and to eliminate compatibility issues between the server operating system and the client operating system.
In yet another embodiment, the graphics module 216 in the client computing device 102 is configured to render graphics on the client computing device 102 as and when required. In operation, when the server computing device 104 executes the mobile gaming application software, the results of execution would include graphics/visuals associated with the gaming interface. The client software module 108 receives one or more operating system commands from the server computing device 102 for rendering the graphics. The graphics module 216 renders the graphics and visual associated with the execution of the mobile gaming application software and displays the game interface on the display 228. The client computing device 102 stores any graphics associated data in graphics data 222 of memory 204.
Since gaming is an interactive experience, user response and related processing is very important for a satisfactory gaming. The client computing device 102 receives input from the user by means of input devices such as discussed above. In particular, the input module 212 is configured to receive a user input from the user of the client computing device 102 as the game is played. The client software module 108 sends such user inputs to the server computing device 104 for execution and receive execution results of the user input from the server computing device 104 thereafter. The client computing device 102 stores associated user response data in input data 224.
Therefore, the client computing device 102 utilizes the computing resources of the server computing device 104 for execution of mobile gaming application software. As discussed earlier, the existing games can be straightaway uploaded by the operator or the service provider onto the server computing device 104. It is also obvious that the user of the client computing device 102 need not download the complete mobile gaming software from the server computing device 104. Rather, the mobile gaming software is executed locally at the server computing device 104 and the results of the execution are communicated to the client computing device 102 for rendering graphics.
Fig. 3 illustrates a block diagram of server computing device according to an embodiment of the present invention. The server computing device 104 may correspond to a portal or a gaming server owned or leased by a network service provider or a network operator for hosting online gaming application software amongst others. As described earlier, the server 104 communicates with the client computing device 102 via. the communication network 106. As shown, the server computing device 104 includes a processor 300 coupled to a memory 302 storing program modules and program data. In particular, the server computing device includes the OS adapter 302, online application software 306, platform module 110, communication module 310, billing module 312, online program data 314, and other modules 316 (e.g. server operating system, user statistics, etc.).
The server computing device 104 hosts a plurality of application software, such as, online mobile gaming software in the online application software 306. A network operator or a service provider can upload such application software onto the server
computing device 104 for providing secure access to one or more client computing devices 102a and 102b. The client-server communication is facilitated by the communication network 106. Typically, the client computing device 102 connects with the server computing device 104 via the communication network 106 and establishes a session.
Existing methods of supporting online mobile gaming has numerous shortcomings. For example, in certain cases, users are allowed to play online mobile games using a browser. Such games are typically built using internet protocols and are typically referred to as WAP games. The WAP games require a independent eco-system to be developed where coders/developers will have to build content specifically for this new environment. Developing such an eco-system will take lot of time to reach a stage when there is enough content to excite end users of the client computing device 102. Such a time frame may not be desirable keeping in view specific segments of end users, such as, hard core gamers.
Hence, one of the important requirements of online gaming system is to allow existing gaming content/application software to be used, as such, without a modification. This helps the developers to be oblivious of the fact that they are building content for download system or online system.
In operation, the server computing device 104 receives an online gaming request from the client computing device 102. The communication module 310 enables the server computing device 104 to communicate with other device (e.g. client computing device 102). Next, the platform module 110 is configured to determine a client device platform supported by the client computing device 102. As described earlier, an application software has an associated platform. The platform module 110 determines the platform specifications supported by the client OS. Based on this determination, the platform module executes, at least in part, one or more of a plurality of application software at the server computing device 104. The execution is carried out in such a manner that results of the execution can be communicated to a user of the client computing device 102. Needless to mention herein, the one or more of the plurality of application software correspond to the client device platform. For example, the application software may
correspond to J2ME gaming software and the client computing device 102 may correspond to a J2ME device. In order to make the existing games compatible with the disclosed system, the platform module 110 executes the application software (games) in local platform engine (e.g. J2ME).
The results of the execution may include audio, visual, and other processing data that the server computing device 104 stores in online program data 314. In an implementation, the OS adapter 302sends one or more operating system commands to client computing device 102 for rendering graphics associated with the execution of the application software. The OS adapter 302sends all interaction with the end user that includes inputs/outputs (e.g. display and key inputs) to the client computing device 102 over communication network 106. This implies that whenever the mobile gaming application needs to update the display screen or needs inputs from end user or device, the associated information is sent to client computing device 102 over the communication network 106 over a defined protocol. For example, the application and presentation layer protocols of the Open System Interconnect (OSI) protocol layer may be used for sending data associated with the application and the presentation of the execution results.
In certain cases, the bandwidth provided by the communication network 106 may be limited. In an alternative embodiment, different methods may be employed to minimize the communication overheads. For example, some of the commonly needed inputs from the client computing device 102 can be sent once by the client computing device 102 during connection phase so that the server computing device 104 can reuse the data throughout the session.
During a typical game play, the user is required to provide certain inputs. More interactive a game is, the more excited the user is while playing the game. Therefore, the user interface displayed at the plays an important role in making the gaming experience satisfactory or enjoyable. To this end, the OS adapter 302 is configured to receive one or more user inputs communicated by the client computing device 102. It may be noted that the OS adapter 302 converts server OS commands to client OS commands to eliminate compatibility issues between the server operating system and client operating system.
The platform module 110 executes the one or more user inputs received from the client computing device 102, at the server computing device 104. Subsequently, the OS adapter 302communicates the result of execution of the one or more user inputs to the client computing device 102.
The billing module 312 is configured to implement a billing based on at least one of: user classification, period of use, usage per month user, and other similar time based criteria. Alternatively, the billing can be implemented based on predefine profiles of users of the client computing device, the usage history of the user, and any other event based options.
Other modules 316 may include an advertising module, a software update module, a statistics module, etc. required for management of online gaming system. For example, the advertisements that are part of the gaming interface need to be updated on the fly. There may be updates available for the application software (updated versions of games etc.) that might interest the user. The user or the network operator might want to know the usage history, statistics related to usage, popularity, and other aspects of the online gaming.
Fig. 4 illustrates method 400 for executing online gaming application software according to an embodiment of the present invention. Steps involved in the method 400 will be described with reference to fig. 1, fig. 2, and fig. 3.
Accordingly, at block 402 client device platform associated with client computing device is determined. In an implementation, the platform module 110 determines the client device platform supported by the client OS. This enables the platform module 110 to select appropriate platform engine that corresponds to the client device platform. For example, for a J2ME supported client computing device 102 and an online game based on J2ME, the platform module 110 selects a J2ME platform engine locally available at the server computing device 104.
In an implementation, the method includes accessing the server computing device to select the online gaming application software from a plurality of online gaming application software hosted at the server computing device 104. In operation, the client computing device 102 gains access to the server computing device 104 and establishes a gaming session. In such a session, the user of the client computing device 102 may be presented with multiple options of online mobile games on a graphical user interface (on the display 228). The user may utilize input means at the client computing device 102 to select a given online gaming application software. The platform module 110 proceeds with the determination of requisite platform engine corresponding to the selected game based on the user selection.
At block 404, the online gaming application software is executed, at the server computing device 104, based at least in part on the determined client device platform such that the results of the execution can be communicated to a user at the client computing device 102. In a successive progression, the platform module 110 executes the online gaming application software using the selected platform engine. For example, the platform module 110 executes J2ME based online gaming application software using a J2ME platform engine.
The results of the execution may include user interface details, audio data, visual data associated with the gaming experience. Such data is communicated from the server computing device 104 to the client computing device 102. In an implementation, the method further includes receiving, at the client computing device 102, one or more commands to render graphics associated with the execution of the online gaming application software. In operation, the OS adapter 302 issues OS commands that can be interpreted by the client operating system. There may be cases where the server operating system is different from the client operating system. In such scenarios, the OS adaptor 302 converts the server OS commands to client OS commands. The graphics module 216 receives such commands and data (graphics data 222) and renders the graphics associated with the online gaming application software.
During the game play, user provides inputs as part of the interactive experience of the gaming content. The client software module 108 sends the user inputs acquired by the
input module 212 to the OS adaptor 302. The OS adaptor 302 converts the client OS data (user inputs) to server OS data if required and sends it to platform module for processing/execution. In some embodiments, the user inputs can directly be processed by the platform module 110 without conversion by the OS adaptor 302. The platform module 110 executes the user inputs and sends back the execution results to the client software module 108.
The disclosed systems and methods defines an environment that allows existing gaming content to be used without modification in an online gaming system. This has the advantage of making a large amount of gaming content available for online gaming systems and makes a developer's job easy. With single content build, developers can reach out to both hard core gamers for game download and for casual gamers.
The disclosed online gaming system helps in increasing the reach of each mobile game to end users. Many games are restricted to limited set of client computing devices because of multiple reasons, such as, complexity of game, challenging computation requirements and memory. In addition, some client computing devices may correspond to low end devices that cannot support such gaming application software. Such games are directed to limited set of devices or users due to huge cost of porting for developers. In the disclosed online gaming system, since the mobile gaming application software does not execute on mobile device (client computing device 102), the gaming experience is not dependent, largely, on the memory and computation capability of the mobile device. Hence, fewer ports of games can be made available to large set of devices or end users. Additionally, porting of game is also reduced to limited activities, as developer need not port game separately for low end phones or phones with limited capabilities etc.
The disclosed online gaming also solves the problem of redistribution without much effort. Many a times, the developer faces the problem of redistribution of gaming content when new version of same game is available. In a pure download model, users will have to discover new versions and then again go through the pain of downloading the gaming content. In comparison, the disclosed online gaming system replaces the content on the network server (server computing device 104) without any user involvement and the user will see the new version of the game in subsequent access.
The disclosed online mobile gaming system can readily support mechanism where gamers can collaborate easily, which is not easily possible in existing solutions. The end users see the interaction on client computing device 102 without worrying about whether the game is executed locally on the client computing device 102 or in the network server (server computing device 104).
It may be noted that the communication protocol to efficiently implement the interface transfer commands is critical to implement the disclosed system. The reason for such criticalities include, but not limited to, limited bandwidth availability in wireless networks and latency that may cause bad end user experience. The server computing device 102 can have different platforms (engines) implemented on the same physical server or can be hosted on different physical servers.
Implementing online gaming system eliminates the need for users to download mobile games and provide users with flexible pricing to consume gaming content on need basis. It helps the network operator in creating flexible pricing options as games can be offered on pay-per-play, bundled in a pack for subscription and even on try-n-buy options for hard core gamers. The disclosed billing module 312 does not require any pricing control wrapper or any security wrapper since the content never goes in full form to the end user device (client computing device 102). Moreover, the content cannot be copied.
The disclosed online gaming systems and methods provide very interesting opportunity to operators and game developers alike. Since the games are always played online, the server computing device 104 knows user behavior. Therefore, it becomes very easy for the server computing device 104 to perform fine profiling of end user in terms of what genre of games, what time of the day user plays and even how many times a particular game was played. In addition, the server computing device 104 controls the user interface. User profiling and interface control combined together provides for a great tool to operators and developers in supporting gaming content with much targeted advertising content.
It will be appreciated that the teachings of the present invention can be implemented as a combination of hardware and software. The software is preferably implemented as an application program comprising a set of program instructions tangibly embodied in a computer readable medium. The application program is capable of being read and executed by hardware such as a computer or processor of suitable architecture. Similarly, it will be appreciated by those skilled in the art that any examples, functional block diagrams and the like represent various exemplary functions, which may be substantially embodied in a computer readable medium executable by a computer or processor, whether or not such computer or processor is explicitly shown. The processor can be a Digital Signal Processor (DSP) or any other processor used conventionally capable of executing the application program or data stored on the computer-readable medium.
The example computer-readable medium can be, but is not limited to, (Random Access Memory) RAM, (Read Only Memory) ROM, (Compact Disk) CD or any magnetic or optical storage disk capable of canying application program executable by a machine of suitable architecture. It is to be appreciated that computer readable media also includes any form of wired transmission. Further, in another implementation, the method in accordance with the present invention can be incorporated on a hardware medium using ASIC or FPGA technologies.
It is also to be appreciated that the subject matter of the claims are not limited to the various examples and or language used to recite the principle of the invention, and variants can be contemplated for implementing the claims without deviating from the scope. Rather, the embodiments of the invention encompass both structural and functional equivalents thereof.
While certain present preferred embodiments of the invention and certain present preferred methods of practicing the same have been illustrated and described herein, it is to be distinctly understood that the invention is not limited thereto but may be otherwise variously embodied and practiced within the scope of the following claims.
We Claim:
1. A method of executing an online gaming application software, the method
comprising;
determining a client device platform associated with a client computing device; and
executing, at a server computing device, the online gaming application software hosted in the server computing device based at least in part on the determined client device platform such that the results of the execution can be communicated to a user at the client computing device.
2. The method as claimed in claim 1 further comprising accessing the server computing device to select the online gaming application software from a plurality of online gaming application software.
3. The method as claimed in claim 1 further comprises communicating one or more operating system commands from the server computing device to the client computing device.
4. The method as claimed in claim 1 further comprising receiving, at the client computing device, one or more commands to render graphics associated with the execution of the online gaming application software.
5. The method as claimed in claim 4 further comprising rendering graphics at the client computing device based on the one or more commands.
6. The method as claimed in claim 1 further comprising receiving user inputs at the client computing device and communicating the user inputs to server computing device for execution.
7. The method as claimed in claim 1, wherein the client computing device corresponds to a mobile device.
8. A server computing device hosting a plurality of application software, the
server computing device comprising:
a platform module configured to determine a client device platform supported by a client computing device and execute, at least in part, one or more of the plurality of application software at the server computing device based on the determination in such a manner that results of the execution can be communicated to a user of the client computing device, wherein the one or more of the plurality of application software correspond to the client device platform.
9. The server computing device as claimed in claim 8 further comprising an operating system (OS) adapter configured to send one or more OS commands to client computing device for rendering graphics associated with the execution of the one or more of the plurality of application software.
10. The server computing device as claimed in claim 9, wherein the OS adapter is further configured to receive one or more user inputs communicated by the client computing device.
11. The server computing device as claimed in claim 10, wherein the platform module is further configured to execute the one or more user inputs at the server computing device and communicate the result of execution of the one or more user inputs to the client computing device.
12. The server computing device as claimed in claim 8 further comprising a billing module configured to implement a billing based on at least one of: user classification, time period of use or size of content use.
13. The server computing device as claimed in claim 8, wherein the one or more of the plurality of application software corresponds to mobile gaming application software.
14. The server computing device as claimed in claim 8, wherein the client computing device corresponds to a mobile device.
15. The server computing device as claimed in claim 9, wherein the OS adapter is configured to convert server OS commands to client OS commands.
16. A client computing device comprising:
a client software module configured to cause, at a server computing device, an execution of an application software residing in the server computing device in an environment provided by a server operating system (OS) that emulates a client operating system supported by the client computing device, the results of the execution being presented to a user of the client computing device, wherein the application software corresponds to a client device platform associated with the client device.
17. The client computing device as claimed in claim 16 further comprising a graphics module configured to render graphics on the client computing device, the graphics being associated with the execution of the application software at the server computing device.
18. The client computing device as claimed in claim 16, wherein the client software module is further configured to execute one or more operating system commands received from the server computing device.
19. The client computing device as claimed in claim 16 further comprising an input module configured to receive a user input.
20. The client computing device as claimed in claim 19, wherein the client software module is further configured to send the user input to the server computing device for execution and receive execution results of the user input from the server computing device.
21. The client computing device as claimed in claim 16, wherein the one or more of the plurality of application software corresponds to mobile gaming application software.
22. The client computing device as claimed in claim 16, wherein the client computing device corresponds to a mobile device.
| # | Name | Date |
|---|---|---|
| 1 | 311-DEL-2010-AbandonedLetter.pdf | 2019-01-24 |
| 1 | 311-DEL-2010-Form-26-(11-03-2010).pdf | 2010-03-11 |
| 2 | 311-DEL-2010-FER.pdf | 2018-06-07 |
| 2 | 311-DEL-2010-Form-1-(11-03-2010).pdf | 2010-03-11 |
| 3 | 311-del-2010-correspondence-others.pdf | 2011-08-21 |
| 3 | 311-DEL-2010-Correspondence-Others-(11-03-2010).pdf | 2010-03-11 |
| 4 | 311-DEL-2010-GPA-(11-02-2011).pdf | 2011-02-11 |
| 4 | 311-del-2010-description (provisional).pdf | 2011-08-21 |
| 5 | 311-DEL-2010-Form-5-(11-02-2011).pdf | 2011-02-11 |
| 5 | 311-del-2010-drawings.pdf | 2011-08-21 |
| 6 | 311-DEL-2010-Form-3-(11-02-2011).pdf | 2011-02-11 |
| 6 | 311-del-2010-form-1.pdf | 2011-08-21 |
| 7 | 311-del-2010-form-2.pdf | 2011-08-21 |
| 7 | 311-DEL-2010-Form-2-(11-02-2011).pdf | 2011-02-11 |
| 8 | 311-del-2010-form-3.pdf | 2011-08-21 |
| 8 | 311-DEL-2010-Form-1-(11-02-2011).pdf | 2011-02-11 |
| 9 | 311-DEL-2010-Drawings-(11-02-2011).pdf | 2011-02-11 |
| 9 | 311-del-2010-form-5.pdf | 2011-08-21 |
| 10 | 311-DEL-2010-Correspondence-Others-(22-02-2011).pdf | 2011-02-22 |
| 10 | 311-DEL-2010-Description (Complete)-(11-02-2011).pdf | 2011-02-11 |
| 11 | 311-DEL-2010-Correspondence-Others-(11-02-2011).pdf | 2011-02-11 |
| 11 | 311-DEL-2010-Form-3-(22-02-2011).pdf | 2011-02-22 |
| 12 | 311-DEL-2010-Abstract-(11-02-2011).pdf | 2011-02-11 |
| 12 | 311-DEL-2010-Claims-(11-02-2011).pdf | 2011-02-11 |
| 13 | 311-DEL-2010-Abstract-(11-02-2011).pdf | 2011-02-11 |
| 13 | 311-DEL-2010-Claims-(11-02-2011).pdf | 2011-02-11 |
| 14 | 311-DEL-2010-Correspondence-Others-(11-02-2011).pdf | 2011-02-11 |
| 14 | 311-DEL-2010-Form-3-(22-02-2011).pdf | 2011-02-22 |
| 15 | 311-DEL-2010-Correspondence-Others-(22-02-2011).pdf | 2011-02-22 |
| 15 | 311-DEL-2010-Description (Complete)-(11-02-2011).pdf | 2011-02-11 |
| 16 | 311-DEL-2010-Drawings-(11-02-2011).pdf | 2011-02-11 |
| 16 | 311-del-2010-form-5.pdf | 2011-08-21 |
| 17 | 311-del-2010-form-3.pdf | 2011-08-21 |
| 17 | 311-DEL-2010-Form-1-(11-02-2011).pdf | 2011-02-11 |
| 18 | 311-del-2010-form-2.pdf | 2011-08-21 |
| 18 | 311-DEL-2010-Form-2-(11-02-2011).pdf | 2011-02-11 |
| 19 | 311-DEL-2010-Form-3-(11-02-2011).pdf | 2011-02-11 |
| 19 | 311-del-2010-form-1.pdf | 2011-08-21 |
| 20 | 311-DEL-2010-Form-5-(11-02-2011).pdf | 2011-02-11 |
| 20 | 311-del-2010-drawings.pdf | 2011-08-21 |
| 21 | 311-DEL-2010-GPA-(11-02-2011).pdf | 2011-02-11 |
| 21 | 311-del-2010-description (provisional).pdf | 2011-08-21 |
| 22 | 311-del-2010-correspondence-others.pdf | 2011-08-21 |
| 22 | 311-DEL-2010-Correspondence-Others-(11-03-2010).pdf | 2010-03-11 |
| 23 | 311-DEL-2010-Form-1-(11-03-2010).pdf | 2010-03-11 |
| 23 | 311-DEL-2010-FER.pdf | 2018-06-07 |
| 24 | 311-DEL-2010-Form-26-(11-03-2010).pdf | 2010-03-11 |
| 24 | 311-DEL-2010-AbandonedLetter.pdf | 2019-01-24 |
| 1 | 311_DEL_2010-GoogleDocs_23-04-2018.pdf |