Patents by Inventor Cameron William SKINNER

Cameron William SKINNER 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: 11740949
    Abstract: The disclosed technology is generally directed to communications in an IoT environment. In one example of the technology, a plurality of module twins that respectively correspond to a plurality of modules of edge applications on a plurality of edge devices are stored. The plurality of module twins individually include metadata associated with the corresponding module of the plurality of modules. At least one module of the plurality of modules to be modified by adding a declarative rule is determined, such that the declarative rule causes determining whether an event has been triggered based on a particular event having been determined to have occurred, and, in response to the triggering of the event, communicating the triggering of the event to at least one declarative target. The determined at least one module of the plurality of modules is caused to be modified by adding the declarative rule.
    Type: Grant
    Filed: September 16, 2021
    Date of Patent: August 29, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Samuel John George, Cameron William Skinner, Elio Damaggio, Affan Dar, Michael R. Yagley, Varun Puranik, Anca Mihaela Antochi
  • Patent number: 11354174
    Abstract: The disclosed technology is generally directed to communications in an IoT environment. In one example of the technology, a plurality of module twins that respectively correspond to a plurality of modules of edge applications on a plurality of edge devices are stored. The plurality of module twins individually include metadata associated with the corresponding module of the plurality of modules. A plurality of services is executed, such that the services of the plurality of services are configured to communicate with the modules of the plurality of modules. At least one service to be executed as a further module on at least one edge device of the plurality of edge devices is determined. The further module is caused to be deployed to the at least one edge device of the plurality of edge devices. Execution of the determined at least one service is ceased.
    Type: Grant
    Filed: October 13, 2017
    Date of Patent: June 7, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Samuel John George, Cameron William Skinner, Chipalo Street, Elio Damaggio, Michael R. Yagley, Varun Puranik, Rajasekharan Vengalil
  • Publication number: 20220141091
    Abstract: A method for an escrow computing service comprises maintaining ownership information for a network-configurable device having a unique digital device identifier, the ownership information indicating ownership of the device by a first online identity of a first owner, the ownership information granting access permission for the network-configurable device. The escrow computing service receives a request to transfer ownership of the network-configurable device to a second online identity of a second owner. The ownership information is updated to indicate ownership of the network-configurable device by the second online identity of the second owner. The escrow computing service receives an indication of a network-accessible device management platform to be used to manage the network-configurable device.
    Type: Application
    Filed: October 30, 2020
    Publication date: May 5, 2022
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Hanumantha Rao KOMMALAPATI, Nicole Elaine BERDY, Samuel John GEORGE, Cameron William SKINNER
  • Publication number: 20220108806
    Abstract: The systems and methods relate to an internet of things (IoT) system that includes a global IoT connectivity fabric to facilitate communications between a plurality of applications that provide services to one or more IoT devices. The global IoT connectivity fabric may include a plurality of global IoT connectivity fabric nodes that establish communication channels between the applications and the IoT devices. The global IoT connectivity fabric may implement a channel architecture where the IoT devices declare one or more channels for sending and/or receiving communications. The applications may subscribe to the one or more channels declared by the IoT devices and may communicate with the IoT devices through the one or more channels.
    Type: Application
    Filed: October 1, 2020
    Publication date: April 7, 2022
    Inventors: Hanumantha Rao KOMMALAPATI, Arun Ramadasan MANNENGAL, Cameron William SKINNER
  • Patent number: 11221892
    Abstract: The disclosed technology is generally directed to communications in an IoT environment. In one example of the technology, a plurality of module twins that respectively correspond to a plurality of modules of edge applications on a plurality of edge devices are stored. The plurality of module twins individually include metadata associated with the corresponding module of the plurality of modules. At least one module of the plurality of modules to be modified by adding a declarative rule is determined, such that the declarative rule causes determining whether an event has been triggered based on a particular event having been determined to have occurred, and, in response to the triggering of the event, communicating the triggering of the event to at least one declarative target. The determined at least one module of the plurality of modules is caused to be modified by adding the declarative rule.
    Type: Grant
    Filed: October 13, 2017
    Date of Patent: January 11, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Samuel John George, Cameron William Skinner, Elio Damaggio, Affan Dar, Michael R. Yagley, Varun Puranik, Anca Mihaela Antochi
  • Publication number: 20220004445
    Abstract: The disclosed technology is generally directed to communications in an IoT environment. In one example of the technology, a plurality of module twins that respectively correspond to a plurality of modules of edge applications on a plurality of edge devices are stored. The plurality of module twins individually include metadata associated with the corresponding module of the plurality of modules. At least one module of the plurality of modules to be modified by adding a declarative rule is determined, such that the declarative rule causes determining whether an event has been triggered based on a particular event having been determined to have occurred, and, in response to the triggering of the event, communicating the triggering of the event to at least one declarative target. The determined at least one module of the plurality of modules is caused to be modified by adding the declarative rule.
    Type: Application
    Filed: September 16, 2021
    Publication date: January 6, 2022
    Inventors: Samuel John GEORGE, Cameron William SKINNER, Elio DAMAGGIO, Affan DAR, Michael R. YAGLEY, Varun PURANIK, Anca Mihaela ANTOCHI
  • Patent number: 11204815
    Abstract: A plurality of module twins that respectively correspond to modules of a plurality of modules of an edge application are stored on an edge device, and the modules comprise the edge application. The modules of the plurality of modules are capable of being used interoperably with other modules without altering the other modules. The plurality of module twins individually include metadata associated with the corresponding module of the plurality of modules. Communications are enabled between the modules of the plurality of modules and the IoT support service according to a common security context, and the metadata of each module twin of the plurality of module twins is synchronized based on the module.
    Type: Grant
    Filed: June 30, 2017
    Date of Patent: December 21, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Elio Damaggio, Affan Dar, Ajith Kumar Gande, Juan Perez, Samuel John George, Cameron William Skinner
  • Patent number: 11204816
    Abstract: A plurality of module twins that respectively correspond to a plurality of modules of edge applications on a plurality of edge devices are stored. The plurality of module twins individually include metadata associated with the corresponding module of the plurality of modules. At least one further module to be deployed is determined. Edge devices of the plurality of edge devices to receive the determined at least one module are identified. The determined at least one further module is caused to be deployed to the identified edge devices. In response to deploying the determined at least one further module, the plurality of module twins is updated by adding, to the plurality of modules twins, modules twins corresponding to the deployed modules.
    Type: Grant
    Filed: June 30, 2017
    Date of Patent: December 21, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Chipalo Street, Elio Damaggio, Juan Perez, Affan Dar, Michael R. Yagley, Samuel John George, Cameron William Skinner
  • Patent number: 11182224
    Abstract: The disclosed technology is generally directed to communications in an IoT environment. In one example of the technology, a virtual IoT device is maintained and controlled to act as a representation of a connected device. Communications are received from an IoT support service. The received communications from the IoT support service are acted in response to, including sending communications to the IoT support service in response to the received communications, and changing the virtual IoT device as if the virtual IoT device were the connected device. The connected device is communicated with based on changes in the virtual IoT device.
    Type: Grant
    Filed: October 13, 2017
    Date of Patent: November 23, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Samuel John George, Cameron William Skinner, Chipalo Street, Elio Damaggio, Juan Perez, Olivier Bloch, Damon Luke Barry, Michael R. Yagley
  • Patent number: 11099913
    Abstract: A plurality of module twins that respectively correspond to modules of a plurality of modules of an edge application are stored on an edge device, and the modules comprise the edge application. The modules of the plurality of modules are capable of being used interoperably with other modules without altering the other modules. The plurality of module twins individually include metadata associated with the corresponding module of the plurality of modules. Communications are enabled between the modules of the plurality of modules and the IoT support service according to a common security context, and the metadata of each module twin of the plurality of module twins is synchronized based on the module.
    Type: Grant
    Filed: June 30, 2017
    Date of Patent: August 24, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Elio Damaggio, Affan Dar, Ajith Kumar Gande, Juan Perez, Samuel John George, Cameron William Skinner
  • Patent number: 10698747
    Abstract: The disclosed technology is generally directed to communications in an IoT environment. In one example of the technology, module twins that respectively correspond to modules of edge applications on a plurality of edge devices are stored. The module twins individually include metadata associated with the corresponding module. Communications between the modules and the IoT support service according to a common security context is enabled. At least one module to be modified is determined. The determined at least one module is caused to be modified.
    Type: Grant
    Filed: October 13, 2017
    Date of Patent: June 30, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Samuel John George, Cameron William Skinner, Elio Damaggio, Affan Dar, Ajith Kumar Gande, Sudeep Satish Pradhan, Varun Puranik
  • Patent number: 10628239
    Abstract: The disclosed technology is generally directed to communications in an IoT environment. In one example of the technology, module twins that respectively correspond to modules of edge applications on a plurality of edge devices are stored. The module twins individually include metadata associated with the corresponding module. Communications between the modules and the IoT support service according to a common security context is enabled. At least one module to be modified is determined. The determined at least one module is caused to be modified.
    Type: Grant
    Filed: October 13, 2017
    Date of Patent: April 21, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Samuel John George, Cameron William Skinner, Elio Damaggio, Affan Dar, Ajith Kumar Gande, Sudeep Satish Pradhan, Varun Puranik
  • Publication number: 20180331901
    Abstract: The disclosed technology is generally directed to communications in an IoT environment. In one example of the technology, module twins that respectively correspond to modules of edge applications on a plurality of edge devices are stored. The module twins individually include metadata associated with the corresponding module. Communications between the modules and the IoT support service according to a common security context is enabled. At least one module to be modified is determined. The determined at least one module is caused to be modified.
    Type: Application
    Filed: October 13, 2017
    Publication date: November 15, 2018
    Inventors: Samuel John GEORGE, Cameron William SKINNER, Elio DAMAGGIO, Affan DAR, Ajith Kumar GANDE, Sudeep Satish PRADHAN, Varun PURANIK
  • Publication number: 20180332116
    Abstract: The disclosed technology is generally directed to communications in an IoT environment. In one example of the technology, a plurality of module twins that respectively correspond to a plurality of modules of edge applications on a plurality of edge devices are stored. The plurality of module twins individually include metadata associated with the corresponding module of the plurality of modules. A plurality of services is executed, such that the services of the plurality of services are configured to communicate with the modules of the plurality of modules. At least one service to be executed as a further module on at least one edge device of the plurality of edge devices is determined. The further module is caused to be deployed to the at least one edge device of the plurality of edge devices. Execution of the determined at least one service is ceased.
    Type: Application
    Filed: October 13, 2017
    Publication date: November 15, 2018
    Inventors: Samuel John GEORGE, Cameron William SKINNER, Chipalo STREET, Elio DAMAGGIO, Michael R. YAGLEY, Varun PURANIK, Rajasekharan VENGALIL
  • Publication number: 20180329763
    Abstract: The disclosed technology is generally directed to communications in an IoT environment. In one example of the technology, a plurality of module twins that respectively correspond to a plurality of modules of edge applications on a plurality of edge devices are stored. The plurality of module twins individually include metadata associated with the corresponding module of the plurality of modules. At least one module of the plurality of modules to be modified by adding a declarative rule is determined, such that the declarative rule causes determining whether an event has been triggered based on a particular event having been determined to have occurred, and, in response to the triggering of the event, communicating the triggering of the event to at least one declarative target. The determined at least one module of the plurality of modules is caused to be modified by adding the declarative rule.
    Type: Application
    Filed: October 13, 2017
    Publication date: November 15, 2018
    Inventors: Samuel John GEORGE, Cameron William SKINNER, Elio DAMAGGIO, Affan DAR, Michael R. YAGLEY, Varun PURANIK, Anca Mihaela ANTOCHI
  • Publication number: 20180331906
    Abstract: The disclosed technology is generally directed to communications in an IoT environment. In one example of the technology, a virtual IoT device is maintained and controlled to act as a representation of a connected device. Communications are received from an IoT support service. The received communications from the IoT support service are acted in response to, including sending communications to the IoT support service in response to the received communications, and changing the virtual IoT device as if the virtual IoT device were the connected device. The connected device is communicated with based on changes in the virtual IoT device.
    Type: Application
    Filed: October 13, 2017
    Publication date: November 15, 2018
    Inventors: Samuel John GEORGE, Cameron William SKINNER, Chipalo STREET, Elio DAMAGGIO, Juan PEREZ, Olivier BLOCH, Damon Luke BARRY, Michael R. YAGLEY
  • Publication number: 20180329968
    Abstract: A plurality of module twins that respectively correspond to modules of a plurality of modules of an edge application are stored on an edge device, and the modules comprise the edge application. The modules of the plurality of modules are capable of being used interoperably with other modules without altering the other modules. The plurality of module twins individually include metadata associated with the corresponding module of the plurality of modules. Communications are enabled between the modules of the plurality of modules and the IoT support service according to a common security context, and the metadata of each module twin of the plurality of module twins is synchronized based on the module.
    Type: Application
    Filed: June 30, 2017
    Publication date: November 15, 2018
    Inventors: Elio DAMAGGIO, Affan DAR, Ajith Kumar GANDE, Juan PEREZ, Samuel John GEORGE, Cameron William SKINNER
  • Publication number: 20180332117
    Abstract: The disclosed technology is generally directed to communications in an IoT environment. In one example of the technology, a plurality of module twins that respectively correspond to a plurality of modules of edge applications on a plurality of edge devices are stored. The plurality of module twins individually include metadata associated with the corresponding module of the plurality of modules. At least one further module to be deployed is determined. Edge devices of the plurality of edge devices to receive the determined at least one module are identified. The determined at least one further module is caused to be deployed to the identified edge devices. In response to deploying the determined at least one further module, the plurality of module twins is updated by adding, to the plurality of modules twins, modules twins corresponding to the deployed modules.
    Type: Application
    Filed: June 30, 2017
    Publication date: November 15, 2018
    Inventors: Chipalo STREET, Elio DAMAGGIO, Juan PEREZ, Affan DAR, Michael R. YAGLEY, Samuel John GEORGE, Cameron William SKINNER