Patents by Inventor Wei-Lun Lo

Wei-Lun Lo 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: 9971827
    Abstract: Technologies are described herein for integrating external data from an external system into a client system. A subscription filed is selected. The subscription filed may include a read method and a query method. The read method may define fields of a client cache operating on the client system. The query method may be executed to retrieve, from the external system, field values corresponding to at least a subset of the fields. Upon executing the query method, the read method may also be executed to retrieve, from the external system, additional field values corresponding to a remaining subset of the fields that were not retrieved by executing the query method. The client cache is populated with the field values and the additional field values according to the fields.
    Type: Grant
    Filed: November 21, 2014
    Date of Patent: May 15, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David Koronthaly, Rolando Jimenez-Salgado, Sundaravadivelan Paranthaman, Arshish Cyrus Kapadia, Wei-Lun Lo
  • Publication number: 20150081732
    Abstract: Technologies are described herein for integrating external data from an external system into a client system. A subscription filed is selected. The subscription filed may include a read method and a query method. The read method may define fields of a client cache operating on the client system. The query method may be executed to retrieve, from the external system, field values corresponding to at least a subset of the fields. Upon executing the query method, the read method may also be executed to retrieve, from the external system, additional field values corresponding to a remaining subset of the fields that were not retrieved by executing the query method. The client cache is populated with the field values and the additional field values according to the fields.
    Type: Application
    Filed: November 21, 2014
    Publication date: March 19, 2015
    Inventors: David Koronthaly, Rolando Jimenez-Salgado, Sundaravadivelan Paranthaman, Arshish Cyrus Kapadia, Wei-Lun Lo
  • Patent number: 8904363
    Abstract: A software application written for a server environment is transformed into one which runs in a rich client environment. An entity model defines data sources as they are accessed from the server and as they are accessed from the clients. An application programming interface defines stereotyped interfaces which provide the same functionality on the server and the clients. A metadata model describes the components which make up the application and defines the differences in structure between the server and clients. The metadata model also defines mappings between components used on the server and clients. Settings and context information which tailor the activation and functionality of the components is also captured in the metadata model. Automated transformation is performed by using the mappings to identify the component set to use for the clients, selecting the client version of the application programming interfaces, and selecting the appropriate settings and context information.
    Type: Grant
    Filed: June 27, 2008
    Date of Patent: December 2, 2014
    Assignee: Microsoft Corporation
    Inventors: Howard M. Crow, Ricard Roma-Dalfo, Mohammed Nazeeruddin, Targo Tennisberg, Arshish C. Kapadia, Wei-Lun Lo, Jiajun Hua
  • Patent number: 8898181
    Abstract: Technologies are described herein for integrating external data from an external system into a client system. A subscription filed is selected. The subscription filed may include a read method and a query method. The read method may define fields of a client cache operating on the client system. The query method may be executed to retrieve, from the external system, field values corresponding to at least a subset of the fields. Upon executing the query method, the read method may also be executed to retrieve, from the external system, additional field values corresponding to a remaining subset of the fields that were not retrieved by executing the query method. The client cache is populated with the field values and the additional field values according to the fields.
    Type: Grant
    Filed: June 22, 2010
    Date of Patent: November 25, 2014
    Assignee: Microsoft Corporation
    Inventors: David Koronthaly, Rolando Jimenez-Salgado, Sundaravadivelan Paranthaman, Arshish Cyrus Kapadia, Wei-Lun Lo
  • Publication number: 20110314047
    Abstract: Technologies are described herein for integrating external data from an external system into a client system. A subscription filed is selected. The subscription filed may include a read method and a query method. The read method may define fields of a client cache operating on the client system. The query method may be executed to retrieve, from the external system, field values corresponding to at least a subset of the fields. Upon executing the query method, the read method may also be executed to retrieve, from the external system, additional field values corresponding to a remaining subset of the fields that were not retrieved by executing the query method. The client cache is populated with the field values and the additional field values according to the fields.
    Type: Application
    Filed: June 22, 2010
    Publication date: December 22, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: David Koronthaly, Rolando Jimenez-Salgado, Sundaravadivelan Paranthaman, Arshish Cyrus Kapadia, Wei-Lun Lo
  • Patent number: 8028007
    Abstract: Large messages in the form of hierarchically structured documents are processed in a streaming fashion using the ultimate consumer read requests as the driving force for the processing. The messages are partitioned into fixed length segments. The segments are processed in pipeline fashion. This processing chain includes simulating random access of hierarchical documents using stream transformations, mapping streams to a transport's native capabilities, composing streams into chains and using pipeline processing on the chains, staging fragments into a database and routing messages when complete messages have been formed, and providing tools to allow the end user to inspect partial messages.
    Type: Grant
    Filed: February 6, 2006
    Date of Patent: September 27, 2011
    Assignee: Microsoft Corporation
    Inventors: Yossi Levanoni, Wei-Lun Lo, Sanjib Saha, Paul Maybee, Bimal Mehta, Lee Graber, Anandhi Somasekaran, Akash Sagar, Balinder Malhi, Allen Zhang, Siunie Sutjahjo
  • Patent number: 7954112
    Abstract: Data interchanges are processed so that problematic individual elements within the data interchanges do not cause the processing of the data interchanges to be suspended unless there is a catastrophic error. The data interchanges are split up by flat file and/or XML disassemblers of a message engine into independent messages even if some elements are incorrect or cause processing failures. Those messages in the interchange that may be processed are processed, while those that would cause processing errors are suspended in a suspend queue for recovery processing. Even when a message is placed in the suspend queue, processing continues with the next independent message in the data interchange. Messages that are placed in the suspend queue for lack of routing information may be resumed by providing the routing information and again attempting to route the previously suspended message.
    Type: Grant
    Filed: May 20, 2005
    Date of Patent: May 31, 2011
    Assignee: Microsoft Corporation
    Inventors: Ruslan A. Yakushev, Kartik Paramasivam, David Kent Downing, Jean-Emile Elien, Wei-Lun Lo
  • Patent number: 7890955
    Abstract: Messages generated by an originating application are aggregated into batches based on a configuration policy. The configuration policy contains business logic used to aggregate messages into a batch. Once a batch is complete, it is formatted into a single stream output and sent to a destination application designed to receive the messages. Messages may also be aggregated into batches that are controlled by the originating application. The messages include an indicator set by the originating application to signal when a batch is complete. Once the batch is complete, it is formatted into a single stream output and sent to a destination application designed to receive the messages.
    Type: Grant
    Filed: April 3, 2006
    Date of Patent: February 15, 2011
    Assignee: Microsoft Corporation
    Inventors: Kartik Paramasivam, Wei-Lun Lo, Ruslan Yakushev
  • Publication number: 20090328032
    Abstract: A software application written for a server environment is transformed into one which runs in a rich client environment. An entity model defines data sources as they are accessed from the server and as they are accessed from the clients. An application programming interface defines stereotyped interfaces which provide the same functionality on the server and the clients. A metadata model describes the components which make up the application and defines the differences in structure between the server and clients. The metadata model also defines mappings between components used on the server and clients. Settings and context information which tailor the activation and functionality of the components is also captured in the metadata model. Automated transformation is performed by using the mappings to identify the component set to use for the clients, selecting the client version of the application programming interfaces, and selecting the appropriate settings and context information.
    Type: Application
    Filed: June 27, 2008
    Publication date: December 31, 2009
    Applicant: Microsoft Corporation
    Inventors: Howard M. Crow, Ricard Roma-Dalfo, Mohammed Nazeeruddin, Targo Tennisberg, Arshish C. Kapadia, Wei-Lun Lo, Jiajun Hua
  • Publication number: 20070234369
    Abstract: Messages generated by an originating application are aggregated into batches based on a configuration policy. The configuration policy contains business logic used to aggregate messages into a batch. Once a batch is complete, it is formatted into a single stream output and sent to a destination application designed to receive the messages. Messages may also be aggregated into batches that are controlled by the originating application. The messages include an indicator set by the originating application to signal when a batch is complete. Once the batch is complete, it is formatted into a single stream output and sent to a destination application designed to receive the messages.
    Type: Application
    Filed: April 3, 2006
    Publication date: October 4, 2007
    Applicant: Microsoft Corporation
    Inventors: Kartik Paramisivam, Wei-Lun Lo, Ruslan Yakushev
  • Patent number: 7237184
    Abstract: A method for promoting properties for processing a message in a business automation system includes the steps of receiving a message which has a plurality of parts where each part has associated properties; identifying the associated properties to be promoted; extracting the information of the promoted property; storing the information of the promoted property in a memory; and processing the message by accessing the information of the promoted property from the memory instead of directly from the message. The method may further include correlating a received message with an earlier processed message by using a correlation method utilizing a strong naming convention to generate a correlation identifier.
    Type: Grant
    Filed: December 18, 2003
    Date of Patent: June 26, 2007
    Assignee: Microsoft Corporation
    Inventors: John D. Ballard, Wei-Lun Lo, Bimal K. Mehta
  • Publication number: 20060265455
    Abstract: Data interchanges are processed so that problematic individual elements within the data interchanges do not cause the processing of the data interchanges to be suspended unless there is a catastrophic error. The data interchanges are split up by flat file and/or XML disassemblers of a message engine into independent messages even if some elements are incorrect or cause processing failures. Those messages in the interchange that may be processed are processed, while those that would cause processing errors are suspended in a suspend queue for recovery processing. Even when a message is placed in the suspend queue, processing continues with the next independent message in the data interchange. Messages that are placed in the suspend queue for lack of routing information may be resumed by providing the routing information and again attempting to route the previously suspended message.
    Type: Application
    Filed: May 20, 2005
    Publication date: November 23, 2006
    Applicant: Microsoft Corporation
    Inventors: Ruslan Yakushev, Kartik Paramasivam, David Downing, Jean-Emile Elien, Wei-Lun Lo
  • Publication number: 20060259519
    Abstract: Flat file formats are used widely in Enterprise Application Integration (EAI) and Business to Business (B2B) solutions. The formats describe the layout of the meaningful information within the data stream in such a way so that the parsing of that stream and extraction of the information can be automated. An example of a flat file format is a Comma Separated Values (CSV) format, where units of data are delimited between each other by using comma character. Another example is a positional format where the units of data occupy certain positions relative to each other within the data stream. The common task that is performed very often is conversion of the documents from various flat file formats into an XML representations and vise versa. The algorithm of iterative definition of the flat file structure from document instance described herein simplifies the process of defining the conversion rules for the flat file formats.
    Type: Application
    Filed: May 12, 2005
    Publication date: November 16, 2006
    Applicant: Microsoft Corporation
    Inventors: Ruslan Yakushev, Tatyana Yakushev, David Downing, Alvaro Miranda Filho, Wei-Lun Lo
  • Patent number: 7113942
    Abstract: Large messages in the form of hierarchically structured documents are processed in a streaming fashion using the ultimate consumer read requests as the driving force for the processing. The messages are partitioned into fixed length segments. The segments are processed in pipeline fashion. This processing chain includes simulating random access of hierarchical documents using stream transformations, mapping streams to a transport's native capabilities, composing streams into chains and using pipeline processing on the chains, staging fragments into a database and routing messages when complete messages have been formed, and providing tools to allow the end user to inspect partial messages.
    Type: Grant
    Filed: June 27, 2003
    Date of Patent: September 26, 2006
    Assignee: Microsoft Corporation
    Inventors: Yossi Levanoni, Wei-Lun Lo, Sanjib Saha, Paul Maybee, Bimal Mehta, Lee Graber, Anandhi Somasekaran, Akash Sagar, Balinder Malhi, Allen Zhang, Siunie Sutjahjo
  • Publication number: 20060129524
    Abstract: Large messages in the form of hierarchically structured documents are processed in a streaming fashion using the ultimate consumer read requests as the driving force for the processing. The messages are partitioned into fixed length segments. The segments are processed in pipeline fashion. This processing chain includes simulating random access of hierarchical documents using stream transformations, mapping streams to a transport's native capabilities, composing streams into chains and using pipeline processing on the chains, staging fragments into a database and routing messages when complete messages have been formed, and providing tools to allow the end user to inspect partial messages.
    Type: Application
    Filed: February 6, 2006
    Publication date: June 15, 2006
    Applicant: Microsoft Corporation
    Inventors: Yossi Levanoni, Wei-Lun Lo, Sanjib Saha, Paul Maybee, Bimal Mehta, Lee Graber, Anandhi Somasekaran, Akash Sagar, Balinder Malhi, Allen Zhang, Siunie Sutjahjo
  • Publication number: 20050138553
    Abstract: A method for promoting properties for processing a message in a business automation system includes the steps of receiving a message which has a plurality of parts where each part has associated properties; identifying the associated properties to be promoted; extracting the information of the promoted property; storing the information of the promoted property in a memory; and processing the message by accessing the information of the promoted property from the memory instead of directly from the message. The method may further include correlating a received message with an earlier processed message by using a correlation method utilizing a strong naming convention to generate a correlation identifier.
    Type: Application
    Filed: December 18, 2003
    Publication date: June 23, 2005
    Inventors: John Ballard, Wei-Lun Lo, Bimal Mehta
  • Publication number: 20050114405
    Abstract: Parsing and serializing files is performed to effect desired file conversions in a workflow. A method of parsing includes receiving a flat file in a native format, translating native format characters into tokens, and converting the flat file to an XML format with the use of an annotated schema. The annotated schema may include a model of the flat file inclusive of both delimited and positional types. A method of serializing includes receiving an XML file and converting it to a native format. A model of the native format may be used for serializing to produce a proper flat file format.
    Type: Application
    Filed: November 25, 2003
    Publication date: May 26, 2005
    Inventor: Wei-Lun Lo
  • Publication number: 20040268244
    Abstract: Large messages in the form of hierarchically structured documents are processed in a streaming fashion using the ultimate consumer read requests as the driving force for the processing. The messages are partitioned into fixed length segments. The segments are processed in pipeline fashion. This processing chain includes simulating random access of hierarchical documents using stream transformations, mapping streams to a transport's native capabilities, composing streams into chains and using pipeline processing on the chains, staging fragments into a database and routing messages when complete messages have been formed, and providing tools to allow the end user to inspect partial messages.
    Type: Application
    Filed: June 27, 2003
    Publication date: December 30, 2004
    Applicant: Microsoft Corporation
    Inventors: Yossi Levanoni, Wei-Lun Lo, Sanjib Saha, Paul Maybee, Bimal Mehta, Lee Graber, Anandhi Somasekaran, Akash Sagar, Balinder Malhi, Allen Zhang, Siunie Sutjahjo