Patents by Inventor Dmitry Robsman

Dmitry Robsman 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: 7730352
    Abstract: Techniques and technologies are provided for testing network applications without communicating over a network layer communication link. For example, in one implementation, a system for testing network applications within a process is provided which includes at least one client user instance (CUI) module configured to execute in the process, a performance testing engine module (PTEM) configured to execute in the process, and a network application module configured to execute in the process. The CUI module has state information associated therewith. The PTEM includes a Request Driver Module (RDM) which generates information requests based on the state information received from the CUI. The network application module generates responses to the information requests.
    Type: Grant
    Filed: June 28, 2006
    Date of Patent: June 1, 2010
    Assignee: Microsoft Corporation
    Inventors: Thomas L. Marquardt, Andres M. Sanabria, Dmitry Robsman
  • Patent number: 7603676
    Abstract: An HTTP request handling runtime includes a context object and an event pipeline for processing an HTTP request received at a host application from a client application. The context object logically represents the HTTP request and encapsulates at least one property associated with the received HTTP request. The context object is processed by the event pipeline, which includes a plurality of synchronous and/or asynchronous request events. A callback is generated when a request event is raised and when at least one application and/or module is registered with the request event. Each callback instantiates each application and module that is registered with the request event for processing the context object. The plurality of request events can include events that are in a deterministic order and/or request events that are in a non-deterministic order, such as an error event.
    Type: Grant
    Filed: January 9, 2007
    Date of Patent: October 13, 2009
    Assignee: Microsoft Corporation
    Inventors: Scott D. Guthrie, Dmitry Robsman
  • Patent number: 7536390
    Abstract: A virtual path provider allows a Web application to access content source that is maintained by a file system, and/or content source that is maintained separately from a file system. When the Web application receives a request for processed content from a requesting computer system, the Web application access the processed content in cache if there is a valid cache entry, or accesses the corresponding content source through a virtual path provider. If appropriate for the content source, the virtual path provider streams the content source to the Web application through a virtual path. In one implementation, the virtual path provider provides a hash value of the content source, which can be compared to a cache entry. Implementations of the present invention, therefore, allow content source from any virtual store at any location to be processed or compiled by a Web application.
    Type: Grant
    Filed: March 11, 2005
    Date of Patent: May 19, 2009
    Assignee: Microsoft Corporation
    Inventors: David Ebbo, Dmitry Robsman, Qing Ye, Erik Olson, Roger Grambihler, Simon Calvert
  • Publication number: 20080320503
    Abstract: A server system in typical operation has a process manager, multiple listeners (each to receive requests for its protocols) and multiple worker processes that are each able to handle requests in multiple protocols. At server start-up, each listener connects with the process manager via a pipe published by the process manager. The listener then receives information via the process manager that includes information defining the application(s) for which that listener is to “listen” and associating application(s) to application pool(s). When the listener receives a request for such an application, the listener starts a queue for the associated application pool. The listener may use a hierarchical matching scheme to determine the associated application or application pool from the requested application. The process manager launches an appropriate worker process to handle requests in the listener's protocol. The worker process then makes a connection with the listener.
    Type: Application
    Filed: August 25, 2008
    Publication date: December 25, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Emily Kruglick, Geoffrey M. Kizer, Shai Kariv, Lance E. Olson, Erik B. Christensen, Kenneth D. Wolf, Dmitry Robsman, Shanku Shivabrata Niyogi
  • Patent number: 7451176
    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: November 14, 2005
    Date of Patent: November 11, 2008
    Assignee: Microsoft Corporation
    Inventors: Mark T. Anders, Gary S. Burd, Scott D. Guthrie, Satoshi Nakajima, Eric B. Olsen, Dmitry Robsman, John P. Shewchuk, Michael J. Toutonghi, Manu Vasandani
  • Patent number: 7418712
    Abstract: A server system has a process manager, listeners and worker processes in which the listeners connect to worker processes. At server start-up, each listener connects with the process manager via a pipe published by the process manager. The process manager then provides information to each listener associating applications to application pools, and applications for which the listener is to “listen”. When the listener receives a request for which it is to listen, the listener starts a queue for the application or associated application pool. The process manager launches an appropriate worker process to handle requests in the listener's protocol. The worker process then makes a connection with the listener.
    Type: Grant
    Filed: August 31, 2004
    Date of Patent: August 26, 2008
    Assignee: Microsoft Corporation
    Inventors: Emily Kruglick, Geoffrey M. Kizer, Shai Kariv, Lance E. Olson, Erik B. Christensen, Kenneth D. Wolf, Dmitry Robsman, Shanku Shivabrata Niyogi
  • Patent number: 7418719
    Abstract: A server system in typical operation has a process manager, multiple listeners (each to receive requests for its protocols) and multiple worker processes that are each able to handle requests in multiple protocols. At server start-up, each listener connects with the process manager via a pipe published by the process manager. The listener then receives information via the process manager that includes information defining the applications(s) for which that listener is to “listen” and associating selected application(s) to application pool(s). When the listener detects a request for such an application, the listener starts a queue for the associated application pool. In response, the process manager launches an appropriate worker process to handle requests in the listener's protocol. The worker process then makes a connection with the listener.
    Type: Grant
    Filed: August 31, 2004
    Date of Patent: August 26, 2008
    Assignee: Microsoft Corporation
    Inventors: Shai Kariv, Geoffrey M. Kizer, Emily Kruglick, Lance E. Olson, Erik B. Christensen, Kenneth D. Wolf, Dmitry Robsman, Shanku Shivabrata Niyogi
  • Patent number: 7418709
    Abstract: A server system in typical operation has a process manager, multiple listeners (each to receive requests for its protocols) and multiple worker processes that are each able to handle requests in multiple protocols. At server start-up, each listener connects with the process manager via a pipe published by the process manager. The listener then receives information via the process manager that includes information defining the application(s) for which that listener is to “listen” and associating application(s) to application pool(s). When the listener receives a request for such an application, the listener starts a queue for the associated application pool. The listener may use a hierarchical matching scheme to determine the associated application or application pool from the requested application. The process manager launches an appropriate worker process to handle requests in the listener's protocol. The worker process then makes a connection with the listener.
    Type: Grant
    Filed: August 31, 2004
    Date of Patent: August 26, 2008
    Assignee: Microsoft Corporation
    Inventors: Emily Kruglick, Geoffrey M. Kizer, Shai Kariv, Lance E. Olson, Erik B. Christensen, Kenneth D. Wolf, Dmitry Robsman, Shanku Shivabrata Niyogi
  • Patent number: 7389471
    Abstract: Web pages that share a common layout and/or functionality are associated with at least one master page and at least one endpoint page. Each master page specifies a common layout and/or functionality that are intended to be shared between the web pages. The master pages also include content place holders that identify content segments that are intended to be replaced by content that is obtained from the at least one endpoint page. When a client system requests one of the web pages, the server system merges the appropriate master page and endpoint page into a resulting page that can be rendered as the requested web page by the client system. This enables web pages sharing common features to be created automatically, in real-time, and transparently to the client system, and without having to redundantly store duplicative content for each of the web pages at the server system.
    Type: Grant
    Filed: June 11, 2003
    Date of Patent: June 17, 2008
    Assignee: Microsoft Corporation
    Inventors: Joseph K. Croney, David Serge Ebbo, Dmitry Robsman, Mark T. Anders, Scott David Guthrie, Ting-Hao Yang
  • Patent number: 7343606
    Abstract: An application is built in accordance with a particular application framework. A component is incorporated into the application. When an asynchronous operation is to be performed, the component is configured to issue a standard function call in a manner that is independent of the particular application framework used to build the application. An asynchronous operations manager is configured to detect the particular application framework used to build the application, receive the standard function call, perform the asynchronous operation in accordance with a threading and concurrency model of the application framework, and cause a notification to be issued to the component in a manner that is in accordance with the threading and concurrency model when the asynchronous operation is complete. The asynchronous operations manager may determine the application framework by receiving a notification or function call from the application framework itself.
    Type: Grant
    Filed: June 13, 2003
    Date of Patent: March 11, 2008
    Assignee: Microsoft Corporation
    Inventors: Greg D. Schechter, Yann Erik Christensen, Michael J. Marucheck, Dmitry Robsman
  • Publication number: 20080005613
    Abstract: Techniques and technologies are provided for testing network applications without communicating over a network layer communication link. For example, in one implementation, a system for testing network applications within a process is provided which includes at least one client user instance (CUI) module configured to execute in the process, a performance testing engine module (PTEM) configured to execute in the process, and a network application module configured to execute in the process. The CUI module has state information associated therewith. The PTEM includes a Request Driver Module (RDM) which generates information requests based on the state information received from the CUI. The network application module generates responses to the information requests.
    Type: Application
    Filed: June 28, 2006
    Publication date: January 3, 2008
    Applicant: Microsoft Corporation
    Inventors: Thomas L. Marquardt, Andres M. Sanabria, Dmitry Robsman
  • Patent number: 7280558
    Abstract: A system and method for converting code associated with synchronous method calls to code that can be employed to perform asynchronous method calls and for supporting such asynchronous method calls is provided. The system includes a pattern generator that can break code for a synchronous method call into one or more constituent parts including a begin asynchronous operation method, an end asynchronous operation method, an asynchronous call state object and an asynchronous call result object. The system includes a pattern data store that holds data associated with converting a synchronous method call to an asynchronous method call, which facilitates employing the system consistently across environments like file input/output, stream input/output, socket input/output, networking, remoting channels, proxies, web forms, web services and messaging message queues.
    Type: Grant
    Filed: June 28, 2001
    Date of Patent: October 9, 2007
    Assignee: Microsoft Corporation
    Inventors: Brian M. Grunkemeyer, Jonathan C. Hawkins, Christopher W. Brumme, Gopala Krishna R. Kakivaya, Lance E. Olson, Dmitry Robsman, Henry L. Sanders, II
  • Patent number: 7266605
    Abstract: A method, system, and article of manufacture for providing an authentication and authorization pipeline for use in a web server to grant access to web resources to users. The server creates an entry within an userID to roles database for each user who may access resources present on the web server and creates an entry within the roles to resource database for each resource that may be accessed on the web server. The server then authenticates the identify of each user accessing a resource on the web server using a userID, one or more authentication parameters, and a resource access request, creates a data object having an authenticated userID and one or more roles corresponding to the authenticated userID obtained from the userID to roles database, and authorizes access to a resource identified within the resource access request if one or more roles within the data object correspond to an access role corresponding to the roles listed within the roles to resource database for the identified resource.
    Type: Grant
    Filed: November 14, 2005
    Date of Patent: September 4, 2007
    Assignee: Microsoft Corporation
    Inventors: Manu Vasandani, Dmitry Robsman, Bilal Alam
  • Publication number: 20070174845
    Abstract: An HTTP request handling runtime includes a context object and an event pipeline for processing an HTTP request received at a host application from a client application. The context object logically represents the HTTP request and encapsulates at least one property associated with the received HTTP request. The context object is processed by the event pipeline, which includes a plurality of synchronous and/or asynchronous request events. A callback is generated when a request event is raised and when at least one application and/or module is registered with the request event. Each callback instantiates each application and module that is registered with the request event for processing the context object. The plurality of request events can include events that are in a deterministic order and/or request events that are in a non-deterministic order, such as an error event.
    Type: Application
    Filed: January 9, 2007
    Publication date: July 26, 2007
    Applicant: Microsoft Corporation
    Inventors: Scott Guthrie, Dmitry Robsman
  • Patent number: 7248603
    Abstract: A system and method for converting code associated with synchronous method calls to code that can be employed to perform asynchronous method calls and for supporting such asynchronous method calls is provided. The system includes a pattern generator that can break code for a synchronous method call into one or more constituent parts including a begin asynchronous operation method, an end asynchronous operation method, an asynchronous call state object and an asynchronous call result object. The system includes a pattern data store that holds data associated with converting a synchronous method call to an asynchronous method call, which facilitates employing the system consistently across environments like file input/output, stream input/output, socket input/output, networking, remoting channels, proxies, web forms, web services and messaging message queues.
    Type: Grant
    Filed: June 21, 2006
    Date of Patent: July 24, 2007
    Assignee: Microsoft Corporation
    Inventors: Brian M. Grunkemeyer, Jonathan C. Hawkins, Christopher W. Brumme, Gopala Krishna R. Kakivaya, Lance E. Olson, Dmitry Robsman, Henry L. Sanders, II
  • Patent number: 7162723
    Abstract: An HTTP request handling runtime includes a context object and an event pipeline for processing an HTTP request received at a host application from a client application. The context object logically represents the HTTP request and encapsulates at least one property associated with the received HTTP request. The context object is processed by the event pipeline, which includes a plurality of synchronous and/or asynchronous request events. A callback is generated when a request event is raised and when at least one application and/or module is registered with the request event. Each callback instantiates each application and module that is registered with the request event for processing the context object. The plurality of request events can include events that are in a deterministic order and/or request events that are in a non-deterministic order, such as an error event.
    Type: Grant
    Filed: June 29, 2001
    Date of Patent: January 9, 2007
    Assignee: Microsoft Corporation
    Inventors: Scott D. Guthrie, Dmitry Robsman
  • Publication number: 20060248207
    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: Application
    Filed: April 29, 2005
    Publication date: November 2, 2006
    Applicant: Microsoft Corporation
    Inventors: Erik Olson, Andres Sanabria, Dmitry Robsman, Helen Yan, Peixin Han
  • Publication number: 20060206452
    Abstract: A virtual path provider allows a Web application to access content source that is maintained by a file system, and/or content source that is maintained separately from a file system. When the Web application receives a request for processed content from a requesting computer system, the Web application access the processed content in cache if there is a valid cache entry, or accesses the corresponding content source through a virtual path provider. If appropriate for the content source, the virtual path provider streams the content source to the Web application through a virtual path. In one implementation, the virtual path provider provides a hash value of the content source, which can be compared to a cache entry. Implementations of the present invention, therefore, allow content source from any virtual store at any location to be processed or compiled by a Web application.
    Type: Application
    Filed: March 11, 2005
    Publication date: September 14, 2006
    Applicant: Microsoft Corporation
    Inventors: David Ebbo, Dmitry Robsman, Qing Ye, Erik Olson, Roger Grambihler, Simon Calvert
  • Publication number: 20060080440
    Abstract: A method, system, and article of manufacture for providing an authentication and authorization pipeline for use in a web server to grant access to web resources to users. The server creates an entry within an userID to roles database for each user who may access resources present on the web server and creates an entry within the roles to resource database for each resource that may be accessed on the web server. The server then authenticates the identify of each user accessing a resource on the web server using a userID, one or more authentication parameters, and a resource access request, creates a data object having an authenticated userID and one or more roles corresponding to the authenticated userID obtained from the userID to roles database, and authorizes access to a resource identified within the resource access request if one or more roles within the data object correspond to an access role corresponding to the roles listed within the roles to resource database for the identified resource.
    Type: Application
    Filed: November 14, 2005
    Publication date: April 13, 2006
    Applicant: Microsoft Corporation
    Inventors: Manu Vasandani, Dmitry Robsman, Bilal Alam