Patents by Inventor Iain Andrew Russell Proctor

Iain Andrew Russell Proctor 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: 11210452
    Abstract: Markup language documents including server side scripting code using PHP syntax are executed efficiently in response to requests received by a server. The processing of the markup language document results in generation of a transformed markup language document that is returned in response to the request. The server side script code is input to a compiler that generates C++ code (or code in any object-based language based on C language) implementing the functionality of the server side script code. The C++ code is compiled to generated object code which is executed in order to process the markup language document. The generated C++ code includes functionality supported by PHP language including redeclaration of functions, dynamic variables, global variables, and the like. The generated C++ code invokes memory allocation code that allocates and deallocates objects obtained by instantiating the generated C++ classes.
    Type: Grant
    Filed: August 29, 2017
    Date of Patent: December 28, 2021
    Assignee: Meta Platforms, Inc.
    Inventors: Iain Andrew Russell Proctor, Minghui Yang, Haiping Zhao
  • Patent number: 10986058
    Abstract: In one embodiment, the first processors of a mobile device determine an operating condition of the mobile device. These operating conditions are based on a current velocity of the mobile device, and the current time of day. If the operating conditions satisfy an operating criteria for the mobile device, the first processors send a message to second processors of the mobile device, causing one or more of the second processors to wake up from a sleeping state to an active state.
    Type: Grant
    Filed: May 21, 2019
    Date of Patent: April 20, 2021
    Assignee: Facebook, Inc.
    Inventors: Matthew Nicholas Papakipos, Lev Popov, Iain Andrew Russell Proctor
  • Patent number: 10425369
    Abstract: In one embodiment, the first processors of a mobile device determine an operating condition of the mobile device. These operating conditions are based on a current velocity of the mobile device, and the current time of day. If the operating conditions satisfy an operating criteria for the mobile device, the first processors send a message to second processors of the mobile device, causing one or more of the second processors to wake up from a sleeping state to an active state.
    Type: Grant
    Filed: December 17, 2015
    Date of Patent: September 24, 2019
    Assignee: Facebook, Inc.
    Inventors: Matthew Nicholas Papakipos, Lev Popov, Iain Andrew Russell Proctor
  • Publication number: 20190273709
    Abstract: In one embodiment, the first processors of a mobile device determine an operating condition of the mobile device. These operating conditions are based on a current velocity of the mobile device, and the current time of day. If the operating conditions satisfy an operating criteria for the mobile device, the first processors send a message to second processors of the mobile device, causing one or more of the second processors to wake up from a sleeping state to an active state.
    Type: Application
    Filed: May 21, 2019
    Publication date: September 5, 2019
    Inventors: Matthew Nicholas Papakipos, Lev Popov, Iain Andrew Russell Proctor
  • Patent number: 10028224
    Abstract: In one embodiment, a mobile computing device has a first processor and a second processor. The mobile device determines an operating condition of the mobile device, the operating condition being based on at least the current time of day, a current activity of a user associated with the mobile device, or a current proximity of the mobile device to a place connected to the user of the mobile device through an on-line social network. If the operating conditions of the mobile device are satisfied, the first processor of the mobile device sends a message to the second processor of the mobile device, the message causing the second processor to transition from a sleep state to an active state.
    Type: Grant
    Filed: September 28, 2016
    Date of Patent: July 17, 2018
    Assignee: Facebook, Inc.
    Inventors: Matthew Nicholas Papakipos, Lev Popov, Iain Andrew Russell Proctor
  • Patent number: 9894024
    Abstract: In one embodiment, a geographic-positioning component records a first location of a mobile device. The geographic-positioning component determines on a periodic basis a current location of the mobile device. The geographic-positioning component determines whether the current location is outside a geographic region defined at least in part by the first location and a radius, the radius being adjusted from a pre-determined value based on a detected velocity of the mobile device; time of day information; a battery level of the mobile device; or an error of the first location measurement or the current location measurement. If the current location is outside the geographic region, the geographic-positioning component causes a client application of the mobile device to send the current location to a remote server.
    Type: Grant
    Filed: November 21, 2016
    Date of Patent: February 13, 2018
    Assignee: Facebook, Inc.
    Inventors: Matthew Nicholas Papakipos, Lev Popov, Iain Andrew Russell Proctor
  • Publication number: 20180004489
    Abstract: Markup language documents including server side scripting code using PHP syntax are executed efficiently in response to requests received by a server. The processing of the markup language document results in generation of a transformed markup language document that is returned in response to the request. The server side script code is input to a compiler that generates C++ code (or code in any object-based language based on C language) implementing the functionality of the server side script code. The C++ code is compiled to generated object code which is executed in order to process the markup language document. The generated C++ code includes functionality supported by PHP language including redeclaration of functions, dynamic variables, global variables, and the like. The generated C++ code invokes memory allocation code that allocates and deallocates objects obtained by instantiating the generated C++ classes.
    Type: Application
    Filed: August 29, 2017
    Publication date: January 4, 2018
    Inventors: Iain Andrew Russell Proctor, Minghui Yang, Haiping Zhao
  • Patent number: 9753697
    Abstract: Markup language documents including server side scripting code using PHP syntax are executed efficiently in response to requests received by a server. The processing of the markup language document results in generation of a transformed markup language document that is returned in response to the request. The server side script code is input to a compiler that generates C++ code (or code in any object-based language based on C language) implementing the functionality of the server side script code. The C++ code is compiled to generated object code which is executed in order to process the markup language document. The generated C++ code includes functionality supported by PHP language including redeclaration of functions, dynamic variables, global variables, and the like. The generated C++ code invokes memory allocation code that allocates and deallocates objects obtained by instantiating the generated C++ classes.
    Type: Grant
    Filed: March 10, 2014
    Date of Patent: September 5, 2017
    Assignee: Facebook, Inc.
    Inventors: Iain Andrew Russell Proctor, Minghui Yang, Haiping Zhao
  • Publication number: 20170070463
    Abstract: In one embodiment, a geographic-positioning component records a first location of a mobile device. The geographic-positioning component determines on a periodic basis a current location of the mobile device. The geographic-positioning component determines whether the current location is outside a geographic region defined at least in part by the first location and a radius, the radius being adjusted from a pre-determined value based on a detected velocity of the mobile device; time of day information; a battery level of the mobile device; or an error of the first location measurement or the current location measurement. If the current location is outside the geographic region, the geographic-positioning component causes a client application of the mobile device to send the current location to a remote server.
    Type: Application
    Filed: November 21, 2016
    Publication date: March 9, 2017
    Inventors: Matthew Nicholas Papakipos, Lev Popov, Iain Andrew Russell Proctor
  • Publication number: 20170019856
    Abstract: In one embodiment, a mobile computing device has a first processor and a second processor. The mobile device determines an operating condition of the mobile device, the operating condition being based on at least the current time of day, a current activity of a user associated with the mobile device, or a current proximity of the mobile device to a place connected to the user of the mobile device through an on-line social network. If the operating conditions of the mobile device are satisfied, the first processor of the mobile device sends a message to the second processor of the mobile device, the message causing the second processor to transition from a sleep state to an active state.
    Type: Application
    Filed: September 28, 2016
    Publication date: January 19, 2017
    Inventors: Matthew Nicholas Papakipos, Lev Popov, Iain Andrew Russell Proctor
  • Patent number: 9521623
    Abstract: In one embodiment, a method includes recording a first location of a mobile device; determining, by a geographic-positioning component of the mobile device, on a periodic basis, a trajectory of the mobile device, wherein the trajectory is calculated based on present and past user locations; determining, by the geographic-positioning component, whether the trajectory is outside a geographic region defined at least in part by the first location; and if the trajectory is outside the geographic region, then transmitting, by the processors of the geographic-positioning component, a message to one or more other processors of the mobile device, the message causing one or more of the other processors to transition from a sleep state to an active state.
    Type: Grant
    Filed: October 27, 2014
    Date of Patent: December 13, 2016
    Assignee: Facebook, Inc.
    Inventors: Matthew Nicholas Papakipos, Lev Popov, Iain Andrew Russell Proctor
  • Patent number: 9491603
    Abstract: In one embodiment, a method includes recording a first location of a mobile device; determining, by one or more processors of a geographic-positioning component of the mobile device, on a periodic basis, a current location of the mobile device; determining, by the processors of the geographic-positioning component, whether the current location is outside a geographic region defined at least in part by the first location; and if the current location is outside the geographic region, then transmitting, by the processors of the geographic-positioning component, a message to one or more other processors of the mobile device, the message causing one or more of the other processors to transition from a sleep state to an active state.
    Type: Grant
    Filed: March 9, 2012
    Date of Patent: November 8, 2016
    Assignee: Facebook, Inc.
    Inventors: Matthew Nicholas Papakipos, Iain Andrew Russell Proctor
  • Publication number: 20160105852
    Abstract: In one embodiment, the first processors of a mobile device determine an operating condition of the mobile device. These operating conditions are based on a current velocity of the mobile device, and the current time of day. If the operating conditions satisfy an operating criteria for the mobile device, the first processors send a message to second processors of the mobile device, causing one or more of the second processors to wake up from a sleeping state to an active state.
    Type: Application
    Filed: December 17, 2015
    Publication date: April 14, 2016
    Inventors: Matthew Nicholas Papakipos, Lev Popov, Iain Andrew Russell Proctor
  • Patent number: 9246862
    Abstract: In one embodiment, a method includes recording a first location of a mobile device; determining, by one or more processors of a geographic-positioning component of the mobile device, on a periodic basis, a current location of the mobile device; determining, by the processors of the geographic-positioning component, whether the current location is outside a geographic region defined at least in part by the first location; and if the current location is outside the geographic region, then transmitting, by the processors of the geographic-positioning component, a message to one or more other processors of the mobile device, the message causing one or more of the other processors to transition from a sleep state to an active state.
    Type: Grant
    Filed: March 9, 2012
    Date of Patent: January 26, 2016
    Assignee: Facebook, Inc.
    Inventors: Matthew Nicholas Papakipos, Iain Andrew Russell Proctor
  • Publication number: 20150046554
    Abstract: In one embodiment, a method includes recording a first location of a mobile device; determining, by a geographic-positioning component of the mobile device, on a periodic basis, a trajectory of the mobile device, wherein the trajectory is calculated based on present and past user locations; determining, by the geographic-positioning component, whether the trajectory is outside a geographic region defined at least in part by the first location; and if the trajectory is outside the geographic region, then transmitting, by the processors of the geographic-positioning component, a message to one or more other processors of the mobile device, the message causing one or more of the other processors to transition from a sleep state to an active state.
    Type: Application
    Filed: October 27, 2014
    Publication date: February 12, 2015
    Inventors: Matthew Nicholas Papakipos, Lev Popov, Iain Andrew Russell Proctor
  • Publication number: 20140196005
    Abstract: Markup language documents including server side scripting code using PHP syntax are executed efficiently in response to requests received by a server. The processing of the markup language document results in generation of a transformed markup language document that is returned in response to the request. The server side script code is input to a compiler that generates C++ code (or code in any object-based language based on C language) implementing the functionality of the server side script code. The C++ code is compiled to generated object code which is executed in order to process the markup language document. The generated C++ code includes functionality supported by PHP language including redeclaration of functions, dynamic variables, global variables, and the like. The generated C++ code invokes memory allocation code that allocates and deallocates objects obtained by instantiating the generated C++ classes.
    Type: Application
    Filed: March 10, 2014
    Publication date: July 10, 2014
    Applicant: Facebook, Inc.
    Inventors: Iain Andrew Russell Proctor, Minghui Yang, Haiping Zhao
  • Patent number: 8707161
    Abstract: Markup language documents including server side scripting code using PHP syntax are executed efficiently in response to requests received by a server. The processing of the markup language document results in generation of a transformed markup language document that is returned in response to the request. The server side script code is input to a compiler that generates C++ code (or code in any object-based language based on C language) implementing the functionality of the server side script code. The C++ code is compiled to generated object code which is executed in order to process the markup language document. The generated C++ code includes functionality supported by PHP language including redeclaration of functions, dynamic variables, global variables, and the like. The generated C++ code invokes memory allocation code that allocates and deallocates objects obtained by instantiating the generated C++ classes.
    Type: Grant
    Filed: September 27, 2010
    Date of Patent: April 22, 2014
    Assignee: Facebook, Inc.
    Inventors: Iain Andrew Russell Proctor, Minghui Yang, Haiping Zhao
  • Publication number: 20130238700
    Abstract: In one embodiment, a method includes recording a first location of a mobile device; determining, by one or more processors of a geographic-positioning component of the mobile device, on a periodic basis, a current location of the mobile device; determining, by the processors of the geographic-positioning component, whether the current location is outside a geographic region defined at least in part by the first location; and if the current location is outside the geographic region, then transmitting, by the processors of the geographic-positioning component, a message to one or more other processors of the mobile device, the message causing one or more of the other processors to transition from a sleep state to an active state.
    Type: Application
    Filed: March 9, 2012
    Publication date: September 12, 2013
    Inventors: Matthew Nicholas Papakipos, Iain Andrew Russell Proctor
  • Publication number: 20130237254
    Abstract: In one embodiment, a method includes recording a first location of a mobile device; determining, by one or more processors of a geographic-positioning component of the mobile device, on a periodic basis, a current location of the mobile device; determining, by the processors of the geographic-positioning component, whether the current location is outside a geographic region defined at least in part by the first location; and if the current location is outside the geographic region, then transmitting, by the processors of the geographic-positioning component, a message to one or more other processors of the mobile device, the message causing one or more of the other processors to transition from a sleep state to an active state.
    Type: Application
    Filed: March 9, 2012
    Publication date: September 12, 2013
    Inventors: Matthew Nicholas Papakipos, Iain Andrew Russell Proctor
  • Publication number: 20110179347
    Abstract: Markup language documents including server side scripting code using PHP syntax are executed efficiently in response to requests received by a server. The processing of the markup language document results in generation of a transformed markup language document that is returned in response to the request. The server side script code is input to a compiler that generates C++ code (or code in any object-based language based on C language) implementing the functionality of the server side script code. The C++ code is compiled to generated object code which is executed in order to process the markup language document. The generated C++ code includes functionality supported by PHP language including redeclaration of functions, dynamic variables, global variables, and the like. The generated C++ code invokes memory allocation code that allocates and deallocates objects obtained by instantiating the generated C++ classes.
    Type: Application
    Filed: September 27, 2010
    Publication date: July 21, 2011
    Inventors: Iain Andrew Russell Proctor, Minghui Yang, Haiping Zhao