Patents by Inventor Erik B. Olson

Erik B. Olson 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: 8429655
    Abstract: System and methods for asynchronous processing within a web page lifecycle, enabling web page developers to integrate asynchronous work within the web page implementation that can store state inside the page and is applied to requests to the particular page. Handlers initiate event-based or task-based asynchronous operations without keeping a dedicated thread while waiting for a response. The thread is returned to a pool of available threads upon initiation of the process. Results are received on other threads and provided to the page before rendering. Timeout errors are also provided, if a particular result is not received within specified period. The events are delivered in a serial manner so that the page developer uses request instance data without explicit synchronization. This makes a high-scale, asynchronous processing model less complex and more accessible to developers accustomed to web scripting, which is traditionally synchronous.
    Type: Grant
    Filed: April 29, 2005
    Date of Patent: April 23, 2013
    Assignee: Microsoft Corporation
    Inventors: Erik B. Olson, Andres Sanabria, Dmitry Robsman, Helen Yan, Peixin Han, Nikhil Kothari
  • Patent number: 7721278
    Abstract: Methods are provided for utilizing a modular server architecture for processing requests for services, such as authorization and authentication, in a web server. The modular server architecture includes self-contained modular components that can be plugged in and out of the web server, as needed, to provide requested web services. The modular server architecture is also extensible in that it provides set of server APIs for processing requests for supporting built-in server functionality as well as functionality provided by third party modular components. The modular server architecture also supports the integration of request processing tasks for both native and managed modular components, such as ASP.NET modules, by virtue of a managed module host component. The modular server architecture also optimizes server performance by only providing modular component functionality when needed.
    Type: Grant
    Filed: May 27, 2005
    Date of Patent: May 18, 2010
    Assignee: Microsoft Corporation
    Inventors: Bilal Alam, Erik B. Olson, Anil K. Ruia, Michael D. Volodarsky, David Wang, Jaroslav Dunajsky
  • Patent number: 7685367
    Abstract: A method for caching data may be practiced, for example, in a computing environment including a server system that provides data to client systems. The server system includes a number of caches for storing data. The method allows a least expensive cache to first cache data or return data requested by a client. The method includes receiving data to be cached at a cache. The method further includes determining that the data has not been previously cached at a preceding cache. If the data has not been previously cached at a preceding cache the data is cached at the cache. Alternatively, requests for data may be received at a first cache. If the data is at the first cache, the first cache returns the data. If the data is not at the first cache, the request for data is forwarded to a subsequent cache.
    Type: Grant
    Filed: March 8, 2006
    Date of Patent: March 23, 2010
    Assignee: Microsoft Corporation
    Inventors: Anil K. Ruia, Erik B. Olson, Michael Volodarsky
  • Patent number: 7644414
    Abstract: An application program interface (API) provides a set of functions for application developers who build Web applications on Microsoft Corporation's .NET™ platform.
    Type: Grant
    Filed: May 1, 2006
    Date of Patent: January 5, 2010
    Assignee: Microsoft Corporation
    Inventors: Adam W. Smith, Anthony J. Moore, David S. Ebbo, Erik B. Christensen, Erik B. Olson, Fabio A. Yeon, Jayanth V. Rajan, Keith W. Ballinger, Manu Vasandani, Mark T. Anders, Mark A. Boulter, Nikhil Kothari, Robert M. Howard, Scott D. Guthrie, Stephen J. Millet, Stefan H. Pharies, Suzanne M. Cook, Susan M. Warren, Yann E. Christensen
  • Patent number: 7636769
    Abstract: The present invention extends to methods, systems, and computer program products for managing network response buffering behavior. A computer system receives a request for content from a client. The computer system has a default response buffering behavior used when transferring content. The computer system maps the request to a handler configured to serve the requested content. The computer system accesses buffering behavior data for the handler. The computer system determines that the requested content is to be transferred in accordance with altered response buffering behavior based at least on the buffering behavior data. The altered response buffering behavior corresponds to the requested content as an exception to the default response buffering. The computer system accesses a portion of the requested content from the handler. The computer system transfers the portion of requested content to the client in accordance with the altered response buffer behavior.
    Type: Grant
    Filed: April 14, 2006
    Date of Patent: December 22, 2009
    Assignee: Microsoft Corporation
    Inventors: Michael D. Volodarsky, Erik B. Olson, Anil K. Ruia
  • Patent number: 7634806
    Abstract: A method and system for preventing undesired behaviors by executable code modules in a peer-to-peer computer system are provided. When a code module is received, an assembly inspection module queries a blacklist for the received code module. When the received code module is found on the blacklist, the computer system prevents execution of the received code module. Each peer includes an assembly inspection module. When the received code module is not found on the blacklist, the assembly inspection module inspects the received executable code module, prior to execution, to determine whether the code module can perform any undesired behaviors. If so, the received code module is added to the blacklist and prevented from executing.
    Type: Grant
    Filed: May 30, 2002
    Date of Patent: December 15, 2009
    Assignee: Microsoft Corporation
    Inventors: Eric K. Zinda, Erik B. Olson
  • Patent number: 7581231
    Abstract: An application program interface (API) provides a set of functions for application developers who build Web applications on Microsoft Corporation's .NET™ platform.
    Type: Grant
    Filed: February 28, 2002
    Date of Patent: August 25, 2009
    Assignee: Microsoft Corporation
    Inventors: Adam W. Smith, Anthony J. Moore, Anders Hejlsberg, Brian A. LaMacchia, Blaine J. Dockter, Brian M. Grunkemeyer, Brian K. Pepin, Caleb L. Doise, Christopher W. Brumme, Chad W. Royal, Christopher L. Anderson, Corina E. Feuerstein, Craig T. Sinclair, Daniel Dedu-Constantin, Daniel Takacs, David S. Ebbo, David S. Mortenson, Erik B. Christensen, Erik B. Olson, Fabio A. Yeon, Giovanni M. Della-Libera, Gopala Krishna R. Kakivaya, Gregory D. Fee, Hany E. Ramadan, Jayanth V. Rajan, Jeffrey M. Cooperstein, Jonathan C. Hawkins, James H. Hogg, Joe D. Long, John I. McConnell, Jesus Ruiz-Scougall, James S. Miller, Julie D. Bennett, Jun Fang, Krzysztof J. Cwalina, Keith W. Ballinger, Lance E. Olson, Loren M. Kohnfelder, Luca Bolognese, Manu Vasandani, Mark T. Anders, Mark P. Ashton, Mark A. Boulter, Mark W. Fussell, Michael M. Magruder, Manish S. Prabhu, Neetu Rajpal, Nikhil Kothari, Nithyalakshmi Sampathkumar, Nicholas M. Kramer, Omri Gazitt, Radu Rares Palanca, Raja Krishnaswamy, Robert M. Howard, Ramasamy Krishnaswamy, Shawn P. Burke, Scott D. Guthrie, Sean E. Trowbridge, Seth M. Demsey, Shajan Dasan, Subhag P. Oak, Sreeram Nivarthi, Stefan H. Pharies, Suzanne M. Cook, Susan M. Warren, Tarun Anand, Travis J. Muhlestein, William A. Adams, Yan Leshinsky, Yann E. Christensen, Yung-shin Lin, Stephen J. Millet, Joseph Roxe, Alan Boshier, Henry L. Sanders, David Bau
  • Patent number: 7555757
    Abstract: An application program interface (API) provides a set of functions, including a set of base classes and types that are used in substantially all applications accessing the API, for application developers who build Web applications on Microsoft Corporation's .NET™ platform.
    Type: Grant
    Filed: June 23, 2005
    Date of Patent: June 30, 2009
    Assignee: Microsoft Corporation
    Inventors: Adam W. Smith, Anthony J. Moore, Brian A. LaMacchia, Anders Hejlsberg, Brian M. Grunkemeyer, Caleb L. Doise, Christopher W. Brumme, Christopher L. Anderson, Corina E. Feuerstein, Craig T. Sinclair, Daniel Takacs, David S. Ebbo, David O. Driver, David S. Mortenson, Erik B. Christensen, Erik B. Olson, Fabio A. Yeon, Gopala Krishna R. Kakivaya, George D. Fee, Hany E. Ramadan, Henry L. Sanders, II, Jayanth V. Rajan, Jeffrey M. Cooperstein, Jonathan C. Hawkins, James H. Hogg, Joe D. Long, John I. McConnell, Jesus Ruiz-Scougall, James S. Miller, Julie D. Bennett, Krzysztof J. Cwalina, Lance E. Olson, Loren M. Kohnfelder, Michael M. Magruder, Manish S. Prabhu, Radu Rares Palanca, Raja Krishnaswamy, Shawn P. Burke, Sean E. Trowbridge, Seth M. Demsey, Shajan Dasan, Stefan H. Pharies, Suzanne M. Cook, Tarun Anand, Travis J. Muhlestein, Yann E. Christensen, Yung-shin Lin, Ramasamy Krishnaswamy, Joseph Roxe, Alan Boshier, David Bau
  • Patent number: 7543145
    Abstract: System and methods for protecting sensitive data stored in a text-based configuration file. In a web server application, data associated with sensitive information such as connection information for a remote database may be stored within a configuration file and accessed whenever a request for information from that database is received. To prevent unwanted access to remote database, the portion of the configuration file with sensitive information is encrypted. A decryption provider selected by the requesting server or client application decrypts the sensitive data using the decryption key, retrieves protected data from the remote database, and the configuration server provides a response based on the sensitive data protecting access to the remote database. The encryption/decryption process is transparent to the web server application consuming the configuration.
    Type: Grant
    Filed: March 3, 2005
    Date of Patent: June 2, 2009
    Assignee: Microsoft Corporation
    Inventors: Erik B. Olson, Manu Vasandani, Marchel Cohn
  • Patent number: 7478233
    Abstract: In a distributed computing architecture, a method and system for authenticating a message as originating from an unaltered or unmodified node is provided. Prior to sending a messages, a black box software module in a node validates the node to determine whether the node has been altered or modified without authorization. Once validated, the black box alters a message, using a black box protection scheme, in such a manner that the message can be subsequently authenticated. The black box module sends the altered message to a peer node, whose own black box authenticates the message using an authentication scheme corresponding to the protection scheme. Because validation is performed, each node may assume that the message originated from an unaltered node. The protection and/or validation scheme can be changed in regular intervals so that attackers do not have time to reverse engineer the black box.
    Type: Grant
    Filed: May 30, 2002
    Date of Patent: January 13, 2009
    Assignee: Microsoft Corporation
    Inventors: Erik B. Olson, Eric K. Zinda
  • Patent number: 7117504
    Abstract: An application program interface includes a first class to provide information regarding a current HTTP request. The application program interface also includes a second class to manage HTTP output to a client and an object to provide access to server-side utilities and processes. Particular application program interfaces include additional classes to manipulate cookies, handle file transfers, provide exception information, or control operation of an output cache.
    Type: Grant
    Filed: July 10, 2001
    Date of Patent: October 3, 2006
    Assignee: Microsoft Corporation
    Inventors: Adam W. Smith, Anthony J. Moore, David S. Ebbo, Erik B. Christensen, Erik B. Olson, Fabio A. Yeon, Jayanth V. Rajan, Keith W. Ballinger, Manu Vasandani, Mark T. Anders, Mark A. Boulter, Nikhil Kothari, Robert M. Howard, Scott D. Guthrie, Stephen J. Millet, Stefan H. Pharies, Suzanne M. Cook, Susan M. Warren, Yann E. Christensen
  • Patent number: 7017162
    Abstract: An application program interface (API) provides a set of functions, including a set of base classes and types that are used in substantially all applications accessing the API, for application developers who build Web applications on Microsoft Corporation's .NET™ platform.
    Type: Grant
    Filed: July 10, 2001
    Date of Patent: March 21, 2006
    Assignee: Microsoft Corporation
    Inventors: Adam W. Smith, Anthony J. Moore, Brian A. LaMacchia, Anders Hejlsberg, Brian M. Grunkemeyer, Caleb L. Doise, Christopher W. Brumme, Christopher L. Anderson, Corina E. Feuerstein, Craig T. Sinclair, Daniel Takacs, David S. Ebbo, David O. Driver, David S. Mortenson, Erik B. Christensen, Erik B. Olson, Fabio A. Yeon, Gopala Krishna R. Kakivaya, Gregory D. Fee, Hany E. Ramadan, Henry L. Sanders, Jayanth V. Rajan, Jeffrey M. Cooperstein, Jonathan C. Hawkins, James H. Hogg, Joe D. Long, John I. McConnell, Jesus Ruiz-Scougall, James S. Miller, Julie D. Bennett, Krzysztof J. Cwalina, Lance E. Olson, Loren M. Kohnfelder, Michael M. Magruder, Manish S. Prabhu, Radu Rares Palanca, Raja Krishnaswamy, Shawn P. Burke, Sean E. Trowbridge, Seth M. Demsey, Shajan Dasan, Stefan H. Pharies, Suzanne M. Cook, Tarun Anand, Travis J. Muhlestein, Yann E. Christensen, Yung-shin Lin, Ramasamy Krishnaswamy, Joseph Roxe, Alan Boshier, David Bau
  • Patent number: 7013469
    Abstract: An application program interface (API) provides a set of functions, including a set of base classes and types that are used in substantially all applications accessing the API, for application developers who build Web applications on Microsoft Corporation's .NET™ platform.
    Type: Grant
    Filed: June 23, 2005
    Date of Patent: March 14, 2006
    Assignee: Microsoft Corporation
    Inventors: Adam W. Smith, Anthony J. Moore, Brian A. LaMacchia, Anders Hejlsberg, Brian M. Grunkemeyer, Caleb L. Doise, Christopher W. Brumme, Christopher L. Anderson, Corina E. Feuerstein, Craig T. Sinclair, Daniel Takacs, David S. Ebbo, David O. Driver, David S. Mortenson, Erik B. Christensen, Erik B. Olson, Fabio A. Yeon, Gopala Krishna R. Kakivaya, Gregory D. Fee, Hany E. Ramadan, Henry L. Sanders, Jayanth V. Rajan, Jeffrey M. Cooperstein, Jonathan C. Hawkins, James H. Hogg, Joe D. Long, John I. McConnell, Jesus Ruiz-Scougall, James S. Miller, Julie D. Bennett, Krzysztof J. Cwalina, Lance E. Olson, Loren M. Kohnfelder, Michael M. Magruder, Manish S. Prabhu, Radu Rares Palanca, Raja Krishnaswamy, Shawn P. Burke, Sean E. Trowbridge, Seth M. Demsey, Shajan Dasan, Stefan H. Pharies, Suzanne M. Cook, Tarun Anand, Travis J. Muhlestein, Yann E. Christensen, Yung-shin Lin, Ramasamy Krishnaswamy, Joseph Roxe, Alan Boshier, David Bau
  • Patent number: 6996599
    Abstract: A network-based distributed application system is provided in accordance with the present invention for enabling services to be established locally on a client system. The system may include an application and presentation logic, at least a portion of which is interchangeably processed by a server or a client without modification to the portion. The core functionality provided by the application may be preserved between the client and the server wherein improved network performance may provided along with improved offline service capabilities.
    Type: Grant
    Filed: September 21, 2000
    Date of Patent: February 7, 2006
    Assignee: Microsoft Corporation
    Inventors: Mark T. Anders, Gary S. Burd, Scott D. Guthrie, Satoshi Nakajima, Erik B. Olson, Dmitry Robsman, John P. Shewchuk, Michael J. Toutonghi, Manu Vasandani
  • Patent number: 6941351
    Abstract: Application program caching and execution is disclosed. An application program component, which may constitute the only component of an application program, is cached by a computing device from an original computing device. The computing device executes the cached component in lieu of its execution by the original computing device. The computing device may be a client computing device, where the client device executes the cached component for itself. The computing device may also be a caching computing device, where the caching device executes the cached component for the client computing device.
    Type: Grant
    Filed: June 15, 2001
    Date of Patent: September 6, 2005
    Assignee: Microsoft Corporation
    Inventors: Vellore T. Vetrivelkumaran, Erik B. Olson
  • Publication number: 20030226007
    Abstract: In a distributed computing architecture, a method and system for authenticating a message as originating from an unaltered or unmodified node is provided. Prior to sending a messages a black box software module in a node validates the node to determine whether the node has been altered or modified without authorization. Once validated, the black box alters a message, using a black box protection scheme, in such a manner that the message can be subsequently authenticated. The black box module sends the altered message to a peer node, whose own black box authenticates the message using an authentication scheme corresponding to the protection scheme. Because validation is performed, each node may assume that the message originated from an unaltered node. The protection and/or validation scheme can be changed in regular intervals so that attackers do not have time to reverse engineer the black box.
    Type: Application
    Filed: May 30, 2002
    Publication date: December 4, 2003
    Applicant: Microsoft Corporation
    Inventors: Erik B. Olson, Eric K. Zinda
  • Publication number: 20030167356
    Abstract: An application program interface (API) provides a set of functions, including a set of base classes and types that are used in substantially all applications accessing the API, for application developers who build Web applications on Microsoft Corporation's .NET™ platform.
    Type: Application
    Filed: July 10, 2001
    Publication date: September 4, 2003
    Inventors: Adam W. Smith, Anthony J. Moore, Brian A. LaMacchia, Anders Hejlsberg, Brian M. Grunkemeyer, Caleb L. Doise, Christopher W. Brumme, Christopher L. Anderson, Corina E. Feuerstein, Craig T. Sinclair, Daniel Takacs, David S. Ebbo, David O. Driver, David S. Mortenson, Erik B. Christensen, Erik B. Olson, Fabio A. Yeon, Gopala Krishna R. Kakivaya, Gregory D. Fee, Hany E. Ramadan, Henry L. Sanders, Jayanth V. Rajan, Jeffrey M. Cooperstein, Jonathan C. Hawkins, James H. Hogg, Joe D. Long, John I. McConnell, Jesus Ruiz-Scougall, James S. Miller, Julie D. Bennett, Krzysztof J. Cwalina, Lance E. Olson, Loren M. Kohnfelder, Michael M. Magruder, Manish S. Prabhu, Radu Rares Palanca, Raja Krishnaswamy, Shawn P. Burke, Sean E. Trowbridge, Seth M. Demsey, Shajan Dasan, Stefan H. Pharies, Suzanne M. Cook, Tarun Anand, Travis J. Muhlestein, Yann E. Christensen, Yung-shin Lin, Ramasamy Krishnaswamy, Joseph Roxe, Alan Boshier, David Bau
  • Publication number: 20030167355
    Abstract: An application program interface (API) provides a set of functions for application developers who build Web applications on Microsoft Corporation's .NET™ platform.
    Type: Application
    Filed: July 10, 2001
    Publication date: September 4, 2003
    Inventors: Adam W. Smith, Anthony J. Moore, David S. Ebbo, Erik B. Christensen, Erik B. Olson, Fabio A. Yeon, Jayanth V. Rajan, Keith W. Ballinger, Manu Vasandani, Mark T. Anders, Mark A. Boulter, Nikhil Kothari, Robert M. Howard, Scott D. Guthrie, Stephen J. Millet, Stefan H. Pharies, Suzanna M. Cook, Susan M. Warren, Yann E. Christensen
  • Publication number: 20030028685
    Abstract: An application program interface (API) provides a set of functions for application developers who build Web applications on Microsoft Corporation's .NET™ platform.
    Type: Application
    Filed: February 28, 2002
    Publication date: February 6, 2003
    Inventors: Adam W. Smith, Anthony J. Moore, Anders Hejlsberg, Brian A. LaMacchia, Blaine J. Dockter, Brian M. Grunkemeyer, Brian K. Pepin, Caleb L. Doise, Christopher W. Brumme, Chad W. Royal, Christopher L. Anderson, Corina E. Feuerstein, Craig T. Sinclair, Daniel Dedu-Constantin, Daniel Takacs, David S. Ebbo, David S. Mortenson, Erik B. Christensen, Erik B. Olson, Fabio A. Yeon, Giovanni M. Della-Libera, Gopala Krishna R. Kakivaya, Gregory D. Fee, Hany E. Ramadan, Jayanth V. Rajan, Jeffrey M. Cooperstein, Jonathan C. Hawkins, James H. Hogg, Joe D. Long, John I. McConnell, Jesus Ruiz-Scougall, James S. Miller, Julie D. Bennett, Jun Fang, Krzysztof J. Cwalina, Keith W. Ballinger, Lance E. Olson, Loren M. Kohnfelder, Luca Bolognese, Manu Vasandani, Mark T. Anders, Mark P. Ashton, Mark A. Boulter, Mark W. Fussell, Michael M. Magruder, Manish S. Prabhu, Neetu Rajpal, Nikhil Kothari, Nithyalakshmi Sampathkumar, Nicholas M. Kramer, Omri Gazitt, Radu Rares Palanca, Raja Krishnaswamy, Robert M. Howard, Ramasamy Krishnaswamy, Shawn P. Burke, Scott D. Guthrie, Sean E. Trowbridge, Seth M. Demsey, Shajan Dasan, Subhag P. Oak, Sreeram Nivarthi, Stefan H. Pharies, Suzanne M. Cook, Susan M. Warren, Tarun Anand, Travis J. Muhlestein, William A. Adams, Yan Leshinsky, Yann E. Christensen, Yung-shin Lin, Stephen J. Miller, Joseph Roxe, Alan Boshier, Henry L. Sanders, David Bau
  • Publication number: 20020035674
    Abstract: Application program caching and execution is disclosed. An application program component, which may constitute the only component of an application program, is cached by a computing device from an original computing device. The computing device executes the cached component in lieu of its execution by the original computing device. The computing device may be a client computing device, where the client device executes the cached component for itself. The computing device may also be a caching computing device, where the caching device executes the cached component for the client computing device.
    Type: Application
    Filed: June 15, 2001
    Publication date: March 21, 2002
    Inventors: Vellore T. Vetrivelkumaran, Erik B. Olson