Patents by Inventor Omid Afnan

Omid Afnan 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: 11789775
    Abstract: The visualization of progress of a distributed computational job at multiple points of execution. After a computational job is compiled into multiple vertices, and then those multiple vertices are scheduled on multiple processing nodes in a distributed environment, a processing gathering module gathers processing information regarding processing of multiple vertices of a computational job, and at multiple instances in time in the execution of the computational job. A user interface module graphically presents a representation of an execution structure representing multiple nodes of the computational job, and dependencies between the multiple nodes, where the nodes may be a single vertex or a group of vertices (such as a stage).
    Type: Grant
    Filed: May 3, 2021
    Date of Patent: October 17, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Pu Li, Omid Afnan, Dian Zhang
  • Publication number: 20210326179
    Abstract: The visualization of progress of a distributed computational job at multiple points of execution. After a computational job is compiled into multiple vertices, and then those multiple vertices are scheduled on multiple processing nodes in a distributed environment, a processing gathering module gathers processing information regarding processing of multiple vertices of a computational job, and at multiple instances in time in the execution of the computational job. A user interface module graphically presents a representation of an execution structure representing multiple nodes of the computational job, and dependencies between the multiple nodes, where the nodes may be a single vertex or a group of vertices (such as a stage).
    Type: Application
    Filed: May 3, 2021
    Publication date: October 21, 2021
    Inventors: Pu LI, Omid AFNAN, Dian ZHANG
  • Patent number: 10996987
    Abstract: The visualization of progress of a distributed computational job at multiple points of execution. After a computational job is compiled into multiple vertices, and then those multiple vertices are scheduled on multiple processing nodes in a distributed environment, a processing gathering module gathers processing information regarding processing of multiple vertices of a computational job, and at multiple instances in time in the execution of the computational job. A user interface module graphically presents a representation of an execution structure representing multiple nodes of the computational job, and dependencies between the multiple nodes, where the nodes may be a single vertex or a group of vertices (such as a stage).
    Type: Grant
    Filed: January 7, 2019
    Date of Patent: May 4, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Pu Li, Omid Afnan, Dian Zhang
  • Patent number: 10545965
    Abstract: Reducing data skew when performing computational jobs (such as responding to complex queries or queries on big data sets). To gather performance information for a vertex in a distributed stage, the distributed stage is processed and the resulting performance information being generated. The system then identifies a performance outlier of the vertices, which varies from a performance norm of other vertices. A trigger instruction is then generated that is structured to trigger the performance outlier vertex to gather data distribution information of the data that the performance outlier vertex previously processed. The trigger instruction may thus be executed to cause the performance outlier vertex to gather the data distribution information for evaluation for data skew.
    Type: Grant
    Filed: June 30, 2016
    Date of Patent: January 28, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jin Sun, Omid Afnan, Yifung Lin
  • Patent number: 10444939
    Abstract: Comparing recurring processes. A method includes automatically identifying a plurality of recurring process instances having one or more commonalities. The method further includes displaying the plurality of recurring process instances having one or more commonalities to a user in a user interface. The method further includes receiving user input at the user interface selecting a first recurring process instance from the plurality of recurring process instances. The method further includes receiving user input at the user interface selecting a second recurring process instance from the plurality of recurring process instances. The method further includes automatically identifying differences in the first and second recurring process instances. The method further includes presenting the differences in the graphical user interface to the user.
    Type: Grant
    Filed: March 15, 2016
    Date of Patent: October 15, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jiahui Wang, Yaron Burd, Omid Afnan
  • Publication number: 20190213041
    Abstract: The visualization of progress of a distributed computational job at multiple points of execution. After a computational job is compiled into multiple vertices, and then those multiple vertices are scheduled on multiple processing nodes in a distributed environment, a processing gathering module gathers processing information regarding processing of multiple vertices of a computational job, and at multiple instances in time in the execution of the computational job. A user interface module graphically presents a representation of an execution structure representing multiple nodes of the computational job, and dependencies between the multiple nodes, where the nodes may be a single vertex or a group of vertices (such as a stage).
    Type: Application
    Filed: January 7, 2019
    Publication date: July 11, 2019
    Inventors: Pu LI, Omid AFNAN, Dian ZHANG
  • Patent number: 10185647
    Abstract: The supporting of debugging of failed vertex code on a test machine. This debugging is made possible even though the vertex code failed while on a remote processing node, and is but one of multiple, and potentially innumerable vertices that run in a distributed environment. This represents a vast technical improvement over prior ad hoc methods for trying to debug a large distributed application, since time is not wasted on vertices that operated properly, but rather debugging is focused on the problem vertex. Even reproducing the failure is a huge technical step forward.
    Type: Grant
    Filed: May 12, 2016
    Date of Patent: January 22, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Na Gao, Yifung Lin, Omid Afnan, Dian Zhang
  • Patent number: 10176015
    Abstract: The visualization of progress of a distributed computational job at multiple points of execution. After a computational job is compiled into multiple vertices, and then those multiple vertices are scheduled on multiple processing nodes in a distributed environment, a processing gathering module gathers processing information regarding processing of multiple vertices of a computational job, and at multiple instances in time in the execution of the computational job. A user interface module graphically presents a representation of an execution structure representing multiple nodes of the computational job, and dependencies between the multiple nodes, where the nodes may be a single vertex or a group of vertices (such as a stage).
    Type: Grant
    Filed: May 12, 2016
    Date of Patent: January 8, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Pu Li, Omid Afnan, Dian Zhang
  • Publication number: 20170269796
    Abstract: Comparing recurring processes. A method includes automatically identifying a plurality of recurring process instances having one or more commonalities. The method further includes displaying the plurality of recurring process instances having one or more commonalities to a user in a user interface. The method further includes receiving user input at the user interface selecting a first recurring process instance from the plurality of recurring process instances. The method further includes receiving user input at the user interface selecting a second recurring process instance from the plurality of recurring process instances. The method further includes automatically identifying differences in the first and second recurring process instances. The method further includes presenting the differences in the graphical user interface to the user.
    Type: Application
    Filed: March 15, 2016
    Publication date: September 21, 2017
    Inventors: Jiahui Wang, Yaron Burd, Omid Afnan
  • Publication number: 20170249762
    Abstract: Identifying a path for a distributed job. A method includes dynamically collecting timing and relationship information for vertices in stages of a running job. The method further includes identifying a particular vertex. The method further includes iteratively identifying a single path parent-child sequence path for the identified vertex. The method further includes displaying a Gantt chart showing the identified path, wherein the Gantt chart shows timing relationships and execution progress information.
    Type: Application
    Filed: February 29, 2016
    Publication date: August 31, 2017
    Inventors: Yifung Lin, Omid Afnan, Dian Zhang
  • Publication number: 20170090984
    Abstract: The visualization of progress of a distributed computational job at multiple points of execution. After a computational job is compiled into multiple vertices, and then those multiple vertices are scheduled on multiple processing nodes in a distributed environment, a processing gathering module gathers processing information regarding processing of multiple vertices of a computational job, and at multiple instances in time in the execution of the computational job. A user interface module graphically presents a representation of an execution structure representing multiple nodes of the computational job, and dependencies between the multiple nodes, where the nodes may be a single vertex or a group of vertices (such as a stage).
    Type: Application
    Filed: May 12, 2016
    Publication date: March 30, 2017
    Inventors: Pu Li, Omid Afnan, Dian Zhang
  • Publication number: 20170091076
    Abstract: The supporting of debugging of failed vertex code on a test machine. This debugging is made possible even though the vertex code failed while on a remote processing node, and is but one of multiple, and potentially innumerable vertices that run in a distributed environment. This represents a vast technical improvement over prior ad hoc methods for trying to debug a large distributed application, since time is not wasted on vertices that operated properly, but rather debugging is focused on the problem vertex. Even reproducing the failure is a huge technical step forward.
    Type: Application
    Filed: May 12, 2016
    Publication date: March 30, 2017
    Inventors: Na Gao, Yifung Lin, Omid Afnan, Dian Zhang
  • Publication number: 20170091185
    Abstract: Reducing data skew when performing computational jobs (such as responding to complex queries or queries on big data sets). To gather performance information for a vertex in a distributed stage, the distributed stage is processed and the resulting performance information being generated. The system then identifies a performance outlier of the vertices, which varies from a performance norm of other vertices. A trigger instruction is then generated that is structured to trigger the performance outlier vertex to gather data distribution information of the data that the performance outlier vertex previously processed. The trigger instruction may thus be executed to cause the performance outlier vertex to gather the data distribution information for evaluation for data skew.
    Type: Application
    Filed: June 30, 2016
    Publication date: March 30, 2017
    Inventors: Jin Sun, Omid Afnan, Yifung Lin
  • Patent number: 6490621
    Abstract: In a method of determining the availability of a network resource in a digital communications network, atomic resources that are not composed of other resources are first identified. A degradation factor is assigned to each atomic resource. Subsequently a degradation factor for a composite resource is derived from the degradation factors of the atomic resources in accordance with a predetermined relationship.
    Type: Grant
    Filed: November 16, 1999
    Date of Patent: December 3, 2002
    Assignee: Orchestream Americas Corporation
    Inventors: Leo Forget, Omid Afnan