Patents by Inventor Craig Federighi

Craig Federighi 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: 7584468
    Abstract: Distributing and synchronizing objects is disclosed. An object (including the data and behavior for the object) is copied into local address space. The state of the various object copies across a network may not be synchronized due to local changes and modifications. To synchronize the objects, a policy that specifies conditions as to when objects are synchronized is used. For example, a policy may provide for synchronization that is based temporally (e.g., every 10 minutes or daily at 10:00 P.M.) or based on the type or number of messages transmitted. A default policy may provide for the synchronization of local objects whenever a client issues a request from the remote server. The remote server transmits any updated object information when it responds to the local object request. The updated object information may be utilized to synchronize the objects.
    Type: Grant
    Filed: June 20, 2005
    Date of Patent: September 1, 2009
    Assignee: Apple Inc.
    Inventors: Patrick Gates, Craig Federighi, Eric Noyau
  • Patent number: 7194692
    Abstract: A graphical user interface (GUI) and accompanying functionality for binding Web page definitional elements to a back-end state (e.g., client- or server-side back-end state) and custom logic is provided. In one embodiment, a template containing definitional elements, custom logic, and bindings are generated that define all or a portion of a Web page based on input received and functionality provided by the invention.
    Type: Grant
    Filed: June 27, 2002
    Date of Patent: March 20, 2007
    Assignee: Apple Computer, Inc.
    Inventors: Paul Marcos, Arnaud Weber, Avie Tevanian, Rebecca Eades Willrich, Stefanie Herzer, Craig Federighi
  • Publication number: 20060294470
    Abstract: A graphical user interface (GUI) and accompanying functionality for binding Web page definitional elements to a back-end state (e.g., client- or server-side back-end state) and custom logic is provided. In one embodiment, a template containing definitional elements, custom logic, and bindings are generated that define all or a portion of a Web page based on input received and functionality provided by the invention.
    Type: Application
    Filed: July 31, 2006
    Publication date: December 28, 2006
    Inventors: Paul Marcos, Arnaud Weber, Avie Tevanian, Rebecca Willrich, Stefanie Herzer, Craig Federighi
  • Publication number: 20060271853
    Abstract: A graphical user interface (GUI) and accompanying functionality for binding Web page definitional elements to a back-end state (e.g., client- or server-side back-end state) and custom logic is provided. In one embodiment, a template containing definitional elements, custom logic, and bindings are generated that define all or a portion of a Web page based on input received and functionality provided by the invention.
    Type: Application
    Filed: July 18, 2006
    Publication date: November 30, 2006
    Inventors: Paul Marcos, Arnaud Weber, Avie Tevanian, Rebecca Willrich, Stefanie Herzer, Craig Federighi
  • Publication number: 20060271586
    Abstract: The present invention comprises a novel system for managing changes to a graph of data bearing objects. In one embodiment, an object graph manager object referred to as an editing context is used to identify changes made to data bearing enterprise objects and to notify other interested objects when changes occur. As a result, data bearing objects need not themselves contain code necessary for monitoring changes. In another embodiment of the invention, the editing context is used to provide event-based “undo” capabilities. In another embodiment of the invention, each enterprise object has a primary key that is used to maintain the identification between an enterprise object instance and a corresponding database row. In another embodiment of the invention, multiple levels of editing contexts are used to provide multiple isolated object graphs, each of which allows independent manipulation of the underlying data bearing objects.
    Type: Application
    Filed: May 1, 2006
    Publication date: November 30, 2006
    Inventors: Craig Federighi, Dan Willhite, Eric Noyau
  • Patent number: 7111013
    Abstract: The present invention comprises a novel system for managing changes to a graph of data bearing objects. In one embodiment, an object graph manager object referred to as an editing context is used to identify changes made to data bearing enterprise objects and to notify other interested objects when changes occur. As a result, data bearing objects need not themselves contain code necessary for monitoring changes. In another embodiment of the invention, the editing context is used to provide event-based “undo” capabilities. In another embodiment of the invention, each enterprise object has a primary key that is used to maintain the identification between an enterprise object instance and a corresponding database row. In another embodiment of the invention, multiple levels of editing contexts are used to provide multiple isolated object graphs, each of which allows independent manipulation of the underlying data bearing objects.
    Type: Grant
    Filed: May 16, 2003
    Date of Patent: September 19, 2006
    Assignee: Next Software, Inc.
    Inventors: Craig Federighi, Dan Willhite, Eric Noyau
  • Publication number: 20050268307
    Abstract: A method and apparatus for distributing and synchronizing objects. One or more embodiments of the invention provide for distributing copies of the objects locally. By copying objects (including the data and behavior for the object) into local address space, the object's methods may be executed locally thereby avoiding excessive network traffic. The state of the various object copies across a network may not be synchronized due to local changes and modifications. To synchronize the objects, one or more embodiments of the invention provide for the use of a policy that specifies conditions as to when objects are synchronized. Embodiments of the invention provide flexibility in setting the policy to accommodate varying applications. For example, a policy may provide for synchronization that is based temporally (e.g., every 10 minutes or daily at 10:00 P.M.). Alternatively, a policy may provide for synchronization based on the type or number of messages transmitted.
    Type: Application
    Filed: June 20, 2005
    Publication date: December 1, 2005
    Inventors: Patrick Gates, Craig Federighi, Eric Noyau
  • Patent number: 6910052
    Abstract: A method and apparatus for distributing and synchronizing objects. One or more embodiments of the invention provide for distributing copies of the objects locally. By copying objects (including the data and behavior for the object) into local address space, the object's methods may be executed locally thereby avoiding excessive network traffic. The state of the various object copies across a network may not be synchronized due to local changes and modifications. To synchronize the objects, one or more embodiments of the invention provide for the use of a policy that specifies conditions as to when objects are synchronized. Embodiments of the invention provide flexibility in setting the policy to accommodate varying applications. For example, a policy may provide for synchronization that is based temporally (e.g., every 10 minutes or daily at 10:00 P.M.). Alternatively, a policy may provide for synchronization based on the type or number of messages transmitted.
    Type: Grant
    Filed: May 16, 2002
    Date of Patent: June 21, 2005
    Assignee: Apple Computer, Inc.
    Inventors: Patrick Gates, Craig Federighi, Eric Noyau
  • Publication number: 20040015480
    Abstract: The present invention comprises a novel system for managing changes to a graph of data bearing objects. In one embodiment, an object graph manager object referred to as an editing context is used to identify changes made to data bearing enterprise objects and to notify other interested objects when changes occur. As a result, data bearing objects need not themselves contain code necessary for monitoring changes. In another embodiment of the invention, the editing context is used to provide event-based “undo” capabilities. In another embodiment of the invention, each enterprise object has a primary key that is used to maintain the identification between an enterprise object instance and a corresponding database row. In another embodiment of the invention, multiple levels of editing contexts are used to provide multiple isolated object graphs, each of which allows independent manipulation of the underlying data bearing objects.
    Type: Application
    Filed: May 16, 2003
    Publication date: January 22, 2004
    Applicant: NeXT SOFTWARE, INC.
    Inventors: Craig Federighi, Dan Willhite, Eric Noyau
  • Patent number: 6604109
    Abstract: The present invention comprises a novel system for managing changes to a graph of data bearing objects. In one embodiment, an object graph manager object referred to as an editing context is used to identify changes made to data bearing enterprise objects and to notify other interested objects when changes occur. As a result, data bearing objects need not themselves contain code necessary for monitoring changes. In another embodiment of the invention, the editing context is used to provide event-based “undo” capabilities. In another embodiment of the invention, each enterprise object has a primary key that is used to maintain the identification between an enterprise object instance and a corresponding database row. In another embodiment of the invention, multiple levels of editing contexts are used to provide multiple isolated object graphs, each of which allows independent manipulation of the underlying data bearing objects.
    Type: Grant
    Filed: June 30, 2000
    Date of Patent: August 5, 2003
    Assignee: Next Software, Inc.
    Inventors: Craig Federighi, Dan Willhite, Eric Noyau
  • Publication number: 20030035003
    Abstract: A graphical user interface (GUI) and accompanying functionality for binding Web page definitional elements to a back-end state (e.g., client- or server-side back-end state) and custom logic is provided. In one embodiment, a template containing definitional elements, custom logic, and bindings are generated that define all or a portion of a Web page based on input received and functionality provided by the invention.
    Type: Application
    Filed: June 27, 2002
    Publication date: February 20, 2003
    Inventors: Paul Marcos, Arnaud Weber, Avie Tevanian, Rebecca Eades Willrich, Stefanie Herzer, Craig Federighi
  • Publication number: 20030004977
    Abstract: A method and apparatus for distributing and synchronizing objects. One or more embodiments of the invention provide for distributing copies of the objects locally. By copying objects (including the data and behavior for the object) into local address space, the object's methods may be executed locally thereby avoiding excessive network traffic. The state of the various object copies across a network may not be synchronized due to local changes and modifications. To synchronize the objects, one or more embodiments of the invention provide for the use of a policy that specifies conditions as to when objects are synchronized. Embodiments of the invention provide flexibility in setting the policy to accommodate varying applications. For example, a policy may provide for synchronization that is based temporally (e.g., every 10 minutes or daily at 10:00 P.M.). Alternatively, a policy may provide for synchronization based on the type or number of messages transmitted.
    Type: Application
    Filed: May 16, 2002
    Publication date: January 2, 2003
    Inventors: Patrick Gates, Craig Federighi, Eric Noyau
  • Patent number: 6429880
    Abstract: A graphical user interface (GUI) and accompanying functionality for binding Web page definitional elements to a back-end state (e.g., client- or server-side back-end state) and custom logic is provided. In one embodiment, a template containing definitional elements, custom logic, and bindings are generated that define all or a portion of a Web page based on input received and functionality provided by the invention.
    Type: Grant
    Filed: April 25, 2001
    Date of Patent: August 6, 2002
    Assignee: Apple Computer, Inc.
    Inventors: Paul Marcos, Arnaud Weber, Avie Tevanian, Rebecca Eades Willrich, Stefanie Herzer, Craig Federighi
  • Patent number: 6430576
    Abstract: A method and apparatus for distributing and synchronizing objects. One or more embodiments of the invention provide for distributing copies of the objects locally. By copying objects (including the data and behavior for the object) into local address space, the object's methods may be executed locally thereby avoiding excessive network traffic. The state of the various object copies across a network may not be synchronized due to local changes and modifications. To synchronize the objects, one or more embodiments of the invention provide for the use of a policy that specifies conditions as to when objects are synchronized. Embodiments of the invention provide flexibility in setting the policy to accommodate varying applications. For example, a policy may provide for synchronization that is based temporally (e.g., every 10 minutes or daily at 10:00 P.M.). Alternatively, a policy may provide for synchronization based on the type or number of messages transmitted.
    Type: Grant
    Filed: May 10, 1999
    Date of Patent: August 6, 2002
    Inventors: Patrick Gates, Craig Federighi, Eric Noyau
  • Publication number: 20020049579
    Abstract: A method and apparatus for distributing and synchronizing objects. One or more embodiments of the invention provide for distributing copies of the objects locally. By copying objects (including the data and behavior for the object) into local address space, the object's methods may be executed locally thereby avoiding excessive network traffic. The state of the various object copies across a network may not be synchronized due to local changes and modifications. To synchronize the objects, one or more embodiments of the invention provide for the use of a policy that specifies conditions as to when objects are synchronized. Embodiments of the invention provide flexibility in setting the policy to accommodate varying applications. For example, a policy may provide for synchronization that is based temporally (e.g., every 10 minutes or daily at 10:00 P.M.). Alternatively, a policy may provide for synchronization based on the type or number of messages transmitted.
    Type: Application
    Filed: May 10, 1999
    Publication date: April 25, 2002
    Inventors: PATRICK GATES, CRAIG FEDERIGHI, ERIC NOYAU
  • Publication number: 20010045963
    Abstract: A graphical user interface (GUI) and accompanying functionality for binding Web page definitional elements to a back-end state (e.g., client- or server-side back-end state) and custom logic is provided. In one embodiment, a template containing definitional elements, custom logic, and bindings are generated that define all or a portion of a Web page based on input received and functionality provided by the invention.
    Type: Application
    Filed: April 25, 2001
    Publication date: November 29, 2001
    Applicant: APPLE COMPUTER, INC.
    Inventors: Paul Marcos, Arnaud Weber, Avie Tevanian, Rebecca Eades Willrich, Stefanie Herzer, Craig Federighi
  • Patent number: 6262729
    Abstract: A graphical user interface (GUI) and accompanying functionality for binding Web page definitional elements to a back-end state (e.g., client- or server-side back-end state) and custom logic is provided. In one embodiment, a template containing definitional elements, custom logic, and bindings are generated that define all or a portion of a Web page based on input received and functionality provided by the invention.
    Type: Grant
    Filed: April 14, 1997
    Date of Patent: July 17, 2001
    Assignee: Apple Computer, Inc.
    Inventors: Paul Marcos, Arnaud Weber, Avie Tevanian, Rebecca Eades Willrich, Stefanie Herzer, Craig Federighi
  • Patent number: 6085197
    Abstract: The present invention comprises a novel system for managing changes to a graph of data bearing objects. In one embodiment, an object graph manager object referred to as an editing context is used to identify changes made to data bearing enterprise objects and to notify other interested objects when changes occur. As a result, data bearing objects need not themselves contain code necessary for monitoring changes. In another embodiment of the invention, the editing context is used to provide event-based "undo" capabilities. In another embodiment of the invention, each enterprise object has a primary key that is used to maintain the identification between an enterprise object instance and a corresponding database row. In another embodiment of the invention, multiple levels of editing contexts are used to provide multiple isolated object graphs, each of which allows independent manipulation of the underlying data bearing objects.
    Type: Grant
    Filed: October 6, 1998
    Date of Patent: July 4, 2000
    Assignee: NeXT Software, Inc.
    Inventors: Craig Federighi, Dan Willhite, Eric Noyau
  • Patent number: 5956728
    Abstract: The present invention comprises a novel system for managing changes to a graph of data bearing objects In one embodiment, an object graph manager object referred to as an editing context is used to identify changes made to data bearing enterprise objects and to notify other interested objects when changes occur. As a result, data bearing objects need not themselves contain code necessary for monitoring changes. In another embodiment of the invention, the editing context is used to provide event-based "undo" capabilities. In another embodiment of the invention, each enterprise object has a primary key that is used to maintain the identification between an enterprise object instance and a corresponding database row. In another embodiment of the invention, multiple levels of editing contexts are used to provide multiple isolated object graphs, each of which allows independent manipulation of the underlying data bearing objects.
    Type: Grant
    Filed: July 17, 1996
    Date of Patent: September 21, 1999
    Assignee: NeXT Software, Inc.
    Inventors: Craig Federighi, Dan Willhite, Eric Noyau