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: 8429655Abstract: 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: GrantFiled: April 29, 2005Date of Patent: April 23, 2013Assignee: Microsoft CorporationInventors: Erik B. Olson, Andres Sanabria, Dmitry Robsman, Helen Yan, Peixin Han, Nikhil Kothari
-
Patent number: 7730352Abstract: 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: GrantFiled: June 28, 2006Date of Patent: June 1, 2010Assignee: Microsoft CorporationInventors: Thomas L. Marquardt, Andres M. Sanabria, Dmitry Robsman
-
Patent number: 7603676Abstract: 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: GrantFiled: January 9, 2007Date of Patent: October 13, 2009Assignee: Microsoft CorporationInventors: Scott D. Guthrie, Dmitry Robsman
-
Patent number: 7536390Abstract: 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: GrantFiled: March 11, 2005Date of Patent: May 19, 2009Assignee: Microsoft CorporationInventors: David Ebbo, Dmitry Robsman, Qing Ye, Erik Olson, Roger Grambihler, Simon Calvert
-
Publication number: 20080320503Abstract: 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: ApplicationFiled: August 25, 2008Publication date: December 25, 2008Applicant: MICROSOFT CORPORATIONInventors: Emily Kruglick, Geoffrey M. Kizer, Shai Kariv, Lance E. Olson, Erik B. Christensen, Kenneth D. Wolf, Dmitry Robsman, Shanku Shivabrata Niyogi
-
Patent number: 7451176Abstract: 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: GrantFiled: November 14, 2005Date of Patent: November 11, 2008Assignee: Microsoft CorporationInventors: 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: 7418712Abstract: 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: GrantFiled: August 31, 2004Date of Patent: August 26, 2008Assignee: Microsoft CorporationInventors: Emily Kruglick, Geoffrey M. Kizer, Shai Kariv, Lance E. Olson, Erik B. Christensen, Kenneth D. Wolf, Dmitry Robsman, Shanku Shivabrata Niyogi
-
Patent number: 7418719Abstract: 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: GrantFiled: August 31, 2004Date of Patent: August 26, 2008Assignee: Microsoft CorporationInventors: Shai Kariv, Geoffrey M. Kizer, Emily Kruglick, Lance E. Olson, Erik B. Christensen, Kenneth D. Wolf, Dmitry Robsman, Shanku Shivabrata Niyogi
-
Patent number: 7418709Abstract: 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: GrantFiled: August 31, 2004Date of Patent: August 26, 2008Assignee: Microsoft CorporationInventors: Emily Kruglick, Geoffrey M. Kizer, Shai Kariv, Lance E. Olson, Erik B. Christensen, Kenneth D. Wolf, Dmitry Robsman, Shanku Shivabrata Niyogi
-
Patent number: 7389471Abstract: 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: GrantFiled: June 11, 2003Date of Patent: June 17, 2008Assignee: Microsoft CorporationInventors: Joseph K. Croney, David Serge Ebbo, Dmitry Robsman, Mark T. Anders, Scott David Guthrie, Ting-Hao Yang
-
Patent number: 7343606Abstract: 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: GrantFiled: June 13, 2003Date of Patent: March 11, 2008Assignee: Microsoft CorporationInventors: Greg D. Schechter, Yann Erik Christensen, Michael J. Marucheck, Dmitry Robsman
-
Publication number: 20080005613Abstract: 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: ApplicationFiled: June 28, 2006Publication date: January 3, 2008Applicant: Microsoft CorporationInventors: Thomas L. Marquardt, Andres M. Sanabria, Dmitry Robsman
-
Patent number: 7280558Abstract: 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: GrantFiled: June 28, 2001Date of Patent: October 9, 2007Assignee: Microsoft CorporationInventors: Brian M. Grunkemeyer, Jonathan C. Hawkins, Christopher W. Brumme, Gopala Krishna R. Kakivaya, Lance E. Olson, Dmitry Robsman, Henry L. Sanders, II
-
Patent number: 7266605Abstract: 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: GrantFiled: November 14, 2005Date of Patent: September 4, 2007Assignee: Microsoft CorporationInventors: Manu Vasandani, Dmitry Robsman, Bilal Alam
-
Publication number: 20070174845Abstract: 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: ApplicationFiled: January 9, 2007Publication date: July 26, 2007Applicant: Microsoft CorporationInventors: Scott Guthrie, Dmitry Robsman
-
Patent number: 7248603Abstract: 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: GrantFiled: June 21, 2006Date of Patent: July 24, 2007Assignee: Microsoft CorporationInventors: Brian M. Grunkemeyer, Jonathan C. Hawkins, Christopher W. Brumme, Gopala Krishna R. Kakivaya, Lance E. Olson, Dmitry Robsman, Henry L. Sanders, II
-
Patent number: 7162723Abstract: 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: GrantFiled: June 29, 2001Date of Patent: January 9, 2007Assignee: Microsoft CorporationInventors: Scott D. Guthrie, Dmitry Robsman
-
Publication number: 20060248207Abstract: 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: ApplicationFiled: April 29, 2005Publication date: November 2, 2006Applicant: Microsoft CorporationInventors: Erik Olson, Andres Sanabria, Dmitry Robsman, Helen Yan, Peixin Han
-
Publication number: 20060206452Abstract: 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: ApplicationFiled: March 11, 2005Publication date: September 14, 2006Applicant: Microsoft CorporationInventors: David Ebbo, Dmitry Robsman, Qing Ye, Erik Olson, Roger Grambihler, Simon Calvert
-
Publication number: 20060080440Abstract: 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: ApplicationFiled: November 14, 2005Publication date: April 13, 2006Applicant: Microsoft CorporationInventors: Manu Vasandani, Dmitry Robsman, Bilal Alam