Michael Stephen Brown 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).

Abstract: Systems and methods for providing additional security for data being transmitted across a wireless connection that has been established using a known wireless protocol (e.g. Bluetooth) are described. An encryption key is exchanged between a computing device (e.g. a mobile device) and a wireless peripheral device (e.g. a keyboard, a printer). In some embodiments, the encryption key is generated at one of the two devices. Data associated with the encryption key is output at the one device, which can be input by the user at the other device. The encryption key is then recovered at the other device from the input, thereby completing the key exchange. The encryption key can then be used to encrypt and decrypt data transmitted over the established wireless connection, providing additional security.

Abstract: The present disclosure provides a method for providing composite user interface controls and a library or online storefront for same. In one aspect, there is provided a method for a client computer of sharing a custom control, comprising: receiving by a browser an encrypted custom control comprising a number of user interface elements which are positioned in a specified manner with respect to each other, wherein each of the user interface elements has one or more properties; receiving by the browser a decryption key; and decrypting by the browser the encrypted custom control using the decryption key.

Abstract: A first device with a changing identity establishes a secure connection with a second device in a network by acting as its own certificate authority. The first device issues itself a self-signed root certificate that binds an identity of the first device to a long-term public key of the first device. The root certificate is digitally signed using a long-term private key, where the long-term public key and the long-term private key form a public/private key pair. The first device provides its root certificate to the second device in any trusted manner. The first device can then create a certificate for one or more short-term identities acquired by the first device and sign the newly-created certificate using the long-term private key. The first device can authenticate itself to the second device by sending the newly-created certificate to the second device.

Abstract: The present disclosure provides methods and devices for real-time collaboration on an application under development among two or more collaborating devices. A server maintains the application code for the application. Changes to the application, which may be additions, deletions or modifications, made by the collaborating devices are sent to the server. The server distributes the changes to other collaborating devices in real-time or near real-time, which update the current state of the application to reflect the changes.

Abstract: A method and device for acquiring an image such as a splash screen for an application. A screenshot instruction is sent to a target device upon detecting a trigger event; image data is received from the target device in response to the screenshot instruction; and upon receiving the image data, the image data is automatically stored and associated with the application.

Abstract: The present disclosure provides a method and device of distributing visual representation of changes to an application. The method includes: determining one or more pages in the application which have changed between a first state of the application at a first time and second state of the application at a second time; rendering the one or more pages which have changed at the first state of the application; rendering the one or more pages which have changed at the second state of the application; and sending a notification including a visual differential of one or more rendered pages of the application which have changed between the first state of the application and the second state of the application.

Abstract: The present disclosure provides methods and devices for interacting with a visual timeline of an application. The method comprises displaying on a display a visual timeline having one or more visual elements each representing an action performed in respect of the application, each action corresponding to a save point or an incremental change to the application, wherein the visual elements are arranged in a chronological order in which the actions occurred. An application state for display within an editor user interface can be selected using the visual timeline.

Abstract: The present disclosure provides a Web-based integrated development environment and graphical user interface for real-time collaborative application development which uses a connected device. Changes made to an application within the application development tool are applied to a connected mobile device in real-time or near real-time application.

Abstract: A system, methods and devices for the secure notification of an identity in a communications network. The methods include sending or receiving a communication including a hash of a certificate of a device to notify or detect the presence of the device in a network. Each certificate is associated with an identity which is excluded from the communication of the hash of the certificate. The received hash is compared to hashes of certificates stored in an electronic device to determine an identity. The identity may represent an electronic device or a user of the electronic device.

Abstract: A symmetric key to be used to secure a communication link between a first device and a second device is generated as follows: a first symmetric key is generated; a second symmetric key is generated; packets communicated between the first device and the second device over communication link are hashed to create a hash result; the first symmetric key, the second symmetric key and the hash result are hashed to generate a third symmetric key to be used to secure the communication link.

Abstract: Embodiments of the systems, devices, and methods described herein generally facilitate the display of a barcode at a computing device for capture by another computing device. In accordance with one example embodiment, a barcode is generated at a first computing device, the barcode is displayed on a display screen associated with the first computing device, and one or more display properties of the barcode are dynamically modified while it is displayed at the first computing device until the barcode is successfully captured (e.g. by a camera) at a second computing device.

