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: 20170185861Abstract: 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: ApplicationFiled: December 28, 2015Publication date: June 29, 2017Inventors: Chih-Tang Chen, Xiaojun Liang, Maher Afif Saba
-
Publication number: 20170177433Abstract: 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: ApplicationFiled: December 16, 2015Publication date: June 22, 2017Inventors: Xiaojun Liang, Xin Liu, Parthiv Bharatbhai Patel, Maher Afif Saba
-
Patent number: 9686692Abstract: 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: GrantFiled: March 20, 2014Date of Patent: June 20, 2017Assignee: Microsoft Technology Licesning, LLCInventors: Shai Guday, Maher Afif Saba
-
Patent number: 9686693Abstract: 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: GrantFiled: January 27, 2016Date of Patent: June 20, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Shai Guday, Maher Afif Saba
-
Patent number: 9632556Abstract: 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: GrantFiled: October 16, 2015Date of Patent: April 25, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Javier N. Flores Assad, Maher Afif Saba, Pantelis Apostolopoulos, Daniel Guilherme Paixao Deschamps, Iulian D. Calinov, Wanittha Thapanakul
-
Publication number: 20170097741Abstract: 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: ApplicationFiled: October 2, 2015Publication date: April 6, 2017Inventors: Xiaojun Liang, Varun Kacholia, Maher Afif Saba, Mahmud Sami Tas, Gang Liu
-
Patent number: 9600393Abstract: 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: GrantFiled: March 23, 2015Date of Patent: March 21, 2017Assignee: Facebook, Inc.Inventors: Ittai M. Golde, Maher Afif Saba, Charity Hope Majors
-
Publication number: 20160323334Abstract: 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: ApplicationFiled: April 30, 2015Publication date: November 3, 2016Inventor: Maher Afif Saba
-
Publication number: 20160283348Abstract: 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: ApplicationFiled: March 23, 2015Publication date: September 29, 2016Inventors: Ittai M. Golde, Maher Afif Saba, Charity Hope Majors
-
Publication number: 20160142921Abstract: 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: ApplicationFiled: January 27, 2016Publication date: May 19, 2016Inventors: Shai Guday, Maher Afif Saba
-
Publication number: 20160041598Abstract: 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: ApplicationFiled: October 16, 2015Publication date: February 11, 2016Inventors: Javier N. Flores Assad, Maher Afif Saba, Pantelis Apostolopoulos, Daniel Guilherme Paixao Deschamps, Iulian D. Calinov, Wanittha Thapanakul
-
Patent number: 9164568Abstract: 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: GrantFiled: June 9, 2014Date of Patent: October 20, 2015Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Javier N. Flores Assad, Maher Afif Saba, Pantelis Apostolopoulos, Daniel Guilherme Paixao Deschamps, Iulian D. Calinov, Wanittha Thapanakul
-
Publication number: 20150271640Abstract: 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: ApplicationFiled: March 20, 2014Publication date: September 24, 2015Inventors: Shai Guday, Maher Afif Saba
-
Publication number: 20140289543Abstract: 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: ApplicationFiled: June 9, 2014Publication date: September 25, 2014Inventors: Javier N. Flores Assad, Maher Afif Saba, Pantelis Apostolopoulos, Daniel Guilherme Paixao Deschamps, Iulian D. Calinov, Wanittha Thapanakul
-
Patent number: 8751845Abstract: 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: GrantFiled: June 7, 2011Date of Patent: June 10, 2014Assignee: Microsoft CorporationInventors: Javier N. Flores Assad, Maher Afif Saba, Pantelis Apostolopoulos, Daniel Guilherme Paixao Deschamps, Iulian D. Calinov, Wannittha Thapanakul
-
Publication number: 20120317432Abstract: 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: ApplicationFiled: June 7, 2011Publication date: December 13, 2012Applicant: Microsoft CorporationInventors: Javier N. Flores Assad, Maher Afif Saba, Pantelis Apostolopoulos, Daniel Guilherme Paixao Deschamps, Iulian D. Calinov, Wannittha Thapanakul
-
Patent number: 6006032Abstract: 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: GrantFiled: September 17, 1998Date of Patent: December 21, 1999Assignee: International Business Machines CorporationInventors: Geoffrey Owen Blandy, Maher Afif Saba
-
Patent number: 5940618Abstract: 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: GrantFiled: September 22, 1997Date of Patent: August 17, 1999Assignee: International Business Machines CorporationInventors: Geoffrey Owen Blandy, Maher Afif Saba, Robert J. Urquhart
-
Patent number: 5896538Abstract: 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: GrantFiled: November 26, 1996Date of Patent: April 20, 1999Assignee: International Business Machines CorporationInventors: Geoffrey Owen Blandy, Maher Afif Saba, Robert John Urquhart
-
Patent number: 5884080Abstract: 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: GrantFiled: November 26, 1996Date of Patent: March 16, 1999Assignee: International Business Machines CorporationInventors: Geoffrey Owen Blandy, Maher Afif Saba