Patents by Inventor Sami Shalabi

Sami Shalabi 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: 9449302
    Abstract: A system and method for generating a membership profile for a personalized website is disclosed. An online services provider uses the interest engine to generate a questionnaire and polls. A new user provides responses that include answers to the questionnaire and polls. A profile engine generates a membership profile based on the answers. A newsletter engine generates personalized newsletter information including a number of users that provided each answer. In response to an online services provider selecting the recipients for the newsletter, the newsletter engine either generates the newsletter and transmits it to the recipients or the newsletter engine transmits the contact information to the online services provider.
    Type: Grant
    Filed: November 4, 2011
    Date of Patent: September 20, 2016
    Assignee: GOOGLE INC.
    Inventors: Joshua Marantz, Mussie Shore, Jonathan Terleski, Geoffrey Borggaard, Sami Shalabi, Christopher Richard Wren
  • Publication number: 20130030922
    Abstract: A system and method for syndicating comments received by a gadget that is embedded on different websites using a conversation application. The conversation application includes an authorization module, a code generator, an identity generator, a profile engine, a content parser, a syndication module, an analysis engine, an advertising engine and a newsletter engine. The content parser receives a comment posted by a user from a gadget embedded on a website and identifies the user and the website identifier. The syndication module identifies other websites that include the gadget. The syndication module then syndicates the content on the gadget embedded on the other websites. The analysis engine determines an interest of the user. The advertising engine provides advertisements to the website based on the interest of the user. The newsletter engine generates and sends newsletters to the user based on the interest of the user.
    Type: Application
    Filed: July 26, 2011
    Publication date: January 31, 2013
    Applicant: GOOGLE INC.
    Inventors: Sami Shalabi, Jonathan Terleski, Mussie Shore, Cassandra Doll
  • Publication number: 20080028320
    Abstract: A system and method for generating a user interface by, responsive to end user input, building a text file including data source and formatting logic; instantiating an uploadable skin; binding the text file to the skin; responsive to command from the end user, dynamically uploading the skin from a user terminal to a place server; processing and storing the skin in a place database; responsive to end user request, selecting and rendering the user interface in accordance with the skin.
    Type: Application
    Filed: July 16, 2007
    Publication date: January 31, 2008
    Inventors: Sami Shalabi, Miguel Estrada
  • Publication number: 20070261066
    Abstract: A set of attached extensions is reduced before it is exposed to the code of a processing extension point to which the extensions are attached. An application calls an extension registry to obtain a list of available extensions attached to a given extension point, and filter functionality is integrated into the extension registry. Filters including filtering logic are plugged into the extension registry itself, and the extension registry selects the filter or filters to be applied for a current context. The extension registry itself defines an extension point to collect filters as extensions and to define an interface that those filters will implement. Each filter specifies when it should be called. As a result, an application can supply a filter that knows what extensions to expose and which to exclude in one or more contexts, and provide a hint to the extension registry indicating when the extension registry should apply the filter.
    Type: Application
    Filed: April 21, 2006
    Publication date: November 8, 2007
    Inventors: Hiroyuki Miyamoto, Sami Shalabi
  • Publication number: 20070220016
    Abstract: A method and computer program product for facilitating delivery of syndicated content to a user of a secured collaborative place in a collaborative computer environment, comprising receiving a request for syndicated content, and providing syndicated content based on at least one credential associated with the user, the syndicated content being associated with the secured collaborative place. Secured content syndication on a collaborative place may be provided as RSS feeds. A user can receive contents of the collaborative place filtered by the authenticated user credentials, thus allowing the user to only view content that the user has credentials to read in the collaborative place.
    Type: Application
    Filed: December 16, 2005
    Publication date: September 20, 2007
    Inventors: Antonio Estrada, Ian Connor, Sami Shalabi
  • Publication number: 20070156913
    Abstract: Methods and software are described which provide the ability to use plug-ins to extend functionality for J2EE applications. The methods involve use of an application deployment package including a plug-in manifest file containing plug-in meta-data, a unique identifier for the plug-in and interconnection data representing interconnections to other plug-in packages. An extension registry service uses the plug-in package to provide extensibility to the application by locating plug-ins and determining the interconnections between them based on the interconnection data. The extension registry service collects plug-in packages dynamically as J2EE modules are loaded by the J2EE platform and maintains the unique identifiers for all extension point(s) and extension(s) defined in the plug-in packages. The extension registry is used to find the associated extensions when the application executes an extension point. Identified extensions can then be invoked by extension point code.
    Type: Application
    Filed: December 30, 2005
    Publication date: July 5, 2007
    Inventors: Hiroyuki Miyamoto, Sami Shalabi
  • Publication number: 20070038979
    Abstract: A method and system for transparently controlling infrastructure service methods in a service oriented architecture by enabling a higher level application component that is a consumer of infrastructure services to be alerted both before and after an infrastructure service is executed, by either that component or from an external source, such as another higher level application component. The pre-execution event enables a higher level application component to run additional business logic, change arguments passed to the infrastructure service before the call to the infrastructure service, or completely cancel execution of the infrastructure service method and route execution flow to other business logic. Since higher level application components can also be alerted after infrastructure service execution, they can also introduce additional business logic at that point, and/or change the return value passed from the service call.
    Type: Application
    Filed: July 26, 2005
    Publication date: February 15, 2007
    Inventors: Tolga Oral, Sami Shalabi
  • Publication number: 20060294598
    Abstract: Embodiments of the present invention address deficiencies of the art in respect to access control in a collaborative environment and provide a method, system and computer program product for community instance access control in a collaborative environment. In one embodiment, a data processing system for community instance access control in a collaborative environment can include a collaborative environment including one or more resources for use by one or more users registered in the collaborative environment. The data processing system further can include one or more community instances, each of the community instances including a one or more roles, each of the community instances further including one or more of the users assigned to respective ones of the roles. Finally, the data processing system can include access control logic managing access to the resources by the users in the community instances based upon softgroups provided by the community instances to the access control logic.
    Type: Application
    Filed: June 27, 2005
    Publication date: December 28, 2006
    Applicant: International Business Machines Corporation
    Inventors: Derek Lam, Joseph Russo, Sami Shalabi
  • Publication number: 20060167974
    Abstract: A method, system and apparatus for an environment aware business delegate. A method for delegating an invoked action in an enterprise application can include determining an environment from which the action has been invoked and selecting a behavior for use which corresponds to the environment. Subsequently, the action can be delegated to the selected behavior for processing in the enterprise application. In a specific aspect of the invention, the determining step can include determining whether the action has been invoked in a server, in an online client or in an offline client.
    Type: Application
    Filed: November 9, 2004
    Publication date: July 27, 2006
    Applicant: International Business Machines Corporation
    Inventors: Sami Shalabi, Andrew Davis, Matthew Flaherty
  • Publication number: 20060026094
    Abstract: Systems and methods for distributing updated property information to interrelated components based on property changes in other components are provided that allow the use of component abstraction. In one embodiment, the present invention may include a property broker system that monitors property changes in components, analyzes the which interrelated components may be affected by the property change, and updates any affected components accordingly.
    Type: Application
    Filed: July 28, 2005
    Publication date: February 2, 2006
    Inventors: Tolga Oral, Sami Shalabi, Sergei Landar
  • Publication number: 20050216381
    Abstract: The present invention is a method, system and apparatus for the policy based provisioning and management of a collaborative context. A policy based application provisioning system for use in a collaborative environment can include a policy having rules for limiting collaborative context creation and operation in the collaborative environment. A context provisioning process can be coupled to the policy and configured to create collaborative contexts in the collaborative environment limited by the rules in the policy. Finally, a context management process can be coupled to a data store of usage data for created ones of created collaborative contexts in the collaborative environment.
    Type: Application
    Filed: December 22, 2003
    Publication date: September 29, 2005
    Applicant: International Business Machines Corporation
    Inventors: Mustansir Banatwala, Miguel Estrada, Charles Hill, Sami Shalabi
  • Publication number: 20050204297
    Abstract: The present invention is a method, system and apparatus for combining synchronous and asynchronous collaborative components in a single collaborative content. A named collaborative context can include a selection of collaborators in a membership and at least one role applied to the collaborators. The named collaborative context can further include a selection of resources for use by the collaborators. Most importantly, the named collaborative context can include an ad hoc mix of synchronous and asynchronous tools. Preferably, the named collaborative can also include a template defining the selection of collaborators, the role or roles applied to the collaborators, the selection of resources, and the ad hoc mix.
    Type: Application
    Filed: December 22, 2003
    Publication date: September 15, 2005
    Applicant: International Business Machines Corporation
    Inventors: Mustansir Banatwala, Miguel Estrada, Charles Hill, Sami Shalabi, Thomas Spine
  • Publication number: 20050144250
    Abstract: A method and system for the establishment of a named collaborative space in a collaborative computing environment in which a named space defining a place within the collaborative computing environment is provided. A membership set for the collaborative space is identified in which the membership set includes one or more members. At least one business process accessible within the named space is provided. The at least one business process can provide a business component instance which provides a specific business function within the named space. The business component instance can be in the form of a portlet.
    Type: Application
    Filed: December 12, 2003
    Publication date: June 30, 2005
    Applicant: International Business Machines Corporation
    Inventors: Mustansir Banatwala, Miguel Estrada, Joseph Russo, Sami Shalabi
  • Publication number: 20050144232
    Abstract: The present invention is a method, system and apparatus for dynamically restructuring a named collaborative context. In a system for dynamically restructuring a named collaborative context, a named collaborative space having a composition of collaborators, roles, tools and resources can be coupled to a workflow engine. The workflow engine can be configured to process workflow templates. Restructuring logic further can be included in the system and can be programmed to rearrange the named collaborative space with a different composition responsive to a workflow step change specified by a workflow template for the named collaborative space and processed in the workflow engine. Notably, a portal view can be configured to provide a user interface to the named collaborative space. In this regard, the tools can include logical components embodied in a portlet disposed in the portal view.
    Type: Application
    Filed: December 12, 2003
    Publication date: June 30, 2005
    Applicant: International Business Machines Corporation
    Inventors: Miguel Estrada, Sami Shalabi
  • Publication number: 20050144269
    Abstract: The present invention is a method, system and apparatus for event notification framework in a system of dynamically aggregated logical components. In accordance with the present invention, an event notification and management system can include one or more logical components coupled to corresponding dynamic proxies. An event notification service can be communicatively linked to one or more subscribing processes. Finally, an event queue can be disposed between the dynamic proxies and the event notification service.
    Type: Application
    Filed: December 15, 2003
    Publication date: June 30, 2005
    Applicant: International Business Machines Corporation
    Inventors: Mustansir Banatwala, Sergei Landar, Sami Shalabi
  • Publication number: 20050138118
    Abstract: A method and system for integrating an instance of a third party application into a collaborative computing environment instance are provided. One or more data interfaces between the third party application instance and the collaborative computing environment are created. The third party application instance is exposed within the collaborative computing environment. A template within the collaborative computing environment that uses the third party application instance is created. A migration tool is used to create collaborative computing environment instances which reference existing instances within the third party application.
    Type: Application
    Filed: December 22, 2003
    Publication date: June 23, 2005
    Applicant: International Business Machines Corporation
    Inventors: Mustansir Banatwala, Miguel Estrada, Sergei Landar, Sami Shalabi
  • Publication number: 20050138072
    Abstract: The present invention is a method, system and apparatus for hierarchically grouping a community of users within in a directory structure. for hierarchically grouping a community of users within a directory structure. A hierarchical grouping system can include a collaborative context having a community of subscribers, one or more roles assigned to the subscribers, and one or more tools and resources configured for access by the subscribers the access being limited by the roles. The system further can include a directly having entries associated with the subscribers. Notably, the directory can have a single hierarchical structure. Finally, the system can include a mapping between the directory and the roles in the collaborative context. Notably, the collaborative context can be a named collaborative space disposed in a portal environment and the directly can include an LDAP directory.
    Type: Application
    Filed: December 22, 2003
    Publication date: June 23, 2005
    Applicant: International Business Machines Corporation
    Inventors: Joseph Russo, Mustansir Banatwala, Miguel Estrada, Sami Shalabi
  • Publication number: 20050138185
    Abstract: A method and system for the establishment and maintenance of a collaborative computing community. The community includes one or more community members having membership data corresponding to their membership stored in a database and one or more collaborative components. A membership adapter interface is used to facilitate an exchange of information between the database and the collaborative components. A community template stored in which the community template indicates which collaborative components are accessible by the one or more community members. Such indication can be provided by data in a community role table of roles within the community, a collaborative component table identifying one or more collaborative components and API locations corresponding to the one or more collaborative components and a role map defining a mapping between the community roles in the community role table, named permission sets and the one or more identified collaborative components.
    Type: Application
    Filed: December 22, 2003
    Publication date: June 23, 2005
    Applicant: International Business Machines Corporation
    Inventors: Joseph Russo, Sami Shalabi
  • Publication number: 20050132224
    Abstract: A role mapping method and system for a collaborative computing environment in provided. A set of permissions defining access to a generic business component for a named permission set is stored in a database. The set of permissions for the named permission set are mapped to an abstract role. Based on these mappings, access permissions to a business component instance within a community can be set.
    Type: Application
    Filed: December 15, 2003
    Publication date: June 16, 2005
    Applicant: International Business Machines Corporation
    Inventors: Miguel Estrada, Joseph Russo, Sami Shalabi