Abstract: A system and method for controlling message attachment handling functions on a mobile device is described herein. An attachment handling control can be set to identify one of a number of selected attachment handling control modes. Depending on the attachment handling control mode identified, a request for the attachment structure that includes a decrypted session key for an encrypted message received at the mobile device may or may not be automatically sent to a remote server. This may provide the user with increased control over the content of an encrypted message that the remote server may access when determining the attachment structure for a message.

Abstract: In some data communication configurations, data received from a sender may need to be viewed or otherwise processed by more than one entity with a corresponding client. For example, a message sent to a corporate email address may be viewed by either or both a mobile device and a desktop device. For the sender to utilize the strongest algorithm or protocol used by the recipient, it would therefore need to know which algorithms or protocols are supported by both the mobile and desktop mail clients. A system and method are provided to enable the mobile device to know about the capabilities of related mail clients associated with the communication address (e.g. email address) and vice versa such that the intersection of the capabilities (i.e. the strongest algorithm or protocol supported by all parties involved) can be chosen and the messages or data cryptographically processed accordingly.

Abstract: A system and method for retrieving certificates and/or verifying the revocation status of certificates. In one embodiment, when a user opens a digitally signed message, a certificate that is required to verify the digital signature on the message may be automatically retrieved if it is not stored on the user's computing device (e.g. a mobile device), eliminating the need for users to initiate the task manually. Verification of the digital signature may also be automatically performed by the application after the certificate is retrieved. Verification of the revocation status of a certificate may also be automatically performed if it is determined that the time that has elapsed since the status was last updated exceeds a pre-specified limit.

Abstract: Systems and methods for operation upon a wireless mobile device to handle message notifications. A method can include receiving a message by the wireless mobile device over a wireless communications network. The received message is processed so that at least a portion of the sender's message is displayed to a user of the wireless mobile device before a signed receipt is provided to the sender.

Abstract: A system and method for retrieving certificates and/or verifying the revocation status of certificates. In one embodiment, when a user opens a digitally signed message, a certificate that is required to verify the digital signature on the message may be automatically retrieved if it is not stored on the user's computing device (e.g. a mobile device), eliminating the need for users to initiate the task manually. Verification of the digital signature may also be automatically performed by the application after the certificate is retrieved. Verification of the revocation status of a certificate may also be automatically performed if it is determined that the time that has elapsed since the status was last updated exceeds a pre-specified limit.

Abstract: A system and method for processing certificates located in a certificate search. Certificates located in a certificate search are processed at a data server (e.g. a mobile data server) coupled to a computing device (e.g. a mobile device) to determine status data that can be used to indicate the status of those certificates to a user of the computing device, without having to download those certificates to the computing device in their entirety. The data server is further adapted to transmit the status data to the computing device. In one embodiment, at least one status property of the certificates is verified at the data server in determining the status data. In another embodiment, additional certificate data is determined and transmitted to the computing device, which can be used by the computing device to verify, at the computing device, at least one other status property of the certificates.

Abstract: A method for preventing a recipient of an electronically transmitted message from taking at least one action in relation to the message is disclosed. The message has at least two parts with one of the parts having a higher level of security than the other part. The method includes the step of extracting information from the message. The information indicates that the higher level security part is not permitted to have the action taken on it while the other part is so permitted. The method also includes the step of preventing the higher level security part from having the action taken on it in reaction to said recipient making an offending request.

Abstract: A secure message that includes an attachment is received at a server. The secure message may have a secure layer that indicates that the secure message is at least digitally signed. The secure message may be provided without the attachment to the mobile device over a wireless network. A request may be received from the mobile device to access the attachment. The request may include an attachment identifier (ID) that identifies the attachment in accordance with a message-attachment indexing system. In response to the request to access the attachment, the server may perform an index lookup to find the attachment based upon the attachment ID, may look through the secure layer of the secure message in order to locate the attachment within the secure message, and may render at least an initial portion of the attachment by the server in a format for viewing by the mobile device.

Abstract: A method and system for Certificate management and transfer between messaging clients are disclosed. When communications are established between a first messaging client and a second messaging client, one or more Certificates stored on the first messaging client may be selected and transferred to the second messaging client. Messaging clients may thereby share Certificates. Certificate management functions such as Certificate deletions, Certificate updates and Certificate status checks may also be provided.