Patents by Inventor Tim Neil

Tim Neil has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 7805133
    Abstract: A new master application definition is installed at a server. Responsively, the server determines the identity of a user associated with the server-side application related to the master application definition. The server may then generate an application definition file specific to the application and to the remote wireless device associated with the identified user. The application definition file may contain definitions for: a user interface format; a format for network messages; and a format for storing data. Using these definitions, the wireless device may receive data generated by the server-side application and formatted in accordance with the definitions. The wireless device may then present a user interface for the application. Preferably, the application definition file is an XML file. Advantageously, when changes occur to previously established server-side applications, automatic updating of devices is efficiently accomplished.
    Type: Grant
    Filed: July 21, 2006
    Date of Patent: September 28, 2010
    Assignee: Research in Motion Limited
    Inventors: Tim Neil, Scott Neil, Steve Grenier
  • Patent number: 7779429
    Abstract: In a method for building distributed software, a single computer program may be written which includes distinct sets of routines defining operation at distinct computing devices (or types of computing devices) in a distributed system. Direct calls may be made between routines, even if the routines define operation of distinct computing devices. Through examination and processing of the computer program, multiple computer programs which collectively constitute distributed software for the distributed system are created. Each program defines the operation of a computing device within the system. Direct calls are emulated using instructions for inter-process communication which effect remote routine invocation transparently from the perspective of the developer. In the result, the run-time operation of each output computer program at its respective target computing device is consistent with the operation defined for that computing device within the input computer program.
    Type: Grant
    Filed: August 18, 2006
    Date of Patent: August 17, 2010
    Assignee: Research in Motion Limited
    Inventors: Tim Neil, Steve Grenier, David Burgess
  • Patent number: 7779085
    Abstract: A remote wireless device registers with a server. Responsively, the server determines the identity of a server-side application associated with a user of the remote wireless device. The server may then generate an application definition file specific to the server-side application and to the remote wireless device. The application definition file may contain definitions for: a user interface format; a format for network messages; and a format for storing data. Using these definitions, the wireless device may receive data generated by the server-side application and formatted in accordance with the definitions. The wireless device may then present a user interface for the server-side application. The application definition file may be an Extensible Markup Language (XML) file. Advantageously, configuration of devices is more efficiently accomplished.
    Type: Grant
    Filed: July 17, 2006
    Date of Patent: August 17, 2010
    Assignee: Research In Motion Limited
    Inventors: Tim Neil, Steve Grenier, Scott Neil
  • Patent number: 7779029
    Abstract: To effect database queries and user interface screens that are independently refreshable and markup language-based, a machine-readable medium contains object-oriented code for defining a database query, including instructions for storing the result of the database query, based on a markup language element representation of the query, and object-oriented code for displaying a user interface screen based on a markup language element representations of the screen which has a display element that is based at least in part upon the result of the database query. The machine-readable medium also contains object-oriented code for refreshing the database query and object-oriented code for refreshing the screen that are capable of mutually exclusive instantiation based upon a user specification of one of a markup language element representing a refreshing of the database query and a markup language element representing a screen refresh. The markup language may be Extensible Markup Language (XML).
    Type: Grant
    Filed: June 9, 2006
    Date of Patent: August 17, 2010
    Assignee: Research In Motion Limited
    Inventor: Tim Neil
  • Patent number: 7764970
    Abstract: An outgoing message may be generated, at a mobile communication device, based on a received application definition document, which indicates a lifespan for the message. In conjunction with generating a message in accordance with a format provided in the application definition document, a message expiry time may be generated. The message may be stored in a queue for transmission. Additionally, an indication of the expiry time may be stored in the queue in association with the message. The expiry time of the message may periodically be compared to the current time to determine whether the message has expired. Upon expiry, a user of the mobile communication device may be presented with the option to cancel transmission of the message or re-attempt transmission.
    Type: Grant
    Filed: November 20, 2009
    Date of Patent: July 27, 2010
    Assignee: Research in Motion Limited
    Inventors: Tim Neil, Paul Chalmers
  • Publication number: 20100106775
    Abstract: To enable use of an application on an application server at a mobile communication device, at a transaction server, a message received from the mobile is pushed out to the application. Any return messages is routed back to the mobile. The transaction server may use a queue to store all messages destined to a given application and attempt to push all messages on a given queue on receipt of a further message for the queue.
    Type: Application
    Filed: December 30, 2009
    Publication date: April 29, 2010
    Inventors: Tim Neil, Scott Neil, Steve Grenier
  • Publication number: 20100069104
    Abstract: An outgoing message may be generated, at a mobile communication device, based on a received application definition document, which indicates a lifespan for the message. In conjunction with generating a message in accordance with a format provided in the application definition document, a message expiry time may be generated. The message may be stored in a queue for transmission. Additionally, an indication of the expiry time may be stored in the queue in association with the message. The expiry time of the message may periodically be compared to the current time to determine whether the message has expired. Upon expiry, a user of the mobile communication device may be presented with the option to cancel transmission of the message or re-attempt transmission.
    Type: Application
    Filed: November 20, 2009
    Publication date: March 18, 2010
    Inventors: Tim Neil, Paul Chalmers
  • Patent number: 7668937
    Abstract: To enable use of an application on an application server at a mobile communication device, at a transaction server, a message received from the mobile is pushed out to the application. Any return messages is routed back to the mobile. The transaction server may use a queue to store all messages destined to a given application and attempt to push all messages on a given queue on receipt of a further message for the queue.
    Type: Grant
    Filed: February 22, 2005
    Date of Patent: February 23, 2010
    Assignee: Research In Motion Limited
    Inventors: Tim Neil, Scott Neil, Steve Grenier
  • Publication number: 20090300063
    Abstract: Software, devices and methods allowing varied mobile devices to interact with server side software applications are disclosed. Data from an application executing at a computing device may be presented at a remote wireless device by providing the device an application definition file, containing definitions for a user interface format for the application at the wireless device; the format of network messages for exchange of data generated by the application; and a format for storing data related to the application at the wireless device. Using these definitions, the wireless device may receive data from said application in accordance with the definition and present an interface for the application. The application definition file may define a table, a message or data package, and an update to be made to the table based on the message or data package.
    Type: Application
    Filed: June 8, 2009
    Publication date: December 3, 2009
    Inventor: Tim Neil
  • Patent number: 7623877
    Abstract: An outgoing message may be generated, at a mobile communication device, based on a received application definition document, which indicates a lifespan for the message. In conjunction with generating a message in accordance with a format provided in the application definition document, a message expiry time may be generated. The message may be stored in a queue for transmission. Additionally, an indication of the expiry time may be stored in the queue in association with the message. The expiry time of the message may periodically be compared to the current time to determine whether the message has expired. Upon expiry, a user of the mobile communication device may be presented with the option to cancel transmission of the message or re-attempt transmission.
    Type: Grant
    Filed: July 28, 2006
    Date of Patent: November 24, 2009
    Assignee: Research In Motion Limited
    Inventors: Tim Neil, Paul Chalmers
  • Publication number: 20090216800
    Abstract: Software executable by a wireless communication device may include instructions for receiving at least one markup language document containing a markup language definition defining a query of a notional database table. The notional database table may be characterized by a set of notional fields, each corresponding to a field of a data record within an information category maintained by each of a plurality of wireless communication device-executable personal information manager (PIM) software applications. The software may further include instructions for instantiating, based on the markup language definition, an instance of at least one object-oriented class containing code for effecting the query through interaction with one PIM software application, executable at said wireless communication device, of the plurality. Software for defining the query in markup language may also be provided.
    Type: Application
    Filed: February 27, 2008
    Publication date: August 27, 2009
    Inventors: Tim NEIL, Paul Chalmers
  • Publication number: 20090177663
    Abstract: Software, devices and methods allowing varied mobile devices to interact with server side software applications are disclosed. Data from an application executing at a computing device is presented at a remote wireless device by providing the device an application definition file, containing definitions for a user interface format for the application at the wireless device; the format of network messages for exchange of data generated by the application; and a format for storing data related to the application at the wireless device. Using these definitions, the wireless device may receive data from the application in accordance with the definition and present an interface for the application. Preferably, the application definition file is an XML file. Similarly, application specific network messages provided to the device are also formed using XML. Data from the application may be presented at the mobile device by virtual machine software that uses the application definition file.
    Type: Application
    Filed: December 31, 2008
    Publication date: July 9, 2009
    Inventors: Steven J. HULAJ, Tim Neil
  • Patent number: 7546298
    Abstract: Software, devices and methods allowing varied mobile devices to interact with server side software applications are disclosed. Data from an application executing at a computing device is presented at a remote wireless device by providing the device an application definition file, containing definitions for a user interface format for the application at the wireless device; the format of network messages for exchange of data generated by the application; and a format for storing data related to the application at the wireless device. Using these definitions, the wireless device may receive data from the application in accordance with the definition and present an interface for the application. Preferably, the application definition file is an XML file. Similarly, application specific network messages provided to the device are also formed using XML. Data from the application may be presented at the mobile device by virtual machine software that uses the application definition file.
    Type: Grant
    Filed: May 2, 2001
    Date of Patent: June 9, 2009
    Assignee: Nextair Corporation
    Inventors: Steven J. Hulaj, Tim Neil
  • Patent number: 7533114
    Abstract: Data from an application executing at a computing device is presented at a remote wireless device, by providing the device an application definition file, containing a definition of a user interface for the application at the mobile device. Based on the definition file, the wireless device may receive data from the application and present an interface for the application. Virtual machine software at the mobile device interprets the application definition file. This virtual machine software is extensible to take advantage of other software and/or hardware at the device.
    Type: Grant
    Filed: February 22, 2005
    Date of Patent: May 12, 2009
    Assignee: Nextair Corporation
    Inventors: Tim Neil, Scott Neil, Andrew Allen
  • Publication number: 20090025011
    Abstract: Communication between interfaces to remotely executed applications, i.e., Inter-Process Communication, may be enabled at a wireless device through the association of a message stored in an outbound message queue with an indication of a local interface to a remote application, to which interface the message is to be passed. A manager of the outbound message queue may determine whether a given outbound message is associated with a local interface to a remote application and, if so, may pass the given outbound message to an inbound processing module such that the message is received by the specified local interface to a remote application.
    Type: Application
    Filed: July 17, 2007
    Publication date: January 22, 2009
    Inventors: Tim Neil, Paul Chalmers
  • Publication number: 20080282223
    Abstract: A method is provided for facilitating generation of a server-side application capable of calling a function of a wireless application on a mobile device. The method comprises the following steps. A structured data file defining the wireless application is retrieved. The structured data file is parsed for identifying exposed functions. Code stubs are generated for each of the exposed functions. The code stubs are configured to be included as part of the server-side application and to define a message to be transmitted to the wireless application upon execution of the code stub.
    Type: Application
    Filed: May 8, 2008
    Publication date: November 13, 2008
    Inventors: Tim Neil, Dave Burgess, Viera Bibr
  • Publication number: 20080282222
    Abstract: A method is provided for facilitating generation of a wireless application capable of receiving messages from a server-side application. The method comprising the following steps. A structured data file defining the wireless application is parsed for identifying at least one exposed function. Message definitions are generated in accordance with the exposed function for enabling communication between the server-side application and the wireless application. At least one interoperability functions is generated. Each interoperability function is associated with one of the exposed functions. The interoperability function is configured to execute the associated exposed function upon receipt of a message defined by a corresponding message definition.
    Type: Application
    Filed: May 8, 2008
    Publication date: November 13, 2008
    Inventors: Tim Neil, Dave Burgess, Viera Bibr
  • Publication number: 20080127233
    Abstract: In a method for building distributed software, a single computer program may be written which includes distinct sets of routines defining operation at distinct computing devices (or types of computing devices) in a distributed system. Direct calls may be made between routines, even if the routines define operation of distinct computing devices. Through examination and processing of the computer program, multiple computer programs which collectively constitute distributed software for the distributed system are created. Each program defines the operation of a computing device within the system. Direct calls are emulated using instructions for inter-process communication which effect remote routine invocation transparently from the perspective of the developer. In the result, the run-time operation of each output computer program at its respective target computing device is consistent with the operation defined for that computing device within the input computer program.
    Type: Application
    Filed: August 18, 2006
    Publication date: May 29, 2008
    Inventors: Tim Neil, Steve Grenier, David Burgess
  • Publication number: 20080098037
    Abstract: Software, methods and devices for performing a markup language based database upgrade are disclosed. One or more markup language documents contain markup language portions. Each markup language portion, which may be a hierarchy of markup language elements, describes a set of changes to be made to the database in order to effect an upgrade of the database from a starting version to a subsequent version. Based on a determined current version of a database, one of the markup language portions is selected for implementation. The set of changes to the database that is described by the selected markup language portion is implemented. Implementation may be effected through instantiation of object oriented classes corresponding to markup language elements. Selection and implementation of other markup language portions may be performed until a final database version is attained. The markup language may be Extensible Markup Language (XML).
    Type: Application
    Filed: July 17, 2006
    Publication date: April 24, 2008
    Inventors: Tim Neil, Steve Grenier, Scott Neil
  • Publication number: 20080075062
    Abstract: A remote wireless device receives a compressed message including an application definition file. The application definition file is associated with an application executing at a computing device and contains definitions for: a user interface format; a format for network messages; and a format for storing data. Using these definitions, the wireless device may receive data generated by the application and formatted in accordance with the definitions. The wireless device may then present a user interface for the application. Preferably, the application definition file is an XML file. Similarly, application-specific network messages provided to the device are also formed using XML. Data generated by the application may be presented at the mobile device under control of a virtual machine that uses the application definition file. For efficiency, the network messages received at, and transmitted by, the wireless device may be compressed.
    Type: Application
    Filed: July 21, 2006
    Publication date: March 27, 2008
    Inventors: Tim Neil, Scott Neil, Steve Grenier, Paul Chalmers