Patents by Inventor Maher Afif Saba

Maher Afif Saba 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).

  • Publication number: 20170185861
    Abstract: Systems, methods, and non-transitory computer-readable media can obtain data corresponding to a first content item. The first content item can be rendered for display. The first content item can be presented through a display interface. A screenshot image of the display interface can be captured while the first content item is being presented. A determination is made whether the first content item was incompletely rendered based at least in part on the screenshot image.
    Type: Application
    Filed: December 28, 2015
    Publication date: June 29, 2017
    Inventors: Chih-Tang Chen, Xiaojun Liang, Maher Afif Saba
  • Publication number: 20170177433
    Abstract: Systems, methods, and non-transitory computer-readable media can determine an application feature causing an application to crash. A set of users is ranked based on application data. The application data comprises crash cause data indicative of the number of times the application feature caused the application to crash for a user. A high crash user group is determined based on the ranking the set of users. The application feature is disabled for the high crash user group. A subset of the high crash user group is periodically replaced with a set of new users not currently in the high crash user group.
    Type: Application
    Filed: December 16, 2015
    Publication date: June 22, 2017
    Inventors: Xiaojun Liang, Xin Liu, Parthiv Bharatbhai Patel, Maher Afif Saba
  • Patent number: 9686692
    Abstract: Various technologies described herein pertain to transferring geospatial tiles for Wi-Fi networks. A geospatial tile specifies a geographic region and includes data pertaining to a plurality of Wi-Fi networks having respective geographic coverage areas within the geographic region. A mobile device can receive an indicator that corresponds to a geospatial tile for retrieval by the mobile device. Further, the mobile device can request the geospatial tile from a tile management system based upon the indicator. Upon receiving the geospatial tile from the tile management system, the mobile device stores the geospatial tile in a tile cache. Further, the mobile device can automatically connect to a particular Wi-Fi network from the plurality of Wi-Fi networks utilizing data for the particular Wi-Fi network included in the geospatial tile when the mobile device is positioned within a geographic coverage area of the particular Wi-Fi network.
    Type: Grant
    Filed: March 20, 2014
    Date of Patent: June 20, 2017
    Assignee: Microsoft Technology Licesning, LLC
    Inventors: Shai Guday, Maher Afif Saba
  • Patent number: 9686693
    Abstract: Various technologies described herein pertain to transferring geospatial tiles for Wi-Fi networks. A geospatial tile specifies a geographic region and includes data pertaining to a plurality of Wi-Fi networks having respective geographic coverage areas within the geographic region. A mobile device can receive an indicator that corresponds to a geospatial tile for retrieval by the mobile device. Further, the mobile device can request the geospatial tile from a tile management system based upon the indicator. Upon receiving the geospatial tile from the tile management system, the mobile device stores the geospatial tile in a tile cache. Further, the mobile device can automatically connect to a particular Wi-Fi network from the plurality of Wi-Fi networks utilizing data for the particular Wi-Fi network included in the geospatial tile when the mobile device is positioned within a geographic coverage area of the particular Wi-Fi network.
    Type: Grant
    Filed: January 27, 2016
    Date of Patent: June 20, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Shai Guday, Maher Afif Saba
  • Patent number: 9632556
    Abstract: Embodiments apply user-specific usage patterns to estimate and preserve remaining battery life on a computing device. An amount of battery drain and an execution context are determined and stored for a plurality of recurring time periods. The execution context identifies operations executed by the computing device, signal strength, and other data describing the associated time period. If one of the operations is expected to be executed during a recurrence of at least one of the time periods, the expected execution is adjusted based on execution context and an estimated remaining battery life for the computing device. For example, the computing device may postpone or reschedule the operation for a time period during which the operation is expected to have a greater likelihood of completing successfully. In some embodiments, the battery preservation operations are automatically enabled at a particular threshold.
    Type: Grant
    Filed: October 16, 2015
    Date of Patent: April 25, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Javier N. Flores Assad, Maher Afif Saba, Pantelis Apostolopoulos, Daniel Guilherme Paixao Deschamps, Iulian D. Calinov, Wanittha Thapanakul
  • Publication number: 20170097741
    Abstract: Systems, methods, and non-transitory computer-readable media can provide a content feed through a display interface. The content feed can include at least a snippet of a first content item that is associated with a preview time threshold. A determination can be made that the snippet of the first content item has been positioned within a viewport region of the display interface for a duration of time that satisfies the preview time threshold. Data associated with the first content item can be obtained from a content distribution system. The data associated with the first content item can be stored.
    Type: Application
    Filed: October 2, 2015
    Publication date: April 6, 2017
    Inventors: Xiaojun Liang, Varun Kacholia, Maher Afif Saba, Mahmud Sami Tas, Gang Liu
  • Patent number: 9600393
    Abstract: Some embodiments include a computer server implementing a splitter engine to perform testing of a pre-production version of an application service against live traffic. The splitter engine can receive a client request for a live application service. The splitter engine can generate a live response by processing the client request through a live instance of a production engine. The splitter engine can select one or more request processors to process the client request and a processing order based on a request type of the client request. The splitter engine can process the client request through the one or more request processors according to the processing order after responding to the client request with the live response. The splitter engine can compare states of at least two of the production engine and the one or more request processors.
    Type: Grant
    Filed: March 23, 2015
    Date of Patent: March 21, 2017
    Assignee: Facebook, Inc.
    Inventors: Ittai M. Golde, Maher Afif Saba, Charity Hope Majors
  • Publication number: 20160323334
    Abstract: Systems, methods, and non-transitory computer-readable media can send at least one request for streaming a content item. Data associated with at least one portion of the content item is streamed. A first rate at which the content item is encoded is determined. A second rate at which the content item is being streamed is determined. A need for adjusting the streaming of the content item is determined based at least in part on the first rate and the second rate. Streaming of the content item is adjusted. The adjustment causes the second rate at which the content item is being streamed to conform to the first rate.
    Type: Application
    Filed: April 30, 2015
    Publication date: November 3, 2016
    Inventor: Maher Afif Saba
  • Publication number: 20160283348
    Abstract: Some embodiments include a computer server implementing a splitter engine to perform testing of a pre-production version of an application service against live traffic. The splitter engine can receive a client request for a live application service. The splitter engine can generate a live response by processing the client request through a live instance of a production engine. The splitter engine can select one or more request processors to process the client request and a processing order based on a request type of the client request. The splitter engine can process the client request through the one or more request processors according to the processing order after responding to the client request with the live response. The splitter engine can compare states of at least two of the production engine and the one or more request processors.
    Type: Application
    Filed: March 23, 2015
    Publication date: September 29, 2016
    Inventors: Ittai M. Golde, Maher Afif Saba, Charity Hope Majors
  • Publication number: 20160142921
    Abstract: Various technologies described herein pertain to transferring geospatial tiles for Wi-Fi networks. A geospatial tile specifies a geographic region and includes data pertaining to a plurality of Wi-Fi networks having respective geographic coverage areas within the geographic region. A mobile device can receive an indicator that corresponds to a geospatial tile for retrieval by the mobile device. Further, the mobile device can request the geospatial tile from a tile management system based upon the indicator. Upon receiving the geospatial tile from the tile management system, the mobile device stores the geospatial tile in a tile cache. Further, the mobile device can automatically connect to a particular Wi-Fi network from the plurality of Wi-Fi networks utilizing data for the particular Wi-Fi network included in the geospatial tile when the mobile device is positioned within a geographic coverage area of the particular Wi-Fi network.
    Type: Application
    Filed: January 27, 2016
    Publication date: May 19, 2016
    Inventors: Shai Guday, Maher Afif Saba
  • Publication number: 20160041598
    Abstract: Embodiments apply user-specific usage patterns to estimate and preserve remaining battery life on a computing device. An amount of battery drain and an execution context are determined and stored for a plurality of recurring time periods. The execution context identifies operations executed by the computing device, signal strength, and other data describing the associated time period. If one of the operations is expected to be executed during a recurrence of at least one of the time periods, the expected execution is adjusted based on execution context and an estimated remaining battery life for the computing device. For example, the computing device may postpone or reschedule the operation for a time period during which the operation is expected to have a greater likelihood of completing successfully. In some embodiments, the battery preservation operations are automatically enabled at a particular threshold.
    Type: Application
    Filed: October 16, 2015
    Publication date: February 11, 2016
    Inventors: Javier N. Flores Assad, Maher Afif Saba, Pantelis Apostolopoulos, Daniel Guilherme Paixao Deschamps, Iulian D. Calinov, Wanittha Thapanakul
  • Patent number: 9164568
    Abstract: Embodiments apply user-specific usage patterns to estimate and preserve remaining battery life on a computing device. An amount of battery drain and an execution context are determined and stored for a plurality of recurring time periods. The execution context identifies operations executed by the computing device, signal strength, and other data describing the associated time period. If one of the operations is expected to be executed during a recurrence of at least one of the time periods, the expected execution is adjusted based on execution context and an estimated remaining battery life for the computing device. For example, the computing device may postpone or reschedule the operation for a time period during which the operation is expected to have a greater likelihood of completing successfully. In some embodiments, the battery preservation operations are automatically enabled at a particular threshold.
    Type: Grant
    Filed: June 9, 2014
    Date of Patent: October 20, 2015
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Javier N. Flores Assad, Maher Afif Saba, Pantelis Apostolopoulos, Daniel Guilherme Paixao Deschamps, Iulian D. Calinov, Wanittha Thapanakul
  • Publication number: 20150271640
    Abstract: Various technologies described herein pertain to transferring geospatial tiles for Wi-Fi networks. A geospatial tile specifies a geographic region and includes data pertaining to a plurality of Wi-Fi networks having respective geographic coverage areas within the geographic region. A mobile device can receive an indicator that corresponds to a geospatial tile for retrieval by the mobile device. Further, the mobile device can request the geospatial tile from a tile management system based upon the indicator. Upon receiving the geospatial tile from the tile management system, the mobile device stores the geospatial tile in a tile cache. Further, the mobile device can automatically connect to a particular Wi-Fi network from the plurality of Wi-Fi networks utilizing data for the particular Wi-Fi network included in the geospatial tile when the mobile device is positioned within a geographic coverage area of the particular Wi-Fi network.
    Type: Application
    Filed: March 20, 2014
    Publication date: September 24, 2015
    Inventors: Shai Guday, Maher Afif Saba
  • Publication number: 20140289543
    Abstract: Embodiments apply user-specific usage patterns to estimate and preserve remaining battery life on a computing device. An amount of battery drain and an execution context are determined and stored for a plurality of recurring time periods. The execution context identifies operations executed by the computing device, signal strength, and other data describing the associated time period. If one of the operations is expected to be executed during a recurrence of at least one of the time periods, the expected execution is adjusted based on execution context and an estimated remaining battery life for the computing device. For example, the computing device may postpone or reschedule the operation for a time period during which the operation is expected to have a greater likelihood of completing successfully. In some embodiments, the battery preservation operations are automatically enabled at a particular threshold.
    Type: Application
    Filed: June 9, 2014
    Publication date: September 25, 2014
    Inventors: Javier N. Flores Assad, Maher Afif Saba, Pantelis Apostolopoulos, Daniel Guilherme Paixao Deschamps, Iulian D. Calinov, Wanittha Thapanakul
  • Patent number: 8751845
    Abstract: Embodiments apply user-specific usage patterns to estimate and preserve remaining battery life on a computing device. An amount of battery drain and an execution context are determined and stored for a plurality of recurring time periods. The execution context identifies operations executed by the computing device, signal strength, and other data describing the associated time period. If one of the operations is expected to be executed during a recurrence of at least one of the time periods, the expected execution is adjusted based on execution context and an estimated remaining battery life for the computing device. For example, the computing device may postpone or reschedule the operation for a time period during which the operation is expected to have a greater likelihood of completing successfully. In some embodiments, the battery preservation operations are automatically enabled at a particular threshold.
    Type: Grant
    Filed: June 7, 2011
    Date of Patent: June 10, 2014
    Assignee: Microsoft Corporation
    Inventors: Javier N. Flores Assad, Maher Afif Saba, Pantelis Apostolopoulos, Daniel Guilherme Paixao Deschamps, Iulian D. Calinov, Wannittha Thapanakul
  • Publication number: 20120317432
    Abstract: Embodiments apply user-specific usage patterns to estimate and preserve remaining battery life on a computing device. An amount of battery drain and an execution context are determined and stored for a plurality of recurring time periods. The execution context identifies operations executed by the computing device, signal strength, and other data describing the associated time period. If one of the operations is expected to be executed during a recurrence of at least one of the time periods, the expected execution is adjusted based on execution context and an estimated remaining battery life for the computing device. For example, the computing device may postpone or reschedule the operation for a time period during which the operation is expected to have a greater likelihood of completing successfully. In some embodiments, the battery preservation operations are automatically enabled at a particular threshold.
    Type: Application
    Filed: June 7, 2011
    Publication date: December 13, 2012
    Applicant: Microsoft Corporation
    Inventors: Javier N. Flores Assad, Maher Afif Saba, Pantelis Apostolopoulos, Daniel Guilherme Paixao Deschamps, Iulian D. Calinov, Wannittha Thapanakul
  • Patent number: 6006032
    Abstract: The present invention is directed to a system and method for monitoring system performance by sampling instructions in a burst mode, rather than once per interrupt. A burst mode may be configurable for a number of instructions per burst. Furthermore, these instructions are counted using a dynamic tree structure, rather than a log, which results in substantial savings in storage. The present invention requires minimal changes to the operating system, and no changes to application code that is being monitored. No recompilation is necessary to use the present invention. In addition, the present invention provides a system and method for monitoring code segments that are disabled for interrupts, and thus are difficult, if not impossible, to monitor using prior art performance tools. In a multi-processor system, the burst mode is active on all processors at the same time, and each processor has its own dynamic tree structure.
    Type: Grant
    Filed: September 17, 1998
    Date of Patent: December 21, 1999
    Assignee: International Business Machines Corporation
    Inventors: Geoffrey Owen Blandy, Maher Afif Saba
  • Patent number: 5940618
    Abstract: The present invention is directed to a system and method for monitoring performance in an information handling system in a minimally intrusive manner. The method of the present invention includes a collection phase, a placement phase, and an instrumentation phase. During the collection phase, a workload (i.e. code segment) is traced, and instruction and data accesses are determined. During the placement phase, the trace data is passed to a cache simulator. The cache simulator uses the trace data, along with hardware and instrumentation characteristics, to determine an optimal placement for instrumentation code and data. If the desired conflict level is not attainable, the best possible placement is found by executing the code to be monitored with a variety of instrumentation code and data placements until the least intrusive placement is found. The best possible placement is then used during the instrumentation phase to actually execute the instrumented code.
    Type: Grant
    Filed: September 22, 1997
    Date of Patent: August 17, 1999
    Assignee: International Business Machines Corporation
    Inventors: Geoffrey Owen Blandy, Maher Afif Saba, Robert J. Urquhart
  • Patent number: 5896538
    Abstract: The present invention is directed to a system and method for monitoring system performance by using a multi-phase approach. The first phase, referred to as the burst counting phase, utilizes a set of counters to identify calls and returns which are heavily used. In the second phase, referred to as the instrumentation phase, the performance characteristics of the "hot spots" are monitored through the use of hardware counters. In a symmetrical multi-processor embodiment, the performance profiler is active on all processors at the same time. Frequently executed code paths are identified in a manner that is minimally-intrusive to the system as a whole, and uses relatively little storage. The user may specify a threshold count, after which hardware monitoring begins, and the user may specify the type of hardware performance data collected. After both phases of the performance monitor are run, the data can be presented to the user in a variety of ways.
    Type: Grant
    Filed: November 26, 1996
    Date of Patent: April 20, 1999
    Assignee: International Business Machines Corporation
    Inventors: Geoffrey Owen Blandy, Maher Afif Saba, Robert John Urquhart
  • Patent number: 5884080
    Abstract: The present invention is directed to a system and method for monitoring system performance by sampling instructions in a burst mode, rather than once per interrupt. A burst mode may be configurable for a number of instructions per burst. Furthermore, these instructions are counted using a dynamic tree structure, rather than a log, which results in substantial savings in storage. The present invention requires minimal changes to the operating system, and no changes to application code that is being monitored. No recompilation is necessary to use the present invention. In addition, the present invention provides a system and method for monitoring code segments that are disabled for interrupts, and thus are difficult, if not impossible, to monitor using prior art performance tools. In a multi-processor system, the burst mode is active on all processors at the same time, and each processor has its own dynamic tree structure.
    Type: Grant
    Filed: November 26, 1996
    Date of Patent: March 16, 1999
    Assignee: International Business Machines Corporation
    Inventors: Geoffrey Owen Blandy, Maher Afif Saba