Patents by Inventor Michael Fortson

Michael Fortson 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: 11650967
    Abstract: Among other things, in one aspect, in general, a system for managing data in a data storage system includes a plurality of index nodes each storing a map of entries, each entry of the map including an identifier corresponding to a particular portion of data stored in the data storage system, and metadata indicating a location where the particular portion of data is stored in the data storage system, and one or more supernodes configured to return an identification of an index node that recently submitted a request for a particular identifier associated with at least one of the portions of data.
    Type: Grant
    Filed: April 2, 2018
    Date of Patent: May 16, 2023
    Assignee: Red Hat, Inc.
    Inventors: Jonathan Coburn, Michael Fortson
  • Patent number: 11409425
    Abstract: A conversation-based computing system may include a back-end computing module, a design module, and an execution module. The design module may be configured to provide a graphical user interface through which different conversation models are defined in metadata. Each model may include a topic containing respective goals, where the goals are associated with respective conversation flows that define respective dialogs that directs conversations toward the associated goals. Each model may also define references to topic-specific content stored in the back-end module. The execution module may be configured to execute a particular model between the system and a front-end computing device and set up integration of a live agent into the model. Execution of the model may involve, in part, carrying out, in an at least partially-automated fashion, the flow for the model according to the dialog, the topic-specific content corresponding to the model, and communicating using a specific communication protocol.
    Type: Grant
    Filed: December 19, 2019
    Date of Patent: August 9, 2022
    Assignee: ServiceNow, Inc.
    Inventors: Rahim Yaseen, Xiaomei Zhang, Hasan Rizvi, Sean Frogner, Muruganantham Chinnananchi, Michael Fortson
  • Publication number: 20200218766
    Abstract: A conversation-based computing system may include a back-end computing module, a design module, and an execution module. The design module may be configured to provide a graphical user interface through which different conversation models are defined in metadata. Each model may include a topic containing respective goals, where the goals are associated with respective conversation flows that define respective dialogs that directs conversations toward the associated goals. Each model may also define references to topic-specific content stored in the back-end module. The execution module may be configured to execute a particular model between the system and a front-end computing device and set up integration of a live agent into the model. Execution of the model may involve, in part, carrying out, in an at least partially-automated fashion, the flow for the model according to the dialog, the topic-specific content corresponding to the model, and communicating using a specific communication protocol.
    Type: Application
    Filed: December 19, 2019
    Publication date: July 9, 2020
    Inventors: Rahim Yaseen, Xiaomei Zhang, Hasan Rizvi, Sean Frogner, Muruganantham Chinnananchi, Michael Fortson
  • Patent number: 10466885
    Abstract: A conversation-based computing system may include a back-end computing module, a design module, and an execution module. The design module may be configured to provide a graphical user interface through which different conversation models are defined in metadata. Each model may include a topic containing respective goals, where the goals are associated with respective conversation flows that define respective dialogs that directs conversations toward the associated goals. Each model may also define references to topic-specific content stored in the back-end module. The execution module may be configured to execute a particular model between the system and a front-end computing device and set up integration of a live agent into the model. Execution of the model may involve, in part, carrying out, in an at least partially-automated fashion, the flow for the model according to the dialog, the topic-specific content corresponding to the model, and communicating using a specific communication protocol.
    Type: Grant
    Filed: December 27, 2017
    Date of Patent: November 5, 2019
    Assignee: ServiceNow, Inc.
    Inventors: Rahim Yaseen, Xiaomei Zhang, Hasan Rizvi, Sean Frogner, Muruganantham Chinnananchi, Michael Fortson
  • Patent number: 10452251
    Abstract: A conversation-based computing system may include a back-end computing module, a design module, and an execution module. The design module may be configured to provide a graphical user interface through which different conversation models are defined in metadata. Each model may include a topic containing respective goals, where the goals are associated with respective conversation flows that define respective dialogs that directs conversations toward the associated goals. Each model may also define references to topic-specific content stored in the back-end module. The execution module may be configured to execute a particular model between the system and a front-end computing device and set up integration of a live agent into the model. Execution of the model may involve, in part, carrying out, in an at least partially-automated fashion, the flow for the model according to the dialog, the topic-specific content corresponding to the model, and communicating using a specific communication protocol.
    Type: Grant
    Filed: September 27, 2017
    Date of Patent: October 22, 2019
    Assignee: ServiceNow, Inc.
    Inventors: Rahim Yaseen, Xiaomei Zhang, Hasan Rizvi, Sean Frogner, Muruganantham Chinnananchi, Michael Fortson
  • Publication number: 20180341396
    Abstract: A conversation-based computing system may include a back-end computing module, a design module, and an execution module. The design module may be configured to provide a graphical user interface through which different conversation models are defined in metadata. Each model may include a topic containing respective goals, where the goals are associated with respective conversation flows that define respective dialogs that directs conversations toward the associated goals. Each model may also define references to topic-specific content stored in the back-end module. The execution module may be configured to execute a particular model between the system and a front-end computing device and set up integration of a live agent into the model. Execution of the model may involve, in part, carrying out, in an at least partially-automated fashion, the flow for the model according to the dialog, the topic-specific content corresponding to the model, and communicating using a specific communication protocol.
    Type: Application
    Filed: December 27, 2017
    Publication date: November 29, 2018
    Inventors: Rahim Yaseen, Xiaomei Zhang, Hasan Rizvi, Sean Frogner, Muruganantham Chinnananchi, Michael Fortson
  • Publication number: 20180341395
    Abstract: A conversation-based computing system may include a back-end computing module, a design module, and an execution module. The design module may be configured to provide a graphical user interface through which different conversation models are defined in metadata. Each model may include a topic containing respective goals, where the goals are associated with respective conversation flows that define respective dialogs that directs conversations toward the associated goals. Each model may also define references to topic-specific content stored in the back-end module. The execution module may be configured to execute a particular model between the system and a front-end computing device and set up integration of a live agent into the model. Execution of the model may involve, in part, carrying out, in an at least partially-automated fashion, the flow for the model according to the dialog, the topic-specific content corresponding to the model, and communicating using a specific communication protocol.
    Type: Application
    Filed: September 27, 2017
    Publication date: November 29, 2018
    Inventors: Rahim Yaseen, Xiaomei Zhang, Hasan Rizvi, Sean Frogner, Muruganantham Chinnananchi, Michael Fortson
  • Patent number: 10078648
    Abstract: In general, in one aspect, a method for managing data in a data storage system includes receiving identifiers corresponding to different respective entries of a map stored in the data storage system, with a particular identifier corresponding to a particular entry of the map, the particular entry including a computed value corresponding to a particular portion of data stored in the data storage system and metadata indicating a location where the particular portion of data is stored in the data storage system, selecting, according to a first selection criterion, at least some of the identifiers for storage in a first portion of an index, and selecting, according to a second selection criterion, at least some of the identifiers for storage in a second portion of the index.
    Type: Grant
    Filed: April 27, 2015
    Date of Patent: September 18, 2018
    Assignee: Red Hat, Inc.
    Inventors: Michael Fortson, Jonathan Coburn, Michael Sclafani, Thomas Jaskiewicz, Assar Westerlund, Hooman Vassef
  • Publication number: 20180225313
    Abstract: Among other things, in one aspect, in general, a system for managing data in a data storage system includes a plurality of index nodes each storing a map of entries, each entry of the map including an identifier corresponding to a particular portion of data stored in the data storage system, and metadata indicating a location where the particular portion of data is stored in the data storage system, and one or more supernodes configured to return an identification of an index node that recently submitted a request for a particular identifier associated with at least one of the portions of data.
    Type: Application
    Filed: April 2, 2018
    Publication date: August 9, 2018
    Inventors: Jonathan Coburn, Michael Fortson
  • Patent number: 9953042
    Abstract: Among other things, in one aspect, in general, a system for managing data in a data storage system includes a plurality of index nodes each storing a map of entries, each entry of the map including an identifier corresponding to a particular portion of data stored in the data storage system, and metadata indicating a location where the particular portion of data is stored in the data storage system, and one or more supernodes configured to return an identification of an index node that recently submitted a request for a particular identifier associated with at least one of the portions of data.
    Type: Grant
    Filed: March 1, 2013
    Date of Patent: April 24, 2018
    Assignee: Red Hat, Inc.
    Inventors: Jonathan Coburn, Michael Fortson
  • Patent number: 9092151
    Abstract: In one aspect, in general, a method for managing data includes receiving, at a data deduplication engine of a computer system, data to be stored in a data storage system, computing a first value corresponding to at least one portion of the received data, determining that the first value matches a second value stored in a collection of identifiers, each identifier corresponding to a particular portion of data stored in the data storage system, each identifier comprising a computed value corresponding to the particular portion of data and including metadata indicating a location where the particular portion of data is being stored in the data storage system, and based on the determination that the first value matches a second value stored in the collection of identifiers, reallocating one or more physical locations from corresponding one or more virtual locations to different respective one or more virtual locations.
    Type: Grant
    Filed: March 13, 2013
    Date of Patent: July 28, 2015
    Assignee: Permabit Technology Corporation
    Inventors: Jered J. Floyd, Michael Fortson, Assar Westerlund, Jonathan Coburn
  • Patent number: 9069707
    Abstract: In general, in one aspect, a method for managing data in a data storage system includes receiving identifiers corresponding to different respective entries of a map stored in the data storage system, with a particular identifier corresponding to a particular entry of the map, the particular entry including a computed value corresponding to a particular portion of data stored in the data storage system and metadata indicating a location where the particular portion of data is stored in the data storage system, selecting, according to a first selection criterion, at least some of the identifiers for storage in a first portion of an index, and selecting, according to a second selection criterion, at least some of the identifiers for storage in a second portion of the index.
    Type: Grant
    Filed: November 3, 2011
    Date of Patent: June 30, 2015
    Assignee: Permabit Technology Corp.
    Inventors: Michael Fortson, Jonathan Coburn, Michael Sclafani, Thomas Jaskiewicz, Assar Westerlund, Hooman Vassef
  • Patent number: 8898107
    Abstract: In one aspect, in general, a method for managing data in a data storage system comprises receiving data to be stored in the data storage system, computing values corresponding to different respective portions of the received data, generating identifiers corresponding to different respective portions of the received data, with an identifier corresponding to a particular portion of data including the computed value corresponding to the particular portion of data and metadata indicating a location where the particular portion of data is being stored in the data storage system, and storing at least some of the identifiers in an index until the index reaches a predetermined size.
    Type: Grant
    Filed: May 6, 2013
    Date of Patent: November 25, 2014
    Assignee: Permabit Technology Corp.
    Inventors: Jered J. Floyd, Michael Fortson, Assar Westerlund, Jonathan Coburn
  • Patent number: 8463742
    Abstract: Managing data in a data storage system includes: receiving data to be stored in the data storage system; computing values corresponding to different respective portions of the received data; generating identifiers corresponding to different respective portions of the received data, with an identifier corresponding to a particular portion of data including the computed value corresponding to the particular portion of data and metadata indicating a location where the particular portion of data is being stored in the data storage system; storing at least some of the identifiers in an index until the index reaches a predetermined size; and in response to determining that a first identifier corresponding to a first portion of data, received after the index reached the predetermined size, was not already stored in the index before the first portion of data was received, storing the first identifier in the index and designating for removal at least a second identifier corresponding to a second portion of data to be
    Type: Grant
    Filed: May 27, 2011
    Date of Patent: June 11, 2013
    Assignee: Permabit Technology Corp.
    Inventors: Jered J. Floyd, Michael Fortson, Assar Westerlund, Jonathan Coburn
  • Patent number: 7457800
    Abstract: A method for constructing an index suitable for indexing a large set of records identified by long generally randomly distributed record names and for answering membership queries about the set, the method comprising assigning each different record a different record name, determining that a new record name is not already represented in the index by checking an entry in a first level index that is shorter than the complete new record name, and determining that a queried record name is already represented in the index by determining that the queried record name is represented in a second level index that contains enough information to reconstruct the complete queried record name.
    Type: Grant
    Filed: October 6, 2005
    Date of Patent: November 25, 2008
    Assignee: Burnside Acquisition, LLC
    Inventors: Norman H. Margolus, Edwin Olson, Michael Sclafani, J. Corwin Coburn, Michael Fortson
  • Patent number: 7457813
    Abstract: An index is constructed that is suitable for indexing a large set of records identified by randomly distributed record names and for answering membership queries about the set. The index has more than one level and the first-level index typically resides in RAM. Like a Bloom Filter, the first level index provides a non-membership indication with certainty and a membership indication with a controlled probability of error. Unlike a Bloom filter, entries in the first level index correspond uniquely to distinct records. Use is made of the statistical properties of a sorted list of random numbers in order to represent the first level index compactly.
    Type: Grant
    Filed: October 6, 2005
    Date of Patent: November 25, 2008
    Assignee: Burnside Acquisition, LLC
    Inventors: Norman H. Margolus, Edwin Olson, Michael Sclafani, J. Corwin Coburn, Michael Fortson
  • Publication number: 20060116990
    Abstract: A method for constructing an index suitable for indexing a large set of records identified by long generally randomly distributed record names, and for answering membership queries about the set, the method comprising adding a new record to the set and assigning the new record a new record name using a process designed to produce names where at least a portion of each name is at least approximately random, determining that the new record name is not already represented in the index by checking a first level index that does not contain information sufficient to reconstruct the complete record names of records that have already been added to the index, abbreviating the new record name to form a new abbreviated name that is shorter than the new record name but that is sufficient to distinguish it from record names already represented in the index, combining the new abbreviated name with an abbreviated name of a record already represented in the first level index, to form a combined record name which is shorter t
    Type: Application
    Filed: October 6, 2005
    Publication date: June 1, 2006
    Inventors: Norman Margolus, Edwin Olson, Michael Sclafani, J. Coburn, Michael Fortson
  • Publication number: 20060112112
    Abstract: A method for constructing an index suitable for indexing a large set of records identified by long generally randomly distributed record names, and for answering membership queries about the set, the method comprising adding a new record to the set and assigning the new record a new record name using a process designed to produce names where at least a portion of each name is at least approximately random, determining that the new record name is not already represented in the index by checking a first level index, combining the new record name with record name information already represented in the index to form a combined record name which is shorter than the new record name, and adding the combined record name to the first level index to form a new first level index entry that represents the new record, wherein the first level index does not contain information sufficient to conclude that the new record name has been added to the index, wherein each different record in the set is assigned a different record
    Type: Application
    Filed: October 6, 2005
    Publication date: May 25, 2006
    Inventors: Norman Margolus, Edwin Olson, Michael Sclafani, J. Coburn, Michael Fortson
  • Patent number: RE45350
    Abstract: A method for constructing an index suitable for indexing a large set of records identified by long generally randomly distributed record names and for answering membership queries about the set, the method comprising assigning each different record a different record name, determining that a new record name is not already represented in the index by checking an entry in a first level index that is shorter than the complete new record name, and determining that a queried record name is already represented in the index by determining that the queried record name is represented in a second level index that contains enough information to reconstruct the complete queried record name.
    Type: Grant
    Filed: November 24, 2010
    Date of Patent: January 20, 2015
    Assignee: Permabit Technology Corporation
    Inventors: Norman H. Margolus, Edwin Olson, Michael Sclafani, J. Corwin Coburn, Michael Fortson
  • Patent number: D849756
    Type: Grant
    Filed: May 23, 2017
    Date of Patent: May 28, 2019
    Assignee: SERVICENOW, INC
    Inventors: Michael Fortson, Rahim Yaseen, Hasan Rizvi